├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── load_test ├── config.yaml ├── package-lock.json ├── package.json ├── scenarios │ ├── commonjs.yaml │ └── esmodule.yaml ├── test_commonjs.sh └── test_esmodule.sh ├── src ├── commonjs.cjs ├── esmodule.mjs ├── package-lock.json └── package.json ├── static ├── architecture.png └── outputs.png └── template.yml /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw? 22 | 23 | samconfig.toml 24 | .aws-sam 25 | localTestEvent.json 26 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional 4 | documentation, we greatly value feedback and contributions from our community. 5 | 6 | Please read through this document before submitting any issues or pull requests to ensure we have all the necessary 7 | information to effectively respond to your bug report or contribution. 8 | 9 | 10 | ## Reporting Bugs/Feature Requests 11 | 12 | We welcome you to use the GitHub issue tracker to report bugs or suggest features. 13 | 14 | When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already 15 | reported the issue. Please try to include as much information as you can. Details like these are incredibly useful: 16 | 17 | * A reproducible test case or series of steps 18 | * The version of our code being used 19 | * Any modifications you've made relevant to the bug 20 | * Anything unusual about your environment or deployment 21 | 22 | 23 | ## Contributing via Pull Requests 24 | Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that: 25 | 26 | 1. You are working against the latest source on the *main* branch. 27 | 2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already. 28 | 3. You open an issue to discuss any significant work - we would hate for your time to be wasted. 29 | 30 | To send us a pull request, please: 31 | 32 | 1. Fork the repository. 33 | 2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change. 34 | 3. Ensure local tests pass. 35 | 4. Commit to your fork using clear commit messages. 36 | 5. Send us a pull request, answering any default questions in the pull request interface. 37 | 6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. 38 | 39 | GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and 40 | [creating a pull request](https://help.github.com/articles/creating-a-pull-request/). 41 | 42 | 43 | ## Finding contributions to work on 44 | Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start. 45 | 46 | 47 | ## Code of Conduct 48 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 49 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 50 | opensource-codeofconduct@amazon.com with any additional questions or comments. 51 | 52 | 53 | ## Security issue notifications 54 | If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue. 55 | 56 | 57 | ## Licensing 58 | 59 | See the [LICENSE](LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution. 60 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this 4 | software and associated documentation files (the "Software"), to deal in the Software 5 | without restriction, including without limitation the rights to use, copy, modify, 6 | merge, publish, distribute, sublicense, and/or sell copies of the Software, and to 7 | permit persons to whom the Software is furnished to do so. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 10 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 11 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 12 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 13 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 14 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Lambda ES Module Performance Benchmarking 2 | 3 | This project demonstrates how to perform benchmark testing to understand the impact of using top-level await in conjunction with provisioned concurrency. 4 | 5 | When a Lambda function scales out, the allocation and initialization of new resources may create increased latency for end users. Lambda provisioned concurrency was created to give customers more control over their performance by enabling them to schedule in advance the creation of runtime environments. 6 | 7 | In addition to creating runtime environments, provisioned concurrency also performs initialization tasks defined by customers. Customer initialization code can perform a variety of tasks including importing libraries and dependencies, retrieving secrets and configurations, and initializing connections to other services. According to our analysis of Lambda product usage, customer initialization code is the largest contributor to cold start latency. 8 | 9 | # Performing benchmark testing 10 | You can perform benchmark tests to measure the impact of top-level await. This project contains two AWS Lambda functions, one that contains an ES Module and one that contains a CommonJS function. These functions are configured to respond to an API Gateway event source. Both functions retrieve a parameter from AWS Systems Manager parameter store and are configured to use provisioned concurrency. The ES module uses top-level await to retrieve the parameter. 11 | 12 | ![Architecture Diagram](./static/architecture.png) 13 | 14 | Before deploying the solution, you need: 15 | - An AWS account ([sign up for an account](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct&src=header_signup) if you don’t have one). 16 | - The [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) installed. 17 | - [Node.js installed](https://nodejs.org/en/download/) (version 14 minimum). 18 | 19 | To deploy: 20 | 1. From a terminal window, clone the GitHub repo: 21 | `git clone https://github.com/aws-samples/aws-lambda-es-module-performance-benchmark` 22 | 2. Change directory: 23 | `cd ./aws-lambda-es-module-performance-benchmark` 24 | 3. Build application: 25 | `sam build` 26 | 4. Deploy the application to your AWS account (deploying provisioned concurrency may take a few minutes to complete): 27 | `sam deploy –-guided` 28 | 29 | 5. Take note of the API Gateway URL in the Outputs section. 30 | 31 | ![Outputs](./static/outputs.png) 32 | 33 | I use a popular open source tool [artillery](https://artillery.io/) to provide load testing. 34 | 35 | To perform load tests: 36 | 1. Open config.yaml document in the /load_test directory and replace the target string with the URL of the API Gateway: 37 | target: “Put API Gateway url string here” 38 | 2. From a terminal window, navigate to the /load_test directory: 39 | `cd load_test` 40 | 3. Download and install dependencies: 41 | `npm install` 42 | 4. Begin load test for the CommonJS function. 43 | - `./test_commonjs.sh` 44 | - `test_commonjs.sh` (Windows users) 45 | 5. Begin load test for ES module function. 46 | - `./test_esmodule.sh` 47 | - `test_esmodule.sh` (Windows users) 48 | 6. Note the differences in the p99 latency to compare cold start performance. 49 | 50 | # Cleaning up 51 | To delete the sample application, use the latest version of the AWS SAM CLI and run: 52 | `sam delete` 53 | -------------------------------------------------------------------------------- /load_test/config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | target: "Put API Gateway url string here" 3 | phases: 4 | - duration: 60 5 | arrivalRate: 10 6 | name: 60 second load test 7 | -------------------------------------------------------------------------------- /load_test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "load_test", 3 | "version": "1.0.0", 4 | "description": "Perform load test of ES modules and CommonJS", 5 | "author": "Dan Fox, Amazon Web Services", 6 | "license": "MIT-0", 7 | "devDependencies": { 8 | "artillery": "^1.7.9" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /load_test/scenarios/commonjs.yaml: -------------------------------------------------------------------------------- 1 | scenarios: 2 | - name: "requests for commonjs function" 3 | flow: 4 | - get: 5 | url: "/commonjs" -------------------------------------------------------------------------------- /load_test/scenarios/esmodule.yaml: -------------------------------------------------------------------------------- 1 | scenarios: 2 | - name: "requests for esmodule function" 3 | flow: 4 | - get: 5 | url: "/esmodule" -------------------------------------------------------------------------------- /load_test/test_commonjs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | $(npm bin)/artillery run --config config.yaml scenarios/commonjs.yaml 4 | 5 | read -n 1 -s -r -p "Press any key to continue" 6 | -------------------------------------------------------------------------------- /load_test/test_esmodule.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | $(npm bin)/artillery run --config config.yaml scenarios/esmodule.yaml 4 | 5 | read -n 1 -s -r -p "Press any key to continue" 6 | -------------------------------------------------------------------------------- /src/commonjs.cjs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this 5 | software and associated documentation files (the "Software"), to deal in the Software 6 | without restriction, including without limitation the rights to use, copy, modify, 7 | merge, publish, distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 11 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 12 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 13 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 14 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 15 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 16 | */ 17 | console.log("AWS_LAMBDA_INITIALIZATION_TYPE: " + process.env.AWS_LAMBDA_INITIALIZATION_TYPE); // provisioned concurrency or on-demand 18 | 19 | const { SSMClient, GetParameterCommand } = require("@aws-sdk/client-ssm"); // CommonJS import 20 | const ssmClient = new SSMClient(); 21 | const input = { "Name": "/configItem" }; 22 | const command = new GetParameterCommand(input); 23 | const init_promise = ssmClient.send(command); 24 | let parameter = null; 25 | 26 | exports.handler = async () => { 27 | if (!parameter) { 28 | parameter = await init_promise; // await inside handler 29 | } 30 | console.log(parameter); 31 | 32 | const response = { 33 | "statusCode": 200, 34 | "body": parameter.Parameter.Value 35 | }; 36 | return response; 37 | }; -------------------------------------------------------------------------------- /src/esmodule.mjs: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this 5 | software and associated documentation files (the "Software"), to deal in the Software 6 | without restriction, including without limitation the rights to use, copy, modify, 7 | merge, publish, distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 11 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 12 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 13 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 14 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 15 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 16 | */ 17 | 18 | console.log("AWS_LAMBDA_INITIALIZATION_TYPE: " + process.env.AWS_LAMBDA_INITIALIZATION_TYPE); // provisioned concurrency or on-demand 19 | 20 | import { SSMClient, GetParameterCommand } from "@aws-sdk/client-ssm"; // ES module import 21 | const ssmClient = new SSMClient(); 22 | const input = { "Name": "/configItem" } 23 | const command = new GetParameterCommand(input); 24 | const parameter = await ssmClient.send(command); // top-level await 25 | 26 | export async function handler() { 27 | 28 | // In commonjs, require is defined. In ES it is not. 29 | if (typeof require == "function") { 30 | console.log("I am a CommonJS module"); 31 | } else { 32 | console.log("I am a ES module"); 33 | }; 34 | 35 | const response = { 36 | statusCode: 200, 37 | "body": parameter.Parameter.Value 38 | }; 39 | return response; 40 | }; 41 | -------------------------------------------------------------------------------- /src/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-lambda-es-module-performance-benchmark", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "aws-lambda-es-module-performance-benchmark", 9 | "version": "1.0.0", 10 | "license": "MIT-0", 11 | "dependencies": { 12 | "@aws-sdk/client-secrets-manager": "^3.36.1", 13 | "@aws-sdk/client-ssm": "^3.36.1", 14 | "aws-xray-sdk-core": "^3.3.3" 15 | } 16 | }, 17 | "node_modules/@aws-crypto/ie11-detection": { 18 | "version": "2.0.0", 19 | "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz", 20 | "integrity": "sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==", 21 | "dependencies": { 22 | "tslib": "^1.11.1" 23 | } 24 | }, 25 | "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { 26 | "version": "1.14.1", 27 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 28 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 29 | }, 30 | "node_modules/@aws-crypto/sha256-browser": { 31 | "version": "2.0.0", 32 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", 33 | "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", 34 | "dependencies": { 35 | "@aws-crypto/ie11-detection": "^2.0.0", 36 | "@aws-crypto/sha256-js": "^2.0.0", 37 | "@aws-crypto/supports-web-crypto": "^2.0.0", 38 | "@aws-crypto/util": "^2.0.0", 39 | "@aws-sdk/types": "^3.1.0", 40 | "@aws-sdk/util-locate-window": "^3.0.0", 41 | "@aws-sdk/util-utf8-browser": "^3.0.0", 42 | "tslib": "^1.11.1" 43 | } 44 | }, 45 | "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { 46 | "version": "1.14.1", 47 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 48 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 49 | }, 50 | "node_modules/@aws-crypto/sha256-js": { 51 | "version": "2.0.0", 52 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", 53 | "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", 54 | "dependencies": { 55 | "@aws-crypto/util": "^2.0.0", 56 | "@aws-sdk/types": "^3.1.0", 57 | "tslib": "^1.11.1" 58 | } 59 | }, 60 | "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { 61 | "version": "1.14.1", 62 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 63 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 64 | }, 65 | "node_modules/@aws-crypto/supports-web-crypto": { 66 | "version": "2.0.0", 67 | "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz", 68 | "integrity": "sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==", 69 | "dependencies": { 70 | "tslib": "^1.11.1" 71 | } 72 | }, 73 | "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { 74 | "version": "1.14.1", 75 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 76 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 77 | }, 78 | "node_modules/@aws-crypto/util": { 79 | "version": "2.0.1", 80 | "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz", 81 | "integrity": "sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==", 82 | "dependencies": { 83 | "@aws-sdk/types": "^3.1.0", 84 | "@aws-sdk/util-utf8-browser": "^3.0.0", 85 | "tslib": "^1.11.1" 86 | } 87 | }, 88 | "node_modules/@aws-crypto/util/node_modules/tslib": { 89 | "version": "1.14.1", 90 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 91 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 92 | }, 93 | "node_modules/@aws-sdk/abort-controller": { 94 | "version": "3.40.0", 95 | "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.40.0.tgz", 96 | "integrity": "sha512-S7LzLvNuwuf0q7r4q7zqGzxd/W2xYsn8cpZ90MMb3ObolhbkLySrikUJujmXae8k+2/KFCOr+FVC0YLrATSUgQ==", 97 | "dependencies": { 98 | "@aws-sdk/types": "3.40.0", 99 | "tslib": "^2.3.0" 100 | }, 101 | "engines": { 102 | "node": ">= 10.0.0" 103 | } 104 | }, 105 | "node_modules/@aws-sdk/client-secrets-manager": { 106 | "version": "3.45.0", 107 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.45.0.tgz", 108 | "integrity": "sha512-fwNZa98sbSAJDJSEbGZ0MqevgdgHrGtbu6KWCLuTueiHlkrhejTiOno8A0JiQFz0nYRR7lYTX51YZz+BjWhJjQ==", 109 | "dependencies": { 110 | "@aws-crypto/sha256-browser": "2.0.0", 111 | "@aws-crypto/sha256-js": "2.0.0", 112 | "@aws-sdk/client-sts": "3.45.0", 113 | "@aws-sdk/config-resolver": "3.45.0", 114 | "@aws-sdk/credential-provider-node": "3.45.0", 115 | "@aws-sdk/fetch-http-handler": "3.40.0", 116 | "@aws-sdk/hash-node": "3.40.0", 117 | "@aws-sdk/invalid-dependency": "3.40.0", 118 | "@aws-sdk/middleware-content-length": "3.40.0", 119 | "@aws-sdk/middleware-host-header": "3.40.0", 120 | "@aws-sdk/middleware-logger": "3.40.0", 121 | "@aws-sdk/middleware-retry": "3.40.0", 122 | "@aws-sdk/middleware-serde": "3.40.0", 123 | "@aws-sdk/middleware-signing": "3.45.0", 124 | "@aws-sdk/middleware-stack": "3.40.0", 125 | "@aws-sdk/middleware-user-agent": "3.40.0", 126 | "@aws-sdk/node-config-provider": "3.40.0", 127 | "@aws-sdk/node-http-handler": "3.40.0", 128 | "@aws-sdk/protocol-http": "3.40.0", 129 | "@aws-sdk/smithy-client": "3.41.0", 130 | "@aws-sdk/types": "3.40.0", 131 | "@aws-sdk/url-parser": "3.40.0", 132 | "@aws-sdk/util-base64-browser": "3.37.0", 133 | "@aws-sdk/util-base64-node": "3.37.0", 134 | "@aws-sdk/util-body-length-browser": "3.37.0", 135 | "@aws-sdk/util-body-length-node": "3.37.0", 136 | "@aws-sdk/util-user-agent-browser": "3.40.0", 137 | "@aws-sdk/util-user-agent-node": "3.40.0", 138 | "@aws-sdk/util-utf8-browser": "3.37.0", 139 | "@aws-sdk/util-utf8-node": "3.37.0", 140 | "tslib": "^2.3.0", 141 | "uuid": "^8.3.2" 142 | }, 143 | "engines": { 144 | "node": ">=10.0.0" 145 | } 146 | }, 147 | "node_modules/@aws-sdk/client-ssm": { 148 | "version": "3.45.0", 149 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.45.0.tgz", 150 | "integrity": "sha512-5Yr5ipb9VxgpbJy666KzEfpd4fsZ3V9EutMtR3jnVGRDb4foVzybBBoD7sU4EI9wBDusV0uGnlMwXVMI4tCVCQ==", 151 | "dependencies": { 152 | "@aws-crypto/sha256-browser": "2.0.0", 153 | "@aws-crypto/sha256-js": "2.0.0", 154 | "@aws-sdk/client-sts": "3.45.0", 155 | "@aws-sdk/config-resolver": "3.45.0", 156 | "@aws-sdk/credential-provider-node": "3.45.0", 157 | "@aws-sdk/fetch-http-handler": "3.40.0", 158 | "@aws-sdk/hash-node": "3.40.0", 159 | "@aws-sdk/invalid-dependency": "3.40.0", 160 | "@aws-sdk/middleware-content-length": "3.40.0", 161 | "@aws-sdk/middleware-host-header": "3.40.0", 162 | "@aws-sdk/middleware-logger": "3.40.0", 163 | "@aws-sdk/middleware-retry": "3.40.0", 164 | "@aws-sdk/middleware-serde": "3.40.0", 165 | "@aws-sdk/middleware-signing": "3.45.0", 166 | "@aws-sdk/middleware-stack": "3.40.0", 167 | "@aws-sdk/middleware-user-agent": "3.40.0", 168 | "@aws-sdk/node-config-provider": "3.40.0", 169 | "@aws-sdk/node-http-handler": "3.40.0", 170 | "@aws-sdk/protocol-http": "3.40.0", 171 | "@aws-sdk/smithy-client": "3.41.0", 172 | "@aws-sdk/types": "3.40.0", 173 | "@aws-sdk/url-parser": "3.40.0", 174 | "@aws-sdk/util-base64-browser": "3.37.0", 175 | "@aws-sdk/util-base64-node": "3.37.0", 176 | "@aws-sdk/util-body-length-browser": "3.37.0", 177 | "@aws-sdk/util-body-length-node": "3.37.0", 178 | "@aws-sdk/util-user-agent-browser": "3.40.0", 179 | "@aws-sdk/util-user-agent-node": "3.40.0", 180 | "@aws-sdk/util-utf8-browser": "3.37.0", 181 | "@aws-sdk/util-utf8-node": "3.37.0", 182 | "@aws-sdk/util-waiter": "3.40.0", 183 | "tslib": "^2.3.0", 184 | "uuid": "^8.3.2" 185 | }, 186 | "engines": { 187 | "node": ">=10.0.0" 188 | } 189 | }, 190 | "node_modules/@aws-sdk/client-sso": { 191 | "version": "3.45.0", 192 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.45.0.tgz", 193 | "integrity": "sha512-MfsKg4Wq5KvuGEg+M7kYfl6B3TRhxKeL01+5wtxhYbiLqxzr18mfO8PnBAasXMmYCmEQsSGmFepD7GLOld9uHA==", 194 | "dependencies": { 195 | "@aws-crypto/sha256-browser": "2.0.0", 196 | "@aws-crypto/sha256-js": "2.0.0", 197 | "@aws-sdk/config-resolver": "3.45.0", 198 | "@aws-sdk/fetch-http-handler": "3.40.0", 199 | "@aws-sdk/hash-node": "3.40.0", 200 | "@aws-sdk/invalid-dependency": "3.40.0", 201 | "@aws-sdk/middleware-content-length": "3.40.0", 202 | "@aws-sdk/middleware-host-header": "3.40.0", 203 | "@aws-sdk/middleware-logger": "3.40.0", 204 | "@aws-sdk/middleware-retry": "3.40.0", 205 | "@aws-sdk/middleware-serde": "3.40.0", 206 | "@aws-sdk/middleware-stack": "3.40.0", 207 | "@aws-sdk/middleware-user-agent": "3.40.0", 208 | "@aws-sdk/node-config-provider": "3.40.0", 209 | "@aws-sdk/node-http-handler": "3.40.0", 210 | "@aws-sdk/protocol-http": "3.40.0", 211 | "@aws-sdk/smithy-client": "3.41.0", 212 | "@aws-sdk/types": "3.40.0", 213 | "@aws-sdk/url-parser": "3.40.0", 214 | "@aws-sdk/util-base64-browser": "3.37.0", 215 | "@aws-sdk/util-base64-node": "3.37.0", 216 | "@aws-sdk/util-body-length-browser": "3.37.0", 217 | "@aws-sdk/util-body-length-node": "3.37.0", 218 | "@aws-sdk/util-user-agent-browser": "3.40.0", 219 | "@aws-sdk/util-user-agent-node": "3.40.0", 220 | "@aws-sdk/util-utf8-browser": "3.37.0", 221 | "@aws-sdk/util-utf8-node": "3.37.0", 222 | "tslib": "^2.3.0" 223 | }, 224 | "engines": { 225 | "node": ">=10.0.0" 226 | } 227 | }, 228 | "node_modules/@aws-sdk/client-sts": { 229 | "version": "3.45.0", 230 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.45.0.tgz", 231 | "integrity": "sha512-D+VGhAg+1i7/WQhfkLn7nWHR+Uyp7FPVAQ/N2MBQvZxGbSSb2agU9DN2FnxeFljOEcGJ7NdJ9YSZCFlJo0bLWA==", 232 | "dependencies": { 233 | "@aws-crypto/sha256-browser": "2.0.0", 234 | "@aws-crypto/sha256-js": "2.0.0", 235 | "@aws-sdk/config-resolver": "3.45.0", 236 | "@aws-sdk/credential-provider-node": "3.45.0", 237 | "@aws-sdk/fetch-http-handler": "3.40.0", 238 | "@aws-sdk/hash-node": "3.40.0", 239 | "@aws-sdk/invalid-dependency": "3.40.0", 240 | "@aws-sdk/middleware-content-length": "3.40.0", 241 | "@aws-sdk/middleware-host-header": "3.40.0", 242 | "@aws-sdk/middleware-logger": "3.40.0", 243 | "@aws-sdk/middleware-retry": "3.40.0", 244 | "@aws-sdk/middleware-sdk-sts": "3.45.0", 245 | "@aws-sdk/middleware-serde": "3.40.0", 246 | "@aws-sdk/middleware-signing": "3.45.0", 247 | "@aws-sdk/middleware-stack": "3.40.0", 248 | "@aws-sdk/middleware-user-agent": "3.40.0", 249 | "@aws-sdk/node-config-provider": "3.40.0", 250 | "@aws-sdk/node-http-handler": "3.40.0", 251 | "@aws-sdk/protocol-http": "3.40.0", 252 | "@aws-sdk/smithy-client": "3.41.0", 253 | "@aws-sdk/types": "3.40.0", 254 | "@aws-sdk/url-parser": "3.40.0", 255 | "@aws-sdk/util-base64-browser": "3.37.0", 256 | "@aws-sdk/util-base64-node": "3.37.0", 257 | "@aws-sdk/util-body-length-browser": "3.37.0", 258 | "@aws-sdk/util-body-length-node": "3.37.0", 259 | "@aws-sdk/util-user-agent-browser": "3.40.0", 260 | "@aws-sdk/util-user-agent-node": "3.40.0", 261 | "@aws-sdk/util-utf8-browser": "3.37.0", 262 | "@aws-sdk/util-utf8-node": "3.37.0", 263 | "entities": "2.2.0", 264 | "fast-xml-parser": "3.19.0", 265 | "tslib": "^2.3.0" 266 | }, 267 | "engines": { 268 | "node": ">=10.0.0" 269 | } 270 | }, 271 | "node_modules/@aws-sdk/config-resolver": { 272 | "version": "3.45.0", 273 | "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.45.0.tgz", 274 | "integrity": "sha512-pk+9jWQGvga2jr4aiB/KR1vAI0vPngvo9HqBbKebbJzaBhpA/RwGVWB1ZJch93oG8DBeyKZ0md9eOJRU1BkTIQ==", 275 | "dependencies": { 276 | "@aws-sdk/signature-v4": "3.45.0", 277 | "@aws-sdk/types": "3.40.0", 278 | "@aws-sdk/util-config-provider": "3.40.0", 279 | "tslib": "^2.3.0" 280 | }, 281 | "engines": { 282 | "node": ">= 10.0.0" 283 | } 284 | }, 285 | "node_modules/@aws-sdk/credential-provider-env": { 286 | "version": "3.40.0", 287 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.40.0.tgz", 288 | "integrity": "sha512-qHZdf2vxhzZkSygjw2I4SEYFL2dMZxxYvO4QlkqQouKY81OVxs/j69oiNCjPasQzGz5jaZZKI8xEAIfkSyr1lg==", 289 | "dependencies": { 290 | "@aws-sdk/property-provider": "3.40.0", 291 | "@aws-sdk/types": "3.40.0", 292 | "tslib": "^2.3.0" 293 | }, 294 | "engines": { 295 | "node": ">= 10.0.0" 296 | } 297 | }, 298 | "node_modules/@aws-sdk/credential-provider-imds": { 299 | "version": "3.40.0", 300 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.40.0.tgz", 301 | "integrity": "sha512-Ty/wVa+BQrCFrP06AGl5S1CeLifDt68YrlYXUnkRn603SX4DvxBgVO7XFeDH58G8ziDCiqxfmVl4yjbncPPeSw==", 302 | "dependencies": { 303 | "@aws-sdk/node-config-provider": "3.40.0", 304 | "@aws-sdk/property-provider": "3.40.0", 305 | "@aws-sdk/types": "3.40.0", 306 | "@aws-sdk/url-parser": "3.40.0", 307 | "tslib": "^2.3.0" 308 | }, 309 | "engines": { 310 | "node": ">= 10.0.0" 311 | } 312 | }, 313 | "node_modules/@aws-sdk/credential-provider-ini": { 314 | "version": "3.45.0", 315 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.45.0.tgz", 316 | "integrity": "sha512-lfYh8LVW33de01zzfqs6H+4xr20l+++QtvWG8PwKzEAY/71s344ybrOw7KiVUkCDLLbj3SWEmsMJFvBcrvifbA==", 317 | "dependencies": { 318 | "@aws-sdk/credential-provider-env": "3.40.0", 319 | "@aws-sdk/credential-provider-imds": "3.40.0", 320 | "@aws-sdk/credential-provider-sso": "3.45.0", 321 | "@aws-sdk/credential-provider-web-identity": "3.41.0", 322 | "@aws-sdk/property-provider": "3.40.0", 323 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 324 | "@aws-sdk/types": "3.40.0", 325 | "@aws-sdk/util-credentials": "3.37.0", 326 | "tslib": "^2.3.0" 327 | }, 328 | "engines": { 329 | "node": ">= 10.0.0" 330 | } 331 | }, 332 | "node_modules/@aws-sdk/credential-provider-node": { 333 | "version": "3.45.0", 334 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.45.0.tgz", 335 | "integrity": "sha512-ZNqo0JlA7S4k1bAB+Xb8A3KsmNPWVFMmoY3NC25dgXU4xQLVxy0MucQggnfCqRjvshwI4OEdDQsRgl69n/XErQ==", 336 | "dependencies": { 337 | "@aws-sdk/credential-provider-env": "3.40.0", 338 | "@aws-sdk/credential-provider-imds": "3.40.0", 339 | "@aws-sdk/credential-provider-ini": "3.45.0", 340 | "@aws-sdk/credential-provider-process": "3.40.0", 341 | "@aws-sdk/credential-provider-sso": "3.45.0", 342 | "@aws-sdk/credential-provider-web-identity": "3.41.0", 343 | "@aws-sdk/property-provider": "3.40.0", 344 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 345 | "@aws-sdk/types": "3.40.0", 346 | "@aws-sdk/util-credentials": "3.37.0", 347 | "tslib": "^2.3.0" 348 | }, 349 | "engines": { 350 | "node": ">=10.0.0" 351 | } 352 | }, 353 | "node_modules/@aws-sdk/credential-provider-process": { 354 | "version": "3.40.0", 355 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.40.0.tgz", 356 | "integrity": "sha512-qsaNCDesW2GasDbzpeOA371gxugi05JWxt3EKonLbUfkGKBK7kmmL6EgLIxZuNm2/Ve4RS07PKp8yBGm4xIx9w==", 357 | "dependencies": { 358 | "@aws-sdk/property-provider": "3.40.0", 359 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 360 | "@aws-sdk/types": "3.40.0", 361 | "@aws-sdk/util-credentials": "3.37.0", 362 | "tslib": "^2.3.0" 363 | }, 364 | "engines": { 365 | "node": ">= 10.0.0" 366 | } 367 | }, 368 | "node_modules/@aws-sdk/credential-provider-sso": { 369 | "version": "3.45.0", 370 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.45.0.tgz", 371 | "integrity": "sha512-FBMn+QA6rI74A90ieQtCJckbKPBxNn4mgR9rzWyi/R6o5gVuu99yJGL03NXtWtm5N4x/1SygBtezY/XL5UU0Mg==", 372 | "dependencies": { 373 | "@aws-sdk/client-sso": "3.45.0", 374 | "@aws-sdk/property-provider": "3.40.0", 375 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 376 | "@aws-sdk/types": "3.40.0", 377 | "@aws-sdk/util-credentials": "3.37.0", 378 | "tslib": "^2.3.0" 379 | }, 380 | "engines": { 381 | "node": ">= 10.0.0" 382 | } 383 | }, 384 | "node_modules/@aws-sdk/credential-provider-web-identity": { 385 | "version": "3.41.0", 386 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.41.0.tgz", 387 | "integrity": "sha512-VqvVoEh9C8xTXl4stKyJC5IKQhS8g1Gi5k6B9HPHLIxFRRfKxkE73DT4pMN6npnus7o0yi0MTFGQFQGYSrFO2g==", 388 | "dependencies": { 389 | "@aws-sdk/property-provider": "3.40.0", 390 | "@aws-sdk/types": "3.40.0", 391 | "tslib": "^2.3.0" 392 | }, 393 | "engines": { 394 | "node": ">= 10.0.0" 395 | } 396 | }, 397 | "node_modules/@aws-sdk/fetch-http-handler": { 398 | "version": "3.40.0", 399 | "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.40.0.tgz", 400 | "integrity": "sha512-w1HiZromoU+/bbEo89uO81l6UO/M+c2uOMnXntZqe6t3ZHUUUo3AbvhKh0QGVFqRQa+Oi0+95KqWmTHa72/9Iw==", 401 | "dependencies": { 402 | "@aws-sdk/protocol-http": "3.40.0", 403 | "@aws-sdk/querystring-builder": "3.40.0", 404 | "@aws-sdk/types": "3.40.0", 405 | "@aws-sdk/util-base64-browser": "3.37.0", 406 | "tslib": "^2.3.0" 407 | } 408 | }, 409 | "node_modules/@aws-sdk/hash-node": { 410 | "version": "3.40.0", 411 | "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.40.0.tgz", 412 | "integrity": "sha512-yOXXK85DdGDktdnQtXgMdaVKii4wtMjEhJ1mrvx2A9nMFNaPhxvERkVVIUKSWlJRa9ZujOw5jWOx8d2R51/Kjg==", 413 | "dependencies": { 414 | "@aws-sdk/types": "3.40.0", 415 | "@aws-sdk/util-buffer-from": "3.37.0", 416 | "tslib": "^2.3.0" 417 | }, 418 | "engines": { 419 | "node": ">= 10.0.0" 420 | } 421 | }, 422 | "node_modules/@aws-sdk/invalid-dependency": { 423 | "version": "3.40.0", 424 | "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.40.0.tgz", 425 | "integrity": "sha512-axIWtDwCBDDqEgAJipX1FB1ZNpWYXquVwKDMo+7G+ftPBZ4FEq4M1ELhXJL3hhNJ9ZmCQzv+4F6Wnt8dwuzUaQ==", 426 | "dependencies": { 427 | "@aws-sdk/types": "3.40.0", 428 | "tslib": "^2.3.0" 429 | } 430 | }, 431 | "node_modules/@aws-sdk/is-array-buffer": { 432 | "version": "3.37.0", 433 | "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.37.0.tgz", 434 | "integrity": "sha512-XLjA/a6AuGnCvcJZLsMTy2jxF2upgGhqCCkoIJgLlzzXHSihur13KcmPvW/zcaGnCRj0SvKWXiJHl4vDlW75VQ==", 435 | "dependencies": { 436 | "tslib": "^2.3.0" 437 | }, 438 | "engines": { 439 | "node": ">= 10.0.0" 440 | } 441 | }, 442 | "node_modules/@aws-sdk/middleware-content-length": { 443 | "version": "3.40.0", 444 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.40.0.tgz", 445 | "integrity": "sha512-sybAJb8v7I/vvL08R3+TI/XDAg9gybQTZ2treC24Ap4+jAOz4QBTHJPMKaUlEeFlMUcq4rj6/u2897ebYH6opw==", 446 | "dependencies": { 447 | "@aws-sdk/protocol-http": "3.40.0", 448 | "@aws-sdk/types": "3.40.0", 449 | "tslib": "^2.3.0" 450 | }, 451 | "engines": { 452 | "node": ">= 10.0.0" 453 | } 454 | }, 455 | "node_modules/@aws-sdk/middleware-host-header": { 456 | "version": "3.40.0", 457 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.40.0.tgz", 458 | "integrity": "sha512-/wocR7JFOLM7/+BQM1DgAd6KCFYcdxYu1P7AhI451GlVNuYa5f89zh7p0gt3SRC6monI5lXgpL7RudhDm8fTrA==", 459 | "dependencies": { 460 | "@aws-sdk/protocol-http": "3.40.0", 461 | "@aws-sdk/types": "3.40.0", 462 | "tslib": "^2.3.0" 463 | }, 464 | "engines": { 465 | "node": ">= 10.0.0" 466 | } 467 | }, 468 | "node_modules/@aws-sdk/middleware-logger": { 469 | "version": "3.40.0", 470 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.40.0.tgz", 471 | "integrity": "sha512-19kx0Xg5ymVRKoupmhdmfTBkROcv3DZj508agpyG2YAo0abOObMlIP4Jltg0VD4PhNjGzNh0jFGJnvhjdwv4/A==", 472 | "dependencies": { 473 | "@aws-sdk/types": "3.40.0", 474 | "tslib": "^2.3.0" 475 | }, 476 | "engines": { 477 | "node": ">= 10.0.0" 478 | } 479 | }, 480 | "node_modules/@aws-sdk/middleware-retry": { 481 | "version": "3.40.0", 482 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.40.0.tgz", 483 | "integrity": "sha512-SMUJrukugLL7YJE5X8B2ToukxMWMPwnf7jAFr84ptycCe8bdWv8x8klQ3EtVWpyqochtNlbTi6J/tTQBniUX7A==", 484 | "dependencies": { 485 | "@aws-sdk/protocol-http": "3.40.0", 486 | "@aws-sdk/service-error-classification": "3.40.0", 487 | "@aws-sdk/types": "3.40.0", 488 | "tslib": "^2.3.0", 489 | "uuid": "^8.3.2" 490 | }, 491 | "engines": { 492 | "node": ">= 10.0.0" 493 | } 494 | }, 495 | "node_modules/@aws-sdk/middleware-sdk-sts": { 496 | "version": "3.45.0", 497 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.45.0.tgz", 498 | "integrity": "sha512-nvvzoKItzyZF44+0/VdygbUDgBG8wxYqDK0i+aPYLmmTu2NTBcREeMDiYO/aHZIzMNemyJqSdB3p8sdf2BYTAA==", 499 | "dependencies": { 500 | "@aws-sdk/middleware-signing": "3.45.0", 501 | "@aws-sdk/property-provider": "3.40.0", 502 | "@aws-sdk/protocol-http": "3.40.0", 503 | "@aws-sdk/signature-v4": "3.45.0", 504 | "@aws-sdk/types": "3.40.0", 505 | "tslib": "^2.3.0" 506 | }, 507 | "engines": { 508 | "node": ">= 10.0.0" 509 | } 510 | }, 511 | "node_modules/@aws-sdk/middleware-serde": { 512 | "version": "3.40.0", 513 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.40.0.tgz", 514 | "integrity": "sha512-uOWfZjlAoBy6xPqp0d4ka83WNNbEVCWn9WwfqBUXThyoTdTooYSpXe5y2YzN0BJa8b+tEZTyWpgamnBpFLp47g==", 515 | "dependencies": { 516 | "@aws-sdk/types": "3.40.0", 517 | "tslib": "^2.3.0" 518 | }, 519 | "engines": { 520 | "node": ">= 10.0.0" 521 | } 522 | }, 523 | "node_modules/@aws-sdk/middleware-signing": { 524 | "version": "3.45.0", 525 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.45.0.tgz", 526 | "integrity": "sha512-MUtKe0mRWgWimGlbDX9KWHnxcQz8g1N+gEjfkcxzw+HMIxxQIKYFgUyllhFZ3HvYIje/wLlFYuDKXRBrJjUxYQ==", 527 | "dependencies": { 528 | "@aws-sdk/property-provider": "3.40.0", 529 | "@aws-sdk/protocol-http": "3.40.0", 530 | "@aws-sdk/signature-v4": "3.45.0", 531 | "@aws-sdk/types": "3.40.0", 532 | "tslib": "^2.3.0" 533 | }, 534 | "engines": { 535 | "node": ">= 10.0.0" 536 | } 537 | }, 538 | "node_modules/@aws-sdk/middleware-stack": { 539 | "version": "3.40.0", 540 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.40.0.tgz", 541 | "integrity": "sha512-hby9HvESUYJxpdALX+6Dn2LPmS5jtMVurGB/+j3MWOvIcDYB4bcSXgVRvXzYnTKwbSupIdbX9zOE2ZAx2SJpUQ==", 542 | "dependencies": { 543 | "tslib": "^2.3.0" 544 | }, 545 | "engines": { 546 | "node": ">= 10.0.0" 547 | } 548 | }, 549 | "node_modules/@aws-sdk/middleware-user-agent": { 550 | "version": "3.40.0", 551 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.40.0.tgz", 552 | "integrity": "sha512-dzC2fxWnanetFJ1oYgil8df3N36bR1yc/OCOpbdfQNiUk1FrXiCXqH5rHNO8zCvnwJAj8GHFwpFGd9a2Qube2w==", 553 | "dependencies": { 554 | "@aws-sdk/protocol-http": "3.40.0", 555 | "@aws-sdk/types": "3.40.0", 556 | "tslib": "^2.3.0" 557 | }, 558 | "engines": { 559 | "node": ">= 10.0.0" 560 | } 561 | }, 562 | "node_modules/@aws-sdk/node-config-provider": { 563 | "version": "3.40.0", 564 | "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.40.0.tgz", 565 | "integrity": "sha512-AmokjgUDECG8osoMfdRsPNweqI+L1pn4bYGk5iTLmzbBi0o4ot0U1FdX8Rf0qJZZwS4t1TXc3s8/PDVknmPxKg==", 566 | "dependencies": { 567 | "@aws-sdk/property-provider": "3.40.0", 568 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 569 | "@aws-sdk/types": "3.40.0", 570 | "tslib": "^2.3.0" 571 | }, 572 | "engines": { 573 | "node": ">= 10.0.0" 574 | } 575 | }, 576 | "node_modules/@aws-sdk/node-http-handler": { 577 | "version": "3.40.0", 578 | "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.40.0.tgz", 579 | "integrity": "sha512-qjda6IbxDhbYr8NHmrMurKkbjgLUkfTMVgagDErDK24Nm3Dn5VaO6J4n6c0Q4OLHlmFaRcUfZSTrOo5DAubqCw==", 580 | "dependencies": { 581 | "@aws-sdk/abort-controller": "3.40.0", 582 | "@aws-sdk/protocol-http": "3.40.0", 583 | "@aws-sdk/querystring-builder": "3.40.0", 584 | "@aws-sdk/types": "3.40.0", 585 | "tslib": "^2.3.0" 586 | }, 587 | "engines": { 588 | "node": ">= 10.0.0" 589 | } 590 | }, 591 | "node_modules/@aws-sdk/property-provider": { 592 | "version": "3.40.0", 593 | "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.40.0.tgz", 594 | "integrity": "sha512-Mx4lkShjsYRwW9ujHA1pcnuubrWQ4kF5/DXWNfUiXuSIO/0Lojp1qTLheyBm4vzkJIlx5umyP6NvRAUkEHSN4Q==", 595 | "dependencies": { 596 | "@aws-sdk/types": "3.40.0", 597 | "tslib": "^2.3.0" 598 | }, 599 | "engines": { 600 | "node": ">= 10.0.0" 601 | } 602 | }, 603 | "node_modules/@aws-sdk/protocol-http": { 604 | "version": "3.40.0", 605 | "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.40.0.tgz", 606 | "integrity": "sha512-f4ea7/HZkjpvGBrnRIuzc/bhrExWrgDv7eulj4htPukZGHdTqSJD3Jk8lEXWvFuX2vUKQDGhEhCDsqup7YWJQQ==", 607 | "dependencies": { 608 | "@aws-sdk/types": "3.40.0", 609 | "tslib": "^2.3.0" 610 | }, 611 | "engines": { 612 | "node": ">= 10.0.0" 613 | } 614 | }, 615 | "node_modules/@aws-sdk/querystring-builder": { 616 | "version": "3.40.0", 617 | "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.40.0.tgz", 618 | "integrity": "sha512-gO24oipnNaxJRBXB7lhLfa96vIMOd8gtMBqJTjelTjS2e1ZP1YY12CNKKTWwafSk8Ge021erZAG/YTOaXGpv+g==", 619 | "dependencies": { 620 | "@aws-sdk/types": "3.40.0", 621 | "@aws-sdk/util-uri-escape": "3.37.0", 622 | "tslib": "^2.3.0" 623 | }, 624 | "engines": { 625 | "node": ">= 10.0.0" 626 | } 627 | }, 628 | "node_modules/@aws-sdk/querystring-parser": { 629 | "version": "3.40.0", 630 | "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.40.0.tgz", 631 | "integrity": "sha512-XZIyaKQIiZAM6zelCBcsLHhVDOLafi7XIOd3jy6SymGN8ajj3HqUJ/vdQ5G6ISTk18OrqgqcCOI9oNzv+nrBcA==", 632 | "dependencies": { 633 | "@aws-sdk/types": "3.40.0", 634 | "tslib": "^2.3.0" 635 | }, 636 | "engines": { 637 | "node": ">= 10.0.0" 638 | } 639 | }, 640 | "node_modules/@aws-sdk/service-error-classification": { 641 | "version": "3.40.0", 642 | "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.40.0.tgz", 643 | "integrity": "sha512-c8btKmkvjXczWudXubGdbO3JgmjySBUVC/gCrZDNfwNGsG8RYJJQYYcnmt1gWjelUZsgMDl/2PIzxTlxVF91rA==", 644 | "engines": { 645 | "node": ">= 10.0.0" 646 | } 647 | }, 648 | "node_modules/@aws-sdk/shared-ini-file-loader": { 649 | "version": "3.37.0", 650 | "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.37.0.tgz", 651 | "integrity": "sha512-+vRBSlfa48R9KL7DpQt3dsu5/+5atjRgoCISblWo3SLpjrx41pKcjKneo7a1u0aP1Xc2oG2TfIyqTWZuOXsmEQ==", 652 | "dependencies": { 653 | "tslib": "^2.3.0" 654 | }, 655 | "engines": { 656 | "node": ">= 10.0.0" 657 | } 658 | }, 659 | "node_modules/@aws-sdk/signature-v4": { 660 | "version": "3.45.0", 661 | "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.45.0.tgz", 662 | "integrity": "sha512-73dwNe4R4Ytgn82gV8B99tE6UqrWjHE1JIAXpEZeXsBPJtg+8wpgd9sujs6JH9JW2cvnSnIsCXs1gQGD9+bZ0A==", 663 | "dependencies": { 664 | "@aws-sdk/is-array-buffer": "3.37.0", 665 | "@aws-sdk/types": "3.40.0", 666 | "@aws-sdk/util-hex-encoding": "3.37.0", 667 | "@aws-sdk/util-uri-escape": "3.37.0", 668 | "tslib": "^2.3.0" 669 | }, 670 | "engines": { 671 | "node": ">= 10.0.0" 672 | } 673 | }, 674 | "node_modules/@aws-sdk/smithy-client": { 675 | "version": "3.41.0", 676 | "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.41.0.tgz", 677 | "integrity": "sha512-ldhS0Pf3v6yHCd//kk5DvKcdyeUkKEwxNDRanAp+ekTW68J3XcYgKaPC9sNDhVTDH1zrywTvtEz5zWHEvXjQow==", 678 | "dependencies": { 679 | "@aws-sdk/middleware-stack": "3.40.0", 680 | "@aws-sdk/types": "3.40.0", 681 | "tslib": "^2.3.0" 682 | }, 683 | "engines": { 684 | "node": ">= 10.0.0" 685 | } 686 | }, 687 | "node_modules/@aws-sdk/types": { 688 | "version": "3.40.0", 689 | "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.40.0.tgz", 690 | "integrity": "sha512-KpILcfvRaL88TLvo3SY4OuCCg90SvcNLPyjDwUuBqiOyWODjrKShHtAPJzej4CLp92lofh+ul0UnBfV9Jb/5PA==", 691 | "engines": { 692 | "node": ">= 10.0.0" 693 | } 694 | }, 695 | "node_modules/@aws-sdk/url-parser": { 696 | "version": "3.40.0", 697 | "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.40.0.tgz", 698 | "integrity": "sha512-HwNV+HX7bHgLk5FzTOgdXANsC0SeVz5PMC4Nh+TLz2IoeQnrw4H8dsA4YNonncjern5oC5veKRjQeOoCL5SlSQ==", 699 | "dependencies": { 700 | "@aws-sdk/querystring-parser": "3.40.0", 701 | "@aws-sdk/types": "3.40.0", 702 | "tslib": "^2.3.0" 703 | } 704 | }, 705 | "node_modules/@aws-sdk/util-base64-browser": { 706 | "version": "3.37.0", 707 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.37.0.tgz", 708 | "integrity": "sha512-o4s/rHVm5k8eC/T7grJQINyYA/mKfDmEWKMA9wk5iBroXlI2rUm7x649TBk5hzoddufk/mffEeNz/1wM7yTmlg==", 709 | "dependencies": { 710 | "tslib": "^2.3.0" 711 | } 712 | }, 713 | "node_modules/@aws-sdk/util-base64-node": { 714 | "version": "3.37.0", 715 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.37.0.tgz", 716 | "integrity": "sha512-1UPxly1GPrGZtlIWvbNCDIAund4Oyp8cFi9neA43TeNACvrmEQu/nG01pDbOoo0ENoVSVJrNAVBeqKEpqjH2GA==", 717 | "dependencies": { 718 | "@aws-sdk/util-buffer-from": "3.37.0", 719 | "tslib": "^2.3.0" 720 | }, 721 | "engines": { 722 | "node": ">= 10.0.0" 723 | } 724 | }, 725 | "node_modules/@aws-sdk/util-body-length-browser": { 726 | "version": "3.37.0", 727 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.37.0.tgz", 728 | "integrity": "sha512-tClmH1uYelqWT43xxmnOsVFbCQJiIwizp6y4E109G2LIof07inxrO0L8nbwBpjhugVplx6NZr9IaqTFqbdM1gA==", 729 | "dependencies": { 730 | "tslib": "^2.3.0" 731 | } 732 | }, 733 | "node_modules/@aws-sdk/util-body-length-node": { 734 | "version": "3.37.0", 735 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.37.0.tgz", 736 | "integrity": "sha512-aY3mXdbEajruRi9CHgq/heM89R+Gectj/Xrs1naewmamaN8NJrvjDm3s+cw//lqqSOW903LYHXDgm7wvCzUnFA==", 737 | "dependencies": { 738 | "tslib": "^2.3.0" 739 | }, 740 | "engines": { 741 | "node": ">= 10.0.0" 742 | } 743 | }, 744 | "node_modules/@aws-sdk/util-buffer-from": { 745 | "version": "3.37.0", 746 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.37.0.tgz", 747 | "integrity": "sha512-aa3SBwjLwImuJoE4+hxDIWQ9REz3UFb3p7KFPe9qopdXb/yB12RTcbrXVb4whUux4i4mO6KRij0ZNjFZrjrKPg==", 748 | "dependencies": { 749 | "@aws-sdk/is-array-buffer": "3.37.0", 750 | "tslib": "^2.3.0" 751 | }, 752 | "engines": { 753 | "node": ">= 10.0.0" 754 | } 755 | }, 756 | "node_modules/@aws-sdk/util-config-provider": { 757 | "version": "3.40.0", 758 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.40.0.tgz", 759 | "integrity": "sha512-NjZGrA4mqhpr6gkVCAUweurP0Z9d3vFyXJCtulC0BFbpKAnKCf/crSK56NwUaNhAEMCkSuBvjRFzkbfT+HO8bA==", 760 | "dependencies": { 761 | "tslib": "^2.3.0" 762 | }, 763 | "engines": { 764 | "node": ">= 10.0.0" 765 | } 766 | }, 767 | "node_modules/@aws-sdk/util-credentials": { 768 | "version": "3.37.0", 769 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.37.0.tgz", 770 | "integrity": "sha512-zcLhSZDKgBLhUjSU5HoQpuQiP3v8oE86NmV/tiZVPEaO6YVULEAB2Cfj1hpM/b/JXWzjSHfT06KXT7QUODKS+A==", 771 | "dependencies": { 772 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 773 | "tslib": "^2.3.0" 774 | }, 775 | "engines": { 776 | "node": ">= 10.0.0" 777 | } 778 | }, 779 | "node_modules/@aws-sdk/util-hex-encoding": { 780 | "version": "3.37.0", 781 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.37.0.tgz", 782 | "integrity": "sha512-tn5UpfaeM+rZWqynoNqB8lwtcAXil5YYO3HLGH9himpWAdft/2Z7LK6bsYDpctaAI1WHgMDcL0bw3Id04ZUbhA==", 783 | "dependencies": { 784 | "tslib": "^2.3.0" 785 | }, 786 | "engines": { 787 | "node": ">= 10.0.0" 788 | } 789 | }, 790 | "node_modules/@aws-sdk/util-locate-window": { 791 | "version": "3.37.0", 792 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.37.0.tgz", 793 | "integrity": "sha512-NvDCfOhLLVHp27oGUUs8EVirhz91aX5gdxGS7J/sh5PF0cNN8rwaR1vSLR7BxPmJHMO7NH7i9EwiELfLfYcq6g==", 794 | "dependencies": { 795 | "tslib": "^2.3.0" 796 | }, 797 | "engines": { 798 | "node": ">= 10.0.0" 799 | } 800 | }, 801 | "node_modules/@aws-sdk/util-uri-escape": { 802 | "version": "3.37.0", 803 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.37.0.tgz", 804 | "integrity": "sha512-8pKf4YJTELP5lm/CEgYw2atyJBB1RWWqFa0sZx6YJmTlOtLF5G6raUdAi4iDa2hldGt2B6IAdIIyuusT8zeU8Q==", 805 | "dependencies": { 806 | "tslib": "^2.3.0" 807 | }, 808 | "engines": { 809 | "node": ">= 10.0.0" 810 | } 811 | }, 812 | "node_modules/@aws-sdk/util-user-agent-browser": { 813 | "version": "3.40.0", 814 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.40.0.tgz", 815 | "integrity": "sha512-C69sTI26bV2EprTv3DTXu9XP7kD9Wu4YVPBzqztOYArd2GDYw3w+jS8SEg3XRbjAKY/mOPZ2Thw4StjpZlWZiA==", 816 | "dependencies": { 817 | "@aws-sdk/types": "3.40.0", 818 | "bowser": "^2.11.0", 819 | "tslib": "^2.3.0" 820 | } 821 | }, 822 | "node_modules/@aws-sdk/util-user-agent-node": { 823 | "version": "3.40.0", 824 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.40.0.tgz", 825 | "integrity": "sha512-cjIzd0hRZFTTh7iLJD6Bciu++Em1iaM1clyG02xRl0JD5DEtDSR1zO02uu+AeM7GSLGOxIvwOkK2j8ySPAOmBA==", 826 | "dependencies": { 827 | "@aws-sdk/node-config-provider": "3.40.0", 828 | "@aws-sdk/types": "3.40.0", 829 | "tslib": "^2.3.0" 830 | }, 831 | "engines": { 832 | "node": ">= 10.0.0" 833 | } 834 | }, 835 | "node_modules/@aws-sdk/util-utf8-browser": { 836 | "version": "3.37.0", 837 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.37.0.tgz", 838 | "integrity": "sha512-tuiOxzfqet1kKGYzlgpMGfhr64AHJnYsFx2jZiH/O6Yq8XQg43ryjQlbJlim/K/XHGNzY0R+nabeJg34q3Ua1g==", 839 | "dependencies": { 840 | "tslib": "^2.3.0" 841 | } 842 | }, 843 | "node_modules/@aws-sdk/util-utf8-node": { 844 | "version": "3.37.0", 845 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.37.0.tgz", 846 | "integrity": "sha512-fUAgd7UTCULL36j9/vnXHxVhxvswnq23mYgTCIT8NQ7wHN30q2a89ym1e9DwGeQkJEBOkOcKLn6nsMsN7YQMDQ==", 847 | "dependencies": { 848 | "@aws-sdk/util-buffer-from": "3.37.0", 849 | "tslib": "^2.3.0" 850 | }, 851 | "engines": { 852 | "node": ">= 10.0.0" 853 | } 854 | }, 855 | "node_modules/@aws-sdk/util-waiter": { 856 | "version": "3.40.0", 857 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.40.0.tgz", 858 | "integrity": "sha512-jdxwNEZdID49ZvyAnxaeNm5w2moIfMLOwj/q6TxKlxYoXMs16FQWkhyfGue0vEASzchS49ewbyt+KBqpT31Ebg==", 859 | "dependencies": { 860 | "@aws-sdk/abort-controller": "3.40.0", 861 | "@aws-sdk/types": "3.40.0", 862 | "tslib": "^2.3.0" 863 | }, 864 | "engines": { 865 | "node": ">= 10.0.0" 866 | } 867 | }, 868 | "node_modules/@types/cls-hooked": { 869 | "version": "4.3.3", 870 | "resolved": "https://registry.npmjs.org/@types/cls-hooked/-/cls-hooked-4.3.3.tgz", 871 | "integrity": "sha512-gNstDTb/ty5h6gJd6YpSPgsLX9LmRpaKJqGFp7MRlYxhwp4vXXKlJ9+bt1TZ9KbVNXE+Mbxy2AYXcpY21DDtJw==", 872 | "dependencies": { 873 | "@types/node": "*" 874 | } 875 | }, 876 | "node_modules/@types/node": { 877 | "version": "17.0.7", 878 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.7.tgz", 879 | "integrity": "sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ==" 880 | }, 881 | "node_modules/async-hook-jl": { 882 | "version": "1.7.6", 883 | "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", 884 | "integrity": "sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==", 885 | "dependencies": { 886 | "stack-chain": "^1.3.7" 887 | }, 888 | "engines": { 889 | "node": "^4.7 || >=6.9 || >=7.3" 890 | } 891 | }, 892 | "node_modules/atomic-batcher": { 893 | "version": "1.0.2", 894 | "resolved": "https://registry.npmjs.org/atomic-batcher/-/atomic-batcher-1.0.2.tgz", 895 | "integrity": "sha1-0WkB0QzOxZUWwZe5zNiTBom4E7Q=" 896 | }, 897 | "node_modules/aws-xray-sdk-core": { 898 | "version": "3.3.4", 899 | "resolved": "https://registry.npmjs.org/aws-xray-sdk-core/-/aws-xray-sdk-core-3.3.4.tgz", 900 | "integrity": "sha512-GGnYAQgtclLHIBReOtsUgbDDCar0LR2TaHCWlQhPrEVVayrSAZQ4y+SlXN5YIadxMec4/f5dbF69wMbug9D5Ww==", 901 | "dependencies": { 902 | "@aws-sdk/service-error-classification": "^3.4.1", 903 | "@aws-sdk/types": "^3.4.1", 904 | "@types/cls-hooked": "^4.3.3", 905 | "atomic-batcher": "^1.0.2", 906 | "cls-hooked": "^4.2.2", 907 | "semver": "^5.3.0" 908 | }, 909 | "engines": { 910 | "node": ">= 10.x" 911 | } 912 | }, 913 | "node_modules/bowser": { 914 | "version": "2.11.0", 915 | "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", 916 | "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" 917 | }, 918 | "node_modules/cls-hooked": { 919 | "version": "4.2.2", 920 | "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", 921 | "integrity": "sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==", 922 | "dependencies": { 923 | "async-hook-jl": "^1.7.6", 924 | "emitter-listener": "^1.0.1", 925 | "semver": "^5.4.1" 926 | }, 927 | "engines": { 928 | "node": "^4.7 || >=6.9 || >=7.3 || >=8.2.1" 929 | } 930 | }, 931 | "node_modules/emitter-listener": { 932 | "version": "1.1.2", 933 | "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", 934 | "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==", 935 | "dependencies": { 936 | "shimmer": "^1.2.0" 937 | } 938 | }, 939 | "node_modules/entities": { 940 | "version": "2.2.0", 941 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 942 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 943 | "funding": { 944 | "url": "https://github.com/fb55/entities?sponsor=1" 945 | } 946 | }, 947 | "node_modules/fast-xml-parser": { 948 | "version": "3.19.0", 949 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", 950 | "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==", 951 | "bin": { 952 | "xml2js": "cli.js" 953 | }, 954 | "funding": { 955 | "type": "paypal", 956 | "url": "https://paypal.me/naturalintelligence" 957 | } 958 | }, 959 | "node_modules/semver": { 960 | "version": "5.7.1", 961 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 962 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 963 | "bin": { 964 | "semver": "bin/semver" 965 | } 966 | }, 967 | "node_modules/shimmer": { 968 | "version": "1.2.1", 969 | "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", 970 | "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" 971 | }, 972 | "node_modules/stack-chain": { 973 | "version": "1.3.7", 974 | "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", 975 | "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" 976 | }, 977 | "node_modules/tslib": { 978 | "version": "2.3.1", 979 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 980 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" 981 | }, 982 | "node_modules/uuid": { 983 | "version": "8.3.2", 984 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 985 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 986 | "bin": { 987 | "uuid": "dist/bin/uuid" 988 | } 989 | } 990 | }, 991 | "dependencies": { 992 | "@aws-crypto/ie11-detection": { 993 | "version": "2.0.0", 994 | "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz", 995 | "integrity": "sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==", 996 | "requires": { 997 | "tslib": "^1.11.1" 998 | }, 999 | "dependencies": { 1000 | "tslib": { 1001 | "version": "1.14.1", 1002 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 1003 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 1004 | } 1005 | } 1006 | }, 1007 | "@aws-crypto/sha256-browser": { 1008 | "version": "2.0.0", 1009 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", 1010 | "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", 1011 | "requires": { 1012 | "@aws-crypto/ie11-detection": "^2.0.0", 1013 | "@aws-crypto/sha256-js": "^2.0.0", 1014 | "@aws-crypto/supports-web-crypto": "^2.0.0", 1015 | "@aws-crypto/util": "^2.0.0", 1016 | "@aws-sdk/types": "^3.1.0", 1017 | "@aws-sdk/util-locate-window": "^3.0.0", 1018 | "@aws-sdk/util-utf8-browser": "^3.0.0", 1019 | "tslib": "^1.11.1" 1020 | }, 1021 | "dependencies": { 1022 | "tslib": { 1023 | "version": "1.14.1", 1024 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 1025 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 1026 | } 1027 | } 1028 | }, 1029 | "@aws-crypto/sha256-js": { 1030 | "version": "2.0.0", 1031 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", 1032 | "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", 1033 | "requires": { 1034 | "@aws-crypto/util": "^2.0.0", 1035 | "@aws-sdk/types": "^3.1.0", 1036 | "tslib": "^1.11.1" 1037 | }, 1038 | "dependencies": { 1039 | "tslib": { 1040 | "version": "1.14.1", 1041 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 1042 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 1043 | } 1044 | } 1045 | }, 1046 | "@aws-crypto/supports-web-crypto": { 1047 | "version": "2.0.0", 1048 | "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz", 1049 | "integrity": "sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==", 1050 | "requires": { 1051 | "tslib": "^1.11.1" 1052 | }, 1053 | "dependencies": { 1054 | "tslib": { 1055 | "version": "1.14.1", 1056 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 1057 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 1058 | } 1059 | } 1060 | }, 1061 | "@aws-crypto/util": { 1062 | "version": "2.0.1", 1063 | "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz", 1064 | "integrity": "sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==", 1065 | "requires": { 1066 | "@aws-sdk/types": "^3.1.0", 1067 | "@aws-sdk/util-utf8-browser": "^3.0.0", 1068 | "tslib": "^1.11.1" 1069 | }, 1070 | "dependencies": { 1071 | "tslib": { 1072 | "version": "1.14.1", 1073 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 1074 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 1075 | } 1076 | } 1077 | }, 1078 | "@aws-sdk/abort-controller": { 1079 | "version": "3.40.0", 1080 | "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.40.0.tgz", 1081 | "integrity": "sha512-S7LzLvNuwuf0q7r4q7zqGzxd/W2xYsn8cpZ90MMb3ObolhbkLySrikUJujmXae8k+2/KFCOr+FVC0YLrATSUgQ==", 1082 | "requires": { 1083 | "@aws-sdk/types": "3.40.0", 1084 | "tslib": "^2.3.0" 1085 | } 1086 | }, 1087 | "@aws-sdk/client-secrets-manager": { 1088 | "version": "3.45.0", 1089 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.45.0.tgz", 1090 | "integrity": "sha512-fwNZa98sbSAJDJSEbGZ0MqevgdgHrGtbu6KWCLuTueiHlkrhejTiOno8A0JiQFz0nYRR7lYTX51YZz+BjWhJjQ==", 1091 | "requires": { 1092 | "@aws-crypto/sha256-browser": "2.0.0", 1093 | "@aws-crypto/sha256-js": "2.0.0", 1094 | "@aws-sdk/client-sts": "3.45.0", 1095 | "@aws-sdk/config-resolver": "3.45.0", 1096 | "@aws-sdk/credential-provider-node": "3.45.0", 1097 | "@aws-sdk/fetch-http-handler": "3.40.0", 1098 | "@aws-sdk/hash-node": "3.40.0", 1099 | "@aws-sdk/invalid-dependency": "3.40.0", 1100 | "@aws-sdk/middleware-content-length": "3.40.0", 1101 | "@aws-sdk/middleware-host-header": "3.40.0", 1102 | "@aws-sdk/middleware-logger": "3.40.0", 1103 | "@aws-sdk/middleware-retry": "3.40.0", 1104 | "@aws-sdk/middleware-serde": "3.40.0", 1105 | "@aws-sdk/middleware-signing": "3.45.0", 1106 | "@aws-sdk/middleware-stack": "3.40.0", 1107 | "@aws-sdk/middleware-user-agent": "3.40.0", 1108 | "@aws-sdk/node-config-provider": "3.40.0", 1109 | "@aws-sdk/node-http-handler": "3.40.0", 1110 | "@aws-sdk/protocol-http": "3.40.0", 1111 | "@aws-sdk/smithy-client": "3.41.0", 1112 | "@aws-sdk/types": "3.40.0", 1113 | "@aws-sdk/url-parser": "3.40.0", 1114 | "@aws-sdk/util-base64-browser": "3.37.0", 1115 | "@aws-sdk/util-base64-node": "3.37.0", 1116 | "@aws-sdk/util-body-length-browser": "3.37.0", 1117 | "@aws-sdk/util-body-length-node": "3.37.0", 1118 | "@aws-sdk/util-user-agent-browser": "3.40.0", 1119 | "@aws-sdk/util-user-agent-node": "3.40.0", 1120 | "@aws-sdk/util-utf8-browser": "3.37.0", 1121 | "@aws-sdk/util-utf8-node": "3.37.0", 1122 | "tslib": "^2.3.0", 1123 | "uuid": "^8.3.2" 1124 | } 1125 | }, 1126 | "@aws-sdk/client-ssm": { 1127 | "version": "3.45.0", 1128 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.45.0.tgz", 1129 | "integrity": "sha512-5Yr5ipb9VxgpbJy666KzEfpd4fsZ3V9EutMtR3jnVGRDb4foVzybBBoD7sU4EI9wBDusV0uGnlMwXVMI4tCVCQ==", 1130 | "requires": { 1131 | "@aws-crypto/sha256-browser": "2.0.0", 1132 | "@aws-crypto/sha256-js": "2.0.0", 1133 | "@aws-sdk/client-sts": "3.45.0", 1134 | "@aws-sdk/config-resolver": "3.45.0", 1135 | "@aws-sdk/credential-provider-node": "3.45.0", 1136 | "@aws-sdk/fetch-http-handler": "3.40.0", 1137 | "@aws-sdk/hash-node": "3.40.0", 1138 | "@aws-sdk/invalid-dependency": "3.40.0", 1139 | "@aws-sdk/middleware-content-length": "3.40.0", 1140 | "@aws-sdk/middleware-host-header": "3.40.0", 1141 | "@aws-sdk/middleware-logger": "3.40.0", 1142 | "@aws-sdk/middleware-retry": "3.40.0", 1143 | "@aws-sdk/middleware-serde": "3.40.0", 1144 | "@aws-sdk/middleware-signing": "3.45.0", 1145 | "@aws-sdk/middleware-stack": "3.40.0", 1146 | "@aws-sdk/middleware-user-agent": "3.40.0", 1147 | "@aws-sdk/node-config-provider": "3.40.0", 1148 | "@aws-sdk/node-http-handler": "3.40.0", 1149 | "@aws-sdk/protocol-http": "3.40.0", 1150 | "@aws-sdk/smithy-client": "3.41.0", 1151 | "@aws-sdk/types": "3.40.0", 1152 | "@aws-sdk/url-parser": "3.40.0", 1153 | "@aws-sdk/util-base64-browser": "3.37.0", 1154 | "@aws-sdk/util-base64-node": "3.37.0", 1155 | "@aws-sdk/util-body-length-browser": "3.37.0", 1156 | "@aws-sdk/util-body-length-node": "3.37.0", 1157 | "@aws-sdk/util-user-agent-browser": "3.40.0", 1158 | "@aws-sdk/util-user-agent-node": "3.40.0", 1159 | "@aws-sdk/util-utf8-browser": "3.37.0", 1160 | "@aws-sdk/util-utf8-node": "3.37.0", 1161 | "@aws-sdk/util-waiter": "3.40.0", 1162 | "tslib": "^2.3.0", 1163 | "uuid": "^8.3.2" 1164 | } 1165 | }, 1166 | "@aws-sdk/client-sso": { 1167 | "version": "3.45.0", 1168 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.45.0.tgz", 1169 | "integrity": "sha512-MfsKg4Wq5KvuGEg+M7kYfl6B3TRhxKeL01+5wtxhYbiLqxzr18mfO8PnBAasXMmYCmEQsSGmFepD7GLOld9uHA==", 1170 | "requires": { 1171 | "@aws-crypto/sha256-browser": "2.0.0", 1172 | "@aws-crypto/sha256-js": "2.0.0", 1173 | "@aws-sdk/config-resolver": "3.45.0", 1174 | "@aws-sdk/fetch-http-handler": "3.40.0", 1175 | "@aws-sdk/hash-node": "3.40.0", 1176 | "@aws-sdk/invalid-dependency": "3.40.0", 1177 | "@aws-sdk/middleware-content-length": "3.40.0", 1178 | "@aws-sdk/middleware-host-header": "3.40.0", 1179 | "@aws-sdk/middleware-logger": "3.40.0", 1180 | "@aws-sdk/middleware-retry": "3.40.0", 1181 | "@aws-sdk/middleware-serde": "3.40.0", 1182 | "@aws-sdk/middleware-stack": "3.40.0", 1183 | "@aws-sdk/middleware-user-agent": "3.40.0", 1184 | "@aws-sdk/node-config-provider": "3.40.0", 1185 | "@aws-sdk/node-http-handler": "3.40.0", 1186 | "@aws-sdk/protocol-http": "3.40.0", 1187 | "@aws-sdk/smithy-client": "3.41.0", 1188 | "@aws-sdk/types": "3.40.0", 1189 | "@aws-sdk/url-parser": "3.40.0", 1190 | "@aws-sdk/util-base64-browser": "3.37.0", 1191 | "@aws-sdk/util-base64-node": "3.37.0", 1192 | "@aws-sdk/util-body-length-browser": "3.37.0", 1193 | "@aws-sdk/util-body-length-node": "3.37.0", 1194 | "@aws-sdk/util-user-agent-browser": "3.40.0", 1195 | "@aws-sdk/util-user-agent-node": "3.40.0", 1196 | "@aws-sdk/util-utf8-browser": "3.37.0", 1197 | "@aws-sdk/util-utf8-node": "3.37.0", 1198 | "tslib": "^2.3.0" 1199 | } 1200 | }, 1201 | "@aws-sdk/client-sts": { 1202 | "version": "3.45.0", 1203 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.45.0.tgz", 1204 | "integrity": "sha512-D+VGhAg+1i7/WQhfkLn7nWHR+Uyp7FPVAQ/N2MBQvZxGbSSb2agU9DN2FnxeFljOEcGJ7NdJ9YSZCFlJo0bLWA==", 1205 | "requires": { 1206 | "@aws-crypto/sha256-browser": "2.0.0", 1207 | "@aws-crypto/sha256-js": "2.0.0", 1208 | "@aws-sdk/config-resolver": "3.45.0", 1209 | "@aws-sdk/credential-provider-node": "3.45.0", 1210 | "@aws-sdk/fetch-http-handler": "3.40.0", 1211 | "@aws-sdk/hash-node": "3.40.0", 1212 | "@aws-sdk/invalid-dependency": "3.40.0", 1213 | "@aws-sdk/middleware-content-length": "3.40.0", 1214 | "@aws-sdk/middleware-host-header": "3.40.0", 1215 | "@aws-sdk/middleware-logger": "3.40.0", 1216 | "@aws-sdk/middleware-retry": "3.40.0", 1217 | "@aws-sdk/middleware-sdk-sts": "3.45.0", 1218 | "@aws-sdk/middleware-serde": "3.40.0", 1219 | "@aws-sdk/middleware-signing": "3.45.0", 1220 | "@aws-sdk/middleware-stack": "3.40.0", 1221 | "@aws-sdk/middleware-user-agent": "3.40.0", 1222 | "@aws-sdk/node-config-provider": "3.40.0", 1223 | "@aws-sdk/node-http-handler": "3.40.0", 1224 | "@aws-sdk/protocol-http": "3.40.0", 1225 | "@aws-sdk/smithy-client": "3.41.0", 1226 | "@aws-sdk/types": "3.40.0", 1227 | "@aws-sdk/url-parser": "3.40.0", 1228 | "@aws-sdk/util-base64-browser": "3.37.0", 1229 | "@aws-sdk/util-base64-node": "3.37.0", 1230 | "@aws-sdk/util-body-length-browser": "3.37.0", 1231 | "@aws-sdk/util-body-length-node": "3.37.0", 1232 | "@aws-sdk/util-user-agent-browser": "3.40.0", 1233 | "@aws-sdk/util-user-agent-node": "3.40.0", 1234 | "@aws-sdk/util-utf8-browser": "3.37.0", 1235 | "@aws-sdk/util-utf8-node": "3.37.0", 1236 | "entities": "2.2.0", 1237 | "fast-xml-parser": "3.19.0", 1238 | "tslib": "^2.3.0" 1239 | } 1240 | }, 1241 | "@aws-sdk/config-resolver": { 1242 | "version": "3.45.0", 1243 | "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.45.0.tgz", 1244 | "integrity": "sha512-pk+9jWQGvga2jr4aiB/KR1vAI0vPngvo9HqBbKebbJzaBhpA/RwGVWB1ZJch93oG8DBeyKZ0md9eOJRU1BkTIQ==", 1245 | "requires": { 1246 | "@aws-sdk/signature-v4": "3.45.0", 1247 | "@aws-sdk/types": "3.40.0", 1248 | "@aws-sdk/util-config-provider": "3.40.0", 1249 | "tslib": "^2.3.0" 1250 | } 1251 | }, 1252 | "@aws-sdk/credential-provider-env": { 1253 | "version": "3.40.0", 1254 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.40.0.tgz", 1255 | "integrity": "sha512-qHZdf2vxhzZkSygjw2I4SEYFL2dMZxxYvO4QlkqQouKY81OVxs/j69oiNCjPasQzGz5jaZZKI8xEAIfkSyr1lg==", 1256 | "requires": { 1257 | "@aws-sdk/property-provider": "3.40.0", 1258 | "@aws-sdk/types": "3.40.0", 1259 | "tslib": "^2.3.0" 1260 | } 1261 | }, 1262 | "@aws-sdk/credential-provider-imds": { 1263 | "version": "3.40.0", 1264 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.40.0.tgz", 1265 | "integrity": "sha512-Ty/wVa+BQrCFrP06AGl5S1CeLifDt68YrlYXUnkRn603SX4DvxBgVO7XFeDH58G8ziDCiqxfmVl4yjbncPPeSw==", 1266 | "requires": { 1267 | "@aws-sdk/node-config-provider": "3.40.0", 1268 | "@aws-sdk/property-provider": "3.40.0", 1269 | "@aws-sdk/types": "3.40.0", 1270 | "@aws-sdk/url-parser": "3.40.0", 1271 | "tslib": "^2.3.0" 1272 | } 1273 | }, 1274 | "@aws-sdk/credential-provider-ini": { 1275 | "version": "3.45.0", 1276 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.45.0.tgz", 1277 | "integrity": "sha512-lfYh8LVW33de01zzfqs6H+4xr20l+++QtvWG8PwKzEAY/71s344ybrOw7KiVUkCDLLbj3SWEmsMJFvBcrvifbA==", 1278 | "requires": { 1279 | "@aws-sdk/credential-provider-env": "3.40.0", 1280 | "@aws-sdk/credential-provider-imds": "3.40.0", 1281 | "@aws-sdk/credential-provider-sso": "3.45.0", 1282 | "@aws-sdk/credential-provider-web-identity": "3.41.0", 1283 | "@aws-sdk/property-provider": "3.40.0", 1284 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 1285 | "@aws-sdk/types": "3.40.0", 1286 | "@aws-sdk/util-credentials": "3.37.0", 1287 | "tslib": "^2.3.0" 1288 | } 1289 | }, 1290 | "@aws-sdk/credential-provider-node": { 1291 | "version": "3.45.0", 1292 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.45.0.tgz", 1293 | "integrity": "sha512-ZNqo0JlA7S4k1bAB+Xb8A3KsmNPWVFMmoY3NC25dgXU4xQLVxy0MucQggnfCqRjvshwI4OEdDQsRgl69n/XErQ==", 1294 | "requires": { 1295 | "@aws-sdk/credential-provider-env": "3.40.0", 1296 | "@aws-sdk/credential-provider-imds": "3.40.0", 1297 | "@aws-sdk/credential-provider-ini": "3.45.0", 1298 | "@aws-sdk/credential-provider-process": "3.40.0", 1299 | "@aws-sdk/credential-provider-sso": "3.45.0", 1300 | "@aws-sdk/credential-provider-web-identity": "3.41.0", 1301 | "@aws-sdk/property-provider": "3.40.0", 1302 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 1303 | "@aws-sdk/types": "3.40.0", 1304 | "@aws-sdk/util-credentials": "3.37.0", 1305 | "tslib": "^2.3.0" 1306 | } 1307 | }, 1308 | "@aws-sdk/credential-provider-process": { 1309 | "version": "3.40.0", 1310 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.40.0.tgz", 1311 | "integrity": "sha512-qsaNCDesW2GasDbzpeOA371gxugi05JWxt3EKonLbUfkGKBK7kmmL6EgLIxZuNm2/Ve4RS07PKp8yBGm4xIx9w==", 1312 | "requires": { 1313 | "@aws-sdk/property-provider": "3.40.0", 1314 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 1315 | "@aws-sdk/types": "3.40.0", 1316 | "@aws-sdk/util-credentials": "3.37.0", 1317 | "tslib": "^2.3.0" 1318 | } 1319 | }, 1320 | "@aws-sdk/credential-provider-sso": { 1321 | "version": "3.45.0", 1322 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.45.0.tgz", 1323 | "integrity": "sha512-FBMn+QA6rI74A90ieQtCJckbKPBxNn4mgR9rzWyi/R6o5gVuu99yJGL03NXtWtm5N4x/1SygBtezY/XL5UU0Mg==", 1324 | "requires": { 1325 | "@aws-sdk/client-sso": "3.45.0", 1326 | "@aws-sdk/property-provider": "3.40.0", 1327 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 1328 | "@aws-sdk/types": "3.40.0", 1329 | "@aws-sdk/util-credentials": "3.37.0", 1330 | "tslib": "^2.3.0" 1331 | } 1332 | }, 1333 | "@aws-sdk/credential-provider-web-identity": { 1334 | "version": "3.41.0", 1335 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.41.0.tgz", 1336 | "integrity": "sha512-VqvVoEh9C8xTXl4stKyJC5IKQhS8g1Gi5k6B9HPHLIxFRRfKxkE73DT4pMN6npnus7o0yi0MTFGQFQGYSrFO2g==", 1337 | "requires": { 1338 | "@aws-sdk/property-provider": "3.40.0", 1339 | "@aws-sdk/types": "3.40.0", 1340 | "tslib": "^2.3.0" 1341 | } 1342 | }, 1343 | "@aws-sdk/fetch-http-handler": { 1344 | "version": "3.40.0", 1345 | "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.40.0.tgz", 1346 | "integrity": "sha512-w1HiZromoU+/bbEo89uO81l6UO/M+c2uOMnXntZqe6t3ZHUUUo3AbvhKh0QGVFqRQa+Oi0+95KqWmTHa72/9Iw==", 1347 | "requires": { 1348 | "@aws-sdk/protocol-http": "3.40.0", 1349 | "@aws-sdk/querystring-builder": "3.40.0", 1350 | "@aws-sdk/types": "3.40.0", 1351 | "@aws-sdk/util-base64-browser": "3.37.0", 1352 | "tslib": "^2.3.0" 1353 | } 1354 | }, 1355 | "@aws-sdk/hash-node": { 1356 | "version": "3.40.0", 1357 | "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.40.0.tgz", 1358 | "integrity": "sha512-yOXXK85DdGDktdnQtXgMdaVKii4wtMjEhJ1mrvx2A9nMFNaPhxvERkVVIUKSWlJRa9ZujOw5jWOx8d2R51/Kjg==", 1359 | "requires": { 1360 | "@aws-sdk/types": "3.40.0", 1361 | "@aws-sdk/util-buffer-from": "3.37.0", 1362 | "tslib": "^2.3.0" 1363 | } 1364 | }, 1365 | "@aws-sdk/invalid-dependency": { 1366 | "version": "3.40.0", 1367 | "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.40.0.tgz", 1368 | "integrity": "sha512-axIWtDwCBDDqEgAJipX1FB1ZNpWYXquVwKDMo+7G+ftPBZ4FEq4M1ELhXJL3hhNJ9ZmCQzv+4F6Wnt8dwuzUaQ==", 1369 | "requires": { 1370 | "@aws-sdk/types": "3.40.0", 1371 | "tslib": "^2.3.0" 1372 | } 1373 | }, 1374 | "@aws-sdk/is-array-buffer": { 1375 | "version": "3.37.0", 1376 | "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.37.0.tgz", 1377 | "integrity": "sha512-XLjA/a6AuGnCvcJZLsMTy2jxF2upgGhqCCkoIJgLlzzXHSihur13KcmPvW/zcaGnCRj0SvKWXiJHl4vDlW75VQ==", 1378 | "requires": { 1379 | "tslib": "^2.3.0" 1380 | } 1381 | }, 1382 | "@aws-sdk/middleware-content-length": { 1383 | "version": "3.40.0", 1384 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.40.0.tgz", 1385 | "integrity": "sha512-sybAJb8v7I/vvL08R3+TI/XDAg9gybQTZ2treC24Ap4+jAOz4QBTHJPMKaUlEeFlMUcq4rj6/u2897ebYH6opw==", 1386 | "requires": { 1387 | "@aws-sdk/protocol-http": "3.40.0", 1388 | "@aws-sdk/types": "3.40.0", 1389 | "tslib": "^2.3.0" 1390 | } 1391 | }, 1392 | "@aws-sdk/middleware-host-header": { 1393 | "version": "3.40.0", 1394 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.40.0.tgz", 1395 | "integrity": "sha512-/wocR7JFOLM7/+BQM1DgAd6KCFYcdxYu1P7AhI451GlVNuYa5f89zh7p0gt3SRC6monI5lXgpL7RudhDm8fTrA==", 1396 | "requires": { 1397 | "@aws-sdk/protocol-http": "3.40.0", 1398 | "@aws-sdk/types": "3.40.0", 1399 | "tslib": "^2.3.0" 1400 | } 1401 | }, 1402 | "@aws-sdk/middleware-logger": { 1403 | "version": "3.40.0", 1404 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.40.0.tgz", 1405 | "integrity": "sha512-19kx0Xg5ymVRKoupmhdmfTBkROcv3DZj508agpyG2YAo0abOObMlIP4Jltg0VD4PhNjGzNh0jFGJnvhjdwv4/A==", 1406 | "requires": { 1407 | "@aws-sdk/types": "3.40.0", 1408 | "tslib": "^2.3.0" 1409 | } 1410 | }, 1411 | "@aws-sdk/middleware-retry": { 1412 | "version": "3.40.0", 1413 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.40.0.tgz", 1414 | "integrity": "sha512-SMUJrukugLL7YJE5X8B2ToukxMWMPwnf7jAFr84ptycCe8bdWv8x8klQ3EtVWpyqochtNlbTi6J/tTQBniUX7A==", 1415 | "requires": { 1416 | "@aws-sdk/protocol-http": "3.40.0", 1417 | "@aws-sdk/service-error-classification": "3.40.0", 1418 | "@aws-sdk/types": "3.40.0", 1419 | "tslib": "^2.3.0", 1420 | "uuid": "^8.3.2" 1421 | } 1422 | }, 1423 | "@aws-sdk/middleware-sdk-sts": { 1424 | "version": "3.45.0", 1425 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.45.0.tgz", 1426 | "integrity": "sha512-nvvzoKItzyZF44+0/VdygbUDgBG8wxYqDK0i+aPYLmmTu2NTBcREeMDiYO/aHZIzMNemyJqSdB3p8sdf2BYTAA==", 1427 | "requires": { 1428 | "@aws-sdk/middleware-signing": "3.45.0", 1429 | "@aws-sdk/property-provider": "3.40.0", 1430 | "@aws-sdk/protocol-http": "3.40.0", 1431 | "@aws-sdk/signature-v4": "3.45.0", 1432 | "@aws-sdk/types": "3.40.0", 1433 | "tslib": "^2.3.0" 1434 | } 1435 | }, 1436 | "@aws-sdk/middleware-serde": { 1437 | "version": "3.40.0", 1438 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.40.0.tgz", 1439 | "integrity": "sha512-uOWfZjlAoBy6xPqp0d4ka83WNNbEVCWn9WwfqBUXThyoTdTooYSpXe5y2YzN0BJa8b+tEZTyWpgamnBpFLp47g==", 1440 | "requires": { 1441 | "@aws-sdk/types": "3.40.0", 1442 | "tslib": "^2.3.0" 1443 | } 1444 | }, 1445 | "@aws-sdk/middleware-signing": { 1446 | "version": "3.45.0", 1447 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.45.0.tgz", 1448 | "integrity": "sha512-MUtKe0mRWgWimGlbDX9KWHnxcQz8g1N+gEjfkcxzw+HMIxxQIKYFgUyllhFZ3HvYIje/wLlFYuDKXRBrJjUxYQ==", 1449 | "requires": { 1450 | "@aws-sdk/property-provider": "3.40.0", 1451 | "@aws-sdk/protocol-http": "3.40.0", 1452 | "@aws-sdk/signature-v4": "3.45.0", 1453 | "@aws-sdk/types": "3.40.0", 1454 | "tslib": "^2.3.0" 1455 | } 1456 | }, 1457 | "@aws-sdk/middleware-stack": { 1458 | "version": "3.40.0", 1459 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.40.0.tgz", 1460 | "integrity": "sha512-hby9HvESUYJxpdALX+6Dn2LPmS5jtMVurGB/+j3MWOvIcDYB4bcSXgVRvXzYnTKwbSupIdbX9zOE2ZAx2SJpUQ==", 1461 | "requires": { 1462 | "tslib": "^2.3.0" 1463 | } 1464 | }, 1465 | "@aws-sdk/middleware-user-agent": { 1466 | "version": "3.40.0", 1467 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.40.0.tgz", 1468 | "integrity": "sha512-dzC2fxWnanetFJ1oYgil8df3N36bR1yc/OCOpbdfQNiUk1FrXiCXqH5rHNO8zCvnwJAj8GHFwpFGd9a2Qube2w==", 1469 | "requires": { 1470 | "@aws-sdk/protocol-http": "3.40.0", 1471 | "@aws-sdk/types": "3.40.0", 1472 | "tslib": "^2.3.0" 1473 | } 1474 | }, 1475 | "@aws-sdk/node-config-provider": { 1476 | "version": "3.40.0", 1477 | "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.40.0.tgz", 1478 | "integrity": "sha512-AmokjgUDECG8osoMfdRsPNweqI+L1pn4bYGk5iTLmzbBi0o4ot0U1FdX8Rf0qJZZwS4t1TXc3s8/PDVknmPxKg==", 1479 | "requires": { 1480 | "@aws-sdk/property-provider": "3.40.0", 1481 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 1482 | "@aws-sdk/types": "3.40.0", 1483 | "tslib": "^2.3.0" 1484 | } 1485 | }, 1486 | "@aws-sdk/node-http-handler": { 1487 | "version": "3.40.0", 1488 | "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.40.0.tgz", 1489 | "integrity": "sha512-qjda6IbxDhbYr8NHmrMurKkbjgLUkfTMVgagDErDK24Nm3Dn5VaO6J4n6c0Q4OLHlmFaRcUfZSTrOo5DAubqCw==", 1490 | "requires": { 1491 | "@aws-sdk/abort-controller": "3.40.0", 1492 | "@aws-sdk/protocol-http": "3.40.0", 1493 | "@aws-sdk/querystring-builder": "3.40.0", 1494 | "@aws-sdk/types": "3.40.0", 1495 | "tslib": "^2.3.0" 1496 | } 1497 | }, 1498 | "@aws-sdk/property-provider": { 1499 | "version": "3.40.0", 1500 | "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.40.0.tgz", 1501 | "integrity": "sha512-Mx4lkShjsYRwW9ujHA1pcnuubrWQ4kF5/DXWNfUiXuSIO/0Lojp1qTLheyBm4vzkJIlx5umyP6NvRAUkEHSN4Q==", 1502 | "requires": { 1503 | "@aws-sdk/types": "3.40.0", 1504 | "tslib": "^2.3.0" 1505 | } 1506 | }, 1507 | "@aws-sdk/protocol-http": { 1508 | "version": "3.40.0", 1509 | "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.40.0.tgz", 1510 | "integrity": "sha512-f4ea7/HZkjpvGBrnRIuzc/bhrExWrgDv7eulj4htPukZGHdTqSJD3Jk8lEXWvFuX2vUKQDGhEhCDsqup7YWJQQ==", 1511 | "requires": { 1512 | "@aws-sdk/types": "3.40.0", 1513 | "tslib": "^2.3.0" 1514 | } 1515 | }, 1516 | "@aws-sdk/querystring-builder": { 1517 | "version": "3.40.0", 1518 | "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.40.0.tgz", 1519 | "integrity": "sha512-gO24oipnNaxJRBXB7lhLfa96vIMOd8gtMBqJTjelTjS2e1ZP1YY12CNKKTWwafSk8Ge021erZAG/YTOaXGpv+g==", 1520 | "requires": { 1521 | "@aws-sdk/types": "3.40.0", 1522 | "@aws-sdk/util-uri-escape": "3.37.0", 1523 | "tslib": "^2.3.0" 1524 | } 1525 | }, 1526 | "@aws-sdk/querystring-parser": { 1527 | "version": "3.40.0", 1528 | "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.40.0.tgz", 1529 | "integrity": "sha512-XZIyaKQIiZAM6zelCBcsLHhVDOLafi7XIOd3jy6SymGN8ajj3HqUJ/vdQ5G6ISTk18OrqgqcCOI9oNzv+nrBcA==", 1530 | "requires": { 1531 | "@aws-sdk/types": "3.40.0", 1532 | "tslib": "^2.3.0" 1533 | } 1534 | }, 1535 | "@aws-sdk/service-error-classification": { 1536 | "version": "3.40.0", 1537 | "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.40.0.tgz", 1538 | "integrity": "sha512-c8btKmkvjXczWudXubGdbO3JgmjySBUVC/gCrZDNfwNGsG8RYJJQYYcnmt1gWjelUZsgMDl/2PIzxTlxVF91rA==" 1539 | }, 1540 | "@aws-sdk/shared-ini-file-loader": { 1541 | "version": "3.37.0", 1542 | "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.37.0.tgz", 1543 | "integrity": "sha512-+vRBSlfa48R9KL7DpQt3dsu5/+5atjRgoCISblWo3SLpjrx41pKcjKneo7a1u0aP1Xc2oG2TfIyqTWZuOXsmEQ==", 1544 | "requires": { 1545 | "tslib": "^2.3.0" 1546 | } 1547 | }, 1548 | "@aws-sdk/signature-v4": { 1549 | "version": "3.45.0", 1550 | "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.45.0.tgz", 1551 | "integrity": "sha512-73dwNe4R4Ytgn82gV8B99tE6UqrWjHE1JIAXpEZeXsBPJtg+8wpgd9sujs6JH9JW2cvnSnIsCXs1gQGD9+bZ0A==", 1552 | "requires": { 1553 | "@aws-sdk/is-array-buffer": "3.37.0", 1554 | "@aws-sdk/types": "3.40.0", 1555 | "@aws-sdk/util-hex-encoding": "3.37.0", 1556 | "@aws-sdk/util-uri-escape": "3.37.0", 1557 | "tslib": "^2.3.0" 1558 | } 1559 | }, 1560 | "@aws-sdk/smithy-client": { 1561 | "version": "3.41.0", 1562 | "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.41.0.tgz", 1563 | "integrity": "sha512-ldhS0Pf3v6yHCd//kk5DvKcdyeUkKEwxNDRanAp+ekTW68J3XcYgKaPC9sNDhVTDH1zrywTvtEz5zWHEvXjQow==", 1564 | "requires": { 1565 | "@aws-sdk/middleware-stack": "3.40.0", 1566 | "@aws-sdk/types": "3.40.0", 1567 | "tslib": "^2.3.0" 1568 | } 1569 | }, 1570 | "@aws-sdk/types": { 1571 | "version": "3.40.0", 1572 | "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.40.0.tgz", 1573 | "integrity": "sha512-KpILcfvRaL88TLvo3SY4OuCCg90SvcNLPyjDwUuBqiOyWODjrKShHtAPJzej4CLp92lofh+ul0UnBfV9Jb/5PA==" 1574 | }, 1575 | "@aws-sdk/url-parser": { 1576 | "version": "3.40.0", 1577 | "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.40.0.tgz", 1578 | "integrity": "sha512-HwNV+HX7bHgLk5FzTOgdXANsC0SeVz5PMC4Nh+TLz2IoeQnrw4H8dsA4YNonncjern5oC5veKRjQeOoCL5SlSQ==", 1579 | "requires": { 1580 | "@aws-sdk/querystring-parser": "3.40.0", 1581 | "@aws-sdk/types": "3.40.0", 1582 | "tslib": "^2.3.0" 1583 | } 1584 | }, 1585 | "@aws-sdk/util-base64-browser": { 1586 | "version": "3.37.0", 1587 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.37.0.tgz", 1588 | "integrity": "sha512-o4s/rHVm5k8eC/T7grJQINyYA/mKfDmEWKMA9wk5iBroXlI2rUm7x649TBk5hzoddufk/mffEeNz/1wM7yTmlg==", 1589 | "requires": { 1590 | "tslib": "^2.3.0" 1591 | } 1592 | }, 1593 | "@aws-sdk/util-base64-node": { 1594 | "version": "3.37.0", 1595 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.37.0.tgz", 1596 | "integrity": "sha512-1UPxly1GPrGZtlIWvbNCDIAund4Oyp8cFi9neA43TeNACvrmEQu/nG01pDbOoo0ENoVSVJrNAVBeqKEpqjH2GA==", 1597 | "requires": { 1598 | "@aws-sdk/util-buffer-from": "3.37.0", 1599 | "tslib": "^2.3.0" 1600 | } 1601 | }, 1602 | "@aws-sdk/util-body-length-browser": { 1603 | "version": "3.37.0", 1604 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.37.0.tgz", 1605 | "integrity": "sha512-tClmH1uYelqWT43xxmnOsVFbCQJiIwizp6y4E109G2LIof07inxrO0L8nbwBpjhugVplx6NZr9IaqTFqbdM1gA==", 1606 | "requires": { 1607 | "tslib": "^2.3.0" 1608 | } 1609 | }, 1610 | "@aws-sdk/util-body-length-node": { 1611 | "version": "3.37.0", 1612 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.37.0.tgz", 1613 | "integrity": "sha512-aY3mXdbEajruRi9CHgq/heM89R+Gectj/Xrs1naewmamaN8NJrvjDm3s+cw//lqqSOW903LYHXDgm7wvCzUnFA==", 1614 | "requires": { 1615 | "tslib": "^2.3.0" 1616 | } 1617 | }, 1618 | "@aws-sdk/util-buffer-from": { 1619 | "version": "3.37.0", 1620 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.37.0.tgz", 1621 | "integrity": "sha512-aa3SBwjLwImuJoE4+hxDIWQ9REz3UFb3p7KFPe9qopdXb/yB12RTcbrXVb4whUux4i4mO6KRij0ZNjFZrjrKPg==", 1622 | "requires": { 1623 | "@aws-sdk/is-array-buffer": "3.37.0", 1624 | "tslib": "^2.3.0" 1625 | } 1626 | }, 1627 | "@aws-sdk/util-config-provider": { 1628 | "version": "3.40.0", 1629 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.40.0.tgz", 1630 | "integrity": "sha512-NjZGrA4mqhpr6gkVCAUweurP0Z9d3vFyXJCtulC0BFbpKAnKCf/crSK56NwUaNhAEMCkSuBvjRFzkbfT+HO8bA==", 1631 | "requires": { 1632 | "tslib": "^2.3.0" 1633 | } 1634 | }, 1635 | "@aws-sdk/util-credentials": { 1636 | "version": "3.37.0", 1637 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.37.0.tgz", 1638 | "integrity": "sha512-zcLhSZDKgBLhUjSU5HoQpuQiP3v8oE86NmV/tiZVPEaO6YVULEAB2Cfj1hpM/b/JXWzjSHfT06KXT7QUODKS+A==", 1639 | "requires": { 1640 | "@aws-sdk/shared-ini-file-loader": "3.37.0", 1641 | "tslib": "^2.3.0" 1642 | } 1643 | }, 1644 | "@aws-sdk/util-hex-encoding": { 1645 | "version": "3.37.0", 1646 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.37.0.tgz", 1647 | "integrity": "sha512-tn5UpfaeM+rZWqynoNqB8lwtcAXil5YYO3HLGH9himpWAdft/2Z7LK6bsYDpctaAI1WHgMDcL0bw3Id04ZUbhA==", 1648 | "requires": { 1649 | "tslib": "^2.3.0" 1650 | } 1651 | }, 1652 | "@aws-sdk/util-locate-window": { 1653 | "version": "3.37.0", 1654 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.37.0.tgz", 1655 | "integrity": "sha512-NvDCfOhLLVHp27oGUUs8EVirhz91aX5gdxGS7J/sh5PF0cNN8rwaR1vSLR7BxPmJHMO7NH7i9EwiELfLfYcq6g==", 1656 | "requires": { 1657 | "tslib": "^2.3.0" 1658 | } 1659 | }, 1660 | "@aws-sdk/util-uri-escape": { 1661 | "version": "3.37.0", 1662 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.37.0.tgz", 1663 | "integrity": "sha512-8pKf4YJTELP5lm/CEgYw2atyJBB1RWWqFa0sZx6YJmTlOtLF5G6raUdAi4iDa2hldGt2B6IAdIIyuusT8zeU8Q==", 1664 | "requires": { 1665 | "tslib": "^2.3.0" 1666 | } 1667 | }, 1668 | "@aws-sdk/util-user-agent-browser": { 1669 | "version": "3.40.0", 1670 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.40.0.tgz", 1671 | "integrity": "sha512-C69sTI26bV2EprTv3DTXu9XP7kD9Wu4YVPBzqztOYArd2GDYw3w+jS8SEg3XRbjAKY/mOPZ2Thw4StjpZlWZiA==", 1672 | "requires": { 1673 | "@aws-sdk/types": "3.40.0", 1674 | "bowser": "^2.11.0", 1675 | "tslib": "^2.3.0" 1676 | } 1677 | }, 1678 | "@aws-sdk/util-user-agent-node": { 1679 | "version": "3.40.0", 1680 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.40.0.tgz", 1681 | "integrity": "sha512-cjIzd0hRZFTTh7iLJD6Bciu++Em1iaM1clyG02xRl0JD5DEtDSR1zO02uu+AeM7GSLGOxIvwOkK2j8ySPAOmBA==", 1682 | "requires": { 1683 | "@aws-sdk/node-config-provider": "3.40.0", 1684 | "@aws-sdk/types": "3.40.0", 1685 | "tslib": "^2.3.0" 1686 | } 1687 | }, 1688 | "@aws-sdk/util-utf8-browser": { 1689 | "version": "3.37.0", 1690 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.37.0.tgz", 1691 | "integrity": "sha512-tuiOxzfqet1kKGYzlgpMGfhr64AHJnYsFx2jZiH/O6Yq8XQg43ryjQlbJlim/K/XHGNzY0R+nabeJg34q3Ua1g==", 1692 | "requires": { 1693 | "tslib": "^2.3.0" 1694 | } 1695 | }, 1696 | "@aws-sdk/util-utf8-node": { 1697 | "version": "3.37.0", 1698 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.37.0.tgz", 1699 | "integrity": "sha512-fUAgd7UTCULL36j9/vnXHxVhxvswnq23mYgTCIT8NQ7wHN30q2a89ym1e9DwGeQkJEBOkOcKLn6nsMsN7YQMDQ==", 1700 | "requires": { 1701 | "@aws-sdk/util-buffer-from": "3.37.0", 1702 | "tslib": "^2.3.0" 1703 | } 1704 | }, 1705 | "@aws-sdk/util-waiter": { 1706 | "version": "3.40.0", 1707 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.40.0.tgz", 1708 | "integrity": "sha512-jdxwNEZdID49ZvyAnxaeNm5w2moIfMLOwj/q6TxKlxYoXMs16FQWkhyfGue0vEASzchS49ewbyt+KBqpT31Ebg==", 1709 | "requires": { 1710 | "@aws-sdk/abort-controller": "3.40.0", 1711 | "@aws-sdk/types": "3.40.0", 1712 | "tslib": "^2.3.0" 1713 | } 1714 | }, 1715 | "@types/cls-hooked": { 1716 | "version": "4.3.3", 1717 | "resolved": "https://registry.npmjs.org/@types/cls-hooked/-/cls-hooked-4.3.3.tgz", 1718 | "integrity": "sha512-gNstDTb/ty5h6gJd6YpSPgsLX9LmRpaKJqGFp7MRlYxhwp4vXXKlJ9+bt1TZ9KbVNXE+Mbxy2AYXcpY21DDtJw==", 1719 | "requires": { 1720 | "@types/node": "*" 1721 | } 1722 | }, 1723 | "@types/node": { 1724 | "version": "17.0.7", 1725 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.7.tgz", 1726 | "integrity": "sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ==" 1727 | }, 1728 | "async-hook-jl": { 1729 | "version": "1.7.6", 1730 | "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", 1731 | "integrity": "sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==", 1732 | "requires": { 1733 | "stack-chain": "^1.3.7" 1734 | } 1735 | }, 1736 | "atomic-batcher": { 1737 | "version": "1.0.2", 1738 | "resolved": "https://registry.npmjs.org/atomic-batcher/-/atomic-batcher-1.0.2.tgz", 1739 | "integrity": "sha1-0WkB0QzOxZUWwZe5zNiTBom4E7Q=" 1740 | }, 1741 | "aws-xray-sdk-core": { 1742 | "version": "3.3.4", 1743 | "resolved": "https://registry.npmjs.org/aws-xray-sdk-core/-/aws-xray-sdk-core-3.3.4.tgz", 1744 | "integrity": "sha512-GGnYAQgtclLHIBReOtsUgbDDCar0LR2TaHCWlQhPrEVVayrSAZQ4y+SlXN5YIadxMec4/f5dbF69wMbug9D5Ww==", 1745 | "requires": { 1746 | "@aws-sdk/service-error-classification": "^3.4.1", 1747 | "@aws-sdk/types": "^3.4.1", 1748 | "@types/cls-hooked": "^4.3.3", 1749 | "atomic-batcher": "^1.0.2", 1750 | "cls-hooked": "^4.2.2", 1751 | "semver": "^5.3.0" 1752 | } 1753 | }, 1754 | "bowser": { 1755 | "version": "2.11.0", 1756 | "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", 1757 | "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" 1758 | }, 1759 | "cls-hooked": { 1760 | "version": "4.2.2", 1761 | "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", 1762 | "integrity": "sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==", 1763 | "requires": { 1764 | "async-hook-jl": "^1.7.6", 1765 | "emitter-listener": "^1.0.1", 1766 | "semver": "^5.4.1" 1767 | } 1768 | }, 1769 | "emitter-listener": { 1770 | "version": "1.1.2", 1771 | "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", 1772 | "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==", 1773 | "requires": { 1774 | "shimmer": "^1.2.0" 1775 | } 1776 | }, 1777 | "entities": { 1778 | "version": "2.2.0", 1779 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 1780 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" 1781 | }, 1782 | "fast-xml-parser": { 1783 | "version": "3.19.0", 1784 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", 1785 | "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" 1786 | }, 1787 | "semver": { 1788 | "version": "5.7.1", 1789 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1790 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 1791 | }, 1792 | "shimmer": { 1793 | "version": "1.2.1", 1794 | "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", 1795 | "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" 1796 | }, 1797 | "stack-chain": { 1798 | "version": "1.3.7", 1799 | "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", 1800 | "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" 1801 | }, 1802 | "tslib": { 1803 | "version": "2.3.1", 1804 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 1805 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" 1806 | }, 1807 | "uuid": { 1808 | "version": "8.3.2", 1809 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 1810 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" 1811 | } 1812 | } 1813 | } 1814 | -------------------------------------------------------------------------------- /src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-lambda-es-module-performance-benchmark", 3 | "type": "module", 4 | "version": "1.0.0", 5 | "description": "Lambda ES Module performance benchmarking", 6 | "dependencies": { 7 | "@aws-sdk/client-secrets-manager": "^3.36.1", 8 | "@aws-sdk/client-ssm": "^3.36.1", 9 | "aws-xray-sdk-core": "^3.3.3" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/aws-samples/aws-lambda-es-module-performance-benchmark" 14 | }, 15 | "author": "Dan Fox, Amazon Web Services", 16 | "license": "MIT-0", 17 | "homepage": "https://aws.amazon.com/blogs/compute/using-node-js-es-modules-and-top-level-await-in-aws-lambda" 18 | } 19 | -------------------------------------------------------------------------------- /static/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-lambda-es-module-performance-benchmark/d946ff1465eb6ab63d8668fa2f270549a5b2bc56/static/architecture.png -------------------------------------------------------------------------------- /static/outputs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-lambda-es-module-performance-benchmark/d946ff1465eb6ab63d8668fa2f270549a5b2bc56/static/outputs.png -------------------------------------------------------------------------------- /template.yml: -------------------------------------------------------------------------------- 1 | AWSTemplateFormatVersion: '2010-09-09' 2 | Transform: AWS::Serverless-2016-10-31 3 | Description: > 4 | Lambda EC Module performance benchmark 5 | 6 | Globals: 7 | Function: 8 | Timeout: 5 9 | Tracing: Active 10 | Api: 11 | TracingEnabled: true 12 | 13 | Resources: 14 | CommonJSFunction: 15 | Type: AWS::Serverless::Function 16 | Properties: 17 | CodeUri: src/ 18 | Handler: commonjs.handler 19 | Runtime: nodejs14.x 20 | Policies: 21 | - SSMParameterReadPolicy: 22 | ParameterName: "configItem" 23 | - AWSLambdaBasicExecutionRole 24 | AutoPublishAlias: live 25 | ProvisionedConcurrencyConfig: 26 | ProvisionedConcurrentExecutions: 20 27 | Events: 28 | RestAPI: 29 | Type: Api 30 | Properties: 31 | Path: /commonjs 32 | Method: get 33 | 34 | ESModuleFunction: 35 | Type: AWS::Serverless::Function 36 | Properties: 37 | CodeUri: src/ 38 | Handler: esmodule.handler 39 | Runtime: nodejs14.x 40 | Policies: 41 | - SSMParameterReadPolicy: 42 | ParameterName: "configItem" 43 | - AWSLambdaBasicExecutionRole 44 | AutoPublishAlias: live 45 | ProvisionedConcurrencyConfig: 46 | ProvisionedConcurrentExecutions: 20 47 | Events: 48 | RestAPI: 49 | Type: Api 50 | Properties: 51 | Path: /esmodule 52 | Method: get 53 | 54 | ConfigItemParameter: 55 | Type: AWS::SSM::Parameter 56 | Properties: 57 | Name: /configItem 58 | Type: String 59 | Value: "You have successfully retrieved a parameter from SSM!" 60 | 61 | Outputs: 62 | EndpointURL: 63 | Description: "API Gateway endpoint URL" 64 | Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/" 65 | 66 | --------------------------------------------------------------------------------