From 77df90c526b039b77e0918f134301eb434bc290a Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 5 Jun 2023 14:41:16 +0200 Subject: [PATCH 01/16] update typedoc --- package-lock.json | 74 +++++++++++++++++++++++++++++------------------ package.json | 4 +-- 2 files changed, 48 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index bf7c6ed4c5..8eb852efec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52,8 +52,8 @@ "proxy-agent": "^5.0.0", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", - "typedoc": "^0.23.22", - "typedoc-plugin-missing-exports": "^1.0.0", + "typedoc": "^0.24.7", + "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "^4.9.4", "uuid": "^9.0.0" }, @@ -7919,6 +7919,12 @@ "node": ">=8" } }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", + "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", + "dev": true + }, "node_modules/ansi-styles": { "version": "4.3.0", "dev": true, @@ -15537,9 +15543,10 @@ } }, "node_modules/marked": { - "version": "4.2.4", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, - "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -18608,13 +18615,15 @@ } }, "node_modules/shiki": { - "version": "0.11.1", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", + "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", "dev": true, - "license": "MIT", "dependencies": { - "jsonc-parser": "^3.0.0", - "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "^6.0.0" + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" } }, "node_modules/shimmer": { @@ -19660,14 +19669,15 @@ "license": "MIT" }, "node_modules/typedoc": { - "version": "0.23.23", + "version": "0.24.7", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.7.tgz", + "integrity": "sha512-zzfKDFIZADA+XRIp2rMzLe9xZ6pt12yQOhCr7cD7/PBTjhPmMyMvGrkZ2lPNJitg3Hj1SeiYFNzCsSDrlpxpKw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "lunr": "^2.3.9", - "marked": "^4.2.4", - "minimatch": "^5.1.1", - "shiki": "^0.11.1" + "marked": "^4.3.0", + "minimatch": "^9.0.0", + "shiki": "^0.14.1" }, "bin": { "typedoc": "bin/typedoc" @@ -19676,34 +19686,40 @@ "node": ">= 14.14" }, "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x" } }, "node_modules/typedoc-plugin-missing-exports": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.0.0.tgz", + "integrity": "sha512-t0QlKCm27/8DaheJkLo/gInSNjzBXgSciGhoLpL6sLyXZibm7SuwJtHvg4qXI2IjJfFBgW9mJvvszpoxMyB0TA==", "dev": true, - "license": "MIT", "peerDependencies": { - "typedoc": "0.22.x || 0.23.x" + "typedoc": "0.24.x" } }, "node_modules/typedoc/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/typedoc/node_modules/minimatch": { - "version": "5.1.2", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/typescript": { @@ -19945,13 +19961,15 @@ }, "node_modules/vscode-oniguruma": { "version": "1.7.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true }, "node_modules/vscode-textmate": { - "version": "6.0.0", - "dev": true, - "license": "MIT" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true }, "node_modules/walk-up-path": { "version": "1.0.0", @@ -20308,7 +20326,7 @@ "packages/idempotency": { "name": "@aws-lambda-powertools/idempotency", "version": "0.0.11", - "license": "MIT", + "license": "MIT-0", "dependencies": { "@aws-lambda-powertools/commons": "^1.5.0", "@aws-sdk/lib-dynamodb": "^3.231.0", diff --git a/package.json b/package.json index 154689b3ab..bd40da9b35 100644 --- a/package.json +++ b/package.json @@ -78,8 +78,8 @@ "proxy-agent": "^5.0.0", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", - "typedoc": "^0.23.22", - "typedoc-plugin-missing-exports": "^1.0.0", + "typedoc": "^0.24.7", + "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "^4.9.4", "uuid": "^9.0.0" }, From 1a034e026e884565b1c9025b73fe7c36d93a66b2 Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 5 Jun 2023 14:41:48 +0200 Subject: [PATCH 02/16] add main and base typedoc config for each package --- tsconfig.json | 29 +++++++++++++++++++++++++++++ typedoc.base.json | 11 +++++++++++ typedoc.js | 9 --------- typedoc.json | 23 +++++++++++++++++++++++ 4 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 tsconfig.json create mode 100644 typedoc.base.json delete mode 100644 typedoc.js create mode 100644 typedoc.json diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000000..5fefd1f535 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "experimentalDecorators": true, + "noImplicitAny": true, + "target": "ES2020", + "module": "commonjs", + "declaration": true, + "outDir": "lib", + "strict": true, + "inlineSourceMap": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "pretty": true, + "baseUrl": "src/", + "rootDirs": [ "src/" ], + "esModuleInterop": true + }, + "include": [ "packages" ], + "exclude": [ "./node_modules"], + "watchOptions": { + "watchFile": "useFsEvents", + "watchDirectory": "useFsEvents", + "fallbackPolling": "dynamicPriority" + }, + "lib": [ "es2020" ], + "types": [ + "node" + ] +} \ No newline at end of file diff --git a/typedoc.base.json b/typedoc.base.json new file mode 100644 index 0000000000..ce978059e9 --- /dev/null +++ b/typedoc.base.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "includeVersion": false, + "excludePrivate": true, + "exclude": [ + "**/node_modules/**", + "**/*.test.ts", + "**/*.json", + "docs/snippets" + ] +} \ No newline at end of file diff --git a/typedoc.js b/typedoc.js deleted file mode 100644 index 7f17fbcc1d..0000000000 --- a/typedoc.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - out: 'api', - exclude: ['**/node_modules/**', '**/*.test.ts', '**/*.json'], - name: 'aws-lambda-powertools-typescript', - excludePrivate: true, - excludeInternal: true, - entryPointStrategy: 'packages', - readme: './README.md', -}; diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000000..fb47312ec8 --- /dev/null +++ b/typedoc.json @@ -0,0 +1,23 @@ +{ + "entryPoints": ["packages/*"], + "entryPointStrategy": "packages", + "name": "AWS Lambda Powertools Typescript API Reference", + "readme": "README.md", + "out": "api", + "exclude": [ + "**/node_modules/**", + "**/*.test.ts", + "**/*.json", + "docs/snippets", + "layers", + "examples/**" + ], + "skipErrorChecking": true, + "excludePrivate": true, + "visibilityFilters": { + "protected": true, + "private": false, + "inherited": true, + "external": true + } +} \ No newline at end of file From 50b2c69e805a1562bc461ca3230adf83311d2b2d Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 5 Jun 2023 14:43:25 +0200 Subject: [PATCH 03/16] move package specific typedoc to dedicated config file, the package.json config is depricated --- packages/commons/package.json | 1 - packages/commons/typedoc.json | 7 +++++++ packages/idempotency/package.json | 4 ++-- packages/idempotency/typedoc.json | 5 +++++ packages/logger/package.json | 1 - packages/logger/typedoc.json | 8 ++++++++ packages/metrics/package.json | 1 - packages/metrics/typedoc.json | 5 +++++ packages/parameters/package.json | 1 - packages/parameters/typedoc.json | 10 ++++++++++ packages/tracer/typedoc.json | 5 +++++ 11 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 packages/commons/typedoc.json create mode 100644 packages/idempotency/typedoc.json create mode 100644 packages/logger/typedoc.json create mode 100644 packages/metrics/typedoc.json create mode 100644 packages/parameters/typedoc.json create mode 100644 packages/tracer/typedoc.json diff --git a/packages/commons/package.json b/packages/commons/package.json index 17b3b436e6..d6bc38c733 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -30,7 +30,6 @@ "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/index.ts", "files": [ "lib" ], diff --git a/packages/commons/typedoc.json b/packages/commons/typedoc.json new file mode 100644 index 0000000000..879b1d55e7 --- /dev/null +++ b/packages/commons/typedoc.json @@ -0,0 +1,7 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": [ + "./src/index.ts" + ], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/idempotency/package.json b/packages/idempotency/package.json index a6246bd3fc..5464dc0f35 100644 --- a/packages/idempotency/package.json +++ b/packages/idempotency/package.json @@ -29,10 +29,9 @@ "*.ts": "npm run lint-fix" }, "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/idempotency#readme", - "license": "MIT", + "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/file_that_does_not_exist_so_its_ignored_from_api_docs.ts", "files": [ "lib" ], @@ -52,6 +51,7 @@ "aws", "lambda", "powertools", + "idempotency", "serverless", "nodejs" ], diff --git a/packages/idempotency/typedoc.json b/packages/idempotency/typedoc.json new file mode 100644 index 0000000000..8ead571a7f --- /dev/null +++ b/packages/idempotency/typedoc.json @@ -0,0 +1,5 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": ["./src/index.ts", "./src/types/index.ts"], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/logger/package.json b/packages/logger/package.json index bb01a2631f..4edf5bc23a 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -33,7 +33,6 @@ "license": "MIT", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/index.ts", "devDependencies": { "@types/lodash.merge": "^4.6.7" }, diff --git a/packages/logger/typedoc.json b/packages/logger/typedoc.json new file mode 100644 index 0000000000..50f27a916a --- /dev/null +++ b/packages/logger/typedoc.json @@ -0,0 +1,8 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": [ + "./src/index.ts", + "./src/types/index.ts" + ], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/metrics/package.json b/packages/metrics/package.json index 5801621181..76f657cb33 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -33,7 +33,6 @@ "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/index.ts", "devDependencies": { "@aws-sdk/client-cloudwatch": "^3.316.0", "@types/promise-retry": "^1.1.3", diff --git a/packages/metrics/typedoc.json b/packages/metrics/typedoc.json new file mode 100644 index 0000000000..8ead571a7f --- /dev/null +++ b/packages/metrics/typedoc.json @@ -0,0 +1,5 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": ["./src/index.ts", "./src/types/index.ts"], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/parameters/package.json b/packages/parameters/package.json index 521168d991..a6eeec5339 100644 --- a/packages/parameters/package.json +++ b/packages/parameters/package.json @@ -36,7 +36,6 @@ "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/docs.ts", "files": [ "lib" ], diff --git a/packages/parameters/typedoc.json b/packages/parameters/typedoc.json new file mode 100644 index 0000000000..2464c677ef --- /dev/null +++ b/packages/parameters/typedoc.json @@ -0,0 +1,10 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": [ + "./src/appconfig/index.ts", + "./src/ssm/index.ts", + "./src/dynamodb/index.ts", + "./src/secrets/index.ts", + "./src/types/index.ts"], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/tracer/typedoc.json b/packages/tracer/typedoc.json new file mode 100644 index 0000000000..8ead571a7f --- /dev/null +++ b/packages/tracer/typedoc.json @@ -0,0 +1,5 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": ["./src/index.ts", "./src/types/index.ts"], + "readme": "README.md" +} \ No newline at end of file From dfaa5a63908296fb4f9374d5c0bd2953d5255d68 Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 5 Jun 2023 16:05:47 +0200 Subject: [PATCH 04/16] add js doc comment --- .../idempotency/src/idempotentDecorator.ts | 26 ++++++++++++++++ packages/idempotency/src/index.ts | 4 +++ .../idempotency/src/makeFunctionIdempotent.ts | 30 +++++++++++++++++++ .../persistence/DynamoDBPersistenceLayer.ts | 9 ++++++ .../src/types/DynamoDBPersistence.ts | 4 +-- 5 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 packages/idempotency/src/index.ts diff --git a/packages/idempotency/src/idempotentDecorator.ts b/packages/idempotency/src/idempotentDecorator.ts index 4787ae9f75..54be01cce7 100644 --- a/packages/idempotency/src/idempotentDecorator.ts +++ b/packages/idempotency/src/idempotentDecorator.ts @@ -50,6 +50,32 @@ const idempotent = function ( }; }; +/** + * Use this decorator to make your lambda handler itempotent. + * You need to provide a peristance layer to store the idempotency information. + * At the moment we only support `DynamodbPersistenceLayer`. + * > **Note**: + * > decorators are an exeperimental feature in typescript and may change in the future. + * > To enable decoratopr support in your project, you need to enable the `experimentalDecorators` compiler option in your tsconfig.json file. + * @example + * ```ts + * import { + * DynamoDBPersistenceLayer, + * idempotentLambdaHandler + * } from '@aws-lambda-powertools/idempotency' + * + * class MyLambdaFunction { + * @idempotentLambdaHandler({ persistenceStore: new DynamoDBPersistenceLayer() }) + * async handler(event: any, context: any) { + * return "Hello World"; + * } + * } + * export myLambdaHandler new MyLambdaFunction(); + * export const handler = myLambdaHandler.handler.bind(myLambdaHandler); + * ``` + * @see {@link DynamoDBPersistenceLayer} + * @see https://www.typescriptlang.org/docs/handbook/decorators.html + */ const idempotentLambdaHandler = function ( options: IdempotencyLambdaHandlerOptions ): ( diff --git a/packages/idempotency/src/index.ts b/packages/idempotency/src/index.ts new file mode 100644 index 0000000000..cd2208a13f --- /dev/null +++ b/packages/idempotency/src/index.ts @@ -0,0 +1,4 @@ +export * from './idempotentDecorator'; +export * from './makeFunctionIdempotent'; +export * from './persistence'; +export * from './config'; diff --git a/packages/idempotency/src/makeFunctionIdempotent.ts b/packages/idempotency/src/makeFunctionIdempotent.ts index 3415cb0d6d..047bea4f9c 100644 --- a/packages/idempotency/src/makeFunctionIdempotent.ts +++ b/packages/idempotency/src/makeFunctionIdempotent.ts @@ -7,6 +7,36 @@ import type { import { IdempotencyHandler } from './IdempotencyHandler'; import { IdempotencyConfig } from './IdempotencyConfig'; +/** + * Use function wrapper to make your function idempotent. + * @example + * ```ts + * // this is your processing function with an example record { transactionId: '123', foo: 'bar' } + * const processRecord = (record: Record): any => { + * // you custom processing logic + * return result; + * }; + * + * // we use wrapper to make processing function idempotent with DynamoDBPersistenceLayer + * const processIdempotently = makeFunctionIdempotent(processRecord, { + * persistenceStore: new DynamoDBPersistenceLayer() + * dataKeywordArgument: 'transactionId', // keyword argument to hash the payload and the result + * }); + * + * export const handler = async ( + * _event: EventRecords, + * _context: Context + * ): Promise => { + * for (const record of _event.records) { + * const result = await processIdempotently(record); + * // do something with the result + * } + * + * return Promise.resolve(); + * }; + * + * ``` + */ const makeFunctionIdempotent = function ( fn: AnyFunctionWithRecord, options: IdempotencyFunctionOptions diff --git a/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts b/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts index f259c6fac1..cbb92d3d40 100644 --- a/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts +++ b/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts @@ -18,6 +18,15 @@ import { marshall, unmarshall } from '@aws-sdk/util-dynamodb'; import { IdempotencyRecord } from './IdempotencyRecord'; import { BasePersistenceLayer } from './BasePersistenceLayer'; +/** + * DynamoDB persistence layer for idempotency records. This class will use the AWS SDK V3 to write and read idempotency records from DynamoDB. + * There are various options to configure the persistence layer, such as the table name, the key attribute, the status attribute, etc. + * With default configuration you don't need to create the table beforehand, the persistence layer will create it for you. + * You can also bring your own AWS SDK V3 client, or configure the client with the `clientConfig` option. + * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/index.html + * @category Persistence Layer + * @implements {BasePersistenceLayer} + */ class DynamoDBPersistenceLayer extends BasePersistenceLayer { private client?: DynamoDBClient; private clientConfig: DynamoDBClientConfig = {}; diff --git a/packages/idempotency/src/types/DynamoDBPersistence.ts b/packages/idempotency/src/types/DynamoDBPersistence.ts index 576a5acdd7..a2ddb13257 100644 --- a/packages/idempotency/src/types/DynamoDBPersistence.ts +++ b/packages/idempotency/src/types/DynamoDBPersistence.ts @@ -58,9 +58,9 @@ interface DynamoPersistenceOptionsWithClientInstance } /** - * Options for the AppConfigProvider class constructor. + * Options for the {@link DynamoDBPersistenceLayer} class constructor. * - * @type AppConfigProviderOptions + * @type DynamoPersistenceOptions * @property {string} tableName - The DynamoDB table name. * @property {string} [keyAttr] - The DynamoDB table key attribute name. Defaults to 'id'. * @property {string} [expiryAttr] - The DynamoDB table expiry attribute name. Defaults to 'expiration'. From 028fdc71f6c6ea811ddb5072c42bbd6371e50e9f Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 5 Jun 2023 16:06:17 +0200 Subject: [PATCH 05/16] add js doc comment --- docs/Dockerfile | 2 - docs/changelog.md | 2 - docs/core/logger.md | 646 ------------------ docs/core/metrics.md | 447 ------------ docs/core/tracer.md | 325 --------- docs/diagram_src/.gitignore | 0 docs/index.md | 347 ---------- docs/javascript/aws-amplify.min.js | 108 --- docs/javascript/extra.js | 91 --- docs/media/aws-logo-light.svg | 38 -- docs/media/logger_utility_showcase.png | Bin 309999 -> 0 bytes docs/media/logos/elva.png | Bin 203485 -> 0 bytes docs/media/logos/globaldatanet.png | Bin 4083 -> 0 bytes docs/media/logos/hashnode.png | Bin 12638 -> 0 bytes docs/media/logos/perfect-post.png | Bin 26268 -> 0 bytes docs/media/logos/sennder.png | Bin 109907 -> 0 bytes docs/media/logos/trek10.jpg | Bin 362914 -> 0 bytes docs/media/metrics_terminology.png | Bin 147817 -> 0 bytes docs/media/metrics_utility_showcase.png | Bin 168465 -> 0 bytes docs/media/tracer_utility_showcase.png | Bin 141292 -> 0 bytes docs/media/tracer_utility_showcase_2.png | Bin 140818 -> 0 bytes docs/overrides/main.html | 8 - docs/requirements.txt | 4 - docs/roadmap.md | 102 --- docs/shared/.gitignore | 1 - docs/snippets/logger/appendKeys.ts | 42 -- docs/snippets/logger/basicUsage.ts | 7 - .../logger/bringYourOwnFormatterClass.ts | 37 - .../logger/bringYourOwnFormatterHandler.ts | 24 - docs/snippets/logger/clearStateDecorator.ts | 30 - docs/snippets/logger/clearStateMiddy.ts | 31 - docs/snippets/logger/createChild.ts | 29 - docs/snippets/logger/decorator.ts | 15 - docs/snippets/logger/eventDecorator.ts | 15 - docs/snippets/logger/eventMiddy.ts | 15 - docs/snippets/logger/extraData.ts | 42 -- docs/snippets/logger/logError.ts | 24 - docs/snippets/logger/logSampling.ts | 25 - docs/snippets/logger/manual.ts | 9 - docs/snippets/logger/middy.ts | 13 - docs/snippets/logger/sam.ts | 11 - docs/snippets/logger/unitTesting.ts | 8 - .../metrics/addHighResolutionMetric.ts | 22 - docs/snippets/metrics/addMetadata.ts | 21 - docs/snippets/metrics/basicUsage.ts | 13 - .../captureColdStartMetricDecorator.ts | 14 - .../metrics/captureColdStartMetricMiddy.ts | 22 - docs/snippets/metrics/createMetrics.ts | 14 - docs/snippets/metrics/customDimensions.ts | 15 - docs/snippets/metrics/decorator.ts | 17 - docs/snippets/metrics/defaultDimensions.ts | 14 - .../metrics/defaultDimensionsDecorator.ts | 19 - .../metrics/defaultDimensionsMiddy.ts | 27 - docs/snippets/metrics/manual.ts | 14 - docs/snippets/metrics/middy.ts | 20 - docs/snippets/metrics/multiValueMetrics.ts | 15 - docs/snippets/metrics/sam.ts | 11 - docs/snippets/metrics/setDefaultDimensions.ts | 14 - .../singleMetricDifferentDimsDecorator.ts | 24 - .../metrics/singleMetricDifferentDimsMiddy.ts | 27 - docs/snippets/metrics/throwOnEmptyMetrics.ts | 22 - docs/snippets/package.json | 40 -- docs/snippets/parameters/adjustingCacheTTL.ts | 19 - docs/snippets/parameters/appConfigProvider.ts | 15 - .../appConfigProviderCustomClient.ts | 14 - docs/snippets/parameters/clientConfig.ts | 11 - docs/snippets/parameters/dynamoDBProvider.ts | 9 - .../dynamoDBProviderCustomClient.ts | 13 - .../dynamoDBProviderCustomizeTable.ts | 13 - .../parameters/dynamoDBProviderLocal.ts | 14 - .../parameters/dynamoDBProviderMultiple.ts | 16 - docs/snippets/parameters/forceFetch.ts | 7 - docs/snippets/parameters/getAppConfig.ts | 10 - docs/snippets/parameters/getParameter.ts | 7 - docs/snippets/parameters/getParameters.ts | 12 - .../parameters/getParametersByName.ts | 19 - ...etParametersByNameGracefulErrorHandling.ts | 25 - docs/snippets/parameters/getSecret.ts | 7 - docs/snippets/parameters/sdkOptions.ts | 16 - docs/snippets/parameters/secretsProvider.ts | 11 - .../parameters/secretsProviderCustomClient.ts | 15 - docs/snippets/parameters/ssmProvider.ts | 17 - .../parameters/ssmProviderCustomClient.ts | 13 - .../ssmProviderDecryptAndRecursive.ts | 19 - .../parameters/testingYourCodeClearCache.ts | 13 - .../testingYourCodeClientHandler.ts | 18 - .../testingYourCodeClientJestMock.ts | 38 -- .../testingYourCodeFunctionsHandler.ts | 12 - .../testingYourCodeFunctionsJestMock.ts | 28 - .../testingYourCodeProvidersHandler.ts | 17 - .../testingYourCodeProvidersJestMock.ts | 29 - docs/snippets/parameters/transform.ts | 8 - docs/snippets/parameters/transformAuto.ts | 12 - .../parameters/transformPartialFailures.ts | 31 - docs/snippets/parameters/transformProvider.ts | 17 - docs/snippets/tracer/accessRootTraceId.ts | 20 - docs/snippets/tracer/basicUsage.ts | 7 - docs/snippets/tracer/captureAWS.ts | 5 - docs/snippets/tracer/captureAWSAll.ts | 5 - docs/snippets/tracer/captureAWSv3.ts | 5 - docs/snippets/tracer/captureHTTP.ts | 11 - .../snippets/tracer/captureMethodDecorator.ts | 20 - docs/snippets/tracer/captureMethodManual.ts | 40 -- docs/snippets/tracer/decorator.ts | 15 - .../tracer/disableCaptureResponseHandler.ts | 14 - .../tracer/disableCaptureResponseMethod.ts | 19 - .../tracer/disableCaptureResponseMiddy.ts | 17 - docs/snippets/tracer/escapeHatch.ts | 7 - docs/snippets/tracer/manual.ts | 38 -- docs/snippets/tracer/middy.ts | 16 - docs/snippets/tracer/putAnnotation.ts | 10 - docs/snippets/tracer/putMetadata.ts | 12 - docs/snippets/tracer/sam.ts | 10 - docs/snippets/tsconfig.json | 48 -- docs/stylesheets/extra.css | 32 - docs/utilities/.gitignore | 1 - docs/utilities/parameters.md | 462 ------------- docs/we_made_this.md | 58 -- .../src/persistence/BasePersistenceLayer.ts | 8 + 119 files changed, 8 insertions(+), 4280 deletions(-) delete mode 100644 docs/Dockerfile delete mode 100644 docs/changelog.md delete mode 100644 docs/core/logger.md delete mode 100644 docs/core/metrics.md delete mode 100644 docs/core/tracer.md delete mode 100644 docs/diagram_src/.gitignore delete mode 100644 docs/index.md delete mode 100644 docs/javascript/aws-amplify.min.js delete mode 100644 docs/javascript/extra.js delete mode 100644 docs/media/aws-logo-light.svg delete mode 100644 docs/media/logger_utility_showcase.png delete mode 100644 docs/media/logos/elva.png delete mode 100644 docs/media/logos/globaldatanet.png delete mode 100644 docs/media/logos/hashnode.png delete mode 100644 docs/media/logos/perfect-post.png delete mode 100644 docs/media/logos/sennder.png delete mode 100644 docs/media/logos/trek10.jpg delete mode 100644 docs/media/metrics_terminology.png delete mode 100644 docs/media/metrics_utility_showcase.png delete mode 100644 docs/media/tracer_utility_showcase.png delete mode 100644 docs/media/tracer_utility_showcase_2.png delete mode 100644 docs/overrides/main.html delete mode 100644 docs/requirements.txt delete mode 100644 docs/roadmap.md delete mode 100644 docs/shared/.gitignore delete mode 100644 docs/snippets/logger/appendKeys.ts delete mode 100644 docs/snippets/logger/basicUsage.ts delete mode 100644 docs/snippets/logger/bringYourOwnFormatterClass.ts delete mode 100644 docs/snippets/logger/bringYourOwnFormatterHandler.ts delete mode 100644 docs/snippets/logger/clearStateDecorator.ts delete mode 100644 docs/snippets/logger/clearStateMiddy.ts delete mode 100644 docs/snippets/logger/createChild.ts delete mode 100644 docs/snippets/logger/decorator.ts delete mode 100644 docs/snippets/logger/eventDecorator.ts delete mode 100644 docs/snippets/logger/eventMiddy.ts delete mode 100644 docs/snippets/logger/extraData.ts delete mode 100644 docs/snippets/logger/logError.ts delete mode 100644 docs/snippets/logger/logSampling.ts delete mode 100644 docs/snippets/logger/manual.ts delete mode 100644 docs/snippets/logger/middy.ts delete mode 100644 docs/snippets/logger/sam.ts delete mode 100644 docs/snippets/logger/unitTesting.ts delete mode 100644 docs/snippets/metrics/addHighResolutionMetric.ts delete mode 100644 docs/snippets/metrics/addMetadata.ts delete mode 100644 docs/snippets/metrics/basicUsage.ts delete mode 100644 docs/snippets/metrics/captureColdStartMetricDecorator.ts delete mode 100644 docs/snippets/metrics/captureColdStartMetricMiddy.ts delete mode 100644 docs/snippets/metrics/createMetrics.ts delete mode 100644 docs/snippets/metrics/customDimensions.ts delete mode 100644 docs/snippets/metrics/decorator.ts delete mode 100644 docs/snippets/metrics/defaultDimensions.ts delete mode 100644 docs/snippets/metrics/defaultDimensionsDecorator.ts delete mode 100644 docs/snippets/metrics/defaultDimensionsMiddy.ts delete mode 100644 docs/snippets/metrics/manual.ts delete mode 100644 docs/snippets/metrics/middy.ts delete mode 100644 docs/snippets/metrics/multiValueMetrics.ts delete mode 100644 docs/snippets/metrics/sam.ts delete mode 100644 docs/snippets/metrics/setDefaultDimensions.ts delete mode 100644 docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts delete mode 100644 docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts delete mode 100644 docs/snippets/metrics/throwOnEmptyMetrics.ts delete mode 100644 docs/snippets/package.json delete mode 100644 docs/snippets/parameters/adjustingCacheTTL.ts delete mode 100644 docs/snippets/parameters/appConfigProvider.ts delete mode 100644 docs/snippets/parameters/appConfigProviderCustomClient.ts delete mode 100644 docs/snippets/parameters/clientConfig.ts delete mode 100644 docs/snippets/parameters/dynamoDBProvider.ts delete mode 100644 docs/snippets/parameters/dynamoDBProviderCustomClient.ts delete mode 100644 docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts delete mode 100644 docs/snippets/parameters/dynamoDBProviderLocal.ts delete mode 100644 docs/snippets/parameters/dynamoDBProviderMultiple.ts delete mode 100644 docs/snippets/parameters/forceFetch.ts delete mode 100644 docs/snippets/parameters/getAppConfig.ts delete mode 100644 docs/snippets/parameters/getParameter.ts delete mode 100644 docs/snippets/parameters/getParameters.ts delete mode 100644 docs/snippets/parameters/getParametersByName.ts delete mode 100644 docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts delete mode 100644 docs/snippets/parameters/getSecret.ts delete mode 100644 docs/snippets/parameters/sdkOptions.ts delete mode 100644 docs/snippets/parameters/secretsProvider.ts delete mode 100644 docs/snippets/parameters/secretsProviderCustomClient.ts delete mode 100644 docs/snippets/parameters/ssmProvider.ts delete mode 100644 docs/snippets/parameters/ssmProviderCustomClient.ts delete mode 100644 docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts delete mode 100644 docs/snippets/parameters/testingYourCodeClearCache.ts delete mode 100644 docs/snippets/parameters/testingYourCodeClientHandler.ts delete mode 100644 docs/snippets/parameters/testingYourCodeClientJestMock.ts delete mode 100644 docs/snippets/parameters/testingYourCodeFunctionsHandler.ts delete mode 100644 docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts delete mode 100644 docs/snippets/parameters/testingYourCodeProvidersHandler.ts delete mode 100644 docs/snippets/parameters/testingYourCodeProvidersJestMock.ts delete mode 100644 docs/snippets/parameters/transform.ts delete mode 100644 docs/snippets/parameters/transformAuto.ts delete mode 100644 docs/snippets/parameters/transformPartialFailures.ts delete mode 100644 docs/snippets/parameters/transformProvider.ts delete mode 100644 docs/snippets/tracer/accessRootTraceId.ts delete mode 100644 docs/snippets/tracer/basicUsage.ts delete mode 100644 docs/snippets/tracer/captureAWS.ts delete mode 100644 docs/snippets/tracer/captureAWSAll.ts delete mode 100644 docs/snippets/tracer/captureAWSv3.ts delete mode 100644 docs/snippets/tracer/captureHTTP.ts delete mode 100644 docs/snippets/tracer/captureMethodDecorator.ts delete mode 100644 docs/snippets/tracer/captureMethodManual.ts delete mode 100644 docs/snippets/tracer/decorator.ts delete mode 100644 docs/snippets/tracer/disableCaptureResponseHandler.ts delete mode 100644 docs/snippets/tracer/disableCaptureResponseMethod.ts delete mode 100644 docs/snippets/tracer/disableCaptureResponseMiddy.ts delete mode 100644 docs/snippets/tracer/escapeHatch.ts delete mode 100644 docs/snippets/tracer/manual.ts delete mode 100644 docs/snippets/tracer/middy.ts delete mode 100644 docs/snippets/tracer/putAnnotation.ts delete mode 100644 docs/snippets/tracer/putMetadata.ts delete mode 100644 docs/snippets/tracer/sam.ts delete mode 100644 docs/snippets/tsconfig.json delete mode 100644 docs/stylesheets/extra.css delete mode 100644 docs/utilities/.gitignore delete mode 100644 docs/utilities/parameters.md delete mode 100644 docs/we_made_this.md diff --git a/docs/Dockerfile b/docs/Dockerfile deleted file mode 100644 index 40c4a3e4b4..0000000000 --- a/docs/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM squidfunk/mkdocs-material -RUN pip install mkdocs-git-revision-date-plugin==0.3.2 mkdocs-exclude==1.0.2 diff --git a/docs/changelog.md b/docs/changelog.md deleted file mode 100644 index c2705ba58c..0000000000 --- a/docs/changelog.md +++ /dev/null @@ -1,2 +0,0 @@ -[comment]: <> (Includes Changelog content entire file as a snippet) ---8<-- "CHANGELOG.md" diff --git a/docs/core/logger.md b/docs/core/logger.md deleted file mode 100644 index a1a0d05f97..0000000000 --- a/docs/core/logger.md +++ /dev/null @@ -1,646 +0,0 @@ ---- -title: Logger -description: Core utility ---- - -Logger provides an opinionated logger with output structured as JSON. - -## Key features - -* Capturing key fields from the Lambda context, cold starts, and structure logging output as JSON. -* Logging Lambda invocation events when instructed (disabled by default). -* Printing all the logs only for a percentage of invocations via log sampling (disabled by default). -* Appending additional keys to structured logs at any point in time. -* Providing a custom log formatter (Bring Your Own Formatter) to output logs in a structure compatible with your organization’s Logging RFC. - -
- -
- Screenshot of the Amazon CloudWatch Console showing an example of error logged with various log attributes -
Logger showcase - Log attributes
-
- -## Getting started - -### Installation - -Install the library in your project: - -```shell -npm install @aws-lambda-powertools/logger -``` - -### Usage - -The `Logger` utility must always be instantiated outside the Lambda handler. By doing this, subsequent invocations processed by the same instance of your function can reuse these resources. This saves cost by reducing function run time. In addition, `Logger` can keep track of a cold start and inject the appropriate fields into logs. - -=== "handler.ts" - - ```typescript hl_lines="1 3" - --8<-- "docs/snippets/logger/basicUsage.ts" - ``` - -### Utility settings - -The library requires two settings. You can set them as environment variables, or pass them in the constructor. - -These settings will be used across all logs emitted: - -| Setting | Description | Environment variable | Default Value | Allowed Values | Example Value | Constructor parameter | -| ---------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------- | ------------------- | ------------------------------------------ | ------------------- | --------------------- | -| **Service name** | Sets the name of service of which the Lambda function is part of, that will be present across all log statements | `POWERTOOLS_SERVICE_NAME` | `service_undefined` | Any string | `serverlessAirline` | `serviceName` | -| **Logging level** | Sets how verbose Logger should be, from the most verbose to the least verbose (no logs) | `LOG_LEVEL` | `info` | `DEBUG`, `INFO`, `WARN`, `ERROR`, `SILENT` | `ERROR` | `logLevel` | -| **Log incoming event** | Whether to log or not the incoming event when using the decorator or middleware | `POWERTOOLS_LOGGER_LOG_EVENT` | `false` | `true`, `false` | `false` | `logEvent` | -| **Debug log sampling** | Probability that a Lambda invocation will print all the log items regardless of the log level setting | `POWERTOOLS_LOGGER_SAMPLE_RATE` | `0` | `0.0` to `1` | `0.5` | `sampleRateValue` | - -#### Example using AWS Serverless Application Model (SAM) - -=== "handler.ts" - - ```typescript hl_lines="1 4" - --8<-- "docs/snippets/logger/sam.ts" - ``` - -=== "template.yaml" - - ```yaml hl_lines="8 9" - Resources: - ShoppingCartApiFunction: - Type: AWS::Serverless::Function - Properties: - Runtime: nodejs18.x - Environment: - Variables: - LOG_LEVEL: WARN - POWERTOOLS_SERVICE_NAME: serverlessAirline - ``` - -### Standard structured keys - -Your Logger will include the following keys to your structured logging (default log formatter): - -| Key | Example | Note | -| --------------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **level**: `string` | `INFO` | Logging level set for the Lambda function's invocation | -| **message**: `string` | `Query performed to DynamoDB` | A descriptive, human-readable representation of this log item | -| **sampling_rate**: `float` | `0.1` | When enabled, it prints all the logs of a percentage of invocations, e.g. 10% | -| **service**: `string` | `serverlessAirline` | A unique name identifier of the service this Lambda function belongs to, by default `service_undefined` | -| **timestamp**: `string` | `2011-10-05T14:48:00.000Z` | Timestamp string in simplified extended ISO format (ISO 8601) | -| **xray_trace_id**: `string` | `1-5759e988-bd862e3fe1be46a994272793` | X-Ray Trace ID. This value is always presented in Lambda environment, whether [tracing is enabled](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html){target="_blank"} or not. Logger will always log this value. | -| **error**: `Object` | `{ name: "Error", location: "/my-project/handler.ts:18", message: "Unexpected error #1", stack: "[stacktrace]"}` | Optional - An object containing information about the Error passed to the logger | - -???+ info - When `POWERTOOLS_DEV` environment variable is present and set to `"true"` or `"1"`, Logger will pretty-print log messages for easier readability. We recommend to use this setting only when debugging on local environments. - -### Capturing Lambda context info - -You can enrich your structured logs with key Lambda context information in multiple ways. - -This functionality will include the following keys in your structured logs: - -| Key | Example | -| ---------------------------------- | ---------------------------------------------------------------------------------------- | -| **cold_start**: `bool` | `false` | -| **function_name** `string` | `shopping-cart-api-lambda-prod-eu-west-1` | -| **function_memory_size**: `number` | `128` | -| **function_arn**: `string` | `arn:aws:lambda:eu-west-1:123456789012:function:shopping-cart-api-lambda-prod-eu-west-1` | -| **function_request_id**: `string` | `c6af9ac6-7b61-11e6-9a41-93e812345678` | - -=== "Middy Middleware" - - !!! tip "Using Middy for the first time?" - You can install Middy by running `npm i @middy/core`. - Learn more about [its usage and lifecycle in the official Middy documentation](https://middy.js.org/docs/intro/getting-started){target="_blank"}. - - ```typescript hl_lines="1 13" - --8<-- "docs/snippets/logger/middy.ts" - ``` - -=== "Decorator" - - ```typescript hl_lines="8" - --8<-- "docs/snippets/logger/decorator.ts" - ``` - - 1. Binding your handler method allows your handler to access `this` within the class methods. - -=== "Manual" - - ```typescript hl_lines="6" - --8<-- "docs/snippets/logger/manual.ts" - ``` - -In each case, the printed log will look like this: - -=== "Example CloudWatch Logs excerpt" - - ```json hl_lines="2-6" - { - "cold_start": true, - "function_arn": "arn:aws:lambda:eu-west-1:123456789012:function:shopping-cart-api-lambda-prod-eu-west-1", - "function_memory_size": 128, - "function_request_id": "c6af9ac6-7b61-11e6-9a41-93e812345678", - "function_name": "shopping-cart-api-lambda-prod-eu-west-1", - "level": "INFO", - "message": "This is an INFO log with some context", - "service": "serverlessAirline", - "timestamp": "2021-12-12T21:21:08.921Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - ``` - -#### Log incoming event - -When debugging in non-production environments, you can instruct Logger to log the incoming event with the middleware/decorator parameter `logEvent` or via `POWERTOOLS_LOGGER_LOG_EVENT` env var set to `true`. - -???+ warning - This is disabled by default to prevent sensitive info being logged - -=== "Middy Middleware" - - ```typescript hl_lines="10" - --8<-- "docs/snippets/logger/eventMiddy.ts" - ``` - -=== "Decorator" - - ```typescript hl_lines="8" - --8<-- "docs/snippets/logger/eventDecorator.ts" - ``` - - 1. Binding your handler method allows your handler to access `this` within the class methods. - -### Appending persistent additional log keys and values - -You can append additional persistent keys and values in the logs generated during a Lambda invocation using either mechanism: - -* Via the Logger's `appendKeys` method, for all log items generated after calling this method -* Passing them in the Logger's constructor - -To remove the keys you added, you can use the `removeKeys` method. - - -=== "handler.ts" - - ```typescript hl_lines="5-13 17-25 32" - --8<-- "docs/snippets/logger/appendKeys.ts" - ``` -=== "Example CloudWatch Logs excerpt" - - ```json hl_lines="7-12 20-25" - { - "level": "INFO", - "message": "This is an INFO log", - "service": "serverlessAirline", - "timestamp": "2021-12-12T21:49:58.084Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456", - "aws_account_id": "123456789012", - "aws_region": "eu-west-1", - "logger": { - "name": "@aws-lambda-powertools/logger", - "version": "0.0.1" - } - } - { - "level": "INFO", - "message": "This is another INFO log", - "service": "serverlessAirline", - "timestamp": "2021-12-12T21:49:58.088Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456", - "aws_account_id": "123456789012", - "aws_region": "eu-west-1", - "logger": { - "name": "@aws-lambda-powertools/logger", - "version": "0.0.1" - } - } - ``` - - -!!! tip "Logger will automatically ignore any key with an `undefined` value" - -#### Clearing all state - -The Logger utility is commonly initialized in the global scope, outside the handler function. -When you attach persistent log attributes through the `persistentLogAttributes` constructor option or via the `appendKeys`, `addPersistentLogAttributes` methods, this data is attached to the Logger instance. - -Due to the [Lambda Execution Context reuse](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html), this means those persistent log attributes may be reused across invocations. -If you want to make sure that persistent attributes added **inside the handler function** code are not persisted across invocations, you can set the parameter `clearState` as `true` in the `injectLambdaContext` middleware or decorator. - -=== "Middy Middleware" - - ```typescript hl_lines="30" - --8<-- "docs/snippets/logger/clearStateMiddy.ts" - ``` - -=== "Decorator" - - ```typescript hl_lines="16" - --8<-- "docs/snippets/logger/clearStateDecorator.ts" - ``` - - 1. Binding your handler method allows your handler to access `this` within the class methods. - -In each case, the printed log will look like this: - -=== "First invocation" - - ```json hl_lines="2 4-7" - { - "biz": "baz", - "cold_start": true, - "details": { - "special_key": "123456", - }, - "foo": "bar", - "function_arn": "arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function", - "function_memory_size": 128, - "function_name": "foo-bar-function", - "function_request_id": "abcdef123456abcdef123456", - "level": "DEBUG", - "message": "This is a DEBUG log with the user_id", - "service": "hello-world", - "timestamp": "2021-12-12T22:32:54.670Z", - "xray_trace_id": "1-5759e988-bd862e3fe1be46a994272793" - } - ``` -=== "Second invocation" - - ```json hl_lines="2 4" - { - "biz": "baz", - "cold_start": false, - "foo": "bar", - "function_arn": "arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function", - "function_memory_size": 128, - "function_name": "foo-bar-function", - "function_request_id": "abcdef123456abcdef123456", - "level": "DEBUG", - "message": "This is a DEBUG log with the user_id", - "service": "hello-world", - "timestamp": "2021-12-12T22:40:23.120Z", - "xray_trace_id": "1-5759e988-bd862e3fe1be46a994272793" - } - ``` - - -### Appending additional data to a single log item - -You can append additional data to a single log item by passing objects as additional parameters. - -* Pass a simple string for logging it with default key name `extra` -* Pass one or multiple objects containing arbitrary data to be logged. Each data object should be placed in an enclosing object as a single property value, you can name this property as you need: `{ myData: arbitraryObjectToLog }` -* If you already have an object containing a `message` key and an additional property, you can pass this object directly - -=== "handler.ts" - - ```typescript hl_lines="16-18 23-25 37" - --8<-- "docs/snippets/logger/extraData.ts" - ``` -=== "Example CloudWatch Logs excerpt" - - ```json hl_lines="7 15-21 29 37" - { - "level": "INFO", - "message": "This is a log with an extra variable", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:06:17.463Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456", - "data": { "foo": "bar" } - } - { - "level": "INFO", - "message": "This is a log with 3 extra objects", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:06:17.466Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456", - "data": { "foo": "bar" }, - "correlationIds": { "myCustomCorrelationId": "foo-bar-baz" }, - "lambdaEvent": { - "exampleEventData": { - "eventValue": 42 - } - } - } - { - "level": "INFO", - "message": "This is a log with additional string value", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:06:17.463Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456", - "extra": "string value" - } - { - "level": "INFO", - "message": "This is a log message", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:06:17.463Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456", - "additionalValue": 42 - } - ``` - -### Logging errors - -You can log errors by using the `error` method and pass the error object as parameter. -The error will be logged with default key name `error`, but you can also pass your own custom key name. - -=== "handler.ts" - - ```typescript hl_lines="13 20-22" - --8<-- "docs/snippets/logger/logError.ts" - ``` - -=== "Example CloudWatch Logs excerpt" - - ```json hl_lines="7-12 20-25" - { - "level": "ERROR", - "message": "This is the first error", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:12:39.345Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456", - "error": { - "name": "Error", - "location": "/path/to/my/source-code/my-service/handler.ts:18", - "message": "Unexpected error #1", - "stack": "Error: Unexpected error #1 at lambdaHandler (/path/to/my/source-code/my-service/handler.ts:18:11) at Object. (/path/to/my/source-code/my-service/handler.ts:35:1) at Module._compile (node:internal/modules/cjs/loader:1108:14) at Module.m._compile (/path/to/my/source-code/node_modules/ts-node/src/index.ts:1371:23) at Module._extensions..js (node:internal/modules/cjs/loader:1137:10) at Object.require.extensions. [as .ts] (/path/to/my/source-code/node_modules/ts-node/src/index.ts:1374:12) at Module.load (node:internal/modules/cjs/loader:973:32) at Function.Module._load (node:internal/modules/cjs/loader:813:14) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12) at main (/path/to/my/source-code/node_modules/ts-node/src/bin.ts:331:12)" - } - } - { - "level": "ERROR", - "message": "This is the second error", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:12:39.377Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456", - "myCustomErrorKey": { - "name": "Error", - "location": "/path/to/my/source-code/my-service/handler.ts:24", - "message": "Unexpected error #2", - "stack": "Error: Unexpected error #2 at lambdaHandler (/path/to/my/source-code/my-service/handler.ts:24:11) at Object. (/path/to/my/source-code/my-service/handler.ts:35:1) at Module._compile (node:internal/modules/cjs/loader:1108:14) at Module.m._compile (/path/to/my/source-code/node_modules/ts-node/src/index.ts:1371:23) at Module._extensions..js (node:internal/modules/cjs/loader:1137:10) at Object.require.extensions. [as .ts] (/path/to/my/source-code/node_modules/ts-node/src/index.ts:1374:12) at Module.load (node:internal/modules/cjs/loader:973:32) at Function.Module._load (node:internal/modules/cjs/loader:813:14) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12) at main (/path/to/my/source-code/node_modules/ts-node/src/bin.ts:331:12)" - } - } - ``` - -!!! tip "Logging errors and log level" - You can also log errors using the `warn`, `info`, and `debug` methods. Be aware of the log level though, you might miss those errors when analyzing the log later depending on the log level configuration. - - -## Advanced - -### Using multiple Logger instances across your code - -The `createChild` method allows you to create a child instance of the Logger, which inherits all of the attributes from its parent. You have the option to override any of the settings and attributes from the parent logger, including [its settings](#utility-settings), any [persistent attributes](#appending-persistent-additional-log-keys-and-values), and [the log formatter](#custom-log-formatter-bring-your-own-formatter). Once a child logger is created, the logger and its parent will act as separate instances of the Logger class, and as such any change to one won't be applied to the other. - - The following example shows how to create multiple Loggers that share service name and persistent attributes while specifying different logging levels within a single Lambda invocation. As the result, only ERROR logs with all the inherited attributes will be displayed in CloudWatch Logs from the child logger, but all logs emitted will have the same service name and persistent attributes. - -=== "handler.ts" - - ```typescript hl_lines="16-18" - --8<-- "docs/snippets/logger/createChild.ts" - ``` - -=== "Example CloudWatch Logs excerpt" - - ```json hl_lines="21" - { - "level": "INFO", - "message": "This is an INFO log, from the parent logger", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:32:54.667Z", - "aws_account_id":"123456789012", - "aws_region":"eu-west-1", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - { - "level": "ERROR", - "message": "This is an ERROR log, from the parent logger", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:32:54.670Z", - "aws_account_id":"123456789012", - "aws_region":"eu-west-1", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - { - "level": "ERROR", - "message": "This is an ERROR log, from the child logger", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:32:54.670Z", - "aws_account_id":"123456789012", - "aws_region":"eu-west-1", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - ``` - -### Sampling logs - -Use sampling when you want to print all the log items generated in your code, based on a **percentage of your concurrent/cold start invocations**. - -You can do that by setting a "sample rate", a float value ranging from `0.0` (0%) to `1` (100%), by using a `POWERTOOLS_LOGGER_SAMPLE_RATE` env var or passing the `sampleRateValue` parameter in the Logger constructor. -This number represents the probability that a Lambda invocation will print all the log items regardless of the log level setting. - -For example, by setting the "sample rate" to `0.5`, roughly 50% of your lambda invocations will print all the log items, including the `debug` ones. - -!!! tip "When is this useful?" - In production, to avoid log data pollution and reduce CloudWatch costs, developers are encouraged to use the logger with `logLevel` equal to `ERROR` or `WARN`. - This means that only errors or warnings will be printed. - - However, it might still be useful to print all the logs (including debug ones) of a very small percentage of invocations to have a better understanding of the behaviour of your code in production even when there are no errors. - - **Sampling decision happens at the Logger initialization**. This means sampling may happen significantly more or less than depending on your traffic patterns, for example a steady low number of invocations and thus few cold starts. - If you want to reset the sampling decision and refresh it for each invocation, you can call the `logger.refreshSampleRateCalculation()` method at the beginning or end of your handler. - -=== "handler.ts" - - ```typescript hl_lines="6" - --8<-- "docs/snippets/logger/logSampling.ts" - ``` - -=== "Example CloudWatch Logs excerpt - Invocation #1" - - ```json - { - "level": "ERROR", - "message": "This is an ERROR log", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.334Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - { - "level": "DEBUG", - "message": "This is a DEBUG log that has 50% chance of being printed", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.337Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - { - "level": "INFO", - "message": "This is an INFO log that has 50% chance of being printed", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.338Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - { - "level": "WARN", - "message": "This is a WARN log that has 50% chance of being printed", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.338Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - ``` - -=== "Example CloudWatch Logs excerpt - Invocation #2" - - ```json - { - "level": "ERROR", - "message": "This is an ERROR log", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.334Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - ``` - -=== "Example CloudWatch Logs excerpt - Invocation #3" - - ```json - { - "level": "ERROR", - "message": "This is an ERROR log", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.334Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - { - "level": "DEBUG", - "message": "This is a DEBUG log that has 50% chance of being printed", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.337Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - { - "level": "INFO", - "message": "This is an INFO log that has 50% chance of being printed", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.338Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - { - "level": "WARN", - "message": "This is a WARN log that has 50% chance of being printed", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.338Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - ``` - -=== "Example CloudWatch Logs excerpt - Invocation #4" - - ```json - { - "level": "ERROR", - "message": "This is an ERROR log", - "sampling_rate": "0.5", - "service": "serverlessAirline", - "timestamp": "2021-12-12T22:59:06.334Z", - "xray_trace_id": "abcdef123456abcdef123456abcdef123456" - } - ``` - -### Silencing logs - -The `SILENT` log level provides a simple and efficient way to suppress all log messages without the need to modify your code. When you set this log level, all log messages, regardless of their severity, will be silenced. - -This feature is useful when you want to have your code instrumented to produce logs, but due to some requirement or business decision, you prefer to not emit them. - -By setting the log level to `SILENT`, which can be done either through the `logLevel` constructor option or by using the `LOG_LEVEL` environment variable, you can easily suppress all logs as needed. - -!!! note - Use the `SILENT` log level with care, as it can make it more challenging to monitor and debug your application. Therefore, we advise using this log level judiciously. - -### Custom Log formatter (Bring Your Own Formatter) - -You can customize the structure (keys and values) of your log items by passing a custom log formatter, an object that implements the `LogFormatter` abstract class. - -=== "handler.ts" - - ```typescript hl_lines="2 5" - --8<-- "docs/snippets/logger/bringYourOwnFormatterHandler.ts" - ``` - -This is how the `MyCompanyLogFormatter` (dummy name) would look like: - -=== "utils/formatters/MyCompanyLogFormatter.ts" - - ```typescript - --8<-- "docs/snippets/logger/bringYourOwnFormatterClass.ts" - ``` - -This is how the printed log would look: - -=== "Example CloudWatch Logs excerpt" - - ```json - { - "message": "This is an INFO log", - "service": "serverlessAirline", - "awsRegion": "eu-west-1", - "correlationIds": { - "awsRequestId": "c6af9ac6-7b61-11e6-9a41-93e812345678", - "xRayTraceId": "abcdef123456abcdef123456abcdef123456", - "myCustomCorrelationId": "foo-bar-baz" - }, - "lambdaFunction": { - "name": "shopping-cart-api-lambda-prod-eu-west-1", - "arn": "arn:aws:lambda:eu-west-1:123456789012:function:shopping-cart-api-lambda-prod-eu-west-1", - "memoryLimitInMB": 128, - "version": "$LATEST", - "coldStart": true - }, - "logLevel": "INFO", - "timestamp": "2021-12-12T23:13:53.404Z", - "logger": { - "sampleRateValue": "0.5", - "name": "aws-lambda-powertools-typescript", - "version": "0.0.1" - }, - "awsAccountId": "123456789012" - } - ``` - -!!! tip "Custom Log formatter and Child loggers" - It is not necessary to pass the `LogFormatter` each time a [child logger](#using-multiple-logger-instances-across-your-code) is created. The parent's LogFormatter will be inherited by the child logger. - -## Testing your code - -### Inject Lambda Context - -When unit testing your code that makes use of `logger.addContext()` or `injectLambdaContext` middleware and decorator, you can optionally pass a dummy Lambda Context if you want your logs to contain this information. - -This is a Jest sample that provides the minimum information necessary for Logger to inject context data: - -=== "handler.test.ts" - - ```typescript - --8<-- "docs/snippets/logger/unitTesting.ts" - ``` - -!!! tip - If you don't want to declare your own dummy Lambda Context, you can use [`ContextExamples.helloworldContext`](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/packages/commons/src/samples/resources/contexts/hello-world.ts#L3-L16) from [`@aws-lambda-powertools/commons`](https://www.npmjs.com/package/@aws-lambda-powertools/commons). - -### Suppress logs with Jest - -When unit testing your code with [Jest](https://jestjs.io) you can use the `POWERTOOLS_DEV` environment variable in conjunction with the Jest `--silent` CLI option to suppress logs from Logger. - -```bash title="Disabling logs while testing with Jest" -export POWERTOOLS_DEV=true && npx jest --silent -``` diff --git a/docs/core/metrics.md b/docs/core/metrics.md deleted file mode 100644 index b8cadbbfe7..0000000000 --- a/docs/core/metrics.md +++ /dev/null @@ -1,447 +0,0 @@ ---- -title: Metrics -description: Core utility ---- - -Metrics creates custom metrics asynchronously by logging metrics to standard output following [Amazon CloudWatch Embedded Metric Format (EMF)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format.html). - -These metrics can be visualized through [Amazon CloudWatch Console](https://console.aws.amazon.com/cloudwatch/). - -## Key features - -* Aggregating up to 100 metrics using a single CloudWatch EMF object (large JSON blob). -* Validating your metrics against common metric definitions mistakes (for example, metric unit, values, max dimensions, max metrics). -* Metrics are created asynchronously by the CloudWatch service. You do not need any custom stacks, and there is no impact to Lambda function latency. -* Creating a one-off metric with different dimensions. - -
- -
- Screenshot of the Amazon CloudWatch Console showing an example of business metrics in the Metrics Explorer -
Metrics showcase - Metrics Explorer
-
- -## Terminologies - -If you're new to Amazon CloudWatch, there are two terminologies you must be aware of before using this utility: - -* **Namespace**. It's the highest level container that will group multiple metrics from multiple services for a given application, for example `ServerlessEcommerce`. -* **Dimensions**. Metrics metadata in key-value format. They help you slice and dice metrics visualization, for example `ColdStart` metric by Payment `service`. -* **Metric**. It's the name of the metric, for example: SuccessfulBooking or UpdatedBooking. -* **Unit**. It's a value representing the unit of measure for the corresponding metric, for example: Count or Seconds. -* **Resolution**. It's a value representing the storage resolution for the corresponding metric. Metrics can be either Standard or High resolution. Read more [here](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Resolution_definition). - -
- -
Metric terminology, visually explained
-
- - -## Getting started - -### Installation - -Install the library in your project: - -```shell -npm install @aws-lambda-powertools/metrics -``` - -### Usage - -The `Metrics` utility must always be instantiated outside of the Lambda handler. In doing this, subsequent invocations processed by the same instance of your function can reuse these resources. This saves cost by reducing function run time. In addition, `Metrics` can track cold start and emit the appropriate metrics. - -=== "handler.ts" - - ```typescript hl_lines="1 3-6" - --8<-- "docs/snippets/metrics/basicUsage.ts" - ``` - -### Utility settings - -The library requires two settings. You can set them as environment variables, or pass them in the constructor. - -These settings will be used across all metrics emitted: - -| Setting | Description | Environment variable | Default | Allowed Values | Example | Constructor parameter | -| -------------------- | ---------------------------------------------------------------- | ------------------------------ | ------------------- | -------------- | ------------------- | --------------------- | -| **Service** | Optionally, sets **service** metric dimension across all metrics | `POWERTOOLS_SERVICE_NAME` | `service_undefined` | Any string | `serverlessAirline` | `serviceName` | -| **Metric namespace** | Logical container where all metrics will be placed | `POWERTOOLS_METRICS_NAMESPACE` | `default_namespace` | Any string | `serverlessAirline` | `default_namespace` | - -!!! tip - Use your application name or main service as the metric namespace to easily group all metrics - -#### Example using AWS Serverless Application Model (SAM) - -The `Metrics` utility is instantiated outside of the Lambda handler. In doing this, the same instance can be used across multiple invocations inside the same execution environment. This allows `Metrics` to be aware of things like whether or not a given invocation had a cold start or not. - -=== "handler.ts" - - ```typescript hl_lines="1 4" - --8<-- "docs/snippets/metrics/sam.ts" - ``` - -=== "template.yml" - - ```yaml hl_lines="9 10" - Resources: - HelloWorldFunction: - Type: AWS::Serverless::Function - Properties: - Runtime: nodejs16.x - Environment: - Variables: - POWERTOOLS_SERVICE_NAME: orders - POWERTOOLS_METRICS_NAMESPACE: serverlessAirline - ``` - -You can initialize Metrics anywhere in your code - It'll keep track of your aggregate metrics in memory. - -### Creating metrics - -You can create metrics using the `addMetric` method, and you can create dimensions for all your aggregate metrics using the `addDimension` method. - -=== "Metrics" - - ```typescript hl_lines="12" - --8<-- "docs/snippets/metrics/createMetrics.ts" - ``` - -=== "Metrics with custom dimensions" - - ```typescript hl_lines="12-13" - --8<-- "docs/snippets/metrics/customDimensions.ts" - ``` - -!!! tip "Autocomplete Metric Units" - Use the `MetricUnit` enum to easily find a supported metric unit by CloudWatch. Alternatively, you can pass the value as a string if you already know them e.g. "Count". - -!!! note "Metrics overflow" - CloudWatch EMF supports a max of 100 metrics per batch. Metrics will automatically propagate all the metrics when adding the 100th metric. Subsequent metrics, e.g. 101th, will be aggregated into a new EMF object, for your convenience. - -!!! warning "Do not create metrics or dimensions outside the handler" - Metrics or dimensions added in the global scope will only be added during cold start. Disregard if that's the intended behavior. - -### Adding high-resolution metrics - -You can create [high-resolution metrics](https://aws.amazon.com/about-aws/whats-new/2023/02/amazon-cloudwatch-high-resolution-metric-extraction-structured-logs/) passing `resolution` as parameter to `addMetric`. - -!!! tip "When is it useful?" - High-resolution metrics are data with a granularity of one second and are very useful in several situations such as telemetry, time series, real-time incident management, and others. - -=== "Metrics with high resolution" - - ```typescript hl_lines="4 20" - --8<-- "docs/snippets/metrics/addHighResolutionMetric.ts" - ``` - -!!! tip "Autocomplete Metric Resolutions" - Use the `MetricResolution` type to easily find a supported metric resolution by CloudWatch. Alternatively, you can pass the allowed values of 1 or 60 as an integer. - -### Adding multi-value metrics - -You can call `addMetric()` with the same name multiple times. The values will be grouped together in an array. - -=== "addMetric() with the same name" - - ```typescript hl_lines="12 14" - --8<-- "docs/snippets/metrics/multiValueMetrics.ts" - ``` -=== "Example CloudWatch Logs excerpt" - - ```json hl_lines="2-5 18-19" - { - "performedActionA": [ - 2, - 1 - ], - "_aws": { - "Timestamp": 1592234975665, - "CloudWatchMetrics": [ - { - "Namespace": "serverlessAirline", - "Dimensions": [ - [ - "service" - ] - ], - "Metrics": [ - { - "Name": "performedActionA", - "Unit": "Count" - } - ] - } - ] - }, - "service": "orders" - } - ``` - -### Adding default dimensions - -You can add default dimensions to your metrics by passing them as parameters in 4 ways: - -* in the constructor -* in the [Middy-compatible](https://github.com/middyjs/middy){target=_blank} middleware -* using the `setDefaultDimensions` method -* in the decorator - -=== "constructor" - - ```typescript hl_lines="6" - --8<-- "docs/snippets/metrics/defaultDimensions.ts" - ``` - -=== "Middy middleware" - - !!! tip "Using Middy for the first time?" - You can install Middy by running `npm i @middy/core`. - Learn more about [its usage and lifecycle in the official Middy documentation](https://middy.js.org/docs/intro/getting-started){target="_blank"}. - - ```typescript hl_lines="24-26" - --8<-- "docs/snippets/metrics/defaultDimensionsMiddy.ts" - ``` - -=== "setDefaultDimensions method" - - ```typescript hl_lines="7" - --8<-- "docs/snippets/metrics/setDefaultDimensions.ts" - ``` - -=== "with logMetrics decorator" - - ```typescript hl_lines="12" - --8<-- "docs/snippets/metrics/defaultDimensionsDecorator.ts" - ``` - - 1. Binding your handler method allows your handler to access `this` within the class methods. - -If you'd like to remove them at some point, you can use the `clearDefaultDimensions` method. - -### Flushing metrics - -As you finish adding all your metrics, you need to serialize and "flush them" by calling `publishStoredMetrics()`. This will print the metrics to standard output. - -You can flush metrics automatically using one of the following methods: - -* manually -* [Middy-compatible](https://github.com/middyjs/middy){target=_blank} middleware -* class decorator - -Using the Middy middleware or decorator will **automatically validate, serialize, and flush** all your metrics. During metrics validation, if no metrics are provided then a warning will be logged, but no exception will be thrown. -If you do not use the middleware or decorator, you have to flush your metrics manually. - -!!! warning "Metric validation" - If metrics are provided, and any of the following criteria are not met, a **`RangeError`** error will be thrown: - - * Maximum of 29 dimensions - * Namespace is set only once (or none) - * Metric units must be [supported by CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) - -#### Middy middleware - -See below an example of how to automatically flush metrics with the Middy-compatible `logMetrics` middleware. - -=== "handler.ts" - - ```typescript hl_lines="20" - --8<-- "docs/snippets/metrics/middy.ts" - ``` - -=== "Example CloudWatch Logs excerpt" - - ```json - { - "successfulBooking": 1.0, - "_aws": { - "Timestamp": 1592234975665, - "CloudWatchMetrics": [{ - "Namespace": "serverlessAirline", - "Dimensions": [ - [ "service" ] - ], - "Metrics": [{ - "Name": "successfulBooking", - "Unit": "Count" - }] - }] - }, - "service": "orders" - } - ``` - -#### Using the class decorator - -!!! info - Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, check the [middleware](#using-a-middleware) or [manual](#manually) method sections instead. - See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. - -The `logMetrics` decorator of the metrics utility can be used when your Lambda handler function is implemented as method of a Class. - -=== "handler.ts" - - ```typescript hl_lines="10" - --8<-- "docs/snippets/metrics/decorator.ts" - ``` - - 1. Binding your handler method allows your handler to access `this` within the class methods. - -=== "Example CloudWatch Logs excerpt" - - ```json - { - "successfulBooking": 1.0, - "_aws": { - "Timestamp": 1592234975665, - "CloudWatchMetrics": [{ - "Namespace": "successfulBooking", - "Dimensions": [ - [ "service" ] - ], - "Metrics": [{ - "Name": "successfulBooking", - "Unit": "Count" - }] - }] - }, - "service": "orders" - } - ``` - -#### Manually - -You can manually flush the metrics with `publishStoredMetrics` as follows: - -!!! warning - Metrics, dimensions and namespace validation still applies. - -=== "handler.ts" - - ```typescript hl_lines="13" - --8<-- "docs/snippets/metrics/manual.ts" - ``` - -=== "Example CloudWatch Logs excerpt" - - ```json - { - "successfulBooking": 1.0, - "_aws": { - "Timestamp": 1592234975665, - "CloudWatchMetrics": [{ - "Namespace": "successfulBooking", - "Dimensions": [ - [ "service" ] - ], - "Metrics": [{ - "Name": "successfulBooking", - "Unit": "Count" - }] - }] - }, - "service": "orders" - } - ``` - -#### Throwing a RangeError when no metrics are emitted - -If you want to ensure that at least one metric is emitted before you flush them, you can use the `throwOnEmptyMetrics` parameter and pass it to the middleware or decorator: - -=== "handler.ts" - - ```typescript hl_lines="21" - --8<-- "docs/snippets/metrics/throwOnEmptyMetrics.ts" - ``` - -### Capturing a cold start invocation as metric - -You can optionally capture cold start metrics with the `logMetrics` middleware or decorator via the `captureColdStartMetric` param. - -=== "Middy Middleware" - - ```typescript hl_lines="21" - --8<-- "docs/snippets/metrics/captureColdStartMetricMiddy.ts" - ``` - -=== "logMetrics decorator" - - ```typescript hl_lines="10" - --8<-- "docs/snippets/metrics/captureColdStartMetricDecorator.ts" - ``` - -If it's a cold start invocation, this feature will: - -* Create a separate EMF blob solely containing a metric named `ColdStart` -* Add the `function_name`, `service` and default dimensions - -This has the advantage of keeping cold start metric separate from your application metrics, where you might have unrelated dimensions. - -!!! info "We do not emit 0 as a value for the ColdStart metric for cost-efficiency reasons. [Let us know](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=feature-request%2C+triage&template=feature_request.md&title=) if you'd prefer a flag to override it." - -## Advanced - -### Adding metadata - -You can add high-cardinality data as part of your Metrics log with the `addMetadata` method. This is useful when you want to search highly contextual information along with your metrics in your logs. - -!!! warning - **This will not be available during metrics visualization** - Use **dimensions** for this purpose - -=== "handler.ts" - - ```typescript hl_lines="18" - --8<-- "docs/snippets/metrics/addMetadata.ts" - ``` - -=== "Example CloudWatch Logs excerpt" - - ```json hl_lines="31" - { - "successfulBooking": 1.0, - "_aws": { - "Timestamp": 1592234975665, - "CloudWatchMetrics": [{ - "Namespace": "serverlessAirline", - "Dimensions": [ - [ "service" ] - ], - "Metrics": [{ - "Namespace": "exampleApplication", - "Dimensions": [ - [ "service" ] - ], - "Metrics": [{ - "Name": "successfulBooking", - "Unit": "Count" - }] - }] - }] - }, - "service": "orders", - "bookingId": "7051cd10-6283-11ec-90d6-0242ac120003" - } - ``` - -### Single metric with different dimensions - -CloudWatch EMF uses the same dimensions across all your metrics. Use `singleMetric` if you have a metric that should have different dimensions. - -!!! info - For cost-efficiency, this feature would be used sparsely since you [pay for unique metric](https://aws.amazon.com/cloudwatch/pricing). Keep the following formula in mind: - - **unique metric = (metric_name + dimension_name + dimension_value)** - -=== "Middy Middleware" - - ```typescript hl_lines="21 23-24" - --8<-- "docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts" - ``` - -=== "logMetrics decorator" - - ```typescript hl_lines="16 18-19" - --8<-- "docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts" - ``` - - 1. Binding your handler method allows your handler to access `this` within the class methods. diff --git a/docs/core/tracer.md b/docs/core/tracer.md deleted file mode 100644 index 774ad26f30..0000000000 --- a/docs/core/tracer.md +++ /dev/null @@ -1,325 +0,0 @@ ---- -title: Tracer -description: Core utility ---- - -Tracer is an opinionated thin wrapper for [AWS X-Ray SDK for Node.js](https://github.com/aws/aws-xray-sdk-node). - -## Key features - -* Auto-capturing cold start and service name as annotations, and responses or full exceptions as metadata. -* Automatically tracing HTTP(S) clients and generating segments for each request. -* Supporting tracing functions via decorators, middleware, and manual instrumentation. -* Supporting tracing AWS SDK v2 and v3 via AWS X-Ray SDK for Node.js. -* Auto-disable tracing when not running in the Lambda environment. - -
- -
- Screenshot of the Amazon CloudWatch Console showing an example of segments and subsegments generated and with annotations set for the handler -
Tracer showcase - Handler Annotations
-
- -## Getting started - -### Installation - -Install the library in your project: - -```shell -npm install @aws-lambda-powertools/tracer -``` - -### Usage - -The `Tracer` utility must always be instantiated outside of the Lambda handler. In doing this, subsequent invocations processed by the same instance of your function can reuse these resources. This saves cost by reducing function run time. In addition, `Tracer` can track cold start and annotate the traces accordingly. - -=== "handler.ts" - - ```typescript hl_lines="1 3" - --8<-- "docs/snippets/tracer/basicUsage.ts" - ``` - -### Utility settings - -The library has three optional settings. You can set them as environment variables, or pass them in the constructor: - -| Setting | Description | Environment variable | Default | Allowed Values | Example | Constructor parameter | -| -------------------------- | --------------------------------------------------------------------- | ------------------------------------------ | ------------------- | ----------------- | ------------------- | ---------------------- | -| **Service name** | Sets an annotation with the **name of the service** across all traces | `POWERTOOLS_SERVICE_NAME` | `service_undefined` | Any string | `serverlessAirline` | `serviceName` | -| **Tracing enabled** | Enables or disables tracing. | `POWERTOOLS_TRACE_ENABLED` | `true ` | `true` or `false` | `false` | `enabled` | -| **Capture HTTPs Requests** | Defines whether HTTPs requests will be traced or not | `POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS` | `true` | `true` or `false` | `false` | `captureHTTPsRequests` | -| **Capture Response** | Defines whether functions responses are serialized as metadata | `POWERTOOLS_TRACER_CAPTURE_RESPONSE` | `true` | `true` or `false` | `false` | `captureResult` | -| **Capture Errors** | Defines whether functions errors are serialized as metadata | `POWERTOOLS_TRACER_CAPTURE_ERROR` | `true` | `true` or `false` | `false` | N/A | - -!!! note - Before your use this utility, your AWS Lambda function must have [Active Tracing enabled](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html) as well as [have permissions](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html#services-xray-permissions) to send traces to AWS X-Ray - -#### Example using AWS Serverless Application Model (SAM) - -The `Tracer` utility is instantiated outside of the Lambda handler. In doing this, the same instance can be used across multiple invocations inside the same execution environment. This allows `Tracer` to be aware of things like whether or not a given invocation had a cold start or not. - -=== "handler.ts" - - ```typescript hl_lines="1 4" - --8<-- "docs/snippets/tracer/sam.ts" - ``` - -=== "template.yml" - - ```yaml hl_lines="6 9" - Resources: - HelloWorldFunction: - Type: AWS::Serverless::Function - Properties: - Runtime: nodejs18.x - Tracing: Active - Environment: - Variables: - POWERTOOLS_SERVICE_NAME: serverlessAirline - ``` - -### Lambda handler - -You can quickly start by importing the `Tracer` class, initialize it outside the Lambda handler, and instrument your function. - -=== "Middy Middleware" - - !!! tip "Using Middy for the first time?" - You can install Middy by running `npm i @middy/core`. - Learn more about [its usage and lifecycle in the official Middy documentation](https://middy.js.org/docs/intro/getting-started){target="_blank"}. - - ```typescript hl_lines="1 14 16" - --8<-- "docs/snippets/tracer/middy.ts" - ``` - - 1. Using Middy for the first time? You can install Middy by running `npm i @middy/core`. - Learn more about [its usage and lifecycle in the official Middy documentation](https://github.com/middyjs/middy#usage){target="_blank"}. - -=== "Decorator" - - !!! info - Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, use the middleware or the manual instrumentations instead. - See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. - - ```typescript hl_lines="8" - --8<-- "docs/snippets/tracer/decorator.ts" - ``` - - 1. Binding your handler method allows your handler to access `this`. - -=== "Manual" - - ```typescript hl_lines="9-15 18-19 23 26 29-34" - --8<-- "docs/snippets/tracer/manual.ts" - ``` - - -When using the `captureLambdaHandler` decorator or middleware, Tracer performs these additional tasks to ease operations: - -* Handles the lifecycle of the subsegment -* Creates a `ColdStart` annotation to easily filter traces that have had an initialization overhead -* Creates a `Service` annotation to easily filter traces that have a specific service name -* Captures any response, or full exceptions generated by the handler, and include them as tracing metadata - -### Annotations & Metadata - -**Annotations** are key-values associated with traces and indexed by AWS X-Ray. You can use them to filter traces and to create [Trace Groups](https://aws.amazon.com/about-aws/whats-new/2018/11/aws-xray-adds-the-ability-to-group-traces/) to slice and dice your transactions. - -**Metadata** are key-values also associated with traces but not indexed by AWS X-Ray. You can use them to add additional context for an operation using any native object. - -=== "Annotations" - You can add annotations using `putAnnotation` method. - - ```typescript hl_lines="9" - --8<-- "docs/snippets/tracer/putAnnotation.ts" - ``` -=== "Metadata" - You can add metadata using `putMetadata` method. - - ```typescript hl_lines="9-11" - --8<-- "docs/snippets/tracer/putMetadata.ts" - ``` - -
- Screenshot of the Amazon CloudWatch Console showing an example of segments and subsegments generated and with metadata set for the handler -
Tracer showcase - Handler Metadata
-
- -### Methods - -You can trace other Class methods using the `captureMethod` decorator or any arbitrary function using manual instrumentation. - -=== "Decorator" - - ```typescript hl_lines="8" - --8<-- "docs/snippets/tracer/captureMethodDecorator.ts" - ``` - - 1. You can set a custom name for the subsegment by passing `subSegmentName` to the decorator, like: `@tracer.captureMethod({ subSegmentName: '### myCustomMethod' })`. - 2. Binding your handler method allows your handler to access `this`. - -=== "Manual" - - ```typescript hl_lines="6-12 18 21 25-30" - --8<-- "docs/snippets/tracer/captureMethodManual.ts" - ``` - - -### Patching AWS SDK clients - -Tracer can patch any [AWS SDK clients](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-awssdkclients.html) and create traces when your application makes calls to AWS services. - -!!! info - The following snippet assumes you are using the [**AWS SDK v3** for JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) - -You can patch any AWS SDK clients by calling the `captureAWSv3Client` method: - -=== "index.ts" - - ```typescript hl_lines="5" - --8<-- "docs/snippets/tracer/captureAWSv3.ts" - ``` - -!!! info - The following two snippets assume you are using the [**AWS SDK v2** for JavaScript](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/welcome.html) - -You can patch all AWS SDK v2 clients by calling the `captureAWS` method: - -=== "index.ts" - - ```typescript hl_lines="5" - --8<-- "docs/snippets/tracer/captureAWSAll.ts" - ``` - -If you're looking to shave a few microseconds, or milliseconds depending on your function memory configuration, you can patch only specific AWS SDK v2 clients using `captureAWSClient`: - -=== "index.ts" - - ```typescript hl_lines="5" - --8<-- "docs/snippets/tracer/captureAWS.ts" - ``` - -### Tracing HTTP requests - -When your function makes calls to HTTP APIs, Tracer automatically traces those calls and add the API to the service graph as a downstream service. - -You can opt-out from this feature by setting the **`POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS=false`** environment variable or by passing the `captureHTTPSRequests: false` option to the `Tracer` constructor. - -!!! info - The following snippet shows how to trace [axios](https://www.npmjs.com/package/axios) requests, but you can use any HTTP client library built on top of [http](https://nodejs.org/api/http.html) or [https](https://nodejs.org/api/https.html). - Support to 3rd party HTTP clients is provided on a best effort basis. - -=== "index.ts" - - ```typescript hl_lines="2" - --8<-- "docs/snippets/tracer/captureHTTP.ts" - ``` - - 1. You can install the [axios](https://www.npmjs.com/package/axios) package using `npm i axios` -=== "Example Raw X-Ray Trace excerpt" - - ```json hl_lines="6 9 12-21" - { - "id": "22883fbc730e3a0b", - "name": "## index.handler", - "start_time": 1647956168.22749, - "end_time": 1647956169.0679862, - "subsegments": [ - { - "id": "ab82ab2b7d525d8f", - "name": "httpbin.org", - "start_time": 1647956168.407, - "end_time": 1647956168.945, - "http": { - "request": { - "url": "https://httpbin.org/status/200", - "method": "GET" - }, - "response": { - "status": 200, - "content_length": 0 - } - }, - "namespace": "remote" - } - ] - } - ``` - -## Advanced - -### Disabling response auto-capture - -Use **`POWERTOOLS_TRACER_CAPTURE_RESPONSE=false`** environment variable to instruct Tracer **not** to serialize function responses as metadata. - -!!! info "This is commonly useful in three scenarios" - - 1. You might **return sensitive** information you don't want it to be added to your traces - 2. You might manipulate **streaming objects that can be read only once**; this prevents subsequent calls from being empty - 3. You might return **more than 64K** of data _e.g., `message too long` error_ - -Alternatively, use the `captureResponse: false` option in both `tracer.captureLambdaHandler()` and `tracer.captureMethod()` decorators, or use the same option in the Middy `captureLambdaHander` middleware to instruct Tracer **not** to serialize function responses as metadata. - -=== "method.ts" - - ```typescript hl_lines="7" - --8<-- "docs/snippets/tracer/disableCaptureResponseMethod.ts" - ``` - -=== "handler.ts" - - ```typescript hl_lines="7" - --8<-- "docs/snippets/tracer/disableCaptureResponseHandler.ts" - ``` - -=== "middy.ts" - - ```typescript hl_lines="17" - --8<-- "docs/snippets/tracer/disableCaptureResponseMiddy.ts" - ``` - -### Disabling errors auto-capture - -Use **`POWERTOOLS_TRACER_CAPTURE_ERROR=false`** environment variable to instruct Tracer **not** to serialize errors as metadata. - -!!! info "Commonly useful in one scenario" - - 1. You might **return sensitive** information from errors, stack traces you might not control - -### Access AWS X-Ray Root Trace ID - -Tracer exposes a `getRootXrayTraceId()` method that allows you to retrieve the [AWS X-Ray Root Trace ID](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces) corresponds to the current function execution. - -!!! info "This is commonly useful in two scenarios" - - 1. By including the root trace id in your response, consumers can use it to correlate requests - 2. You might want to surface the root trace id to your end users so that they can reference it while contacting customer service - -=== "index.ts" - - ```typescript hl_lines="11" - --8<-- "docs/snippets/tracer/accessRootTraceId.ts" - ``` - -### Escape hatch mechanism - -You can use `tracer.provider` attribute to access all methods provided by the [AWS X-Ray SDK](https://docs.aws.amazon.com/xray-sdk-for-nodejs/latest/reference/AWSXRay.html). - -This is useful when you need a feature available in X-Ray that is not available in the Tracer utility, for example [SQL queries tracing](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-sqlclients.html), or [a custom logger](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-configuration.html#xray-sdk-nodejs-configuration-logging). - -=== "index.ts" - - ```typescript hl_lines="7" - --8<-- "docs/snippets/tracer/escapeHatch.ts" - ``` - -## Testing your code - -Tracer is disabled by default when not running in the AWS Lambda environment - This means no code changes or environment variables to be set. - -## Tips - -* Use annotations on key operations to slice and dice traces, create unique views, and create metrics from it via Trace Groups -* Use a namespace when adding metadata to group data more easily -* Annotations and metadata are added to the currently open subsegment. If you want them in a specific subsegment, [create one](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-subsegments.html#xray-sdk-nodejs-subsegments-lambda) via the escape hatch mechanism diff --git a/docs/diagram_src/.gitignore b/docs/diagram_src/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index b5a0410992..0000000000 --- a/docs/index.md +++ /dev/null @@ -1,347 +0,0 @@ ---- -title: Homepage -description: AWS Lambda Powertools for TypeScript ---- - -Powertools is a developer toolkit to implement Serverless [best practices and increase developer velocity](#features). - -You can use Powertools in both TypeScript and JavaScript code bases. - -???+ tip - Powertools is also available for [Python](https://awslabs.github.io/aws-lambda-powertools-python/){target="_blank"}, [Java](https://awslabs.github.io/aws-lambda-powertools-java/){target="_blank"}, and [.NET](https://awslabs.github.io/aws-lambda-powertools-dotnet/){target="_blank"} - -??? hint "Support this project by becoming a reference customer, sharing your work, or using Layers :heart:" - - You can choose to support us in three ways: - - 1) [**Become a reference customer**](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E). This gives us permission to list your company in our documentation. - - 2) [**Share your work**](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=community-content&template=share_your_work.yml&title=%5BI+Made+This%5D%3A+%3CTITLE%3E). Blog posts, video, sample projects you used Powertools! - - 3) Use [**Lambda Layers**](#lambda-layer), if possible. This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Lambda Powertools languages. - - When using Layers, you can add Lambda Powertools as a `devDependency` to not impact the development process. - -## Install - -You can install Powertools using one of the following options: - -* **Lambda Layer**: [**arn:aws:lambda:{region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11**](#){: .copyMe}:clipboard: -* **npm**: [`npm install @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics @aws-lambda-powertools/logger`](#){: .copyMe}:clipboard: - -### Lambda Layer - -??? warning "As of now, Container Image deployment (OCI) or inline Lambda functions do not support Lambda Layers" - -[Lambda Layer](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html){target="_blank"} is a .zip file archive that can contain additional code, pre-packaged dependencies, data, or configuration files. Layers promote code sharing and separation of responsibilities so that you can iterate faster on writing business logic. - -You can include Lambda Powertools Lambda Layer using [AWS Lambda Console](https://docs.aws.amazon.com/lambda/latest/dg/invocation-layers.html#invocation-layers-using){target="_blank"}, or your preferred deployment framework. - -??? note "Click to expand and copy any regional Lambda Layer ARN" - - | Region | Layer ARN | - | ---------------- | ------------------------------------------------------------------------------------------------------------ | - | `us-east-1` | [arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `us-east-2` | [arn:aws:lambda:us-east-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `us-west-1` | [arn:aws:lambda:us-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `us-west-2` | [arn:aws:lambda:us-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-south-1` | [arn:aws:lambda:ap-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-east-1` | [arn:aws:lambda:ap-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-southeast-3` | [arn:aws:lambda:ap-southeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-southeast-4` | [arn:aws:lambda:ap-southeast-4:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-central-1` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-central-2` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-west-1` | [arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-west-2` | [arn:aws:lambda:eu-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-west-3` | [arn:aws:lambda:eu-west-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-north-1` | [arn:aws:lambda:eu-north-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-south-1` | [arn:aws:lambda:eu-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-south-2` | [arn:aws:lambda:eu-south-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ca-central-1` | [arn:aws:lambda:ca-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `sa-east-1` | [arn:aws:lambda:sa-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `af-south-1` | [arn:aws:lambda:af-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `me-south-1` | [arn:aws:lambda:me-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - -??? note "Click to expand and copy code snippets for popular frameworks" - - === "SAM" - - ```yaml hl_lines="5" - MyLambdaFunction: - Type: AWS::Serverless::Function - Properties: - Layers: - - !Sub arn:aws:lambda:${AWS::Region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 - ``` - - If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer: - - ```yaml hl_lines="5-14" - MyLambdaFunction: - Type: AWS::Serverless::Function - Properties: - ... - Metadata: - # Manage esbuild properties - BuildMethod: esbuild - BuildProperties: - Minify: true - External: - - '@aws-lambda-powertools/commons' - - '@aws-lambda-powertools/logger' - - '@aws-lambda-powertools/metrics' - - '@aws-lambda-powertools/tracer' - ``` - - Check the [documentation](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-build-typescript.html) for more details. - - === "Serverless framework" - - ```yaml hl_lines="5" - functions: - hello: - handler: lambda_function.lambda_handler - layers: - - arn:aws:lambda:${aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 - ``` - - If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer: - - ```yaml - custom: - esbuild: - external: - - '@aws-lambda-powertools/commons' - - '@aws-lambda-powertools/logger' - - '@aws-lambda-powertools/metrics' - - '@aws-lambda-powertools/tracer' - ``` - - Check the [documentation](https://floydspace.github.io/serverless-esbuild/) for more details. - - === "CDK" - - ```typescript hl_lines="13 19" - import * as cdk from 'aws-cdk-lib'; - import { Construct } from 'constructs'; - import * as lambda from 'aws-cdk-lib/aws-lambda'; - - export class SampleFunctionWithLayer extends Construct { - constructor(scope: Construct, id: string) { - super(scope, id); - - // Create a Layer with AWS Lambda Powertools for TypeScript - const powertoolsLayer = lambda.LayerVersion.fromLayerVersionArn( - this, - 'PowertoolsLayer', - `arn:aws:lambda:${cdk.Stack.of(this).region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11` - ); - - new lambda.Function(this, 'Function', { - runtime: lambda.Runtime.NODEJS_16_X, - // Add the Layer to a Lambda function - layers: [powertoolsLayer], - code: lambda.Code.fromInline(`...`), - handler: 'index.handler', - }); - } - } - ``` - - If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer: - - ```typescript - new awsLambdaNodejs.NodejsFunction(this, 'Function', { - ... - bundling: { - externalModules: [ - '@aws-lambda-powertools/commons', - '@aws-lambda-powertools/logger', - '@aws-lambda-powertools/metrics', - '@aws-lambda-powertools/tracer', - ], - } - }); - ``` - - Check the [documentation](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda_nodejs.BundlingOptions.html#externalmodules) for more details. - - === "Terraform" - - ```terraform hl_lines="18" - terraform { - required_version = "~> 1.0.5" - required_providers { - aws = "~> 3.50.0" - } - } - - provider "aws" { - region = "{aws::region}" - } - - resource "aws_lambda_function" "test_lambda" { - filename = "lambda_function_payload.zip" - function_name = "lambda_function_name" - role = ... - handler = "index.handler" - runtime = "nodejs16.x" - layers = ["arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11"] - source_code_hash = filebase64sha256("lambda_function_payload.zip") - } - ``` - - === "Pulumi" - - ```typescript hl_lines="11" - import * as pulumi from '@pulumi/pulumi'; - import * as aws from '@pulumi/aws'; - - const role = new aws.iam.Role('role', { - assumeRolePolicy: aws.iam.assumeRolePolicyForPrincipal(aws.iam.Principals.LambdaPrincipal), - managedPolicyArns: [aws.iam.ManagedPolicies.AWSLambdaBasicExecutionRole] - }); - - const lambdaFunction = new aws.lambda.Function('function', { - layers: [ - pulumi.interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11` - ], - code: new pulumi.asset.FileArchive('lambda_function_payload.zip'), - tracingConfig: { - mode: 'Active' - }, - runtime: aws.lambda.Runtime.NodeJS16dX, - handler: 'index.handler', - role: role.arn, - architectures: ['x86_64'] - }); - ``` - - === "Amplify" - - ```zsh hl_lines="9 19" - # Create a new one with the layer - ❯ amplify add function - ? Select which capability you want to add: Lambda function (serverless function) - ? Provide an AWS Lambda function name: - ? Choose the runtime that you want to use: NodeJS - ? Do you want to configure advanced settings? Yes - ... - ? Do you want to enable Lambda layers for this function? Yes - ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 - ❯ amplify push -y - - # Updating an existing function and add the layer - ❯ amplify update function - ? Select the Lambda function you want to update test2 - General information - - Name: - ? Which setting do you want to update? Lambda layers configuration - ? Do you want to enable Lambda layers for this function? Yes - ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 - ? Do you want to edit the local lambda function now? No - ``` - -!!! info "Using Powertools via Lambda Layer? Simply add the Powertools utilities you are using as a development dependency" - -??? question "Want to inspect the contents of the Layer?" - Change {region} to your AWS region, e.g. `eu-west-1` - - ```bash title="AWS CLI" - aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 --region {region} - ``` - - The pre-signed URL to download this Lambda Layer will be within `Location` key. - -## Instrumentation - -You can instrument your code with Powertools in three different ways: - -* **Middy** middleware. It is the best choice if your existing code base relies on the [Middy](https://middy.js.org/docs/) middleware engine. Powertools offers compatible Middy middleware to make this integration seamless. -* **Method decorator**. Use [TypeScript method decorators](https://www.typescriptlang.org/docs/handbook/decorators.html#method-decorators) if you prefer writing your business logic using [TypeScript Classes](https://www.typescriptlang.org/docs/handbook/classes.html). If you aren’t using Classes, this requires the most significant refactoring. -* **Manually**. It provides the most granular control. It’s the most verbose approach, with the added benefit of no additional dependency and no refactoring to TypeScript Classes. - -The examples in this documentation will feature all the approaches described above, when applicable. - -## Examples - -The project's repository includes examples of how to instrument your functions both in AWS CDK and AWS SAM: - -* [AWS CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk){target="_blank"} -* [AWS SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam){target="_blank"} - -If instead you want to see Powertools for TypeScript in a slightly more complex use case, check the [Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo). You can find instructions on how to deploy and load test this application in the [repository](https://github.com/aws-samples/serverless-typescript-demo). - -## Features - -Core utilities such as Tracing, Logging, and Metrics will be available across all Lambda Powertools languages. Additional utilities are subjective to each language ecosystem and customer demand. - -| Utility | Description | -| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | -| [Tracer](./core/tracer.md) | Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions | -| [Logger](./core/logger.md) | Structured logging made easier, and a middleware to enrich structured logging with key Lambda context details | -| [Metrics](./core/metrics.md) | Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) | -| [Parameters (beta)](./utilities/parameters.md) | High-level functions to retrieve one or more parameters from AWS SSM Parameter Store, AWS Secrets Manager, AWS AppConfig, and Amazon DynamoDB | - -## Environment variables - -???+ info - Explicit parameters take precedence over environment variables - -| Environment variable | Description | Utility | Default | -| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------- | -| **POWERTOOLS_SERVICE_NAME** | Sets service name used for tracing namespace, metrics dimension and structured logging | All | `service_undefined` | -| **POWERTOOLS_METRICS_NAMESPACE** | Sets namespace used for metrics | [Metrics](./core/metrics) | `default_namespace` | -| **POWERTOOLS_TRACE_ENABLED** | Explicitly disables tracing | [Tracer](./core/tracer) | `true` | -| **POWERTOOLS_TRACER_CAPTURE_RESPONSE** | Captures Lambda or method return as metadata. | [Tracer](./core/tracer) | `true` | -| **POWERTOOLS_TRACER_CAPTURE_ERROR** | Captures Lambda or method exception as metadata. | [Tracer](./core/tracer) | `true` | -| **POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS** | Captures HTTP(s) requests as segments. | [Tracer](./core/tracer) | `true` | -| **POWERTOOLS_LOGGER_LOG_EVENT** | Logs incoming event | [Logger](./core/logger) | `false` | -| **POWERTOOLS_LOGGER_SAMPLE_RATE** | Debug log sampling | [Logger](./core/logger) | `0` | -| **POWERTOOLS_DEV** | Increase JSON indentation to ease debugging when running functions locally or in a non-production environment | [Logger](./core/logger) | `false` | -| **LOG_LEVEL** | Sets logging level | [Logger](./core/logger) | `INFO` | -| **POWERTOOLS_PARAMETERS_MAX_AGE** | Adjust how long values are kept in cache (in seconds) | [Parameters](./utilities/parameters) | `5` | -| **POWERTOOLS_PARAMETERS_SSM_DECRYPT** | Sets whether to decrypt or not values retrieved from AWS Systems Manager Parameters Store | [Parameters](./utilities/parameters) | `false` | - -Each Utility page provides information on example values and allowed values. - -## How to support AWS Lambda Powertools for TypeScript? - -### Becoming a reference customer - -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a [Support Lambda Powertools (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E){target="_blank"} issue. - -The following companies, among others, use Powertools: - -* [Hashnode](https://hashnode.com/){target="_blank"} -* [Trek10](https://www.trek10.com/){target="_blank"} -* [Elva](https://elva-group.com){target="_blank"} -* [globaldatanet](https://globaldatanet.com/){target="_blank"} -* [Bailey Nelson](https://www.baileynelson.com.au){target="_blank"} -* [Perfect Post](https://www.perfectpost.fr){target="_blank"} -* [Sennder](https://sennder.com/){target="_blank"} - -### Sharing your work - -Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools [here](./we_made_this). - -### Using Lambda Layer - -This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When [using Layers](#lambda-layer), you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process. - -## Tenets - -These are our core principles to guide our decision making. - -* **AWS Lambda only**. We optimise for AWS Lambda function environments and supported runtimes only. Utilities might work with web frameworks and non-Lambda environments, though they are not officially supported. -* **Eases the adoption of best practices**. The main priority of the utilities is to facilitate best practices adoption, as defined in the AWS Well-Architected Serverless Lens; all other functionality is optional. -* **Keep it lean**. Additional dependencies are carefully considered for security and ease of maintenance, and prevent negatively impacting startup time. -* **We strive for backwards compatibility**. New features and changes should keep backwards compatibility. If a breaking change cannot be avoided, the deprecation and migration process should be clearly defined. -* **We work backwards from the community**. We aim to strike a balance of what would work best for 80% of customers. Emerging practices are considered and discussed via Requests for Comment (RFCs) -* **Progressive**. Utilities are designed to be incrementally adoptable for customers at any stage of their Serverless journey. They follow language idioms and their community’s common practices. - diff --git a/docs/javascript/aws-amplify.min.js b/docs/javascript/aws-amplify.min.js deleted file mode 100644 index f19b36a50f..0000000000 --- a/docs/javascript/aws-amplify.min.js +++ /dev/null @@ -1,108 +0,0 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("aws_amplify",[],t):"object"==typeof exports?exports.aws_amplify=t():e.aws_amplify=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=157)}([function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return u})),n.d(t,"f",(function(){return c})),n.d(t,"g",(function(){return f})),n.d(t,"h",(function(){return l})),n.d(t,"c",(function(){return h})),n.d(t,"e",(function(){return g})),n.d(t,"d",(function(){return m}));var r=n(1),i=function(){var e=[],t=[],n=new Set,a=function(n){return e.forEach((function(e){n.add(e.middleware,Object(r.__assign)({},e))})),t.forEach((function(e){n.addRelativeTo(e.middleware,Object(r.__assign)({},e))})),n},u=function(e){var t=[];return e.before.forEach((function(e){0===e.before.length&&0===e.after.length?t.push(e):t.push.apply(t,Object(r.__spread)(u(e)))})),t.push(e),e.after.reverse().forEach((function(e){0===e.before.length&&0===e.after.length?t.push(e):t.push.apply(t,Object(r.__spread)(u(e)))})),t},c=function(){var n,i=[],a=[],c={};return e.forEach((function(e){var t=Object(r.__assign)(Object(r.__assign)({},e),{before:[],after:[]});t.name&&(c[t.name]=t),i.push(t)})),t.forEach((function(e){var t=Object(r.__assign)(Object(r.__assign)({},e),{before:[],after:[]});t.name&&(c[t.name]=t),a.push(t)})),a.forEach((function(e){if(e.toMiddleware){var t=c[e.toMiddleware];if(void 0===t)throw new Error(e.toMiddleware+" is not found when adding "+(e.name||"anonymous")+" middleware "+e.relation+" "+e.toMiddleware);"after"===e.relation&&t.after.push(e),"before"===e.relation&&t.before.push(e)}})),(n=i,n.sort((function(e,t){return o[t.step]-o[e.step]||s[t.priority||"normal"]-s[e.priority||"normal"]}))).map(u).reduce((function(e,t){return e.push.apply(e,Object(r.__spread)(t)),e}),[]).map((function(e){return e.middleware}))},f={add:function(t,i){void 0===i&&(i={});var o=i.name,s=Object(r.__assign)({step:"initialize",priority:"normal",middleware:t},i);if(o){if(n.has(o))throw new Error("Duplicate middleware name '"+o+"'");n.add(o)}e.push(s)},addRelativeTo:function(e,i){var o=i.name,s=Object(r.__assign)({middleware:e},i);if(o){if(n.has(o))throw new Error("Duplicated middleware name '"+o+"'");n.add(o)}t.push(s)},clone:function(){return a(i())},use:function(e){e.applyToStack(f)},remove:function(r){return"string"==typeof r?function(r){var i=!1,o=function(e){return!e.name||e.name!==r||(i=!0,n.delete(r),!1)};return e=e.filter(o),t=t.filter(o),i}(r):function(r){var i=!1,o=function(e){return e.middleware!==r||(i=!0,e.name&&n.delete(e.name),!1)};return e=e.filter(o),t=t.filter(o),i}(r)},removeByTag:function(r){var i=!1,o=function(e){var t=e.tags,o=e.name;return!t||!t.includes(r)||(o&&n.delete(o),i=!0,!1)};return e=e.filter(o),t=t.filter(o),i},concat:function(e){var t=a(i());return t.use(e),t},applyToStack:a,resolve:function(e,t){var n,i;try{for(var o=Object(r.__values)(c().reverse()),s=o.next();!s.done;s=o.next()){e=(0,s.value)(e,t)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return e}};return f},o={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},s={high:3,normal:2,low:1},a=function(){function e(e){this.middlewareStack=i(),this.config=e}return e.prototype.send=function(e,t,n){var r="function"!=typeof t?t:void 0,i="function"==typeof t?t:n,o=e.resolveMiddleware(this.middlewareStack,this.config,r);if(!i)return o(e).then((function(e){return e.output}));o(e).then((function(e){return i(null,e.output)}),(function(e){return i(e)})).catch((function(){}))},e.prototype.destroy=function(){this.config.requestHandler.destroy&&this.config.requestHandler.destroy()},e}(),u=function(){this.middlewareStack=i()};function c(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16)}))}var f=function(e){return Array.isArray(e)?e:[e]},l=function(e){for(var t in e)e.hasOwnProperty(t)&&void 0!==e[t]["#text"]?e[t]=e[t]["#text"]:"object"==typeof e[t]&&null!==e[t]&&(e[t]=l(e[t]));return e},d=function(){var e=Object.getPrototypeOf(this).constructor,t=Function.bind.apply(String,Object(r.__spread)([null],arguments)),n=new t;return Object.setPrototypeOf(n,e.prototype),n};d.prototype=Object.create(String.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(d,String);var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.__extends)(t,e),t.prototype.deserializeJSON=function(){return JSON.parse(e.prototype.toString.call(this))},t.prototype.toJSON=function(){return e.prototype.toString.call(this)},t.fromObject=function(e){return e instanceof t?e:new t(e instanceof String||"string"==typeof e?e:JSON.stringify(e))},t}(d),p=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],v=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function g(e){var t=e.getUTCFullYear(),n=e.getUTCMonth(),r=e.getUTCDay(),i=e.getUTCDate(),o=e.getUTCHours(),s=e.getUTCMinutes(),a=e.getUTCSeconds();return p[r]+", "+(i<10?"0"+i:""+i)+" "+v[n]+" "+t+" "+(o<10?"0"+o:""+o)+":"+(s<10?"0"+s:""+s)+":"+(a<10?"0"+a:""+a)+" GMT"}var m="***SensitiveInformation***"},function(e,t,n){"use strict";n.r(t),n.d(t,"__extends",(function(){return i})),n.d(t,"__assign",(function(){return o})),n.d(t,"__rest",(function(){return s})),n.d(t,"__decorate",(function(){return a})),n.d(t,"__param",(function(){return u})),n.d(t,"__metadata",(function(){return c})),n.d(t,"__awaiter",(function(){return f})),n.d(t,"__generator",(function(){return l})),n.d(t,"__createBinding",(function(){return d})),n.d(t,"__exportStar",(function(){return h})),n.d(t,"__values",(function(){return p})),n.d(t,"__read",(function(){return v})),n.d(t,"__spread",(function(){return g})),n.d(t,"__spreadArrays",(function(){return m})),n.d(t,"__await",(function(){return b})),n.d(t,"__asyncGenerator",(function(){return y})),n.d(t,"__asyncDelegator",(function(){return w})),n.d(t,"__asyncValues",(function(){return _})),n.d(t,"__makeTemplateObject",(function(){return S})),n.d(t,"__importStar",(function(){return E})),n.d(t,"__importDefault",(function(){return M})),n.d(t,"__classPrivateFieldGet",(function(){return A})),n.d(t,"__classPrivateFieldSet",(function(){return I})); -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}function u(e,t){return function(n,r){t(n,r,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function f(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))}function l(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function g(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof b?Promise.resolve(n.value.v).then(u,c):f(o[0][2],n)}catch(e){f(o[0][3],e)}var n}function u(e){a("next",e)}function c(e){a("throw",e)}function f(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function w(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:b(e[r](t)),done:"return"===r}:i?i(t):t}:i}}function _(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=p(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,i,(t=e[n](t)).done,t.value)}))}}}function S(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function M(e){return e&&e.__esModule?e:{default:e}}function A(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return o}));var r=function(){function e(e){this.statusCode=e.statusCode,this.headers=e.headers||{},this.body=e.body}return e.isInstance=function(e){if(!e)return!1;var t=e;return"number"==typeof t.statusCode&&"object"==typeof t.headers},e}(),i=n(1),o=function(){function e(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.substr(-1)?e.protocol+":":e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?"/"+e.path:e.path:"/"}return e.isInstance=function(e){if(!e)return!1;var t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&"object"==typeof t.query&&"object"==typeof t.headers},e.prototype.clone=function(){var t,n=new e(Object(i.__assign)(Object(i.__assign)({},this),{headers:Object(i.__assign)({},this.headers)}));return n.query&&(n.query=(t=n.query,Object.keys(t).reduce((function(e,n){var r,o=t[n];return Object(i.__assign)(Object(i.__assign)({},e),((r={})[n]=Array.isArray(o)?Object(i.__spread)(o):o,r))}),{}))),n},e}()},function(e,t,n){"use strict";n.d(t,"f",(function(){return A})),n.d(t,"t",(function(){return I})),n.d(t,"y",(function(){return k})),n.d(t,"s",(function(){return x})),n.d(t,"e",(function(){return C})),n.d(t,"x",(function(){return P})),n.d(t,"g",(function(){return N})),n.d(t,"h",(function(){return R})),n.d(t,"d",(function(){return D})),n.d(t,"c",(function(){return U})),n.d(t,"b",(function(){return B})),n.d(t,"a",(function(){return j})),n.d(t,"u",(function(){return F})),n.d(t,"v",(function(){return q})),n.d(t,"i",(function(){return K})),n.d(t,"w",(function(){return H})),n.d(t,"j",(function(){return V})),n.d(t,"p",(function(){return G})),n.d(t,"k",(function(){return W})),n.d(t,"q",(function(){return $})),n.d(t,"l",(function(){return Y})),n.d(t,"n",(function(){return J})),n.d(t,"r",(function(){return Z})),n.d(t,"o",(function(){return X})),n.d(t,"m",(function(){return Q}));var r=n(6),i=n(32),o=n.n(i);function s(e){var t=new Error(e);return t.source="ulid",t}var a="0123456789ABCDEFGHJKMNPQRSTVWXYZ",u=a.length,c=Math.pow(2,48)-1;function f(e,t,n){return t>e.length-1?e:e.substr(0,t)+n+e.substr(t+1)}function l(e){var t=Math.floor(e()*u);return t===u&&(t=u-1),a.charAt(t)}function d(e,t){if(isNaN(e))throw new Error(e+" must be a number");if(e>c)throw s("cannot encode time greater than "+c);if(e<0)throw s("time must be positive");if(!1===Number.isInteger(e))throw s("time must be an integer");for(var n=void 0,r="";t>0;t--)r=a.charAt(n=e%u)+r,e=(e-n)/u;return r}function h(e,t){for(var n="";e>0;e--)n=l(t)+n;return n}function p(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];t||(t="undefined"!=typeof window?window:null);var r=t&&(t.crypto||t.msCrypto);if(r)return function(){var e=new Uint8Array(1);return r.getRandomValues(e),e[0]/255};try{var i=n(485);return function(){return i.randomBytes(1).readUInt8()/255}}catch(e){}if(e){try{console.error("secure crypto unusable, falling back to insecure Math.random()!")}catch(e){}return function(){return Math.random()}}throw s("secure crypto unusable, insecure Math.random not allowed")}function v(e){e||(e=p());var t=0,n=void 0;return function(r){if(isNaN(r)&&(r=Date.now()),r<=t){var i=n=function(e){for(var t=void 0,n=e.length,r=void 0,i=void 0,o=u-1;!t&&n-- >=0;){if(r=e[n],-1===(i=a.indexOf(r)))throw s("incorrectly encoded string");i!==o?t=f(e,n,a[i+1]):e=f(e,n,a[0])}if("string"==typeof t)return t;throw s("cannot increment this string")}(n);return d(t,10)+i}t=r;var o=n=h(16,e);return d(r,10)+o}}g||(g=p());var g,m=n(109),b=n(4);function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var w,_=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},S=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},M=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},A=function(e,t){if(void 0===t&&(t=!0),t)throw new Error("Invalid "+e)},I=function(e){return void 0===e||null==e},k=function e(t,n,r){var i,o=!1;if(0===r.length)return!0;switch(n){case"not":i="every",o=!0;break;case"and":i="every";break;case"or":i="some";break;default:A(n)}var s=r[i]((function(n){if(Object(b.k)(n)){var r=n.field,i=n.operator,o=n.operand,s=t[r];return O(s,i,o)}if(Object(b.j)(n)){var a=n.type,u=n.predicates;return e(t,a,u)}throw new Error("Not a predicate or group")}));return o?!s:s},O=function(e,t,n){switch(t){case"ne":return e!==n;case"eq":return e===n;case"le":return e<=n;case"lt":return e=n;case"gt":return e>n;case"between":var r=E(n,2),i=r[0],o=r[1];return e>=i&&e<=o;case"beginsWith":return e.startsWith(n);case"contains":return e.indexOf(n)>-1;case"notContains":return-1===e.indexOf(n);default:return A(t,!1),!1}},x=function(e){return e&&"function"==typeof e.copyOf},C=function(e){var t={};return Object.keys(e.models).forEach((function(n){t[n]={indexes:[],relationTypes:[]};var r=e.models[n];Object.keys(r.fields).forEach((function(e){var i=r.fields[e];if("object"===y(i.type)&&"model"in i.type){var o=i.association.connectionType;t[n].relationTypes.push({fieldName:i.name,modelName:i.type.model,relationType:o,targetName:i.association.targetName,associatedWith:i.association.associatedWith}),"BELONGS_TO"===o&&t[n].indexes.push(i.association.targetName)}})),r.attributes&&r.attributes.forEach((function(e){if("key"===e.type){var r=e.properties.fields;r&&r.forEach((function(e){t[n].indexes.includes(e)||t[n].indexes.push(e)}))}}))})),t},T=new WeakMap,P=function(e,t,n,r,i){var o=n.relationships,s=i(n.name,e),a=o[e],u=[],c=s.copyOf(t,(function(e){a.relationTypes.forEach((function(o){var s=i(n.name,o.modelName);switch(o.relationType){case"HAS_ONE":if(t[o.fieldName]){var a=void 0;try{a=r(s,t[o.fieldName])}catch(e){}u.push({modelName:o.modelName,item:t[o.fieldName],instance:a}),e[o.fieldName]=e[o.fieldName].id}break;case"BELONGS_TO":if(t[o.fieldName]){a=void 0;try{a=r(s,t[o.fieldName])}catch(e){}e[o.fieldName]._deleted||u.push({modelName:o.modelName,item:t[o.fieldName],instance:a})}e[o.targetName]=e[o.fieldName]?e[o.fieldName].id:null,delete e[o.fieldName];break;case"HAS_MANY":break;default:A(o.relationType)}}))}));u.unshift({modelName:e,item:c,instance:c}),T.has(n)||T.set(n,Array.from(n.modelTopologicalOrdering.keys()));var f=T.get(n);return u.sort((function(e,t){return f.indexOf(e.modelName)-f.indexOf(t.modelName)})),u},N=function(e,t){var n="";return e.some((function(e){e.modelName===t&&(n=e.targetName)})),n},R=function(e,t){return e.find((function(e){return e===t}))};!function(e){e.DATASTORE="datastore",e.USER="user",e.SYNC="sync",e.STORAGE="storage"}(w||(w={}));var L,j=w.DATASTORE,D=w.USER,U=w.SYNC,B=w.STORAGE,F=function(){return new Promise((function(e){var t,n=Object(m.v4)(),r=function(){L=!1,e(!0)},i=function(){return _(void 0,void 0,void 0,(function(){return S(this,(function(r){switch(r.label){case 0:return t&&t.result&&"function"==typeof t.result.close?[4,t.result.close()]:[3,2];case 1:r.sent(),r.label=2;case 2:return[4,indexedDB.deleteDatabase(n)];case 3:return r.sent(),L=!0,[2,e(!1)]}}))}))};return!0===L?i():!1===L||null===indexedDB?r():((t=indexedDB.open(n)).onerror=r,void(t.onsuccess=i))}))},z=function(){return(e=1,r.Buffer.from(o.a.lib.WordArray.random(e).toString(),"hex")).readUInt8(0)/255;var e};function q(e){var t=v(z);return function(){return t(e)}}function K(){return"undefined"!=typeof performance&&performance&&"function"==typeof performance.now?0|performance.now():Date.now()}function H(e){return function(t,n){var r,i;try{for(var o=M(e),s=o.next();!s.done;s=o.next()){var a=s.value,u=a.field,c=a.sortDirection===b.e.ASCENDING?1:-1;if(t[u]n[u])return 1*c}}catch(e){r={error:e}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return 0}}var V=function(e){return!!/^\d{4}-\d{2}-\d{2}(Z|[+-]\d{2}:\d{2}($|:\d{2}))?$/.exec(e)},G=function(e){return!!/^\d{2}:\d{2}(:\d{2}(.\d+)?)?(Z|[+-]\d{2}:\d{2}($|:\d{2}))?$/.exec(e)},W=function(e){return!!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2}(.\d+)?)?(Z|[+-]\d{2}:\d{2}($|:\d{2}))?$/.exec(e)},$=function(e){return!!/^\d+$/.exec(String(e))},Y=function(e){return!!/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.exec(e)},J=function(e){try{return JSON.parse(e),!0}catch(e){return!1}},Z=function(e){try{return!!new URL(e)}catch(e){return!1}},X=function(e){return!!/^\+?\d[\d\s-]+$/.exec(e)},Q=function(e){return!!/((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?$))$/.exec(e)}},function(e,t,n){"use strict";n.d(t,"l",(function(){return f})),n.d(t,"m",(function(){return l})),n.d(t,"b",(function(){return r})),n.d(t,"g",(function(){return d})),n.d(t,"h",(function(){return h})),n.d(t,"i",(function(){return p})),n.d(t,"f",(function(){return v})),n.d(t,"c",(function(){return i})),n.d(t,"k",(function(){return g})),n.d(t,"j",(function(){return m})),n.d(t,"d",(function(){return o})),n.d(t,"e",(function(){return s})),n.d(t,"n",(function(){return b})),n.d(t,"a",(function(){return y}));var r,i,o,s,a=n(3),u=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] - * @license MIT - */ -var r=n(269),i=n(270),o=n(160);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return z(e).length;default:if(r)return F(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return x(this,t,n);case"utf8":case"utf-8":return I(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return A(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,i){var o,s=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var f=-1;for(o=n;oa&&(n=a-u),o=n;o>=0;o--){for(var l=!0,d=0;di&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function A(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function I(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+l<=n)switch(l){case 1:c<128&&(f=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(f=u);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(f=u);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(f=u)}null===f?(f=65533,l=1):f>65535&&(f-=65536,r.push(f>>>10&1023|55296),f=56320|1023&f),r.push(f),i+=l}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),c=this.slice(r,i),f=e.slice(t,n),l=0;li)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return y(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return _(this,e,t,n);case"latin1":case"binary":return S(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function k(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function P(e,t,n,r,i,o){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function R(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function L(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function j(e,t,n,r,o){return o||L(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function D(e,t,n,r,o){return o||L(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||T(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||T(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||T(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||T(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||T(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||T(e,t,this.length);for(var r=this[e],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||T(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||T(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||T(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||T(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||T(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||T(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||T(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||T(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||T(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||T(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||P(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);P(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);P(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return j(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return j(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return D(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return D(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function z(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(31))},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},function(e,t,n){ -/*! safe-buffer. MIT License. Feross Aboukhadijeh */ -var r=n(6),i=r.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=s),s.prototype=Object.create(i.prototype),o(i,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return a}));var r=n(3),i=new WeakSet;function o(e){return i.has(e)}Symbol("A predicate that matches all records");var s=function(){function e(){}return Object.defineProperty(e,"ALL",{get:function(){var e=function(e){return e};return i.add(e),e},enumerable:!0,configurable:!0}),e}(),a=function(){function e(){}return e.createPredicateBuilder=function(t){var n,i=t.name,o=new Set(Object.keys(t.fields)),s=new Proxy({},n={get:function(t,s,a){var u=s;switch(u){case"and":case"or":case"not":return function(t){var r={type:u,predicates:[]},i=new Proxy({},n);return e.predicateGroupsMap.set(i,r),t(i),e.predicateGroupsMap.get(a).predicates.push(r),a};default:Object(r.f)(u,!1)}var c=s;if(!o.has(c))throw new Error("Invalid field for model. field: "+c+", model: "+i);return function(t,n){return e.predicateGroupsMap.get(a).predicates.push({field:c,operator:t,operand:n}),a}}});return e.predicateGroupsMap.set(s,{type:"and",predicates:[]}),s},e.isValidPredicate=function(t){return e.predicateGroupsMap.has(t)},e.getPredicates=function(t,n){if(void 0===n&&(n=!0),n&&!e.isValidPredicate(t))throw new Error("The predicate is not valid");return e.predicateGroupsMap.get(t)},e.createFromExisting=function(t,n){if(n&&t)return n(e.createPredicateBuilder(t))},e.createForId=function(t,n){return e.createPredicateBuilder(t).id("eq",n)},e.predicateGroupsMap=new WeakMap,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),i={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"]},o={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"]};function s(e,t,n){return{applyToStack:function(s){s.add(function(e,t){return function(n,i){return function(o){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){var s,a,u,c,f;return Object(r.__generator)(this,(function(l){switch(l.label){case 0:return s=i.logger,a=i.outputFilterSensitiveLog,[4,n(o)];case 1:return u=l.sent().response,"function"==typeof(null==s?void 0:s.debug)&&s.debug({httpResponse:u}),[4,t(u,e)];case 2:return c=l.sent(),c.$metadata,f=Object(r.__rest)(c,["$metadata"]),"function"==typeof(null==s?void 0:s.info)&&s.info({output:a(f)}),[2,{response:u,output:c}]}}))}))}}}(e,n),i),s.add(function(e,t){return function(n,i){return function(o){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){var s,a,u;return Object(r.__generator)(this,(function(c){switch(c.label){case 0:return s=i.logger,a=i.inputFilterSensitiveLog,"function"==typeof(null==s?void 0:s.info)&&s.info({input:a(o.input)}),[4,t(o.input,e)];case 1:return u=c.sent(),"function"==typeof(null==s?void 0:s.debug)&&s.debug({httpRequest:u}),[2,n(Object(r.__assign)(Object(r.__assign)({},o),{request:u}))]}}))}))}}}(e,t),o)}}}},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return v})),n.d(t,"c",(function(){return m}));var r=n(1),i={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high"},o=function(e){return{applyToStack:function(t){t.add(function(e){return function(t){return function(n){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){return Object(r.__generator)(this,(function(r){return[2,e.retryStrategy.retry(t,n)]}))}))}}}(e),i)}}},s=n(2),a=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],u=["Throttling","ThrottlingException","ThrottledException","RequestThrottledException","TooManyRequestsException","ProvisionedThroughputExceededException","TransactionInProgressException","RequestLimitExceeded","BandwidthLimitExceeded","LimitExceededException","RequestThrottled","SlowDown","PriorRequestNotComplete","EC2ThrottledException"],c=["AbortError","TimeoutError","RequestTimeout","RequestTimeoutException"],f=[500,502,503,504],l=function(e){var t;return u.includes(e.name)||1==(null===(t=e.$retryable)||void 0===t?void 0:t.throttling)},d=n(27),h=function(e,t){return Math.floor(Math.min(2e4,Math.random()*Math.pow(2,t)*e))},p=function(e){return!!e&&(function(e){return void 0!==e.$retryable}(e)||function(e){return a.includes(e.name)}(e)||l(e)||function(e){var t;return c.includes(e.name)||f.includes((null===(t=e.$metadata)||void 0===t?void 0:t.httpStatusCode)||0)}(e))},v=3,g=function(){function e(e,t){var n,r,i,o,s,a,u,c;this.maxAttemptsProvider=e,this.retryDecider=null!==(n=null==t?void 0:t.retryDecider)&&void 0!==n?n:p,this.delayDecider=null!==(r=null==t?void 0:t.delayDecider)&&void 0!==r?r:h,this.retryQuota=null!==(i=null==t?void 0:t.retryQuota)&&void 0!==i?i:(s=o=500,a=o,u=function(e){return"TimeoutError"===e.name?10:5},c=function(e){return u(e)<=a},Object.freeze({hasRetryTokens:c,retrieveRetryTokens:function(e){if(!c(e))throw new Error("No retry token available");var t=u(e);return a-=t,t},releaseRetryTokens:function(e){a+=null!=e?e:1,a=Math.min(a,s)}}))}return e.prototype.shouldRetry=function(e,t,n){return t>6|192,63&i|128);else if(n+1>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)}(e)},i=function(e){return"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):function(e){for(var t="",n=0,r=e.length;n",'"',"`"," ","\r","\n","\t"]),f=["'"].concat(c),l=["%","/","?",";","#"].concat(f),d=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,v={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},m={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=n(368);function y(e,t,n){if(e&&i.isObject(e)&&e instanceof o)return e;var r=new o;return r.parse(e,t,n),r}o.prototype.parse=function(e,t,n){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),a=-1!==o&&o127?N+="x":N+=P[R];if(!N.match(h)){var j=C.slice(0,k),D=C.slice(k+1),U=P.match(p);U&&(j.push(U[1]),D.unshift(U[2])),D.length&&(y="/"+D.join(".")+y),this.hostname=j.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),x||(this.hostname=r.toASCII(this.hostname));var B=this.port?":"+this.port:"",F=this.hostname||"";this.host=F+B,this.href+=this.host,x&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==y[0]&&(y="/"+y))}if(!v[S])for(k=0,T=f.length;k0)&&n.host.split("@"))&&(n.auth=x.shift(),n.host=n.hostname=x.shift());return n.search=e.search,n.query=e.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!E.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var A=E.slice(-1)[0],I=(n.host||e.host||E.length>1)&&("."===A||".."===A)||""===A,k=0,O=E.length;O>=0;O--)"."===(A=E[O])?E.splice(O,1):".."===A?(E.splice(O,1),k++):k&&(E.splice(O,1),k--);if(!_&&!S)for(;k--;k)E.unshift("..");!_||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),I&&"/"!==E.join("/").substr(-1)&&E.push("");var x,C=""===E[0]||E[0]&&"/"===E[0].charAt(0);M&&(n.hostname=n.host=C?"":E.length?E.shift():"",(x=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=x.shift(),n.host=n.hostname=x.shift()));return(_=_||n.host&&E.length)&&!C&&E.unshift(""),E.length?n.pathname=E.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var e=this.host,t=a.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return l}));for(var r={},i=new Array(64),o=0,s="A".charCodeAt(0),a="Z".charCodeAt(0);o+s<=a;o++){var u=String.fromCharCode(o+s);r[u]=o,i[o]=u}for(o=0,s="a".charCodeAt(0),a="z".charCodeAt(0);o+s<=a;o++){u=String.fromCharCode(o+s);var c=o+26;r[u]=c,i[c]=u}for(o=0;o<10;o++){r[o.toString(10)]=o+52;u=o.toString(10),c=o+52;r[u]=c,i[c]=u}r["+"]=62,i[62]="+",r["/"]=63,i[63]="/";function f(e){var t=e.length/4*3;"=="===e.substr(-2)?t-=2:"="===e.substr(-1)&&t--;for(var n=new ArrayBuffer(t),i=new DataView(n),o=0;o>=6;var f=o/4*3;s>>=a%8;for(var l=Math.floor(a/8),d=0;d>h)}}return new Uint8Array(n)}function l(e){for(var t="",n=0;n>f]}t+="==".slice(0,4-u)}return t}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return u}));var r=n(1),i=n(2),o=n(74);var s=function(){function e(e){void 0===e&&(e={}),this.httpOptions=e}return e.prototype.destroy=function(){},e.prototype.handle=function(e,t){var n=null==t?void 0:t.abortSignal,s=this.httpOptions.requestTimeout;if(null==n?void 0:n.aborted){var a=new Error("Request aborted");return a.name="AbortError",Promise.reject(a)}var u=e.path;if(e.query){var c=Object(o.a)(e.query);c&&(u+="?"+c)}var f=e.port,l=e.protocol+"//"+e.hostname+(f?":"+f:"")+u,d={body:e.body,headers:new Headers(e.headers),method:e.method};"undefined"!=typeof AbortController&&(d.signal=n);var h,p=new Request(l,d),v=[fetch(p).then((function(e){var t,n,o=e.headers,s={};try{for(var a=Object(r.__values)(o.entries()),u=a.next();!u.done;u=a.next()){var c=u.value;s[c[0]]=c[1]}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}return void 0!==e.body?{response:new i.b({headers:s,statusCode:e.status,body:e.body})}:e.blob().then((function(t){return{response:new i.b({headers:s,statusCode:e.status,body:t})}}))})),(h=s,void 0===h&&(h=0),new Promise((function(e,t){h&&setTimeout((function(){var e=new Error("Request did not complete within "+h+" ms");e.name="TimeoutError",t(e)}),h)})))];return n&&v.push(new Promise((function(e,t){n.onabort=function(){var e=new Error("Request aborted");e.name="AbortError",t(e)}}))),Promise.race(v)},e}(),a=n(17),u=function(e){return"function"==typeof Blob&&e instanceof Blob?function(e){return Object(r.__awaiter)(this,void 0,void 0,(function(){var t,n;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return[4,c(e)];case 1:return t=r.sent(),n=Object(a.a)(t),[2,new Uint8Array(n)]}}))}))}(e):function(e){return Object(r.__awaiter)(this,void 0,void 0,(function(){var t,n,i,o,s,a,u;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:t=new Uint8Array(0),n=e.getReader(),i=!1,r.label=1;case 1:return i?[3,3]:[4,n.read()];case 2:return o=r.sent(),s=o.done,(a=o.value)&&(u=t,(t=new Uint8Array(u.length+a.length)).set(u),t.set(a,u.length)),i=s,[3,1];case 3:return[2,t]}}))}))}(e)};function c(e){return new Promise((function(t,n){var r=new FileReader;r.onloadend=function(){var e;if(2!==r.readyState)return n(new Error("Reader aborted too early"));var i=null!==(e=r.result)&&void 0!==e?e:"",o=i.indexOf(","),s=o>-1?o+1:i.length;t(i.substring(s))},r.onabort=function(){return n(new Error("Read aborted"))},r.onerror=function(){return n(r.error)},r.readAsDataURL(e)}))}},function(e,t,n){"use strict";n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return a}));var r=n(44),i=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},o=new r.a("Amplify"),s=function(){function e(){this._components=[],this._config={},this._modules={},this.Auth=null,this.Analytics=null,this.API=null,this.Credentials=null,this.Storage=null,this.I18n=null,this.Cache=null,this.PubSub=null,this.Interactions=null,this.Pushnotification=null,this.UI=null,this.XR=null,this.Predictions=null,this.DataStore=null,this.Logger=r.a,this.ServiceWorker=null}return e.prototype.register=function(e){o.debug("component registered in amplify",e),this._components.push(e),"function"==typeof e.getModuleName?(this._modules[e.getModuleName()]=e,this[e.getModuleName()]=e):o.debug("no getModuleName method for component",e),e.configure(this._config)},e.prototype.configure=function(e){var t=this;return e?(this._config=Object.assign(this._config,e),o.debug("amplify config",this._config),Object.entries(this._modules).forEach((function(e){var n=i(e,2),r=(n[0],n[1]);Object.keys(r).forEach((function(e){t._modules[e]&&(r[e]=t._modules[e])}))})),this._components.map((function(e){e.configure(t._config)})),this._config):this._config},e.prototype.addPluggable=function(e){e&&e.getCategory&&"function"==typeof e.getCategory&&this._components.map((function(t){t.addPluggable&&"function"==typeof t.addPluggable&&t.addPluggable(e)}))},e}(),a=new s},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var u,c=[],f=!1,l=-1;function d(){f&&u&&(f=!1,u.length?c=u.concat(c):l=-1,c.length&&h())}function h(){if(!f){var e=a(d);f=!0;for(var t=c.length;t;){for(u=c,c=[];++l1)for(var n=1;n=0&&!o.headers[":authority"]?(delete o.headers.host,o.headers[":authority"]=""):o.headers.host||(o.headers.host=o.hostname),[2,t(n)]):[2,t(n)]}))}))}}}(e),s)}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var r=n(1),i=function(e){var t;return Object(r.__assign)(Object(r.__assign)({},e),{tls:null===(t=e.tls)||void 0===t||t,endpoint:e.endpoint?o(e):function(){return s(e)},isCustomEndpoint:!!e.endpoint})},o=function(e){var t=e.endpoint,n=e.urlParser;if("string"==typeof t){var r=Promise.resolve(n(t));return function(){return r}}if("object"==typeof t){var i=Promise.resolve(t);return function(){return i}}return t},s=function(e){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){var t,n,i,o,s;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return t=e.tls,n=void 0===t||t,[4,e.region()];case 1:if(i=r.sent(),!new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/).test(i))throw new Error("Invalid region in client config");return[4,e.regionInfoProvider(i)];case 2:if(!(o=(null!==(s=r.sent())&&void 0!==s?s:{}).hostname))throw new Error("Cannot resolve hostname from client config");return[2,e.urlParser((n?"https:":"http:")+"//"+o)]}}))}))},a=function(e){if(!e.region)throw new Error("Region is missing");return Object(r.__assign)(Object(r.__assign)({},e),{region:u(e.region)})},u=function(e){if("string"==typeof e){var t=Promise.resolve(e);return function(){return t}}return e}},function(e,t,n){"use strict";function r(e){return e}n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var i=n(1),o=n(2);var s={name:"getUserAgentMiddleware",step:"build",tags:["SET_USER_AGENT","USER_AGENT"]},a=function(e){return{applyToStack:function(t){var n;t.add((n=e,function(e){return function(t){var r=t.request;if(!o.a.isInstance(r))return e(t);var s=r.headers,a="node"===n.runtime?"user-agent":"x-amz-user-agent";return s[a]?s[a]+=" "+n.defaultUserAgent:s[a]=""+n.defaultUserAgent,n.customUserAgent&&(s[a]+=" "+n.customUserAgent),e(Object(i.__assign)(Object(i.__assign)({},t),{request:r}))}}),s)}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){return function(){throw new Error(e)}}},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return l}));var r=n(1),i=n(111);function o(e){var t,n=this,o=s(e.credentials||e.credentialDefaultProvider(e)),a=e.signingEscapePath,u=void 0===a||a,c=e.systemClockOffset,f=void 0===c?e.systemClockOffset||0:c,l=e.sha256;return t=e.signer?s(e.signer):function(){return s(e.region)().then((function(t){return Object(r.__awaiter)(n,void 0,void 0,(function(){return Object(r.__generator)(this,(function(n){switch(n.label){case 0:return[4,e.regionInfoProvider(t)];case 1:return[2,[n.sent()||{},t]]}}))}))})).then((function(t){var n=Object(r.__read)(t,2),s=n[0],a=n[1],c=s.signingRegion,f=void 0===c?e.signingRegion:c,d=s.signingService,h=void 0===d?e.signingName:d;return e.signingRegion=e.signingRegion||f||a,e.signingName=e.signingName||h,new i.a({credentials:o,region:e.signingRegion,service:e.signingName,sha256:l,uriEscapePath:u})}))},Object(r.__assign)(Object(r.__assign)({},e),{systemClockOffset:f,signingEscapePath:u,credentials:o,signer:t})}function s(e){if("object"==typeof e){var t=Promise.resolve(e);return function(){return t}}return e}var a=n(2),u=function(e){return new Date(Date.now()+e)};function c(e){return function(t,n){return function(i){return Object(r.__awaiter)(this,void 0,void 0,(function(){var o,s,c,f,l,d,h,p,v;return Object(r.__generator)(this,(function(g){switch(g.label){case 0:return a.a.isInstance(i.request)?"function"!=typeof e.signer?[3,2]:[4,e.signer()]:[2,t(i)];case 1:return s=g.sent(),[3,3];case 2:s=e.signer,g.label=3;case 3:return o=s,f=t,l=[Object(r.__assign)({},i)],v={},[4,o.sign(i.request,{signingDate:new Date(Date.now()+e.systemClockOffset),signingRegion:n.signing_region,signingService:n.signing_service})];case 4:return[4,f.apply(void 0,[r.__assign.apply(void 0,l.concat([(v.request=g.sent(),v)]))])];case 5:return c=g.sent(),d=c.response.headers,(h=d&&(d.date||d.Date))&&(p=Date.parse(h),m=p,b=e.systemClockOffset,Math.abs(u(b).getTime()-m)>=3e5&&(e.systemClockOffset=p-Date.now())),[2,c]}var m,b}))}))}}}var f={name:"awsAuthMiddleware",tags:["SIGNATURE","AWSAUTH"],relation:"after",toMiddleware:"retryMiddleware"},l=function(e){return{applyToStack:function(t){t.addRelativeTo(c(e),f)}}}},function(e,t,n){"use strict";var r=n(19),i={keyPrefix:"aws-amplify-cache",capacityInBytes:1048576,itemMaxSize:21e4,defaultTTL:2592e5,defaultPriority:5,warningThreshold:.8,storage:(new(n(86).a)).getStorage()};function o(e){var t=0;t=e.length;for(var n=e.length;n>=0;n-=1){var r=e.charCodeAt(n);r>127&&r<=2047?t+=1:r>2047&&r<=65535&&(t+=2),r>=56320&&r<=57343&&(n-=1)}return t}function s(){return(new Date).getTime()}function a(e){return Number.isInteger?Number.isInteger(e):function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}(e)}var u={},c=(function(){function e(){}e.clear=function(){u={}},e.getItem=function(e){return u[e]||null},e.setItem=function(e,t){u[e]=t},e.removeItem=function(e){delete u[e]}}(),n(44));function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var l,d=new c.a("StorageCache"),h=function(){function e(e){this.config=Object.assign({},e),this.cacheCurSizeKey=this.config.keyPrefix+"CurSize",this.checkConfig()}return e.prototype.getModuleName=function(){return"Cache"},e.prototype.checkConfig=function(){a(this.config.capacityInBytes)||(d.error("Invalid parameter: capacityInBytes. It should be an Integer. Setting back to default."),this.config.capacityInBytes=i.capacityInBytes),a(this.config.itemMaxSize)||(d.error("Invalid parameter: itemMaxSize. It should be an Integer. Setting back to default."),this.config.itemMaxSize=i.itemMaxSize),a(this.config.defaultTTL)||(d.error("Invalid parameter: defaultTTL. It should be an Integer. Setting back to default."),this.config.defaultTTL=i.defaultTTL),a(this.config.defaultPriority)||(d.error("Invalid parameter: defaultPriority. It should be an Integer. Setting back to default."),this.config.defaultPriority=i.defaultPriority),this.config.itemMaxSize>this.config.capacityInBytes&&(d.error("Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default."),this.config.itemMaxSize=i.itemMaxSize),(this.config.defaultPriority>5||this.config.defaultPriority<1)&&(d.error("Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default."),this.config.defaultPriority=i.defaultPriority),(Number(this.config.warningThreshold)>1||Number(this.config.warningThreshold)<0)&&(d.error("Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default."),this.config.warningThreshold=i.warningThreshold);this.config.capacityInBytes>5242880&&(d.error("Cache Capacity should be less than 5MB. Setting back to default. Setting back to default."),this.config.capacityInBytes=i.capacityInBytes)},e.prototype.fillCacheItem=function(e,t,n){var r={key:e,data:t,timestamp:s(),visitedTime:s(),priority:n.priority,expires:n.expires,type:f(t),byteSize:0};return r.byteSize=o(JSON.stringify(r)),r.byteSize=o(JSON.stringify(r)),r},e.prototype.configure=function(e){return e?(e.keyPrefix&&d.warn("Don't try to configure keyPrefix!"),this.config=Object.assign({},this.config,e,e.Cache),this.checkConfig(),this.config):this.config},e}(),p=(l=function(e,t){return(l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),v=new c.a("Cache"),g=new(function(e){function t(t){var n=this,r=t?Object.assign({},i,t):i;return(n=e.call(this,r)||this).config.storage=r.storage,n.getItem=n.getItem.bind(n),n.setItem=n.setItem.bind(n),n.removeItem=n.removeItem.bind(n),n}return p(t,e),t.prototype._decreaseCurSizeInBytes=function(e){var t=this.getCacheCurSize();this.config.storage.setItem(this.cacheCurSizeKey,(t-e).toString())},t.prototype._increaseCurSizeInBytes=function(e){var t=this.getCacheCurSize();this.config.storage.setItem(this.cacheCurSizeKey,(t+e).toString())},t.prototype._refreshItem=function(e,t){return e.visitedTime=s(),this.config.storage.setItem(t,JSON.stringify(e)),e},t.prototype._isExpired=function(e){var t=this.config.storage.getItem(e),n=JSON.parse(t);return s()>=n.expires},t.prototype._removeItem=function(e,t){var n=t||JSON.parse(this.config.storage.getItem(e)).byteSize;this._decreaseCurSizeInBytes(n),this.config.storage.removeItem(e)},t.prototype._setItem=function(e,t){this._increaseCurSizeInBytes(t.byteSize);try{this.config.storage.setItem(e,JSON.stringify(t))}catch(e){this._decreaseCurSizeInBytes(t.byteSize),v.error("Failed to set item "+e)}},t.prototype._sizeToPop=function(e){var t=this.getCacheCurSize()+e-this.config.capacityInBytes,n=(1-this.config.warningThreshold)*this.config.capacityInBytes;return t>n?t:n},t.prototype._isCacheFull=function(e){return e+this.getCacheCurSize()>this.config.capacityInBytes},t.prototype._findValidKeys=function(){for(var e=[],t=[],n=0;nt.priority?-1:e.priority5)v.warn("Invalid parameter: priority due to out or range. It should be within 1 and 5.");else{var o=this.fillCacheItem(r,t,i);if(o.byteSize>this.config.itemMaxSize)v.warn("Item with key: "+e+" you are trying to put into is too big!");else try{var a=this.config.storage.getItem(r);if(a&&this._removeItem(r,JSON.parse(a).byteSize),this._isCacheFull(o.byteSize)){var u=this._findValidKeys();if(this._isCacheFull(o.byteSize)){var c=this._sizeToPop(o.byteSize);this._popOutItems(u,c)}}this._setItem(r,o)}catch(e){v.warn("setItem failed! "+e)}}}else v.warn("The value of item should not be undefined!");else v.warn("Invalid key: should not be empty or 'CurSize'")},t.prototype.getItem=function(e,t){v.log("Get item: key is "+e+" with options "+t);var n=null,r=this.config.keyPrefix+e;if(r===this.config.keyPrefix||r===this.cacheCurSizeKey)return v.warn("Invalid key: should not be empty or 'CurSize'"),null;try{if(null!=(n=this.config.storage.getItem(r))){if(!this._isExpired(r)){var i=JSON.parse(n);return(i=this._refreshItem(i,r)).data}this._removeItem(r,JSON.parse(n).byteSize),n=null}if(t&&void 0!==t.callback){var o=t.callback();return null!==o&&this.setItem(e,o,t),o}return null}catch(e){return v.warn("getItem failed! "+e),null}},t.prototype.removeItem=function(e){v.log("Remove item: key is "+e);var t=this.config.keyPrefix+e;if(t!==this.config.keyPrefix&&t!==this.cacheCurSizeKey)try{var n=this.config.storage.getItem(t);n&&this._removeItem(t,JSON.parse(n).byteSize)}catch(e){v.warn("removeItem failed! "+e)}},t.prototype.clear=function(){v.log("Clear Cache");for(var e=[],t=0;t=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return r}function u(e,t,n,r){for(var i=0,o=Math.min(e.length,n),s=t;s=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)i=a(e,n,n+6),this.words[r]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);n+6!==t&&(i=a(e,t,n+6),this.words[r]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,s=o%r,a=Math.min(o,o-s)+n,c=0,f=n;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=d;h++){var p=c-h|0;f+=(s=(i=0|e.words[p])*(o=0|t.words[h])+l)/67108864|0,l=67108863&s}n.words[c]=0|l,u=0|f}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?c[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var d=f[e],h=l[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var v=p.modn(h).toString(e);n=(p=p.idivn(h)).isZero()?v+n:c[d-v.length]+v+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===t,c=new e(o),f=this.clone();if(u){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),c[a]=s;for(;a=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;re.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,h=0|s[1],p=8191&h,v=h>>>13,g=0|s[2],m=8191&g,b=g>>>13,y=0|s[3],w=8191&y,_=y>>>13,S=0|s[4],E=8191&S,M=S>>>13,A=0|s[5],I=8191&A,k=A>>>13,O=0|s[6],x=8191&O,C=O>>>13,T=0|s[7],P=8191&T,N=T>>>13,R=0|s[8],L=8191&R,j=R>>>13,D=0|s[9],U=8191&D,B=D>>>13,F=0|a[0],z=8191&F,q=F>>>13,K=0|a[1],H=8191&K,V=K>>>13,G=0|a[2],W=8191&G,$=G>>>13,Y=0|a[3],J=8191&Y,Z=Y>>>13,X=0|a[4],Q=8191&X,ee=X>>>13,te=0|a[5],ne=8191&te,re=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,fe=0|a[8],le=8191&fe,de=fe>>>13,he=0|a[9],pe=8191&he,ve=he>>>13;n.negative=e.negative^t.negative,n.length=19;var ge=(c+(r=Math.imul(l,z))|0)+((8191&(i=(i=Math.imul(l,q))+Math.imul(d,z)|0))<<13)|0;c=((o=Math.imul(d,q))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(p,z),i=(i=Math.imul(p,q))+Math.imul(v,z)|0,o=Math.imul(v,q);var me=(c+(r=r+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,V)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(m,z),i=(i=Math.imul(m,q))+Math.imul(b,z)|0,o=Math.imul(b,q),r=r+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0;var be=(c+(r=r+Math.imul(l,W)|0)|0)+((8191&(i=(i=i+Math.imul(l,$)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(w,z),i=(i=Math.imul(w,q))+Math.imul(_,z)|0,o=Math.imul(_,q),r=r+Math.imul(m,H)|0,i=(i=i+Math.imul(m,V)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,V)|0,r=r+Math.imul(p,W)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,$)|0;var ye=(c+(r=r+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,Z)|0)+Math.imul(d,J)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(E,z),i=(i=Math.imul(E,q))+Math.imul(M,z)|0,o=Math.imul(M,q),r=r+Math.imul(w,H)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,V)|0,r=r+Math.imul(m,W)|0,i=(i=i+Math.imul(m,$)|0)+Math.imul(b,W)|0,o=o+Math.imul(b,$)|0,r=r+Math.imul(p,J)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,Z)|0;var we=(c+(r=r+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,ee)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(I,z),i=(i=Math.imul(I,q))+Math.imul(k,z)|0,o=Math.imul(k,q),r=r+Math.imul(E,H)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(w,W)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,$)|0,r=r+Math.imul(m,J)|0,i=(i=i+Math.imul(m,Z)|0)+Math.imul(b,J)|0,o=o+Math.imul(b,Z)|0,r=r+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,ee)|0;var _e=(c+(r=r+Math.imul(l,ne)|0)|0)+((8191&(i=(i=i+Math.imul(l,re)|0)+Math.imul(d,ne)|0))<<13)|0;c=((o=o+Math.imul(d,re)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(C,z)|0,o=Math.imul(C,q),r=r+Math.imul(I,H)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,V)|0,r=r+Math.imul(E,W)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,$)|0,r=r+Math.imul(w,J)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,J)|0,o=o+Math.imul(_,Z)|0,r=r+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,ee)|0,r=r+Math.imul(p,ne)|0,i=(i=i+Math.imul(p,re)|0)+Math.imul(v,ne)|0,o=o+Math.imul(v,re)|0;var Se=(c+(r=r+Math.imul(l,oe)|0)|0)+((8191&(i=(i=i+Math.imul(l,se)|0)+Math.imul(d,oe)|0))<<13)|0;c=((o=o+Math.imul(d,se)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(P,z),i=(i=Math.imul(P,q))+Math.imul(N,z)|0,o=Math.imul(N,q),r=r+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,V)|0,r=r+Math.imul(I,W)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,$)|0,r=r+Math.imul(E,J)|0,i=(i=i+Math.imul(E,Z)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,Z)|0,r=r+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,r=r+Math.imul(m,ne)|0,i=(i=i+Math.imul(m,re)|0)+Math.imul(b,ne)|0,o=o+Math.imul(b,re)|0,r=r+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,se)|0;var Ee=(c+(r=r+Math.imul(l,ue)|0)|0)+((8191&(i=(i=i+Math.imul(l,ce)|0)+Math.imul(d,ue)|0))<<13)|0;c=((o=o+Math.imul(d,ce)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(L,z),i=(i=Math.imul(L,q))+Math.imul(j,z)|0,o=Math.imul(j,q),r=r+Math.imul(P,H)|0,i=(i=i+Math.imul(P,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(x,W)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,$)|0,r=r+Math.imul(I,J)|0,i=(i=i+Math.imul(I,Z)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,Z)|0,r=r+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,ee)|0,r=r+Math.imul(w,ne)|0,i=(i=i+Math.imul(w,re)|0)+Math.imul(_,ne)|0,o=o+Math.imul(_,re)|0,r=r+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,se)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,se)|0,r=r+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0;var Me=(c+(r=r+Math.imul(l,le)|0)|0)+((8191&(i=(i=i+Math.imul(l,de)|0)+Math.imul(d,le)|0))<<13)|0;c=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(U,z),i=(i=Math.imul(U,q))+Math.imul(B,z)|0,o=Math.imul(B,q),r=r+Math.imul(L,H)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(j,H)|0,o=o+Math.imul(j,V)|0,r=r+Math.imul(P,W)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,$)|0,r=r+Math.imul(x,J)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(C,J)|0,o=o+Math.imul(C,Z)|0,r=r+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(M,ne)|0,o=o+Math.imul(M,re)|0,r=r+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,r=r+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,ce)|0)+Math.imul(b,ue)|0,o=o+Math.imul(b,ce)|0,r=r+Math.imul(p,le)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(v,le)|0,o=o+Math.imul(v,de)|0;var Ae=(c+(r=r+Math.imul(l,pe)|0)|0)+((8191&(i=(i=i+Math.imul(l,ve)|0)+Math.imul(d,pe)|0))<<13)|0;c=((o=o+Math.imul(d,ve)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(U,H),i=(i=Math.imul(U,V))+Math.imul(B,H)|0,o=Math.imul(B,V),r=r+Math.imul(L,W)|0,i=(i=i+Math.imul(L,$)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,$)|0,r=r+Math.imul(P,J)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(N,J)|0,o=o+Math.imul(N,Z)|0,r=r+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,ee)|0,r=r+Math.imul(I,ne)|0,i=(i=i+Math.imul(I,re)|0)+Math.imul(k,ne)|0,o=o+Math.imul(k,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,se)|0,r=r+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,r=r+Math.imul(m,le)|0,i=(i=i+Math.imul(m,de)|0)+Math.imul(b,le)|0,o=o+Math.imul(b,de)|0;var Ie=(c+(r=r+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ve)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,ve)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(U,W),i=(i=Math.imul(U,$))+Math.imul(B,W)|0,o=Math.imul(B,$),r=r+Math.imul(L,J)|0,i=(i=i+Math.imul(L,Z)|0)+Math.imul(j,J)|0,o=o+Math.imul(j,Z)|0,r=r+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,ee)|0,r=r+Math.imul(x,ne)|0,i=(i=i+Math.imul(x,re)|0)+Math.imul(C,ne)|0,o=o+Math.imul(C,re)|0,r=r+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,r=r+Math.imul(w,le)|0,i=(i=i+Math.imul(w,de)|0)+Math.imul(_,le)|0,o=o+Math.imul(_,de)|0;var ke=(c+(r=r+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,ve)|0)+Math.imul(b,pe)|0))<<13)|0;c=((o=o+Math.imul(b,ve)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(U,J),i=(i=Math.imul(U,Z))+Math.imul(B,J)|0,o=Math.imul(B,Z),r=r+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,ee)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,ee)|0,r=r+Math.imul(P,ne)|0,i=(i=i+Math.imul(P,re)|0)+Math.imul(N,ne)|0,o=o+Math.imul(N,re)|0,r=r+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,r=r+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,r=r+Math.imul(E,le)|0,i=(i=i+Math.imul(E,de)|0)+Math.imul(M,le)|0,o=o+Math.imul(M,de)|0;var Oe=(c+(r=r+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,ve)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ve)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(U,Q),i=(i=Math.imul(U,ee))+Math.imul(B,Q)|0,o=Math.imul(B,ee),r=r+Math.imul(L,ne)|0,i=(i=i+Math.imul(L,re)|0)+Math.imul(j,ne)|0,o=o+Math.imul(j,re)|0,r=r+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,se)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,se)|0,r=r+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(C,ue)|0,o=o+Math.imul(C,ce)|0,r=r+Math.imul(I,le)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,de)|0;var xe=(c+(r=r+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,ve)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,ve)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(U,ne),i=(i=Math.imul(U,re))+Math.imul(B,ne)|0,o=Math.imul(B,re),r=r+Math.imul(L,oe)|0,i=(i=i+Math.imul(L,se)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,se)|0,r=r+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(N,ue)|0,o=o+Math.imul(N,ce)|0,r=r+Math.imul(x,le)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(C,le)|0,o=o+Math.imul(C,de)|0;var Ce=(c+(r=r+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ve)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,ve)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(U,oe),i=(i=Math.imul(U,se))+Math.imul(B,oe)|0,o=Math.imul(B,se),r=r+Math.imul(L,ue)|0,i=(i=i+Math.imul(L,ce)|0)+Math.imul(j,ue)|0,o=o+Math.imul(j,ce)|0,r=r+Math.imul(P,le)|0,i=(i=i+Math.imul(P,de)|0)+Math.imul(N,le)|0,o=o+Math.imul(N,de)|0;var Te=(c+(r=r+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,ve)|0)+Math.imul(C,pe)|0))<<13)|0;c=((o=o+Math.imul(C,ve)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(U,ue),i=(i=Math.imul(U,ce))+Math.imul(B,ue)|0,o=Math.imul(B,ce),r=r+Math.imul(L,le)|0,i=(i=i+Math.imul(L,de)|0)+Math.imul(j,le)|0,o=o+Math.imul(j,de)|0;var Pe=(c+(r=r+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,ve)|0)+Math.imul(N,pe)|0))<<13)|0;c=((o=o+Math.imul(N,ve)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(U,le),i=(i=Math.imul(U,de))+Math.imul(B,le)|0,o=Math.imul(B,de);var Ne=(c+(r=r+Math.imul(L,pe)|0)|0)+((8191&(i=(i=i+Math.imul(L,ve)|0)+Math.imul(j,pe)|0))<<13)|0;c=((o=o+Math.imul(j,ve)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var Re=(c+(r=Math.imul(U,pe))|0)+((8191&(i=(i=Math.imul(U,ve))+Math.imul(B,pe)|0))<<13)|0;return c=((o=Math.imul(B,ve))+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,u[0]=ge,u[1]=me,u[2]=be,u[3]=ye,u[4]=we,u[5]=_e,u[6]=Se,u[7]=Ee,u[8]=Me,u[9]=Ae,u[10]=Ie,u[11]=ke,u[12]=Oe,u[13]=xe,u[14]=Ce,u[15]=Te,u[16]=Pe,u[17]=Ne,u[18]=Re,0!==c&&(u[19]=c,n.length++),n};function p(e,t,n){return(new v).mulp(e,t,n)}function v(e,t){this.x=e,this.y=t}Math.imul||(h=d),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?h(this,e,t):n<63?d(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n.strip()}(this,e,t):p(this,e,t)},v.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,r=0;r>=1;return r},v.prototype.permute=function(e,t,n,r,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,t+=i/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>i}return t}(e);if(0===t.length)return new o(1);for(var n=this,r=0;r=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==f||c>=i);c--){var l=0|this.words[c];this.words[c]=f<<26-o|l>>>o,f=l&a}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,u=r.length-i.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|r.words[i.length+l])+(0|r.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,l);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,l),r.isZero()||(r.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),r.strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var f=n.clone(),l=t.clone();!t.isZero();){for(var d=0,h=1;0==(t.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(f),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,v=1;0==(n.words[0]&v)&&p<26;++p,v<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(f),u.isub(l)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(a),s.isub(u)):(n.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){ri&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new S(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function m(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function E(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},m.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},m.prototype.split=function(e,t){e.iushrn(this.n,0,t)},m.prototype.imulK=function(e){return e.imul(this.k)},i(b,m),b.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r>>22,i=o}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(g[e])return g[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new y;else if("p192"===e)t=new w;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return g[e]=t,t},S.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},S.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},S.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new o(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var l=this.pow(f,i),d=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(a);){for(var v=h,g=0;0!==v.cmp(a);g++)v=v.redSqr();r(g=0;r--){for(var c=t.words[r],f=u-1;f>=0;f--){var l=c>>f&1;i!==n[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===r&&0===f)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}u=26}return i},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new E(e)},i(E,S),E.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},E.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},E.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,n(57)(e))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return C})),n.d(t,"c",(function(){return P})),n.d(t,"d",(function(){return N})),n.d(t,"e",(function(){return V})),n.d(t,"f",(function(){return F})),n.d(t,"g",(function(){return te})),n.d(t,"h",(function(){return j})),n.d(t,"i",(function(){return re})); -/*! - * Copyright 2016 Amazon.com, - * Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Amazon Software License (the "License"). - * You may not use this file except in compliance with the - * License. A copy of the License is located at - * - * http://aws.amazon.com/asl/ - * - * or in the "license" file accompanying this file. This file is - * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - * CONDITIONS OF ANY KIND, express or implied. See the License - * for the specific language governing permissions and - * limitations under the License. - */ -var r=function(){function e(e){var t=e||{},n=t.ValidationData,r=t.Username,i=t.Password,o=t.AuthParameters,s=t.ClientMetadata;this.validationData=n||{},this.authParameters=o||{},this.clientMetadata=s||{},this.username=r,this.password=i}var t=e.prototype;return t.getUsername=function(){return this.username},t.getPassword=function(){return this.password},t.getValidationData=function(){return this.validationData},t.getAuthParameters=function(){return this.authParameters},t.getClientMetadata=function(){return this.clientMetadata},e}(),i=n(6),o=n(32),s=n.n(o),a=(n(161),n(87)),u=n.n(a),c=n(75),f=n.n(c),l=n(250);var d,h=function(){function e(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length}var t=e.prototype;return t.random=function(t){for(var n=[],r=0;r>>2]>>>24-i%4*8&255;r.push((o>>>4).toString(16)),r.push((15&o).toString(16))}return r.join("")}(this)},e}(),p=v;function v(e,t){null!=e&&this.fromString(e,t)}function g(){return new v(null)}var m="undefined"!=typeof navigator;m&&"Microsoft Internet Explorer"==navigator.appName?(v.prototype.am=function(e,t,n,r,i,o){for(var s=32767&t,a=t>>15;--o>=0;){var u=32767&this[e],c=this[e++]>>15,f=a*u+c*s;i=((u=s*u+((32767&f)<<15)+n[r]+(1073741823&i))>>>30)+(f>>>15)+a*c+(i>>>30),n[r++]=1073741823&u}return i},d=30):m&&"Netscape"!=navigator.appName?(v.prototype.am=function(e,t,n,r,i,o){for(;--o>=0;){var s=t*this[e++]+n[r]+i;i=Math.floor(s/67108864),n[r++]=67108863&s}return i},d=26):(v.prototype.am=function(e,t,n,r,i,o){for(var s=16383&t,a=t>>14;--o>=0;){var u=16383&this[e],c=this[e++]>>14,f=a*u+c*s;i=((u=s*u+((16383&f)<<14)+n[r]+i)>>28)+(f>>14)+a*c,n[r++]=268435455&u}return i},d=28),v.prototype.DB=d,v.prototype.DM=(1<>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function A(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t},A.prototype.revert=function(e){var t=g();return e.copyTo(t),this.reduce(t),t},A.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},A.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},A.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},v.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},v.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},v.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");n=2}this.t=0,this.s=0;for(var r=e.length,i=!1,o=0;--r>=0;){var s=S(e,r);s<0?"-"==e.charAt(r)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+n>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}this.clamp(),i&&v.ZERO.subTo(this,this)},v.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},v.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},v.prototype.drShiftTo=function(e,t){for(var n=e;n=0;--n)t[n+s+1]=this[n]>>i|a,a=(this[n]&o)<=0;--n)t[n]=0;t[s]=a,t.t=this.t+s+1,t.s=this.s,t.clamp()},v.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var r=e%this.DB,i=this.DB-r,o=(1<>r;for(var s=n+1;s>r;r>0&&(t[this.t-n-1]|=(this.s&o)<>=this.DB;if(e.t>=this.DB;r+=this.s}else{for(r+=this.s;n>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[n++]=this.DV+r:r>0&&(t[n++]=r),t.t=n,t.clamp()},v.prototype.multiplyTo=function(e,t){var n=this.abs(),r=e.abs(),i=n.t;for(t.t=i+r.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[n]=0;for(n=0;n=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},v.prototype.divRemTo=function(e,t,n){var r=e.abs();if(!(r.t<=0)){var i=this.abs();if(i.t0?(r.lShiftTo(u,o),i.lShiftTo(u,n)):(r.copyTo(o),i.copyTo(n));var c=o.t,f=o[c-1];if(0!=f){var l=f*(1<1?o[c-2]>>this.F2:0),d=this.FV/l,h=(1<=0&&(n[n.t++]=1,n.subTo(y,n)),v.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var w=n[--m]==f?this.DM:Math.floor(n[m]*d+(n[m-1]+p)*h);if((n[m]+=o.am(0,w,n,b,0,c))0&&n.rShiftTo(u,n),s<0&&v.ZERO.subTo(n,n)}}},v.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},v.prototype.addTo=function(e,t){for(var n=0,r=0,i=Math.min(e.t,this.t);n>=this.DB;if(e.t>=this.DB;r+=this.s}else{for(r+=this.s;n>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[n++]=r:r<-1&&(t[n++]=this.DV+r),t.t=n,t.clamp()},v.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");t=2}var n,r=(1<0)for(a>a)>0&&(i=!0,o=_(n));s>=0;)a>(a+=this.DB-t)):(n=this[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=_(n));return i?o:"0"},v.prototype.negate=function(){var e=g();return v.ZERO.subTo(this,e),e},v.prototype.abs=function(){return this.s<0?this.negate():this},v.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},v.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+M(this[this.t-1]^this.s&this.DM)},v.prototype.mod=function(e){var t=g();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(v.ZERO)>0&&e.subTo(t,t),t},v.prototype.equals=function(e){return 0==this.compareTo(e)},v.prototype.add=function(e){var t=g();return this.addTo(e,t),t},v.prototype.subtract=function(e){var t=g();return this.subTo(e,t),t},v.prototype.multiply=function(e){var t=g();return this.multiplyTo(e,t),t},v.prototype.divide=function(e){var t=g();return this.divRemTo(e,t,null),t},v.prototype.modPow=function(e,t,n){var r,i=e.bitLength(),o=E(1),s=new A(t);if(i<=0)return o;r=i<18?1:i<48?3:i<144?4:i<768?5:6;var a=new Array,u=3,c=r-1,f=(1<1){var l=g();for(s.sqrTo(a[1],l);u<=f;)a[u]=g(),s.mulTo(l,a[u-2],a[u]),u+=2}var d,h,p=e.t-1,v=!0,m=g();for(i=M(e[p])-1;p>=0;){for(i>=c?d=e[p]>>i-c&f:(d=(e[p]&(1<0&&(d|=e[p-1]>>this.DB+i-c)),u=r;0==(1&d);)d>>=1,--u;if((i-=u)<0&&(i+=this.DB,--p),v)a[d].copyTo(o),v=!1;else{for(;u>1;)s.sqrTo(o,m),s.sqrTo(m,o),u-=2;u>0?s.sqrTo(o,m):(h=o,o=m,m=h),s.mulTo(m,a[d],o)}for(;p>=0&&0==(e[p]&1<>>2]>>>24-o%4*8&255;t[r+o>>>2]|=s<<24-(r+o)%4*8}else for(o=0;o>>2]=n[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,r=[],i=function(t){t=t;var n=987654321,r=4294967295;return function(){var i=((n=36969*(65535&n)+(n>>16)&r)<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-i%4*8&255;r.push((o>>>4).toString(16)),r.push((15&o).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new s.init(n,t/2)}},c=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(o))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new s.init(n,t)}},f=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},l=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,o=this.blockSize,a=i/(4*o),u=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,c=e.min(4*u,i);if(u){for(var f=0;fo?1*r:0})),!0},s=function(e,t){var n=Object.assign({},e);return t&&("string"==typeof t?delete n[t]:t.forEach((function(e){delete n[e]}))),n},a=function(e,t){void 0===t&&(t="application/octet-stream");var n=e.toLowerCase(),i=r.filter((function(e){return n.endsWith("."+e.ext)}));return i.length>0?i[0].type:t},u=function(e){var t=e.toLowerCase();return!!t.startsWith("text/")||("application/json"===t||"application/xml"===t||"application/sh"===t)},c=function(){for(var e="",t="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",n=32;n>0;n-=1)e+=t[Math.floor(Math.random()*t.length)];return e},f=function(e){if(e.isResolved)return e;var t=!0,n=!1,r=!1,i=e.then((function(e){return r=!0,t=!1,e}),(function(e){throw n=!0,t=!1,e}));return i.isFullfilled=function(){return r},i.isPending=function(){return t},i.isRejected=function(){return n},i},l=function(){if("undefined"==typeof self)return!1;var e=self;return void 0!==e.WorkerGlobalScope&&self instanceof e.WorkerGlobalScope},d=function(){return{isBrowser:"undefined"!=typeof window&&void 0!==window.document,isNode:void 0!==e&&null!=e.versions&&null!=e.versions.node}},h=function e(t,n,r){if(void 0===n&&(n=[]),void 0===r&&(r=[]),!v(t))return t;var i={};for(var o in t){if(t.hasOwnProperty(o))i[n.includes(o)?o:o[0].toLowerCase()+o.slice(1)]=r.includes(o)?t[o]:e(t[o],n,r)}return i},p=function e(t,n,r){if(void 0===n&&(n=[]),void 0===r&&(r=[]),!v(t))return t;var i={};for(var o in t){if(t.hasOwnProperty(o))i[n.includes(o)?o:o[0].toUpperCase()+o.slice(1)]=r.includes(o)?t[o]:e(t[o],n,r)}return i},v=function(e){return!(!(e instanceof Object)||e instanceof Array||e instanceof Function||e instanceof Number||e instanceof String||e instanceof Boolean)},g=function(){function e(){}return e.isEmpty=i,e.sortByField=o,e.objectLessAttributes=s,e.filenameToContentType=a,e.isTextFile=u,e.generateRandomString=c,e.makeQuerablePromise=f,e.isWebWorker=l,e.browserOrNode=d,e.transferKeyToLowerCase=h,e.transferKeyToUpperCase=p,e.isStrictObject=v,e}()}).call(this,n(20))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r,i=n(105);!function(e){e.CONNECTION_CLOSED="Connection closed",e.TIMEOUT_DISCONNECT="Timeout disconnect",e.SUBSCRIPTION_ACK="Subscription ack"}(r||(r={})),t.b=i.a},function(e,t,n){"use strict";var r;n.d(t,"a",(function(){return r})),function(e){e.DEFAULT_MSG="Authentication Error",e.EMPTY_USERNAME="Username cannot be empty",e.INVALID_USERNAME="The username should either be a string or one of the sign in types",e.EMPTY_PASSWORD="Password cannot be empty",e.EMPTY_CODE="Confirmation code cannot be empty",e.SIGN_UP_ERROR="Error creating account",e.NO_MFA="No valid MFA method provided",e.INVALID_MFA="Invalid MFA type",e.EMPTY_CHALLENGE="Challenge response cannot be empty",e.NO_USER_SESSION="Failed to get the session because the user is empty"}(r||(r={}))},function(e,t,n){var r=n(228),i=n(230),o=n(231),s=n(61),a=n(232),u=n(138),c=n(229),f=n(139),l=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(a(e)&&(s(e)||"string"==typeof e||"function"==typeof e.splice||u(e)||f(e)||o(e)))return!e.length;var t=i(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(c(e))return!r(e).length;for(var n in e)if(l.call(e,n))return!1;return!0}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),i=n(2);var o={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware"},s=function(e){return{applyToStack:function(t){t.add(function(e){var t=this;return function(n){return function(o){return Object(r.__awaiter)(t,void 0,void 0,(function(){var t,s,a,u,c;return Object(r.__generator)(this,(function(f){return t=o.request,i.a.isInstance(t)&&(s=t.body,a=t.headers,s&&-1===Object.keys(a).map((function(e){return e.toLowerCase()})).indexOf("content-length")&&void 0!==(u=e(s))&&(t.headers=Object(r.__assign)(Object(r.__assign)({},t.headers),((c={})["content-length"]=String(u),c)))),[2,n(Object(r.__assign)(Object(r.__assign)({},o),{request:t}))]}))}))}}}(e.bodyLengthChecker),o)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebCryptoSha256=t.Ie11Sha256=void 0,n(1).__exportStar(n(373),t);var r=n(216);Object.defineProperty(t,"Ie11Sha256",{enumerable:!0,get:function(){return r.Sha256}});var i=n(219);Object.defineProperty(t,"WebCryptoSha256",{enumerable:!0,get:function(){return i.Sha256}})},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(106),i=function(e){var t,n=new URL(e),i=n.hostname,o=n.pathname,s=n.port,a=n.protocol,u=n.search;return u&&(t=Object(r.a)(u)),{hostname:i,port:s?parseInt(s):void 0,protocol:a,path:o,query:t}}},function(e,t,n){"use strict";function r(e){if("string"==typeof e){for(var t=e.length,n=t-1;n>=0;n--){var r=e.charCodeAt(n);r>127&&r<=2047?t++:r>2047&&r<=65535&&(t+=2)}return t}return"number"==typeof e.byteLength?e.byteLength:"number"==typeof e.size?e.size:void 0}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){return"aws-sdk-js-v3-"+e+"/"+t+" "+("undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:"")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(63);n(30);t.a=r.a},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),i={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize"},o=function(e){return{applyToStack:function(e){e.add((function(e,t){return function(n){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){var i,o,s,a;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return i=t.logger,[4,e(n)];case 1:return o=r.sent(),i?(s=o.response,"function"==typeof i.info&&i.info({metadata:{statusCode:s.statusCode,requestId:null!==(a=s.headers["x-amzn-requestid"])&&void 0!==a?a:s.headers["x-amzn-request-id"],extendedRequestId:s.headers["x-amz-id-2"],cfId:s.headers["x-amz-cf-id"]}}),[2,o]):[2,o]}}))}))}}),i)}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},i=function(){for(var e=[],t=0;t=s){var u=console.log.bind(console);"ERROR"===t&&console.error&&(u=console.error.bind(console)),"WARN"===t&&console.warn&&(u=console.warn.bind(console));var c="["+t+"] "+this._ts()+" "+this.name;if(1===n.length&&"string"==typeof n[0])u(c+" - "+n[0]);else if(1===n.length)u(c,n[0]);else if("string"==typeof n[0]){var f=n.slice(1);1===f.length&&(f=f[0]),u(c+" - "+n[0],f)}else u(c,n)}},e.prototype.log=function(){for(var e=[],t=0;t(i>>1)-1?(i>>1)-u:u,o.isubn(a)):a=0,r[s]=a,o.iushrn(1)}return r},r.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var s,a,u=e.andln(3)+i&3,c=t.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),s=0==(1&u)?0:3!==(r=e.andln(7)+i&7)&&5!==r||2!==c?u:-u,n[0].push(s),a=0==(1&c)?0:3!==(r=t.andln(7)+o&7)&&5!==r||2!==u?c:-c,n[1].push(a),2*i===s+1&&(i=1-i),2*o===a+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return n},r.cachedProperty=function(e,t,n){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new i(e,"hex","le")}},,function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,r){function i(){void 0!==o&&e.removeListener("error",o),n([].slice.call(arguments))}var o;"error"!==t&&(o=function(n){e.removeListener(t,i),r(n)},e.once("error",o)),e.once(t,i)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var u=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function f(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function l(e,t,n,r){var i,o,s,a;if(c(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=f(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,a=u,console&&console.warn&&console.warn(a)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=d.bind(r);return i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,f=g(u,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},a.prototype.listenerCount=v,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r={userAgent:"aws-amplify/3.8.12 js",product:"",navigator:null,isReactNative:!1};if("undefined"!=typeof navigator&&navigator.product)switch(r.product=navigator.product||"",r.navigator=navigator||null,navigator.product){case"ReactNative":r.userAgent="aws-amplify/3.8.12 react-native",r.isReactNative=!0;break;default:r.userAgent="aws-amplify/3.8.12 js",r.isReactNative=!1}var i=function(){return r.userAgent}},function(e,t,n){"use strict";var r=n(46),i=n(7);function o(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function s(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function u(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i>6|192,n[r++]=63&s|128):o(e,i)?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++i)),n[r++]=s>>18|240,n[r++]=s>>12&63|128,n[r++]=s>>6&63|128,n[r++]=63&s|128):(n[r++]=s>>12|224,n[r++]=s>>6&63|128,n[r++]=63&s|128)}else for(i=0;i>>0}return s},t.split32=function(e,t){for(var n=new Array(4*e.length),r=0,i=0;r>>24,n[i+1]=o>>>16&255,n[i+2]=o>>>8&255,n[i+3]=255&o):(n[i+3]=o>>>24,n[i+2]=o>>>16&255,n[i+1]=o>>>8&255,n[i]=255&o)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,r){return e+t+n+r>>>0},t.sum32_5=function(e,t,n,r,i){return e+t+n+r+i>>>0},t.sum64=function(e,t,n,r){var i=e[t],o=r+e[t+1]>>>0,s=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,n,r){return(t+r>>>0>>0},t.sum64_lo=function(e,t,n,r){return t+r>>>0},t.sum64_4_hi=function(e,t,n,r,i,o,s,a){var u=0,c=t;return u+=(c=c+r>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,n,r,i,o,s,a){return t+r+o+a>>>0},t.sum64_5_hi=function(e,t,n,r,i,o,s,a,u,c){var f=0,l=t;return f+=(l=l+r>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,n,r,i,o,s,a,u,c){return t+r+o+a+c>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},function(e,t,n){"use strict";var r=n(62);t.a=r.a},function(e,t,n){var r=n(223),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},function(e,t,n){"use strict";const r=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+r+"][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",o=new RegExp("^"+i+"$");t.isExist=function(e){return void 0!==e},t.isEmptyObject=function(e){return 0===Object.keys(e).length},t.merge=function(e,t,n){if(t){const r=Object.keys(t),i=r.length;for(let o=0;o>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function f(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(e.lastNeed=i-1),i;if(--r=0)return i>0&&(e.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";var r=n(92),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=l;var o=Object.create(n(80));o.inherits=n(7);var s=n(171),a=n(120);o.inherits(l,s);for(var u=i(a.prototype),c=0;c0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},M="undefined"!=typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("amplify_default"):"@@amplify_default",A=function(e,t,n){o.a.dispatch("auth",{event:e,data:t,message:n},"Auth",M)},I=new i.a("OAuth"),k=function(){function e(e){var t=e.config,n=e.cognitoClientId,r=e.scopes,i=void 0===r?[]:r;if(this._urlOpener=t.urlOpener||v,this._config=t,this._cognitoClientId=n,!this.isValidScopes(i))throw Error("scopes must be a String Array");this._scopes=i}return e.prototype.isValidScopes=function(e){return Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))},e.prototype.oauthSignIn=function(e,t,n,i,o,s){void 0===e&&(e="code"),void 0===o&&(o=r.b.Cognito);var a=this._generateState(32),u=s?a+"-"+s.split("").map((function(e){return e.charCodeAt(0).toString(16).padStart(2,"0")})).join(""):a;!function(e){window.sessionStorage.setItem("oauth_state",e)}(u);var c,f=this._generateRandom(128);c=f,window.sessionStorage.setItem("ouath_pkce_key",c);var l=this._generateChallenge(f),d=this._scopes.join(" "),h="https://"+t+"/oauth2/authorize?"+Object.entries(w(w({redirect_uri:n,response_type:e,client_id:i,identity_provider:o,scope:d,state:u},"code"===e?{code_challenge:l}:{}),"code"===e?{code_challenge_method:"S256"}:{})).map((function(e){var t=E(e,2),n=t[0],r=t[1];return encodeURIComponent(n)+"="+encodeURIComponent(r)})).join("&");I.debug("Redirecting to "+h),this._urlOpener(h,n)},e.prototype._handleCodeFlow=function(e){return _(this,void 0,void 0,(function(){var t,n,i,o,s,a,u,c,f,l,d,h;return S(this,(function(v){switch(v.label){case 0:return(t=(Object(p.parse)(e).query||"").split("&").map((function(e){return e.split("=")})).reduce((function(e,t){var n,r=E(t,2),i=r[0],o=r[1];return w(w({},e),((n={})[i]=o,n))}),{code:void 0}).code)&&Object(p.parse)(e).pathname===Object(p.parse)(this._config.redirectSignIn).pathname?(n="https://"+this._config.domain+"/oauth2/token",A("codeFlow",{},"Retrieving tokens from "+n),i=Object(r.d)(this._config)?this._cognitoClientId:this._config.clientID,o=Object(r.d)(this._config)?this._config.redirectSignIn:this._config.redirectUri,g=window.sessionStorage.getItem("ouath_pkce_key"),window.sessionStorage.removeItem("ouath_pkce_key"),a=w({grant_type:"authorization_code",code:t,client_id:i,redirect_uri:o},(s=g)?{code_verifier:s}:{}),I.debug("Calling token endpoint: "+n+" with",a),u=Object.entries(a).map((function(e){var t=E(e,2),n=t[0],r=t[1];return encodeURIComponent(n)+"="+encodeURIComponent(r)})).join("&"),[4,fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:u})]):[2];case 1:return[4,v.sent().json()];case 2:if(c=v.sent(),f=c.access_token,l=c.refresh_token,d=c.id_token,h=c.error)throw new Error(h);return[2,{accessToken:f,refreshToken:l,idToken:d}]}var g}))}))},e.prototype._handleImplicitFlow=function(e){return _(this,void 0,void 0,(function(){var t,n,r;return S(this,(function(i){return t=(Object(p.parse)(e).hash||"#").substr(1).split("&").map((function(e){return e.split("=")})).reduce((function(e,t){var n,r=E(t,2),i=r[0],o=r[1];return w(w({},e),((n={})[i]=o,n))}),{id_token:void 0,access_token:void 0}),n=t.id_token,r=t.access_token,A("implicitFlow",{},"Got tokens from "+e),I.debug("Retrieving implicit tokens from "+e+" with"),[2,{accessToken:r,idToken:n,refreshToken:null}]}))}))},e.prototype.handleAuthResponse=function(e){return _(this,void 0,void 0,(function(){var t,n,r,i,o,s,a;return S(this,(function(u){switch(u.label){case 0:if(u.trys.push([0,5,,6]),t=e?w(w({},(Object(p.parse)(e).hash||"#").substr(1).split("&").map((function(e){return e.split("=")})).reduce((function(e,t){var n=E(t,2),r=n[0],i=n[1];return e[r]=i,e}),{})),(Object(p.parse)(e).query||"").split("&").map((function(e){return e.split("=")})).reduce((function(e,t){var n=E(t,2),r=n[0],i=n[1];return e[r]=i,e}),{})):{},n=t.error,r=t.error_description,n)throw new Error(r);return i=this._validateState(t),I.debug("Starting "+this._config.responseType+" flow with "+e),"code"!==this._config.responseType?[3,2]:(o=[{}],[4,this._handleCodeFlow(e)]);case 1:return[2,w.apply(void 0,[w.apply(void 0,o.concat([u.sent()])),{state:i}])];case 2:return s=[{}],[4,this._handleImplicitFlow(e)];case 3:return[2,w.apply(void 0,[w.apply(void 0,s.concat([u.sent()])),{state:i}])];case 4:return[3,6];case 5:throw a=u.sent(),I.error("Error handling auth response.",a),a;case 6:return[2]}}))}))},e.prototype._validateState=function(e){if(e){var t,n=(t=window.sessionStorage.getItem("oauth_state"),window.sessionStorage.removeItem("oauth_state"),t),r=e.state;if(n&&n!==r)throw new Error("Invalid state in OAuth flow");return r}},e.prototype.signOut=function(){return _(this,void 0,void 0,(function(){var e,t,n;return S(this,(function(i){return e="https://"+this._config.domain+"/logout?",t=Object(r.d)(this._config)?this._cognitoClientId:this._config.oauth.clientID,n=Object(r.d)(this._config)?this._config.redirectSignOut:this._config.returnTo,e+=Object.entries({client_id:t,logout_uri:encodeURIComponent(n)}).map((function(e){var t=E(e,2);return t[0]+"="+t[1]})).join("&"),A("oAuthSignOut",{oAuth:"signOut"},"Signing out from "+e),I.debug("Signing out from "+e),[2,this._urlOpener(e)]}))}))},e.prototype._generateState=function(e){for(var t="",n=e,r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";n>0;--n)t+=r[Math.round(Math.random()*(r.length-1))];return t},e.prototype._generateChallenge=function(e){return this._base64URL(m()(e))},e.prototype._base64URL=function(e){return e.toString(y.a).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},e.prototype._generateRandom=function(e){var t=new Uint8Array(e);if("undefined"!=typeof window&&window.crypto)window.crypto.getRandomValues(t);else for(var n=0;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},B=new i.a("AuthClass"),F="undefined"!=typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("amplify_default"):"@@amplify_default",z=function(e,t,n){o.a.dispatch("auth",{event:e,data:t,message:n},"Auth",F)},q=new(function(){function e(e){var t=this;this.userPool=null,this.user=null,this.oAuthFlowInProgress=!1,this.Credentials=s.a,this.wrapRefreshSessionCallback=function(e){return function(t,n){return n?z("tokenRefresh",void 0,"New token retrieved"):z("tokenRefresh_failure",t,"Failed to retrieve new token"),e(t,n)}},this.configure(e),this.currentCredentials=this.currentCredentials.bind(this),this.currentUserCredentials=this.currentUserCredentials.bind(this),o.a.listen("auth",(function(e){switch(e.payload.event){case"signIn":t._storage.setItem("amplify-signin-with-hostedUI","false");break;case"signOut":t._storage.removeItem("amplify-signin-with-hostedUI");break;case"cognitoHostedUI":t._storage.setItem("amplify-signin-with-hostedUI","true")}}))}return e.prototype.getModuleName=function(){return"Auth"},e.prototype.configure=function(e){var t=this;if(!e)return this._config||{};B.debug("configure Auth");var n=Object.assign({},this._config,a.a.parseMobilehubConfig(e).Auth,e);this._config=n;var i=this._config,o=i.userPoolId,s=i.userPoolWebClientId,l=i.cookieStorage,d=i.oauth,p=i.region,v=i.identityPoolId,g=i.mandatorySignIn,m=i.refreshHandlers,b=i.identityPoolRegion,y=i.clientMetadata,w=i.endpoint;if(this._config.storage){if(!this._isValidAuthStorage(this._config.storage))throw B.error("The storage in the Auth config is not valid!"),new Error("Empty storage object");this._storage=this._config.storage}else this._storage=l?new h.i(l):e.ssr?new u.a:(new c.a).getStorage();if(this._storageSync=Promise.resolve(),"function"==typeof this._storage.sync&&(this._storageSync=this._storage.sync()),o){var _={UserPoolId:o,ClientId:s,endpoint:w};_.Storage=this._storage,this.userPool=new h.g(_,this.wrapRefreshSessionCallback)}this.Credentials.configure({mandatorySignIn:g,region:b||p,userPoolId:o,identityPoolId:v,refreshHandlers:m,storage:this._storage});var S=d?Object(r.d)(this._config.oauth)?d:d.awsCognito:void 0;if(S){var E=Object.assign({cognitoClientId:s,UserPoolId:o,domain:S.domain,scopes:S.scope,redirectSignIn:S.redirectSignIn,redirectSignOut:S.redirectSignOut,responseType:S.responseType,Storage:this._storage,urlOpener:S.urlOpener,clientMetadata:y},S.options);this._oAuthHandler=new k({scopes:E.scopes,config:E,cognitoClientId:E.cognitoClientId});var M={};!function(e){if(f.a.browserOrNode().isBrowser&&window.location)e({url:window.location.href});else if(!f.a.browserOrNode().isNode)throw new Error("Not supported")}((function(e){var n=e.url;M[n]||(M[n]=!0,t._handleAuthResponse(n))}))}return z("configured",null,"The Auth category has been configured successfully"),this._config},e.prototype.signUp=function(e){for(var t=this,n=[],i=1;i4294967295)throw new RangeError("requested too many random bytes");var n=i.allocUnsafe(e);if(e>0)if(e>65536)for(var s=0;s2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}i("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),i("ERR_INVALID_ARG_TYPE",(function(e,t,n){var r,i,s,a;if("string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i)?(r="must not be",t=t.replace(/^not /,"")):r="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))a="The ".concat(e," ").concat(r," ").concat(o(t,"type"));else{var u=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument";a='The "'.concat(e,'" ').concat(u," ").concat(r," ").concat(o(t,"type"))}return a+=". Received type ".concat(typeof n)}),TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=r},function(e,t,n){"use strict";(function(t){var r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var i=n(163),o=n(167);n(7)(c,i);for(var s=r(o.prototype),a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var o=this._hash();return e?o.toString(e):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},function(e,t,n){"use strict";var r={};function i(e,t,n){n||(n=Error);var i=function(e){var n,r;function i(n,r,i){return e.call(this,function(e,n,r){return"string"==typeof t?t:t(e,n,r)}(n,r,i))||this}return r=e,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,n.__proto__=r,i}(n);i.prototype.name=n.name,i.prototype.code=e,r[e]=i}function o(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}i("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),i("ERR_INVALID_ARG_TYPE",(function(e,t,n){var r,i,s,a;if("string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i)?(r="must not be",t=t.replace(/^not /,"")):r="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))a="The ".concat(e," ").concat(r," ").concat(o(t,"type"));else{var u=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument";a='The "'.concat(e,'" ').concat(u," ").concat(r," ").concat(o(t,"type"))}return a+=". Received type ".concat(typeof n)}),TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=r},function(e,t,n){"use strict";(function(t){var r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var i=n(192),o=n(196);n(7)(c,i);for(var s=r(o.prototype),a=0;a0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},i={clockOffset:0,getDateWithClockOffset:function(){return i.clockOffset?new Date((new Date).getTime()+i.clockOffset):new Date},getClockOffset:function(){return i.clockOffset},getHeaderStringFromDate:function(e){return void 0===e&&(e=i.getDateWithClockOffset()),e.toISOString().replace(/[:\-]|\.\d{3}/g,"")},getDateFromHeaderString:function(e){var t=r(e.match(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2}).+/),7),n=t[1],i=t[2],o=t[3],s=t[4],a=t[5],u=t[6];return new Date(Date.UTC(Number(n),Number(i)-1,Number(o),Number(s),Number(a),Number(u)))},isClockSkewed:function(e){return Math.abs(e.getTime()-i.getDateWithClockOffset().getTime())>=3e5},isClockSkewError:function(e){if(!e.response||!e.response.headers)return!1;var t=e.response.headers;return Boolean("BadRequestException"===t["x-amzn-errortype"]&&(t.date||t.Date))},setClockOffset:function(e){i.clockOffset=e}}},,function(e,t,n){"use strict";var r=n(7),i=n(113),o=n(116),s=n(117),a=n(56);function u(e){a.call(this,"digest"),this._hash=e}r(u,a),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new i:"rmd160"===e||"ripemd160"===e?new o:new u(s(e))}},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(6).Buffer)},function(e,t,n){(function(t){e.exports=function(e,n){for(var r=Math.min(e.length,n.length),i=new t(r),o=0;o=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=r.join32(e,0,e.length-n,this.endian);for(var i=0;i>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=255&e}else for(r[i++]=255&e,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,o=8;o>>7)^(p<<14|p>>>18)^p>>>3,g=c[h-2],m=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;c[h]=v+c[h-7]+m+c[h-16]}var b=r&i^r&o^i&o,y=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),w=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&f^~a&l)+u[h]+c[h];d=l,l=f,f=a,a=s+w|0,s=o,o=i,i=r,r=w+(y+b)|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+a|0,n[5]=n[5]+f|0,n[6]=n[6]+l|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(f),t.HmacSHA256=o._createHmacHelper(f)}(Math),r.SHA256)},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(44),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},s=function(){for(var e=[],t=0;t-1)&&(r===u||a.warn("WARNING: "+e+" is protected and dispatching on it can have unintended consequences"));var o={channel:e,payload:i({},t),source:n,patternInfo:[]};try{this._toListeners(o)}catch(e){a.error(e)}},e.prototype.listen=function(e,t,n){var r,i=this;if(void 0===n&&(n="noname"),function(e){return void 0!==e.onHubCapsule}(t))a.warn("WARNING onHubCapsule is Deprecated. Please pass in a callback."),r=t.onHubCapsule.bind(t);else{if("function"!=typeof t)throw new Error("No callback supplied to Hub");r=t}if(e instanceof RegExp)this.patterns.push({pattern:e,callback:r});else{var o=this.listeners[e];o||(o=[],this.listeners[e]=o),o.push({name:n,callback:r})}return function(){i.remove(e,r)}},e.prototype._toListeners=function(e){var t=e.channel,n=e.payload,r=this.listeners[t];if(r&&r.forEach((function(r){a.debug("Dispatching to "+t+" with ",n);try{r.callback(e)}catch(e){a.error(e)}})),this.patterns.length>0){if(!n.message)return void a.warn("Cannot perform pattern matching without a message key");var s=n.message;this.patterns.forEach((function(t){var n=s.match(t.pattern);if(n){var r=o(n).slice(1),u=i(i({},e),{patternInfo:r});try{t.callback(u)}catch(e){a.error(e)}}}))}},e}())("__default__")},function(e,t,n){"use strict";n.d(t,"a",(function(){return Lt}));var r=n(44),i=n(86),o=n(33),s=n(73),a=n(514),u=n(50),c=n(19),f=n(1),l=function(e,t){return(l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}var m,b,y,w,_,S,E,M,A,I,k,O,x,C,T,P,N,R,L,j,D,U,B,F,z,q,K,H,V,G,W,$,Y,J,Z,X,Q,ee,te,ne,re,ie,oe,se,ae,ue,ce,fe,le,de,he,pe,ve,ge,me,be,ye;Object.create;!function(e){e.AUTHENTICATED_ROLE="AuthenticatedRole",e.DENY="Deny"}(m||(m={})),(b||(b={})).filterSensitiveLog=function(e){return h({},e)},(y||(y={})).filterSensitiveLog=function(e){return h({},e)},(w||(w={})).filterSensitiveLog=function(e){return h({},e)},(_||(_={})).filterSensitiveLog=function(e){return h({},e)},(S||(S={})).filterSensitiveLog=function(e){return h({},e)},(E||(E={})).filterSensitiveLog=function(e){return h({},e)},(M||(M={})).filterSensitiveLog=function(e){return h({},e)},(A||(A={})).filterSensitiveLog=function(e){return h({},e)},(I||(I={})).filterSensitiveLog=function(e){return h({},e)},(k||(k={})).filterSensitiveLog=function(e){return h({},e)},function(e){e.ACCESS_DENIED="AccessDenied",e.INTERNAL_SERVER_ERROR="InternalServerError"}(O||(O={})),(x||(x={})).filterSensitiveLog=function(e){return h({},e)},(C||(C={})).filterSensitiveLog=function(e){return h({},e)},(T||(T={})).filterSensitiveLog=function(e){return h({},e)},(P||(P={})).filterSensitiveLog=function(e){return h({},e)},(N||(N={})).filterSensitiveLog=function(e){return h({},e)},(R||(R={})).filterSensitiveLog=function(e){return h({},e)},(L||(L={})).filterSensitiveLog=function(e){return h({},e)},(j||(j={})).filterSensitiveLog=function(e){return h({},e)},(D||(D={})).filterSensitiveLog=function(e){return h({},e)},(U||(U={})).filterSensitiveLog=function(e){return h({},e)},(B||(B={})).filterSensitiveLog=function(e){return h({},e)},(F||(F={})).filterSensitiveLog=function(e){return h({},e)},(z||(z={})).filterSensitiveLog=function(e){return h({},e)},(q||(q={})).filterSensitiveLog=function(e){return h({},e)},(K||(K={})).filterSensitiveLog=function(e){return h({},e)},function(e){e.CONTAINS="Contains",e.EQUALS="Equals",e.NOT_EQUAL="NotEqual",e.STARTS_WITH="StartsWith"}(H||(H={})),(V||(V={})).filterSensitiveLog=function(e){return h({},e)},(G||(G={})).filterSensitiveLog=function(e){return h({},e)},function(e){e.RULES="Rules",e.TOKEN="Token"}(W||(W={})),($||($={})).filterSensitiveLog=function(e){return h({},e)},(Y||(Y={})).filterSensitiveLog=function(e){return h({},e)},(J||(J={})).filterSensitiveLog=function(e){return h({},e)},(Z||(Z={})).filterSensitiveLog=function(e){return h({},e)},(X||(X={})).filterSensitiveLog=function(e){return h({},e)},(Q||(Q={})).filterSensitiveLog=function(e){return h({},e)},(ee||(ee={})).filterSensitiveLog=function(e){return h({},e)},(te||(te={})).filterSensitiveLog=function(e){return h({},e)},(ne||(ne={})).filterSensitiveLog=function(e){return h({},e)},(re||(re={})).filterSensitiveLog=function(e){return h({},e)},(ie||(ie={})).filterSensitiveLog=function(e){return h({},e)},(oe||(oe={})).filterSensitiveLog=function(e){return h({},e)},(se||(se={})).filterSensitiveLog=function(e){return h({},e)},(ae||(ae={})).filterSensitiveLog=function(e){return h({},e)},(ue||(ue={})).filterSensitiveLog=function(e){return h({},e)},(ce||(ce={})).filterSensitiveLog=function(e){return h({},e)},(fe||(fe={})).filterSensitiveLog=function(e){return h({},e)},(le||(le={})).filterSensitiveLog=function(e){return h({},e)},(de||(de={})).filterSensitiveLog=function(e){return h({},e)},(he||(he={})).filterSensitiveLog=function(e){return h({},e)},(pe||(pe={})).filterSensitiveLog=function(e){return h({},e)},(ve||(ve={})).filterSensitiveLog=function(e){return h({},e)},(ge||(ge={})).filterSensitiveLog=function(e){return h({},e)},(me||(me={})).filterSensitiveLog=function(e){return h({},e)},(be||(be={})).filterSensitiveLog=function(e){return h({},e)},(ye||(ye={})).filterSensitiveLog=function(e){return h({},e)};var we=n(2),_e=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d,p,g,m,b,y;return v(this,(function(v){switch(v.label){case 0:return r=[h({},e)],y={},[4,Je(e.body,t)];case 1:switch(n=h.apply(void 0,r.concat([(y.body=v.sent(),y)])),o="UnknownError",s=n.body.__type.split("#"),o=void 0===s[1]?s[0]:s[1],o){case"ExternalServiceException":case"com.amazonaws.cognitoidentity#ExternalServiceException":return[3,2];case"InternalErrorException":case"com.amazonaws.cognitoidentity#InternalErrorException":return[3,4];case"InvalidIdentityPoolConfigurationException":case"com.amazonaws.cognitoidentity#InvalidIdentityPoolConfigurationException":return[3,6];case"InvalidParameterException":case"com.amazonaws.cognitoidentity#InvalidParameterException":return[3,8];case"NotAuthorizedException":case"com.amazonaws.cognitoidentity#NotAuthorizedException":return[3,10];case"ResourceConflictException":case"com.amazonaws.cognitoidentity#ResourceConflictException":return[3,12];case"ResourceNotFoundException":case"com.amazonaws.cognitoidentity#ResourceNotFoundException":return[3,14];case"TooManyRequestsException":case"com.amazonaws.cognitoidentity#TooManyRequestsException":return[3,16]}return[3,18];case 2:return a=[{}],[4,Ee(n,t)];case 3:return i=h.apply(void 0,[h.apply(void 0,a.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 4:return u=[{}],[4,Me(n,t)];case 5:return i=h.apply(void 0,[h.apply(void 0,u.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 6:return c=[{}],[4,Ae(n,t)];case 7:return i=h.apply(void 0,[h.apply(void 0,c.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 8:return f=[{}],[4,Ie(n,t)];case 9:return i=h.apply(void 0,[h.apply(void 0,f.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 10:return l=[{}],[4,Oe(n,t)];case 11:return i=h.apply(void 0,[h.apply(void 0,l.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 12:return d=[{}],[4,xe(n,t)];case 13:return i=h.apply(void 0,[h.apply(void 0,d.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 14:return p=[{}],[4,Ce(n,t)];case 15:return i=h.apply(void 0,[h.apply(void 0,p.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 16:return g=[{}],[4,Te(n,t)];case 17:return i=h.apply(void 0,[h.apply(void 0,g.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 18:m=n.body,o=m.code||m.Code||o,i=h(h({},m),{name:""+o,message:m.message||m.Message||o,$fault:"client",$metadata:We(e)}),v.label=19;case 19:return b=i.message||i.Message||o,i.message=b,delete i.Message,[2,Promise.reject(Object.assign(new Error(b),i))]}}))}))},Se=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d,p,g,m,b,y;return v(this,(function(v){switch(v.label){case 0:return r=[h({},e)],y={},[4,Je(e.body,t)];case 1:switch(n=h.apply(void 0,r.concat([(y.body=v.sent(),y)])),o="UnknownError",s=n.body.__type.split("#"),o=void 0===s[1]?s[0]:s[1],o){case"ExternalServiceException":case"com.amazonaws.cognitoidentity#ExternalServiceException":return[3,2];case"InternalErrorException":case"com.amazonaws.cognitoidentity#InternalErrorException":return[3,4];case"InvalidParameterException":case"com.amazonaws.cognitoidentity#InvalidParameterException":return[3,6];case"LimitExceededException":case"com.amazonaws.cognitoidentity#LimitExceededException":return[3,8];case"NotAuthorizedException":case"com.amazonaws.cognitoidentity#NotAuthorizedException":return[3,10];case"ResourceConflictException":case"com.amazonaws.cognitoidentity#ResourceConflictException":return[3,12];case"ResourceNotFoundException":case"com.amazonaws.cognitoidentity#ResourceNotFoundException":return[3,14];case"TooManyRequestsException":case"com.amazonaws.cognitoidentity#TooManyRequestsException":return[3,16]}return[3,18];case 2:return a=[{}],[4,Ee(n,t)];case 3:return i=h.apply(void 0,[h.apply(void 0,a.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 4:return u=[{}],[4,Me(n,t)];case 5:return i=h.apply(void 0,[h.apply(void 0,u.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 6:return c=[{}],[4,Ie(n,t)];case 7:return i=h.apply(void 0,[h.apply(void 0,c.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 8:return f=[{}],[4,ke(n,t)];case 9:return i=h.apply(void 0,[h.apply(void 0,f.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 10:return l=[{}],[4,Oe(n,t)];case 11:return i=h.apply(void 0,[h.apply(void 0,l.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 12:return d=[{}],[4,xe(n,t)];case 13:return i=h.apply(void 0,[h.apply(void 0,d.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 14:return p=[{}],[4,Ce(n,t)];case 15:return i=h.apply(void 0,[h.apply(void 0,p.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 16:return g=[{}],[4,Te(n,t)];case 17:return i=h.apply(void 0,[h.apply(void 0,g.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 18:m=n.body,o=m.code||m.Code||o,i=h(h({},m),{name:""+o,message:m.message||m.Message||o,$fault:"client",$metadata:We(e)}),v.label=19;case 19:return b=i.message||i.Message||o,i.message=b,delete i.Message,[2,Promise.reject(Object.assign(new Error(b),i))]}}))}))},Ee=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=je(n,t),[2,h({name:"ExternalServiceException",$fault:"client",$metadata:We(e)},r)]}))}))},Me=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Be(n,t),[2,h({name:"InternalErrorException",$fault:"server",$metadata:We(e)},r)]}))}))},Ae=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Fe(n,t),[2,h({name:"InvalidIdentityPoolConfigurationException",$fault:"client",$metadata:We(e)},r)]}))}))},Ie=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=ze(n,t),[2,h({name:"InvalidParameterException",$fault:"client",$metadata:We(e)},r)]}))}))},ke=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=qe(n,t),[2,h({name:"LimitExceededException",$fault:"client",$metadata:We(e)},r)]}))}))},Oe=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Ke(n,t),[2,h({name:"NotAuthorizedException",$fault:"client",$metadata:We(e)},r)]}))}))},xe=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=He(n,t),[2,h({name:"ResourceConflictException",$fault:"client",$metadata:We(e)},r)]}))}))},Ce=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Ve(n,t),[2,h({name:"ResourceNotFoundException",$fault:"client",$metadata:We(e)},r)]}))}))},Te=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Ge(n,t),[2,h({name:"TooManyRequestsException",$fault:"client",$metadata:We(e)},r)]}))}))},Pe=function(e,t){return h(h(h({},void 0!==e.CustomRoleArn&&{CustomRoleArn:e.CustomRoleArn}),void 0!==e.IdentityId&&{IdentityId:e.IdentityId}),void 0!==e.Logins&&{Logins:Re(e.Logins,t)})},Ne=function(e,t){return h(h(h({},void 0!==e.AccountId&&{AccountId:e.AccountId}),void 0!==e.IdentityPoolId&&{IdentityPoolId:e.IdentityPoolId}),void 0!==e.Logins&&{Logins:Re(e.Logins,t)})},Re=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=g(t,2),i=r[0],o=r[1];return h(h({},e),((n={})[i]=o,n))}),{})},Le=function(e,t){return{AccessKeyId:void 0!==e.AccessKeyId&&null!==e.AccessKeyId?e.AccessKeyId:void 0,Expiration:void 0!==e.Expiration&&null!==e.Expiration?new Date(Math.round(1e3*e.Expiration)):void 0,SecretKey:void 0!==e.SecretKey&&null!==e.SecretKey?e.SecretKey:void 0,SessionToken:void 0!==e.SessionToken&&null!==e.SessionToken?e.SessionToken:void 0}},je=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},De=function(e,t){return{Credentials:void 0!==e.Credentials&&null!==e.Credentials?Le(e.Credentials):void 0,IdentityId:void 0!==e.IdentityId&&null!==e.IdentityId?e.IdentityId:void 0}},Ue=function(e,t){return{IdentityId:void 0!==e.IdentityId&&null!==e.IdentityId?e.IdentityId:void 0}},Be=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},Fe=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},ze=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},qe=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},Ke=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},He=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},Ve=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},Ge=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},We=function(e){return{httpStatusCode:e.statusCode,httpHeaders:e.headers,requestId:e.headers["x-amzn-requestid"]}},$e=function(e,t){return void 0===e&&(e=new Uint8Array),e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array)},Ye=function(e,t,n,r,i){return p(void 0,void 0,void 0,(function(){var o,s,a,u,c,f;return v(this,(function(l){switch(l.label){case 0:return[4,e.endpoint()];case 1:return o=l.sent(),s=o.hostname,a=o.protocol,u=void 0===a?"https":a,c=o.port,f={protocol:u,hostname:s,port:c,method:"POST",path:n,headers:t},void 0!==r&&(f.hostname=r),void 0!==i&&(f.body=i),[2,new we.a(f)]}}))}))},Je=function(e,t){return function(e,t){return $e(e,t).then((function(e){return t.utf8Encoder(e)}))}(e,t).then((function(e){return e.length?JSON.parse(e):{}}))},Ze=n(10),Xe=n(0),Qe=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return d(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Ze.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"CognitoIdentityClient",commandName:"GetCredentialsForIdentityCommand",inputFilterSensitiveLog:D.filterSensitiveLog,outputFilterSensitiveLog:B.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"CognitoIdentityClient",commandName:"GetCredentialsForIdentityCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityService.GetCredentialsForIdentity"},r=JSON.stringify(Pe(e,t)),[2,Ye(t,n,"/",void 0,r)]}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return p(void 0,void 0,void 0,(function(){var n,r,i;return v(this,(function(o){switch(o.label){case 0:return e.statusCode>=300?[2,_e(e,t)]:[4,Je(e.body,t)];case 1:return n=o.sent(),{},r=De(n,t),i=h({$metadata:We(e)},r),[2,Promise.resolve(i)]}}))}))}(e,t)},t}(Xe.b),et=function(e){function t(t,n){void 0===n&&(n=!0);var r=e.call(this,t)||this;return r.tryNextLink=n,r}return Object(f.__extends)(t,e),t}(Error);function tt(e){return Promise.all(Object.keys(e).reduce((function(t,n){var r=e[n];return"string"==typeof r?t.push([n,r]):t.push(r().then((function(e){return[n,e]}))),t}),[])).then((function(e){return e.reduce((function(e,t){var n=Object(f.__read)(t,2),r=n[0],i=n[1];return e[r]=i,e}),{})}))}function nt(e){var t=this;return function(){return Object(f.__awaiter)(t,void 0,void 0,(function(){var t,n,r,i,o,s,a,u,c,l,d,h,p;return Object(f.__generator)(this,(function(f){switch(f.label){case 0:return l=(c=e.client).send,d=Qe.bind,p={CustomRoleArn:e.customRoleArn,IdentityId:e.identityId},e.logins?[4,tt(e.logins)]:[3,2];case 1:return h=f.sent(),[3,3];case 2:h=void 0,f.label=3;case 3:return[4,l.apply(c,[new(d.apply(Qe,[void 0,(p.Logins=h,p)]))])];case 4:return t=f.sent().Credentials,n=void 0===t?function(){throw new et("Response from Amazon Cognito contained no credentials")}():t,r=n.AccessKeyId,i=void 0===r?function(){throw new et("Response from Amazon Cognito contained no access key ID")}():r,o=n.Expiration,s=n.SecretKey,a=void 0===s?function(){throw new et("Response from Amazon Cognito contained no secret key")}():s,u=n.SessionToken,[2,{identityId:e.identityId,accessKeyId:i,secretAccessKey:a,sessionToken:u,expiration:o}]}}))}))}}var rt=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return d(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Ze.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"CognitoIdentityClient",commandName:"GetIdCommand",inputFilterSensitiveLog:z.filterSensitiveLog,outputFilterSensitiveLog:q.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"CognitoIdentityClient",commandName:"GetIdCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityService.GetId"},r=JSON.stringify(Ne(e,t)),[2,Ye(t,n,"/",void 0,r)]}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return p(void 0,void 0,void 0,(function(){var n,r,i;return v(this,(function(o){switch(o.label){case 0:return e.statusCode>=300?[2,Se(e,t)]:[4,Je(e.body,t)];case 1:return n=o.sent(),{},r=Ue(n,t),i=h({$metadata:We(e)},r),[2,Promise.resolve(i)]}}))}))}(e,t)},t}(Xe.b),it=function(){function e(e){void 0===e&&(e="aws:cognito-identity-ids"),this.dbName=e}return e.prototype.getItem=function(e){return this.withObjectStore("readonly",(function(t){var n=t.get(e);return new Promise((function(e){n.onerror=function(){return e(null)},n.onsuccess=function(){return e(n.result?n.result.value:null)}}))})).catch((function(){return null}))},e.prototype.removeItem=function(e){return this.withObjectStore("readwrite",(function(t){var n=t.delete(e);return new Promise((function(e,t){n.onerror=function(){return t(n.error)},n.onsuccess=function(){return e()}}))}))},e.prototype.setItem=function(e,t){return this.withObjectStore("readwrite",(function(n){var r=n.put({id:e,value:t});return new Promise((function(e,t){r.onerror=function(){return t(r.error)},r.onsuccess=function(){return e()}}))}))},e.prototype.getDb=function(){var e=self.indexedDB.open(this.dbName,1);return new Promise((function(t,n){e.onsuccess=function(){t(e.result)},e.onerror=function(){n(e.error)},e.onblocked=function(){n(new Error("Unable to access DB"))},e.onupgradeneeded=function(){var t=e.result;t.onerror=function(){n(new Error("Failed to create object store"))},t.createObjectStore("IdentityIds",{keyPath:"id"})}}))},e.prototype.withObjectStore=function(e,t){return this.getDb().then((function(n){var r=n.transaction("IdentityIds",e);return r.oncomplete=function(){return n.close()},new Promise((function(e,n){r.onerror=function(){return n(r.error)},e(t(r.objectStore("IdentityIds")))})).catch((function(e){throw n.close(),e}))}))},e}(),ot=new(function(){function e(e){void 0===e&&(e={}),this.store=e}return e.prototype.getItem=function(e){return e in this.store?this.store[e]:null},e.prototype.removeItem=function(e){delete this.store[e]},e.prototype.setItem=function(e,t){this.store[e]=t},e}());function st(e){var t=this,n=e.accountId,r=e.cache,i=void 0===r?"object"==typeof self&&self.indexedDB?new it:"object"==typeof window&&window.localStorage?window.localStorage:ot:r,o=e.client,s=e.customRoleArn,a=e.identityPoolId,u=e.logins,c=e.userIdentifier,l=void 0===c?u&&0!==Object.keys(u).length?void 0:"ANONYMOUS":c,d=l?"aws:cognito-identity-credentials:"+a+":"+l:void 0,h=function(){return Object(f.__awaiter)(t,void 0,void 0,(function(){var e,t,r,c,l,p,v,g,m;return Object(f.__generator)(this,(function(f){switch(f.label){case 0:return(t=d)?[4,i.getItem(d)]:[3,2];case 1:t=f.sent(),f.label=2;case 2:return(e=t)?[3,7]:(p=(l=o).send,v=rt.bind,m={AccountId:n,IdentityPoolId:a},u?[4,tt(u)]:[3,4]);case 3:return g=f.sent(),[3,5];case 4:g=void 0,f.label=5;case 5:return[4,p.apply(l,[new(v.apply(rt,[void 0,(m.Logins=g,m)]))])];case 6:r=f.sent().IdentityId,c=void 0===r?function(){throw new et("Response from Amazon Cognito contained no identity ID")}():r,e=c,d&&Promise.resolve(i.setItem(d,e)).catch((function(){})),f.label=7;case 7:return[2,(h=nt({client:o,customRoleArn:s,logins:u,identityId:e}))()]}}))}))};return function(){return h().catch((function(e){return Object(f.__awaiter)(t,void 0,void 0,(function(){return Object(f.__generator)(this,(function(t){throw d&&Promise.resolve(i.removeItem(d)).catch((function(){})),e}))}))}))}}var at=n(147),ut=n(38),ct=n(18),ft=n(24),lt=n(11),dt=n(39),ht=n(17),pt=n(40),vt=n(41),gt=n(15),mt="cognito-identity.{region}.amazonaws.com",bt=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),yt=new Set(["cn-north-1","cn-northwest-1"]),wt=new Set(["us-iso-east-1"]),_t=new Set(["us-isob-east-1"]),St=new Set(["us-gov-east-1","us-gov-west-1"]),Et=h(h({},{apiVersion:"2014-06-30",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-northeast-1":n={hostname:"cognito-identity.ap-northeast-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-2":n={hostname:"cognito-identity.ap-northeast-2.amazonaws.com",partition:"aws"};break;case"ap-south-1":n={hostname:"cognito-identity.ap-south-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-1":n={hostname:"cognito-identity.ap-southeast-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-2":n={hostname:"cognito-identity.ap-southeast-2.amazonaws.com",partition:"aws"};break;case"ca-central-1":n={hostname:"cognito-identity.ca-central-1.amazonaws.com",partition:"aws"};break;case"cn-north-1":n={hostname:"cognito-identity.cn-north-1.amazonaws.com.cn",partition:"aws-cn"};break;case"eu-central-1":n={hostname:"cognito-identity.eu-central-1.amazonaws.com",partition:"aws"};break;case"eu-west-1":n={hostname:"cognito-identity.eu-west-1.amazonaws.com",partition:"aws"};break;case"eu-west-2":n={hostname:"cognito-identity.eu-west-2.amazonaws.com",partition:"aws"};break;case"us-east-1":n={hostname:"cognito-identity.us-east-1.amazonaws.com",partition:"aws"};break;case"us-east-2":n={hostname:"cognito-identity.us-east-2.amazonaws.com",partition:"aws"};break;case"us-west-2":n={hostname:"cognito-identity.us-west-2.amazonaws.com",partition:"aws"};break;default:bt.has(e)&&(n={hostname:mt.replace("{region}",e),partition:"aws"}),yt.has(e)&&(n={hostname:"cognito-identity.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),wt.has(e)&&(n={hostname:"cognito-identity.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),_t.has(e)&&(n={hostname:"cognito-identity.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),St.has(e)&&(n={hostname:"cognito-identity.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:mt.replace("{region}",e),partition:"aws"})}return Promise.resolve(n)},signingName:"cognito-identity"}),{runtime:"browser",base64Decoder:ht.a,base64Encoder:ht.b,bodyLengthChecker:pt.a,credentialDefaultProvider:function(){},defaultUserAgent:Object(vt.a)(at.name,at.version),maxAttempts:lt.a,region:Object(ft.a)("Region is missing"),requestHandler:new ct.a,sha256:ut.Sha256,streamCollector:ct.b,urlParser:dt.a,utf8Decoder:gt.a,utf8Encoder:gt.b}),Mt=n(22),At=n(37),It=n(21),kt=n(43),Ot=n(25),xt=n(23),Ct=function(e){function t(t){var n=this,r=h(h({},Et),t),i=Object(Mt.b)(r),o=Object(Mt.a)(i),s=Object(Ot.b)(o),a=Object(lt.c)(s),u=Object(xt.b)(a),c=Object(It.b)(u);return(n=e.call(this,c)||this).config=c,n.middlewareStack.use(Object(lt.b)(n.config)),n.middlewareStack.use(Object(xt.a)(n.config)),n.middlewareStack.use(Object(At.a)(n.config)),n.middlewareStack.use(Object(It.a)(n.config)),n.middlewareStack.use(Object(kt.a)(n.config)),n}return d(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(Xe.a),Tt=function(){return(Tt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1](new Date).getTime()?(Rt.debug("token not expired"),this._setCredentialsFromFederation({provider:t,token:r,user:n,identity_id:i,expires_at:o})):this._refreshHandlers[t]&&"function"==typeof this._refreshHandlers[t]?(Rt.debug("getting refreshed jwt token from federation provider"),this._providerRefreshWithRetry({refreshHandler:this._refreshHandlers[t],provider:t,user:n})):(Rt.debug("no refresh handler for provider:",t),this.clear(),Promise.reject("no refresh handler for provider"))},e.prototype._providerRefreshWithRetry=function(e){var t=this,n=e.refreshHandler,r=e.provider,i=e.user;return Object(a.b)(n,[],1e4).then((function(e){return Rt.debug("refresh federated token sucessfully",e),t._setCredentialsFromFederation({provider:r,token:e.token,user:i,identity_id:e.identity_id,expires_at:e.expires_at})})).catch((function(e){return"string"==typeof e&&0===e.toLowerCase().lastIndexOf("network error",e.length)||t.clear(),Rt.debug("refresh federated token failed",e),Promise.reject("refreshing federation token failed: "+e)}))},e.prototype._isExpired=function(e){if(!e)return Rt.debug("no credentials for expiration check"),!0;Rt.debug("are these credentials expired?",e);var t=Date.now();return e.expiration.getTime()<=t},e.prototype._isPastTTL=function(){return this._nextCredentialsRefresh<=Date.now()},e.prototype._setCredentialsForGuest=function(){return Pt(this,void 0,void 0,(function(){var e,t,n,r,i,o,s,a=this;return Nt(this,(function(c){switch(c.label){case 0:if(Rt.debug("setting credentials for guest"),e=this._config,t=e.identityPoolId,n=e.region,e.mandatorySignIn)return[2,Promise.reject("cannot get guest credentials when mandatory signin enabled")];if(!t)return Rt.debug("No Cognito Identity pool provided for unauthenticated access"),[2,Promise.reject("No Cognito Identity pool provided for unauthenticated access")];if(!n)return Rt.debug("region is not configured for getting the credentials"),[2,Promise.reject("region is not configured for getting the credentials")];r=void 0,c.label=1;case 1:return c.trys.push([1,3,,4]),[4,this._storageSync];case 2:return c.sent(),r=this._storage.getItem("CognitoIdentityId-"+t),this._identityId=r,[3,4];case 3:return i=c.sent(),Rt.debug("Failed to get the cached identityId",i),[3,4];case 4:return o=new Ct({region:n,customUserAgent:Object(u.b)()}),s=void 0,s=r?nt({identityId:r,client:o})():function(){return Pt(a,void 0,void 0,(function(){var e;return Nt(this,(function(n){switch(n.label){case 0:return[4,o.send(new rt({IdentityPoolId:t}))];case 1:return e=n.sent().IdentityId,this._identityId=e,[2,nt({client:o,identityId:e})()]}}))}))}().catch((function(e){return Pt(a,void 0,void 0,(function(){return Nt(this,(function(t){throw e}))}))})),[2,this._loadCredentials(s,"guest",!1,null).then((function(e){return e})).catch((function(e){return Pt(a,void 0,void 0,(function(){var n=this;return Nt(this,(function(i){return"ResourceNotFoundException"===e.name&&e.message==="Identity '"+r+"' not found."?(Rt.debug("Failed to load guest credentials"),this._storage.removeItem("CognitoIdentityId-"+t),s=function(){return Pt(n,void 0,void 0,(function(){var e;return Nt(this,(function(n){switch(n.label){case 0:return[4,o.send(new rt({IdentityPoolId:t}))];case 1:return e=n.sent().IdentityId,this._identityId=e,[2,nt({client:o,identityId:e})()]}}))}))}().catch((function(e){return Pt(n,void 0,void 0,(function(){return Nt(this,(function(t){throw e}))}))})),[2,this._loadCredentials(s,"guest",!1,null)]):[2,e]}))}))}))]}}))}))},e.prototype._setCredentialsFromFederation=function(e){var t=e.provider,n=e.token,r=e.identity_id,i={google:"accounts.google.com",facebook:"graph.facebook.com",amazon:"www.amazon.com",developer:"cognito-identity.amazonaws.com"}[t]||t;if(!i)return Promise.reject("You must specify a federated provider");var o={};o[i]=n;var s=this._config,a=s.identityPoolId,c=s.region;if(!a)return Rt.debug("No Cognito Federated Identity pool provided"),Promise.reject("No Cognito Federated Identity pool provided");if(!c)return Rt.debug("region is not configured for getting the credentials"),Promise.reject("region is not configured for getting the credentials");var f=new Ct({region:c,customUserAgent:Object(u.b)()}),l=void 0;r?l=nt({identityId:r,logins:o,client:f})():l=st({logins:o,identityPoolId:a,client:f})();return this._loadCredentials(l,"federated",!0,e)},e.prototype._setCredentialsFromSession=function(e){var t=this;Rt.debug("set credentials from session");var n=e.getIdToken().getJwtToken(),r=this._config,i=r.region,o=r.userPoolId,s=r.identityPoolId;if(!s)return Rt.debug("No Cognito Federated Identity pool provided"),Promise.reject("No Cognito Federated Identity pool provided");if(!i)return Rt.debug("region is not configured for getting the credentials"),Promise.reject("region is not configured for getting the credentials");var a={};a["cognito-idp."+i+".amazonaws.com/"+o]=n;var c=new Ct({region:i,customUserAgent:Object(u.b)()}),f=Pt(t,void 0,void 0,(function(){var e;return Nt(this,(function(t){switch(t.label){case 0:return[4,c.send(new rt({IdentityPoolId:s,Logins:a}))];case 1:return e=t.sent().IdentityId,this._identityId=e,[2,nt({client:c,logins:a,identityId:e})()]}}))})).catch((function(e){return Pt(t,void 0,void 0,(function(){return Nt(this,(function(t){throw e}))}))}));return this._loadCredentials(f,"userPool",!0,null)},e.prototype._loadCredentials=function(e,t,n,r){var i=this,o=this,s=this._config.identityPoolId;return new Promise((function(a,u){e.then((function(e){return Pt(i,void 0,void 0,(function(){var i,u,c,f,l,d;return Nt(this,(function(h){switch(h.label){case 0:if(Rt.debug("Load credentials successfully",e),this._identityId&&!e.identityId&&(e.identityId=this._identityId),o._credentials=e,o._credentials.authenticated=n,o._credentials_source=t,o._nextCredentialsRefresh=(new Date).getTime()+3e6,"federated"===t){i=Object.assign({id:this._credentials.identityId},r.user),u=r.provider,c=r.token,f=r.expires_at,l=r.identity_id;try{this._storage.setItem("aws-amplify-federatedInfo",JSON.stringify({provider:u,token:c,user:i,expires_at:f,identity_id:l}))}catch(e){Rt.debug("Failed to put federated info into auth storage",e)}}if("guest"!==t)return[3,4];h.label=1;case 1:return h.trys.push([1,3,,4]),[4,this._storageSync];case 2:return h.sent(),this._storage.setItem("CognitoIdentityId-"+s,e.identityId),[3,4];case 3:return d=h.sent(),Rt.debug("Failed to cache identityId",d),[3,4];case 4:return a(o._credentials),[2]}}))}))})).catch((function(t){if(t)return Rt.debug("Failed to load credentials",e),Rt.debug("Error loading credentials",t),void u(t)}))}))},e.prototype.set=function(e,t){return"session"===t?this._setCredentialsFromSession(e):"federation"===t?this._setCredentialsFromFederation(e):"guest"===t?this._setCredentialsForGuest():(Rt.debug("no source specified for setting credentials"),Promise.reject("invalid source"))},e.prototype.clear=function(){return Pt(this,void 0,void 0,(function(){return Nt(this,(function(e){return this._credentials=null,this._credentials_source=null,Rt.debug("removing aws-amplify-federatedInfo from storage"),this._storage.removeItem("aws-amplify-federatedInfo"),[2]}))}))},e.prototype.shear=function(e){return{accessKeyId:e.accessKeyId,sessionToken:e.sessionToken,secretAccessKey:e.secretAccessKey,identityId:e.identityId,authenticated:e.authenticated}},e}())(null);c.a.register(Lt)},function(e,t,n){var r,i,o;e.exports=(o=n(32),i=(r=o).lib.WordArray,r.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a>>6*(3-a)&63));var u=r.charAt(64);if(u)for(;i.length%4;)i.push(u);return i.join("")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var o=0;o>>6-s%4*2;r[o>>>2]|=(a|u)<<24-o%4*8,o++}return i.create(r,o)}(e,t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},o.enc.Base64)},function(e,t,n){"use strict";function r(e,t){for(var n,r=/\r\n|[\n\r]/g,i=1,o=t+1;(n=r.exec(e.body))&&n.index>>24]^f[p>>>16&255]^l[v>>>8&255]^d[255&g]^t[m++],s=c[p>>>24]^f[v>>>16&255]^l[g>>>8&255]^d[255&h]^t[m++],a=c[v>>>24]^f[g>>>16&255]^l[h>>>8&255]^d[255&p]^t[m++],u=c[g>>>24]^f[h>>>16&255]^l[p>>>8&255]^d[255&v]^t[m++],h=o,p=s,v=a,g=u;return o=(r[h>>>24]<<24|r[p>>>16&255]<<16|r[v>>>8&255]<<8|r[255&g])^t[m++],s=(r[p>>>24]<<24|r[v>>>16&255]<<16|r[g>>>8&255]<<8|r[255&h])^t[m++],a=(r[v>>>24]<<24|r[g>>>16&255]<<16|r[h>>>8&255]<<8|r[255&p])^t[m++],u=(r[g>>>24]<<24|r[h>>>16&255]<<16|r[p>>>8&255]<<8|r[255&v])^t[m++],[o>>>=0,s>>>=0,a>>>=0,u>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],r=[],i=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,u=0;u<256;++u){var c=a^a<<1^a<<2^a<<3^a<<4;c=c>>>8^255&c^99,n[s]=c,r[c]=s;var f=e[s],l=e[f],d=e[l],h=257*e[c]^16843008*c;i[0][s]=h<<24|h>>>8,i[1][s]=h<<16|h>>>16,i[2][s]=h<<8|h>>>24,i[3][s]=h,h=16843009*d^65537*l^257*f^16843008*s,o[0][c]=h<<24|h>>>8,o[1][c]=h<<16|h>>>16,o[2][c]=h<<8|h>>>24,o[3][c]=h,0===s?s=a=1:(s=f^e[e[e[d^f]]],a^=e[e[a]])}return{SBOX:n,INV_SBOX:r,SUB_MIX:i,INV_SUB_MIX:o}}();function c(e){this._key=i(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,r=4*(n+1),i=[],o=0;o>>24,s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s],s^=a[o/t|0]<<24):t>6&&o%t==4&&(s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s]),i[o]=i[o-t]^s}for(var c=[],f=0;f>>24]]^u.INV_SUB_MIX[1][u.SBOX[d>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[d>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&d]]}this._nRounds=n,this._keySchedule=i,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return s(e=i(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=r.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},c.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var n=s(e,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=r.allocUnsafe(16);return o.writeUInt32BE(n[0],0),o.writeUInt32BE(n[3],4),o.writeUInt32BE(n[2],8),o.writeUInt32BE(n[1],12),o},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=c},function(e,t,n){var r=n(8).Buffer,i=n(113);e.exports=function(e,t,n,o){if(r.isBuffer(e)||(e=r.from(e,"binary")),t&&(r.isBuffer(t)||(t=r.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=n/8,a=r.alloc(s),u=r.alloc(o||0),c=r.alloc(0);s>0||o>0;){var f=new i;f.update(c),f.update(e),t&&f.update(t),c=f.digest();var l=0;if(s>0){var d=a.length-s;l=Math.min(s,c.length),c.copy(a,d,0,l),s-=l}if(l0){var h=u.length-o,p=Math.min(o,c.length-l);c.copy(u,h,l,l+p),o-=p}}return c.fill(0),{key:a,iv:u}}},function(e,t,n){"use strict";var r=n(29),i=n(47),o=i.getNAF,s=i.getJSF,a=i.assert;function u(e,t){this.type=e,this.p=new r(t.p,16),this.red=t.prime?r.red(t.prime):r.mont(this.p),this.zero=new r(0).toRed(this.red),this.one=new r(1).toRed(this.red),this.two=new r(2).toRed(this.red),this.n=t.n&&new r(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){a(e.precomputed);var n=e._getDoubles(),r=o(t,1,this._bitLength),i=(1<=s;f--)u=(u<<1)+r[f];c.push(u)}for(var l=this.jpoint(null,null,null),d=this.jpoint(null,null,null),h=i;h>0;h--){for(s=0;s=0;c--){for(var f=0;c>=0&&0===s[c];c--)f++;if(c>=0&&f++,u=u.dblp(f),c<0)break;var l=s[c];a(0!==l),u="affine"===e.type?l>0?u.mixedAdd(i[l-1>>1]):u.mixedAdd(i[-l-1>>1].neg()):l>0?u.add(i[l-1>>1]):u.add(i[-l-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,n,r,i){var a,u,c,f=this._wnafT1,l=this._wnafT2,d=this._wnafT3,h=0;for(a=0;a=1;a-=2){var v=a-1,g=a;if(1===f[v]&&1===f[g]){var m=[t[v],null,null,t[g]];0===t[v].y.cmp(t[g].y)?(m[1]=t[v].add(t[g]),m[2]=t[v].toJ().mixedAdd(t[g].neg())):0===t[v].y.cmp(t[g].y.redNeg())?(m[1]=t[v].toJ().mixedAdd(t[g]),m[2]=t[v].add(t[g].neg())):(m[1]=t[v].toJ().mixedAdd(t[g]),m[2]=t[v].toJ().mixedAdd(t[g].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],y=s(n[v],n[g]);for(h=Math.max(y[0].length,h),d[v]=new Array(h),d[g]=new Array(h),u=0;u=0;a--){for(var M=0;a>=0;){var A=!0;for(u=0;u=0&&M++,S=S.dblp(M),a<0)break;for(u=0;u0?c=l[u][I-1>>1]:I<0&&(c=l[u][-I-1>>1].neg()),S="affine"===c.type?S.mixedAdd(c):S.add(c))}}for(a=0;a=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,r.nameRegexp);!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const s={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,ignoreNameSpace:!1,allowBooleanAttributes:!1,parseNodeValue:!0,parseAttributeValue:!1,arrayMode:!1,trimValues:!0,cdataTagName:!1,cdataPositionChar:"\\c",tagValueProcessor:function(e,t){return e},attrValueProcessor:function(e,t){return e},stopNodes:[]};t.defaultOptions=s;const a=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","ignoreNameSpace","allowBooleanAttributes","parseNodeValue","parseAttributeValue","arrayMode","trimValues","cdataTagName","cdataPositionChar","tagValueProcessor","attrValueProcessor","parseTrueNumberOnly","stopNodes"];function u(e,t,n){return t&&(n.trimValues&&(t=t.trim()),t=f(t=n.tagValueProcessor(t,e),n.parseNodeValue,n.parseTrueNumberOnly)),t}function c(e,t){if(t.ignoreNameSpace){const t=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=n+t[1])}return e}function f(e,t,n){if(t&&"string"==typeof e){let t;return""===e.trim()||isNaN(e)?t="true"===e||"false"!==e&&e:(-1!==e.indexOf("0x")?t=Number.parseInt(e,16):-1!==e.indexOf(".")?(t=Number.parseFloat(e),e=e.replace(/\.?0+$/,"")):t=Number.parseInt(e,10),n&&(t=String(t)===e?t:e)),t}return r.isExist(e)?e:""}t.props=a;const l=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])(.*?)\\3)?","g");function d(e,t){if(!t.ignoreAttributes&&"string"==typeof e){e=e.replace(/\r?\n/g," ");const n=r.getAllMatches(e,l),i=n.length,o={};for(let e=0;e"===t)return{data:r,index:i};"\t"===t&&(t=" ")}r+=t}}function p(e,t,n,r){const i=e.indexOf(t,n);if(-1===i)throw new Error(r);return i+t.length-1}t.getTraversalObj=function(e,t){e=e.replace(/\r\n?/g,"\n"),t=i(t,s,a);const n=new o("!xml");let c=n,f="";for(let n=0;n",n,"Closing Tag is not closed.");let o=e.substring(n+2,i).trim();if(t.ignoreNameSpace){const e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}c&&(c.val?c.val=r.getValue(c.val)+""+u(o,f,t):c.val=u(o,f,t)),t.stopNodes.length&&t.stopNodes.includes(c.tagname)&&(c.child=[],null==c.attrsMap&&(c.attrsMap={}),c.val=e.substr(c.startIndex+1,n-c.startIndex-1)),c=c.parent,f="",n=i}else if("?"===e[n+1])n=p(e,"?>",n,"Pi Tag is not closed.");else if("!--"===e.substr(n+1,3))n=p(e,"--\x3e",n,"Comment is not closed.");else if("!D"===e.substr(n+1,2)){const t=p(e,">",n,"DOCTYPE is not closed.");n=e.substring(n,t).indexOf("[")>=0?e.indexOf("]>",n)+1:t}else if("!["===e.substr(n+1,2)){const i=p(e,"]]>",n,"CDATA is not closed.")-2,s=e.substring(n+9,i);if(f&&(c.val=r.getValue(c.val)+""+u(c.tagname,f,t),f=""),t.cdataTagName){const e=new o(t.cdataTagName,c,s);c.addChild(e),c.val=r.getValue(c.val)+t.cdataPositionChar,s&&(e.val=s)}else c.val=(c.val||"")+(s||"");n=i+2}else{const i=h(e,n+1);let s=i.data;const a=i.index,l=s.indexOf(" ");let p=s;if(-1!==l&&(p=s.substr(0,l).replace(/\s\s*$/,""),s=s.substr(l+1)),t.ignoreNameSpace){const e=p.indexOf(":");-1!==e&&(p=p.substr(e+1))}if(c&&f&&"!xml"!==c.tagname&&(c.val=r.getValue(c.val)+""+u(c.tagname,f,t)),s.length>0&&s.lastIndexOf("/")===s.length-1){"/"===p[p.length-1]?(p=p.substr(0,p.length-1),s=p):s=s.substr(0,s.length-1);const e=new o(p,c,"");p!==s&&(e.attrsMap=d(s,t)),c.addChild(e)}else{const e=new o(p,c);t.stopNodes.length&&t.stopNodes.includes(e.tagname)&&(e.startIndex=a),p!==s&&(e.attrsMap=d(s,t)),c.addChild(e),c=e}f="",n=a}else f+=e[n]}return n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return s}));var r="undefined"!=typeof Symbol&&"function"==typeof Symbol.for,i=r?Symbol.for("INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER"):"@@INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER",o=r?Symbol.for("INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER"):"@@INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER",s="x-amz-user-agent"},function(e,t,n){"use strict";n.d(t,"a",(function(){return _}));var r=n(44),i=n(148),o=n(28),s=n(16),a=n(77);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var c=function(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=r;if("+"!==s&&s!==a)return!1}return r===i.length})(r,e)&&n.push(t)}));var r=JSON.parse(t);"object"===h(r)&&(r[A]=e),n.forEach((function(e){e.forEach((function(e){return e.next(r)}))}))}catch(e){w.warn("Error handling message",e,t)}},t.prototype.subscribe=function(e,t){var n=this;void 0===t&&(t={});var i=[].concat(e);return w.debug("Subscribing to topic(s)",i.join(",")),new r.a((function(e){var r;i.forEach((function(t){var r=n._topicObservers.get(t);r||(r=new Set,n._topicObservers.set(t,r)),r.add(e)}));var o=t.clientId,s=void 0===o?n.clientId:o,a=n._clientIdObservers.get(s);return a||(a=new Set),a.add(e),n._clientIdObservers.set(s,a),m(n,void 0,void 0,(function(){var n,o,a,u;return b(this,(function(c){switch(c.label){case 0:return void 0!==(n=t.url)?[3,2]:[4,this.endpoint];case 1:return a=c.sent(),[3,3];case 2:a=n,c.label=3;case 3:o=a,c.label=4;case 4:return c.trys.push([4,6,,7]),[4,this.connect(s,{url:o})];case 5:return r=c.sent(),i.forEach((function(e){r.subscribe(e)})),[3,7];case 6:return u=c.sent(),e.error(u),[3,7];case 7:return[2]}}))})),function(){return w.debug("Unsubscribing from topic(s)",i.join(",")),r&&(n._clientIdObservers.get(s).delete(e),0===n._clientIdObservers.get(s).size&&(n.disconnect(s),n._clientIdObservers.delete(s)),i.forEach((function(t){var i=n._topicObservers.get(t)||new Set;i.delete(e),0===i.size&&(n._topicObservers.delete(t),r.isConnected()&&r.unsubscribe(t))}))),null}}))},t}(d),k=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),O=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},x=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},P=function(){for(var e=[],t=0;t-1}));if(r){var i=r.client,o=r.url;e[i]||(e[i]={url:o,topics:new Set}),e[i].topics.add(t)}return e}),{})),[4,Promise.all(a.map((function(e){var t=T(e,2),n=t[0],i=t[1],o=i.url,s=i.topics;return O(u,void 0,void 0,(function(){var e,t,i=this;return x(this,(function(a){switch(a.label){case 0:e=null,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.connect(n,{clientId:n,url:o})];case 2:return e=a.sent(),[3,4];case 3:return t=a.sent(),r.error({message:"Failed to connect",error:t}),r.complete(),[2,void 0];case 4:return s.forEach((function(t){e.isConnected()&&(e.subscribe(t),i._topicClient.set(t,e))})),[2,e]}}))}))})))];case 1:return c.sent(),[2]}}))})),function(){N.debug("Unsubscribing from topic(s)",i.join(",")),i.forEach((function(e){var t=n._topicClient.get(e);t&&t.isConnected()&&(t.unsubscribe(e),n._topicClient.delete(e),Array.from(n._topicClient.values()).some((function(e){return e===t}))||n.disconnect(t.clientId)),n._topicObservers.delete(e)}))}}));return r.a.from(i).map((function(e){var t=n.getTopicForValue(e),r=n._topicAlias.get(t);return e.data=Object.entries(e.data).reduce((function(e,t){var n=T(t,2),i=n[0],o=n[1];return e[r||i]=o,e}),{}),e}))},t}(I),L=n(91),j=n(16),D=n(6),U=n(88),B=n(5),F=n(514),z=n(89),q=n(104),K=n(26),H=n(42),V=n(34),G=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),W=function(){return(W=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Z=new o.a("AWSAppSyncRealTimeProvider"),X="undefined"!=typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("amplify_default"):"@@amplify_default",Q=[400,401,403];!function(e){e.GQL_CONNECTION_INIT="connection_init",e.GQL_CONNECTION_ERROR="connection_error",e.GQL_CONNECTION_ACK="connection_ack",e.GQL_START="start",e.GQL_START_ACK="start_ack",e.GQL_DATA="data",e.GQL_CONNECTION_KEEP_ALIVE="ka",e.GQL_STOP="stop",e.GQL_COMPLETE="complete",e.GQL_ERROR="error"}(_||(_={})),function(e){e[e.PENDING=0]="PENDING",e[e.CONNECTED=1]="CONNECTED",e[e.FAILED=2]="FAILED"}(S||(S={})),function(e){e[e.CLOSED=0]="CLOSED",e[e.READY=1]="READY",e[e.CONNECTING=2]="CONNECTING"}(E||(E={}));var ee={accept:"application/json, text/javascript","content-encoding":"amz-1.0","content-type":"application/json; charset=UTF-8"},te=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.socketStatus=E.CLOSED,t.keepAliveTimeout=3e5,t.subscriptionObserverMap=new Map,t.promiseArray=[],t}return G(t,e),t.prototype.getProviderName=function(){return"AWSAppSyncRealTimeProvider"},t.prototype.newClient=function(){throw new Error("Not used here")},t.prototype.publish=function(e,t,n){return $(this,void 0,void 0,(function(){return Y(this,(function(e){throw new Error("Operation not supported")}))}))},t.prototype.subscribe=function(e,t){var n=this,i=t.appSyncGraphqlEndpoint;return new r.a((function(e){if(i){var r=Object(c.v4)();return n._startSubscriptionWithAWSAppSyncRealTime({options:t,observer:e,subscriptionId:r}),function(){return $(n,void 0,void 0,(function(){var e,t;return Y(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,3,4]),[4,this._waitForSubscriptionToBeConnected(r)];case 1:if(n.sent(),!(e=(this.subscriptionObserverMap.get(r)||{}).subscriptionState))return[2];if(e!==S.CONNECTED)throw new Error("Subscription never connected");return this._sendUnsubscriptionMessage(r),[3,4];case 2:return t=n.sent(),Z.debug("Error while unsubscribing "+t),[3,4];case 3:return this._removeSubscriptionObserver(r),[7];case 4:return[2]}}))}))}}e.error({errors:[W({},new L.a("Subscribe only available for AWS AppSync endpoint"))]}),e.complete()}))},Object.defineProperty(t.prototype,"isSSLEnabled",{get:function(){return!this.options.aws_appsync_dangerously_connect_to_http_endpoint_for_testing},enumerable:!0,configurable:!0}),t.prototype._startSubscriptionWithAWSAppSyncRealTime=function(e){var t=e.options,n=e.observer,r=e.subscriptionId;return $(this,void 0,void 0,(function(){var e,i,o,a,u,c,f,l,d,h,p,v,g,m,b,y,w,E,M,A,I,k,O,x,C,T,P=this;return Y(this,(function(N){switch(N.label){case 0:return e=t.appSyncGraphqlEndpoint,i=t.authenticationType,o=t.query,a=t.variables,u=t.apiKey,c=t.region,f=t.graphql_headers,l=void 0===f?function(){return{}}:f,d=t.additionalHeaders,h=void 0===d?{}:d,p=S.PENDING,v={query:o,variables:a},this.subscriptionObserverMap.set(r,{observer:n,query:o,variables:a,subscriptionState:p,startAckTimeoutId:null}),g=JSON.stringify(v),b=[{}],[4,this._awsRealTimeHeaderBasedAuth({apiKey:u,appSyncGraphqlEndpoint:e,authenticationType:i,payload:g,canonicalUri:"",region:c})];case 1:return y=[W.apply(void 0,b.concat([N.sent()]))],[4,l()];case 2:m=W.apply(void 0,[W.apply(void 0,[W.apply(void 0,y.concat([N.sent()])),h]),(T={},T[s.c]=B.a.userAgent,T)]),w={id:r,payload:{data:g,extensions:{authorization:W({},m)}},type:_.GQL_START},E=JSON.stringify(w),N.label=3;case 3:return N.trys.push([3,5,,6]),[4,this._initializeWebSocketConnection({apiKey:u,appSyncGraphqlEndpoint:e,authenticationType:i,region:c})];case 4:return N.sent(),[3,6];case 5:return M=N.sent(),Z.debug({err:M}),A=M.message,I=void 0===A?"":A,n.error({errors:[W({},new L.a("Connection failed: "+I))]}),n.complete(),"function"==typeof(k=(this.subscriptionObserverMap.get(r)||{}).subscriptionFailedCallback)&&k(),[2];case 6:return O=this.subscriptionObserverMap.get(r),x=O.subscriptionFailedCallback,C=O.subscriptionReadyCallback,this.subscriptionObserverMap.set(r,{observer:n,subscriptionState:p,variables:a,query:o,subscriptionReadyCallback:C,subscriptionFailedCallback:x,startAckTimeoutId:setTimeout((function(){P._timeoutStartSubscriptionAck.call(P,r)}),15e3)}),this.awsRealTimeSocket&&this.awsRealTimeSocket.send(E),[2]}}))}))},t.prototype._waitForSubscriptionToBeConnected=function(e){return $(this,void 0,void 0,(function(){var t=this;return Y(this,(function(n){return this.subscriptionObserverMap.get(e).subscriptionState===S.PENDING?[2,new Promise((function(n,r){var i=t.subscriptionObserverMap.get(e),o=i.observer,s=i.subscriptionState,a=i.variables,u=i.query;t.subscriptionObserverMap.set(e,{observer:o,subscriptionState:s,variables:a,query:u,subscriptionReadyCallback:n,subscriptionFailedCallback:r})}))]:[2]}))}))},t.prototype._sendUnsubscriptionMessage=function(e){try{if(this.awsRealTimeSocket&&this.awsRealTimeSocket.readyState===WebSocket.OPEN&&this.socketStatus===E.READY){var t={id:e,type:_.GQL_STOP},n=JSON.stringify(t);this.awsRealTimeSocket.send(n)}}catch(e){Z.debug({err:e})}},t.prototype._removeSubscriptionObserver=function(e){this.subscriptionObserverMap.delete(e),setTimeout(this._closeSocketIfRequired.bind(this),1e3)},t.prototype._closeSocketIfRequired=function(){if(!(this.subscriptionObserverMap.size>0))if(this.awsRealTimeSocket)if(this.awsRealTimeSocket.bufferedAmount>0)setTimeout(this._closeSocketIfRequired.bind(this),1e3);else{Z.debug("closing WebSocket..."),clearTimeout(this.keepAliveTimeoutId);var e=this.awsRealTimeSocket;e.onclose=void 0,e.onerror=void 0,e.close(1e3),this.awsRealTimeSocket=null,this.socketStatus=E.CLOSED}else this.socketStatus=E.CLOSED},t.prototype._handleIncomingSubscriptionMessage=function(e){Z.debug("subscription message from AWS AppSync RealTime: "+e.data);var t=JSON.parse(e.data),n=t.id,r=void 0===n?"":n,i=t.payload,o=t.type,s=this.subscriptionObserverMap.get(r)||{},a=s.observer,u=void 0===a?null:a,c=s.query,f=void 0===c?"":c,l=s.variables,d=void 0===l?{}:l,h=s.startAckTimeoutId,p=s.subscriptionReadyCallback,v=s.subscriptionFailedCallback;if(Z.debug({id:r,observer:u,query:f,variables:d}),o===_.GQL_DATA&&i&&i.data)u?u.next(i):Z.debug("observer not found for id: "+r);else if(o!==_.GQL_START_ACK){if(o===_.GQL_CONNECTION_KEEP_ALIVE)return clearTimeout(this.keepAliveTimeoutId),void(this.keepAliveTimeoutId=setTimeout(this._errorDisconnect.bind(this,V.a.TIMEOUT_DISCONNECT),this.keepAliveTimeout));if(o===_.GQL_ERROR){g=S.FAILED;this.subscriptionObserverMap.set(r,{observer:u,query:f,variables:d,startAckTimeoutId:h,subscriptionReadyCallback:p,subscriptionFailedCallback:v,subscriptionState:g}),u.error({errors:[W({},new L.a("Connection failed: "+JSON.stringify(i)))]}),clearTimeout(h),u.complete(),"function"==typeof v&&v()}}else{Z.debug("subscription ready for "+JSON.stringify({query:f,variables:d})),"function"==typeof p&&p(),clearTimeout(h),function(e,t,n){U.a.dispatch("api",{event:e,data:t,message:n},"PubSub",X)}(V.a.SUBSCRIPTION_ACK,{query:f,variables:d},"Connection established for subscription");var g=S.CONNECTED;this.subscriptionObserverMap.set(r,{observer:u,query:f,variables:d,startAckTimeoutId:null,subscriptionState:g,subscriptionReadyCallback:p,subscriptionFailedCallback:v})}},t.prototype._errorDisconnect=function(e){Z.debug("Disconnect error: "+e),this.subscriptionObserverMap.forEach((function(t){var n=t.observer;n&&!n.closed&&n.error({errors:[W({},new L.a(e))]})})),this.subscriptionObserverMap.clear(),this.awsRealTimeSocket&&this.awsRealTimeSocket.close(),this.socketStatus=E.CLOSED},t.prototype._timeoutStartSubscriptionAck=function(e){var t=this.subscriptionObserverMap.get(e)||{},n=t.observer,r=t.query,i=t.variables;n&&(this.subscriptionObserverMap.set(e,{observer:n,query:r,variables:i,subscriptionState:S.FAILED}),n&&!n.closed&&(n.error({errors:[W({},new L.a("Subscription timeout "+JSON.stringify({query:r,variables:i})))]}),n.complete()),Z.debug("timeoutStartSubscription",JSON.stringify({query:r,variables:i})))},t.prototype._initializeWebSocketConnection=function(e){var t=this,n=e.appSyncGraphqlEndpoint,r=e.authenticationType,i=e.apiKey,o=e.region;if(this.socketStatus!==E.READY)return new Promise((function(e,s){return $(t,void 0,void 0,(function(){var t,a,u,c,f,l,d,h,p,v;return Y(this,(function(g){switch(g.label){case 0:if(this.promiseArray.push({res:e,rej:s}),this.socketStatus!==E.CLOSED)return[3,5];g.label=1;case 1:return g.trys.push([1,4,,5]),this.socketStatus=E.CONNECTING,t=this.isSSLEnabled?"wss://":"ws://",a=n.replace("https://",t).replace("http://",t).replace("appsync-api","appsync-realtime-api").replace("gogi-beta","grt-beta"),u="{}",l=(f=JSON).stringify,[4,this._awsRealTimeHeaderBasedAuth({authenticationType:r,payload:u,canonicalUri:"/connect",apiKey:i,appSyncGraphqlEndpoint:n,region:o})];case 2:return c=l.apply(f,[g.sent()]),d=D.Buffer.from(c).toString("base64"),h=D.Buffer.from(u).toString("base64"),p=a+"?header="+d+"&payload="+h,[4,this._initializeRetryableHandshake({awsRealTimeUrl:p})];case 3:return g.sent(),this.promiseArray.forEach((function(e){var t=e.res;Z.debug("Notifying connection successful"),t()})),this.socketStatus=E.READY,this.promiseArray=[],[3,5];case 4:return v=g.sent(),this.promiseArray.forEach((function(e){return(0,e.rej)(v)})),this.promiseArray=[],this.awsRealTimeSocket&&this.awsRealTimeSocket.readyState===WebSocket.OPEN&&this.awsRealTimeSocket.close(3001),this.awsRealTimeSocket=null,this.socketStatus=E.CLOSED,[3,5];case 5:return[2]}}))}))}))},t.prototype._initializeRetryableHandshake=function(e){var t=e.awsRealTimeUrl;return $(this,void 0,void 0,(function(){return Y(this,(function(e){switch(e.label){case 0:return Z.debug("Initializaling retryable Handshake"),[4,Object(F.b)(this._initializeHandshake.bind(this),[{awsRealTimeUrl:t}],5e3)];case 1:return e.sent(),[2]}}))}))},t.prototype._initializeHandshake=function(e){var t=e.awsRealTimeUrl;return $(this,void 0,void 0,(function(){var e,n,r,i=this;return Y(this,(function(o){switch(o.label){case 0:Z.debug("Initializing handshake "+t),o.label=1;case 1:return o.trys.push([1,4,,5]),[4,new Promise((function(e,n){var r=new WebSocket(t,"graphql-ws");r.onerror=function(){Z.debug("WebSocket connection error")},r.onclose=function(){n(new Error("Connection handshake error"))},r.onopen=function(){return i.awsRealTimeSocket=r,e()}}))];case 2:return o.sent(),[4,new Promise((function(e,t){var n=!1;i.awsRealTimeSocket.onerror=function(e){Z.debug("WebSocket error "+JSON.stringify(e))},i.awsRealTimeSocket.onclose=function(e){Z.debug("WebSocket closed "+e.reason),t(new Error(JSON.stringify(e)))},i.awsRealTimeSocket.onmessage=function(r){Z.debug("subscription message from AWS AppSyncRealTime: "+r.data+" ");var o=JSON.parse(r.data),s=o.type,a=o.payload,u=(void 0===a?{}:a).connectionTimeoutMs,c=void 0===u?3e5:u;if(s===_.GQL_CONNECTION_ACK)return n=!0,i.keepAliveTimeout=c,i.awsRealTimeSocket.onmessage=i._handleIncomingSubscriptionMessage.bind(i),i.awsRealTimeSocket.onerror=function(e){Z.debug(e),i._errorDisconnect(V.a.CONNECTION_CLOSED)},i.awsRealTimeSocket.onclose=function(e){Z.debug("WebSocket closed "+e.reason),i._errorDisconnect(V.a.CONNECTION_CLOSED)},void e("Cool, connected to AWS AppSyncRealTime");if(s===_.GQL_CONNECTION_ERROR){var f=o.payload,l=(void 0===f?{}:f).errors,d=J(void 0===l?[]:l,1)[0],h=void 0===d?{}:d,p=h.errorType,v=void 0===p?"":p,g=h.errorCode;t({errorType:v,errorCode:void 0===g?0:g})}};var r={type:_.GQL_CONNECTION_INIT};i.awsRealTimeSocket.send(JSON.stringify(r)),setTimeout(function(){n||t(new Error("Connection timeout: ack from AWSRealTime was not received on 15000 ms"))}.bind(i),15e3)}))];case 3:return o.sent(),[3,5];case 4:throw e=o.sent(),n=e.errorType,r=e.errorCode,Q.includes(r)?new F.a(n):n?new Error(n):e;case 5:return[2]}}))}))},t.prototype._awsRealTimeHeaderBasedAuth=function(e){var t=e.authenticationType,n=e.payload,r=e.canonicalUri,i=e.appSyncGraphqlEndpoint,o=e.apiKey,s=e.region;return $(this,void 0,void 0,(function(){var e,a,u;return Y(this,(function(c){switch(c.label){case 0:return e={API_KEY:this._awsRealTimeApiKeyHeader.bind(this),AWS_IAM:this._awsRealTimeIAMHeader.bind(this),OPENID_CONNECT:this._awsRealTimeOPENIDHeader.bind(this),AMAZON_COGNITO_USER_POOLS:this._awsRealTimeCUPHeader.bind(this)},"function"!=typeof(a=e[t])?(Z.debug("Authentication type "+t+" not supported"),[2,""]):(u=j.parse(i).host,[4,a({payload:n,canonicalUri:r,appSyncGraphqlEndpoint:i,apiKey:o,region:s,host:u})]);case 1:return[2,c.sent()]}}))}))},t.prototype._awsRealTimeCUPHeader=function(e){var t=e.host;return $(this,void 0,void 0,(function(){return Y(this,(function(e){switch(e.label){case 0:return[4,H.a.currentSession()];case 1:return[2,{Authorization:e.sent().getAccessToken().getJwtToken(),host:t}]}}))}))},t.prototype._awsRealTimeOPENIDHeader=function(e){var t=e.host;return $(this,void 0,void 0,(function(){var e,n,r;return Y(this,(function(i){switch(i.label){case 0:return[4,K.a.getItem("federatedInfo")];case 1:return(n=i.sent())?(e=n.token,[3,4]):[3,2];case 2:return[4,H.a.currentAuthenticatedUser()];case 3:(r=i.sent())&&(e=r.token),i.label=4;case 4:if(!e)throw new Error("No federated jwt");return[2,{Authorization:e,host:t}]}}))}))},t.prototype._awsRealTimeApiKeyHeader=function(e){var t=e.apiKey,n=e.host;return $(this,void 0,void 0,(function(){var e,r;return Y(this,(function(i){return e=new Date,r=e.toISOString().replace(/[:\-]|\.\d{3}/g,""),[2,{host:n,"x-amz-date":r,"x-api-key":t}]}))}))},t.prototype._awsRealTimeIAMHeader=function(e){var t=e.payload,n=e.canonicalUri,r=e.appSyncGraphqlEndpoint,i=e.region;return $(this,void 0,void 0,(function(){var e,o,s;return Y(this,(function(a){switch(a.label){case 0:return e={region:i,service:"appsync"},[4,this._ensureCredentials()];case 1:if(!a.sent())throw new Error("No credentials");return[4,z.a.get().then((function(e){return{secret_key:e.secretAccessKey,access_key:e.accessKeyId,session_token:e.sessionToken}}))];case 2:return o=a.sent(),s={url:""+r+n,data:t,method:"POST",headers:W({},ee)},[2,q.a.sign(s,o,e).headers]}}))}))},t.prototype._ensureCredentials=function(){return z.a.get().then((function(e){if(!e)return!1;var t=z.a.shear(e);return Z.debug("set credentials for AWSAppSyncRealTimeProvider",t),!0})).catch((function(e){return Z.warn("ensure credentials error",e),!1}))},t}(d),ne=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},re=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]>>8^o[255&(this.checksum^a)]}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return this},e.prototype.digest=function(){return(4294967295^this.checksum)>>>0},e}();t.Crc32=i;var o=Uint32Array.from([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117])},function(e,t,n){var r=n(431);e.exports=function(e,t){return r(e,t)}},function(e,t,n){var r=n(483),i=n(484),o=i;o.v1=r,o.v4=i,e.exports=o},function(e,t,n){"use strict";n.d(t,"a",(function(){return M}));var r=n(107),i=n(1),o=n(28),s=function(){function e(e){if(this.bytes=e,8!==e.byteLength)throw new Error("Int64 buffers must be exactly 8 bytes")}return e.fromNumber=function(t){if(t>0x8000000000000000||t<-0x8000000000000000)throw new Error(t+" is too large (or, if negative, too small) to represent as an Int64");for(var n=new Uint8Array(8),r=7,i=Math.abs(Math.round(t));r>-1&&i>0;r--,i/=256)n[r]=i;return t<0&&a(n),new e(n)},e.prototype.valueOf=function(){var e=this.bytes.slice(0),t=128&e[0];return t&&a(e),parseInt(Object(o.b)(e),16)*(t?-1:1)},e.prototype.toString=function(){return String(this.valueOf())},e}();function a(e){for(var t=0;t<8;t++)e[t]^=255;for(t=7;t>-1&&(e[t]++,0===e[t]);t--);}var u,c=function(){function e(e,t){this.toUtf8=e,this.fromUtf8=t}return e.prototype.format=function(e){var t,n,r,o,s=[];try{for(var a=Object(i.__values)(Object.keys(e)),u=a.next();!u.done;u=a.next()){var c=u.value,f=this.fromUtf8(c);s.push(Uint8Array.from([f.byteLength]),f,this.formatHeaderValue(e[c]))}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}var l=new Uint8Array(s.reduce((function(e,t){return e+t.byteLength}),0)),d=0;try{for(var h=Object(i.__values)(s),p=h.next();!p.done;p=h.next()){var v=p.value;l.set(v,d),d+=v.byteLength}}catch(e){r={error:e}}finally{try{p&&!p.done&&(o=h.return)&&o.call(h)}finally{if(r)throw r.error}}return l},e.prototype.formatHeaderValue=function(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":var t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":var n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":var r=new Uint8Array(9);return r[0]=5,r.set(e.value.bytes,1),r;case"binary":var i=new DataView(new ArrayBuffer(3+e.value.byteLength));i.setUint8(0,6),i.setUint16(1,e.value.byteLength,!1);var a=new Uint8Array(i.buffer);return a.set(e.value,3),a;case"string":var u=this.fromUtf8(e.value),c=new DataView(new ArrayBuffer(3+u.byteLength));c.setUint8(0,7),c.setUint16(1,u.byteLength,!1);var f=new Uint8Array(c.buffer);return f.set(u,3),f;case"timestamp":var l=new Uint8Array(9);return l[0]=8,l.set(s.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!y.test(e.value))throw new Error("Invalid UUID received: "+e.value);var d=new Uint8Array(17);return d[0]=9,d.set(Object(o.a)(e.value.replace(/\-/g,"")),1),d}},e.prototype.parse=function(e){for(var t={},n=0;n-1&&delete e.headers[a]}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return e}function E(e){return function(e){if("number"==typeof e)return new Date(1e3*e);if("string"==typeof e)return Number(e)?new Date(1e3*Number(e)):new Date(e);return e}(e).toISOString().replace(/\.\d{3}Z$/,"Z")}var M=function(){function e(e){var t=e.applyChecksum,n=e.credentials,r=e.region,i=e.service,o=e.sha256,s=e.uriEscapePath,a=void 0===s||s;this.service=i,this.sha256=o,this.uriEscapePath=a,this.applyChecksum="boolean"!=typeof t||t,this.regionProvider=k(r),this.credentialProvider=O(n)}return e.prototype.presign=function(e,t){return void 0===t&&(t={}),Object(r.__awaiter)(this,void 0,void 0,(function(){var n,i,o,s,a,u,c,f,l,d,h,v,m,b,_,E,M,k,O,x,C,T,P;return Object(r.__generator)(this,(function(N){switch(N.label){case 0:return n=t.signingDate,i=void 0===n?new Date:n,o=t.expiresIn,s=void 0===o?3600:o,a=t.unsignableHeaders,u=t.signableHeaders,c=t.signingRegion,f=t.signingService,[4,this.credentialProvider()];case 1:return l=N.sent(),null==c?[3,2]:(h=c,[3,4]);case 2:return[4,this.regionProvider()];case 3:h=N.sent(),N.label=4;case 4:return d=h,v=A(i),m=v.longDate,b=v.shortDate,s>604800?[2,Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future")]:(_=p(b,d,null!=f?f:this.service),E=function(e){var t,n,i="function"==typeof e.clone?e.clone():w(e),o=i.headers,s=i.query,a=void 0===s?{}:s;try{for(var u=Object(r.__values)(Object.keys(o)),c=u.next();!c.done;c=u.next()){var f=c.value;"x-amz-"===f.toLowerCase().substr(0,6)&&(a[f]=o[f],delete o[f])}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return Object(r.__assign)(Object(r.__assign)({},e),{headers:o,query:a})}(S(e)),l.sessionToken&&(E.query["X-Amz-Security-Token"]=l.sessionToken),E.query["X-Amz-Algorithm"]="AWS4-HMAC-SHA256",E.query["X-Amz-Credential"]=l.accessKeyId+"/"+_,E.query["X-Amz-Date"]=m,E.query["X-Amz-Expires"]=s.toString(10),M=g(E,a,u),E.query["X-Amz-SignedHeaders"]=I(M),k=E.query,O="X-Amz-Signature",x=this.getSignature,C=[m,_,this.getSigningKey(l,d,b,f)],T=this.createCanonicalRequest,P=[E,M],[4,y(e,this.sha256)]);case 5:return[4,x.apply(this,C.concat([T.apply(this,P.concat([N.sent()]))]))];case 6:return k[O]=N.sent(),[2,E]}}))}))},e.prototype.sign=function(e,t){return Object(r.__awaiter)(this,void 0,void 0,(function(){return Object(r.__generator)(this,(function(n){return"string"==typeof e?[2,this.signString(e,t)]:e.headers&&e.payload?[2,this.signEvent(e,t)]:[2,this.signRequest(e,t)]}))}))},e.prototype.signEvent=function(e,t){var n=e.headers,i=e.payload,o=t.signingDate,s=void 0===o?new Date:o,a=t.priorSignature,u=t.signingRegion,c=t.signingService;return Object(r.__awaiter)(this,void 0,void 0,(function(){var e,t,o,f,d,h,g,m,b,w,_;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return null==u?[3,1]:(t=u,[3,3]);case 1:return[4,this.regionProvider()];case 2:t=r.sent(),r.label=3;case 3:return e=t,o=A(s),f=o.shortDate,d=o.longDate,h=p(f,e,null!=c?c:this.service),[4,y({headers:{},body:i},this.sha256)];case 4:return g=r.sent(),(m=new this.sha256).update(n),w=v.b,[4,m.digest()];case 5:return b=w.apply(void 0,[r.sent()]),_=[l,d,h,a,b,g].join("\n"),[2,this.signString(_,{signingDate:s,signingRegion:e,signingService:c})]}}))}))},e.prototype.signString=function(e,t){var n=void 0===t?{}:t,i=n.signingDate,o=void 0===i?new Date:i,s=n.signingRegion,a=n.signingService;return Object(r.__awaiter)(this,void 0,void 0,(function(){var t,n,i,u,c,f,l,d;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return[4,this.credentialProvider()];case 1:return t=r.sent(),null==s?[3,2]:(i=s,[3,4]);case 2:return[4,this.regionProvider()];case 3:i=r.sent(),r.label=4;case 4:return n=i,u=A(o).shortDate,l=(f=this.sha256).bind,[4,this.getSigningKey(t,n,u,a)];case 5:return(c=new(l.apply(f,[void 0,r.sent()]))).update(e),d=v.b,[4,c.digest()];case 6:return[2,d.apply(void 0,[r.sent()])]}}))}))},e.prototype.signRequest=function(e,t){var n=void 0===t?{}:t,o=n.signingDate,s=void 0===o?new Date:o,u=n.signableHeaders,c=n.unsignableHeaders,f=n.signingRegion,l=n.signingService;return Object(r.__awaiter)(this,void 0,void 0,(function(){var t,n,o,d,h,v,m,b,w,_,E;return Object(r.__generator)(this,(function(M){switch(M.label){case 0:return[4,this.credentialProvider()];case 1:return t=M.sent(),null==f?[3,2]:(o=f,[3,4]);case 2:return[4,this.regionProvider()];case 3:o=M.sent(),M.label=4;case 4:return n=o,d=S(e),h=A(s),v=h.longDate,m=h.shortDate,b=p(m,n,null!=l?l:this.service),d.headers[i]=v,t.sessionToken&&(d.headers[a]=t.sessionToken),[4,y(d,this.sha256)];case 5:return w=M.sent(),!function(e,t){var n,i;e=e.toLowerCase();try{for(var o=Object(r.__values)(Object.keys(t)),s=o.next();!s.done;s=o.next()){if(e===s.value.toLowerCase())return!0}}catch(e){n={error:e}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return!1}("x-amz-content-sha256",d.headers)&&this.applyChecksum&&(d.headers["x-amz-content-sha256"]=w),_=g(d,c,u),[4,this.getSignature(v,b,this.getSigningKey(t,n,m,l),this.createCanonicalRequest(d,_,w))];case 6:return E=M.sent(),d.headers.authorization="AWS4-HMAC-SHA256 Credential="+t.accessKeyId+"/"+b+", SignedHeaders="+I(_)+", Signature="+E,[2,d]}}))}))},e.prototype.createCanonicalRequest=function(e,t,n){var i=Object.keys(t).sort();return e.method+"\n"+this.getCanonicalPath(e)+"\n"+function(e){var t,n,i=e.query,o=void 0===i?{}:i,a=[],u={},c=function(e){if(e.toLowerCase()===s)return"continue";a.push(e);var t=o[e];"string"==typeof t?u[e]=Object(m.a)(e)+"="+Object(m.a)(t):Array.isArray(t)&&(u[e]=t.slice(0).sort().reduce((function(t,n){return t.concat([Object(m.a)(e)+"="+Object(m.a)(n)])}),[]).join("&"))};try{for(var f=Object(r.__values)(Object.keys(o).sort()),l=f.next();!l.done;l=f.next()){c(l.value)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=f.return)&&n.call(f)}finally{if(t)throw t.error}}return a.map((function(e){return u[e]})).filter((function(e){return e})).join("&")}(e)+"\n"+i.map((function(e){return e+":"+t[e]})).join("\n")+"\n\n"+i.join(";")+"\n"+n},e.prototype.createStringToSign=function(e,t,n){return Object(r.__awaiter)(this,void 0,void 0,(function(){var i,o;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return(i=new this.sha256).update(n),[4,i.digest()];case 1:return o=r.sent(),[2,"AWS4-HMAC-SHA256\n"+e+"\n"+t+"\n"+Object(v.b)(o)]}}))}))},e.prototype.getCanonicalPath=function(e){var t=e.path;return this.uriEscapePath?"/"+encodeURIComponent(t.replace(/^\//,"")).replace(/%2F/g,"/"):t},e.prototype.getSignature=function(e,t,n,i){return Object(r.__awaiter)(this,void 0,void 0,(function(){var o,s,a,u,c;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return[4,this.createStringToSign(e,t,i)];case 1:return o=r.sent(),u=(a=this.sha256).bind,[4,n];case 2:return(s=new(u.apply(a,[void 0,r.sent()]))).update(o),c=v.b,[4,s.digest()];case 3:return[2,c.apply(void 0,[r.sent()])]}}))}))},e.prototype.getSigningKey=function(e,t,n,i){return function(e,t,n,i,o){var s=n+":"+i+":"+o+":"+t.accessKeyId+":"+t.sessionToken;if(s in d)return d[s];for(h.push(s);h.length>50;)delete d[h.shift()];return d[s]=new Promise((function(a,u){var c,f,l=Promise.resolve("AWS4"+t.secretAccessKey),h=function(t){(l=l.then((function(n){return r=t,(i=new e(n)).update(r),i.digest();var r,i}))).catch((function(){}))};try{for(var p=Object(r.__values)([n,i,o,"aws4_request"]),v=p.next();!v.done;v=p.next()){h(v.value)}}catch(e){c={error:e}}finally{try{v&&!v.done&&(f=p.return)&&f.call(p)}finally{if(c)throw c.error}}l.then(a,(function(e){delete d[s],u(e)}))}))}(this.sha256,e,n,t,i||this.service)},e}(),A=function(e){var t=E(e).replace(/[\-:]/g,"");return{longDate:t,shortDate:t.substr(0,8)}},I=function(e){return Object.keys(e).sort().join(";")},k=function(e){if("string"==typeof e){var t=Promise.resolve(e);return function(){return t}}return e},O=function(e){if("object"==typeof e){var t=Promise.resolve(e);return function(){return t}}return e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(1),i=function(e){return Object(r.__assign)(Object(r.__assign)({},e),{eventStreamMarshaller:e.eventStreamSerdeProvider(e)})}},function(e,t,n){"use strict";var r=n(7),i=n(162),o=n(8).Buffer,s=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(e,t){return e<>>32-t}function c(e,t,n,r,i,o,s){return u(e+(t&n|~t&r)+i+o|0,s)+t|0}function f(e,t,n,r,i,o,s){return u(e+(t&r|n&~r)+i+o|0,s)+t|0}function l(e,t,n,r,i,o,s){return u(e+(t^n^r)+i+o|0,s)+t|0}function d(e,t,n,r,i,o,s){return u(e+(n^(t|~r))+i+o|0,s)+t|0}r(a,i),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,i=this._c,o=this._d;n=c(n,r,i,o,e[0],3614090360,7),o=c(o,n,r,i,e[1],3905402710,12),i=c(i,o,n,r,e[2],606105819,17),r=c(r,i,o,n,e[3],3250441966,22),n=c(n,r,i,o,e[4],4118548399,7),o=c(o,n,r,i,e[5],1200080426,12),i=c(i,o,n,r,e[6],2821735955,17),r=c(r,i,o,n,e[7],4249261313,22),n=c(n,r,i,o,e[8],1770035416,7),o=c(o,n,r,i,e[9],2336552879,12),i=c(i,o,n,r,e[10],4294925233,17),r=c(r,i,o,n,e[11],2304563134,22),n=c(n,r,i,o,e[12],1804603682,7),o=c(o,n,r,i,e[13],4254626195,12),i=c(i,o,n,r,e[14],2792965006,17),n=f(n,r=c(r,i,o,n,e[15],1236535329,22),i,o,e[1],4129170786,5),o=f(o,n,r,i,e[6],3225465664,9),i=f(i,o,n,r,e[11],643717713,14),r=f(r,i,o,n,e[0],3921069994,20),n=f(n,r,i,o,e[5],3593408605,5),o=f(o,n,r,i,e[10],38016083,9),i=f(i,o,n,r,e[15],3634488961,14),r=f(r,i,o,n,e[4],3889429448,20),n=f(n,r,i,o,e[9],568446438,5),o=f(o,n,r,i,e[14],3275163606,9),i=f(i,o,n,r,e[3],4107603335,14),r=f(r,i,o,n,e[8],1163531501,20),n=f(n,r,i,o,e[13],2850285829,5),o=f(o,n,r,i,e[2],4243563512,9),i=f(i,o,n,r,e[7],1735328473,14),n=l(n,r=f(r,i,o,n,e[12],2368359562,20),i,o,e[5],4294588738,4),o=l(o,n,r,i,e[8],2272392833,11),i=l(i,o,n,r,e[11],1839030562,16),r=l(r,i,o,n,e[14],4259657740,23),n=l(n,r,i,o,e[1],2763975236,4),o=l(o,n,r,i,e[4],1272893353,11),i=l(i,o,n,r,e[7],4139469664,16),r=l(r,i,o,n,e[10],3200236656,23),n=l(n,r,i,o,e[13],681279174,4),o=l(o,n,r,i,e[0],3936430074,11),i=l(i,o,n,r,e[3],3572445317,16),r=l(r,i,o,n,e[6],76029189,23),n=l(n,r,i,o,e[9],3654602809,4),o=l(o,n,r,i,e[12],3873151461,11),i=l(i,o,n,r,e[15],530742520,16),n=d(n,r=l(r,i,o,n,e[2],3299628645,23),i,o,e[0],4096336452,6),o=d(o,n,r,i,e[7],1126891415,10),i=d(i,o,n,r,e[14],2878612391,15),r=d(r,i,o,n,e[5],4237533241,21),n=d(n,r,i,o,e[12],1700485571,6),o=d(o,n,r,i,e[3],2399980690,10),i=d(i,o,n,r,e[10],4293915773,15),r=d(r,i,o,n,e[1],2240044497,21),n=d(n,r,i,o,e[8],1873313359,6),o=d(o,n,r,i,e[15],4264355552,10),i=d(i,o,n,r,e[6],2734768916,15),r=d(r,i,o,n,e[13],1309151649,21),n=d(n,r,i,o,e[4],4149444226,6),o=d(o,n,r,i,e[11],3174756917,10),i=d(i,o,n,r,e[2],718787259,15),r=d(r,i,o,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+r|0,this._c=this._c+i|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=a},function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this,n(31))},function(e,t,n){"use strict";var r=n(67).codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,n,o){if("function"==typeof n)return e(t,null,n);n||(n={}),o=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,r=new Array(n),i=0;i>>32-t}function v(e,t,n,r,i,o,s,a){return p(e+(t^n^r)+o+s|0,a)+i|0}function g(e,t,n,r,i,o,s,a){return p(e+(t&n|~t&r)+o+s|0,a)+i|0}function m(e,t,n,r,i,o,s,a){return p(e+((t|~n)^r)+o+s|0,a)+i|0}function b(e,t,n,r,i,o,s,a){return p(e+(t&r|n&~r)+o+s|0,a)+i|0}function y(e,t,n,r,i,o,s,a){return p(e+(t^(n|~r))+o+s|0,a)+i|0}i(h,o),h.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,r=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,w=0|this._a,_=0|this._b,S=0|this._c,E=0|this._d,M=0|this._e,A=0;A<80;A+=1){var I,k;A<16?(I=v(n,r,i,o,h,e[a[A]],l[0],c[A]),k=y(w,_,S,E,M,e[u[A]],d[0],f[A])):A<32?(I=g(n,r,i,o,h,e[a[A]],l[1],c[A]),k=b(w,_,S,E,M,e[u[A]],d[1],f[A])):A<48?(I=m(n,r,i,o,h,e[a[A]],l[2],c[A]),k=m(w,_,S,E,M,e[u[A]],d[2],f[A])):A<64?(I=b(n,r,i,o,h,e[a[A]],l[3],c[A]),k=g(w,_,S,E,M,e[u[A]],d[3],f[A])):(I=y(n,r,i,o,h,e[a[A]],l[4],c[A]),k=v(w,_,S,E,M,e[u[A]],d[4],f[A])),n=h,h=o,o=p(i,10),i=r,r=I,w=M,M=E,E=p(S,10),S=_,_=k}var O=this._b+i+E|0;this._b=this._c+o+M|0,this._c=this._d+h+w|0,this._d=this._e+n+_|0,this._e=this._a+r+S|0,this._a=O},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=h},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n(281),t.sha1=n(282),t.sha224=n(283),t.sha256=n(169),t.sha384=n(284),t.sha512=n(170)},function(e,t,n){(t=e.exports=n(171)).Stream=t,t.Readable=t,t.Writable=n(120),t.Duplex=n(60),t.Transform=n(174),t.PassThrough=n(291)},function(e,t,n){var r=n(6),i=r.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=s),o(i,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";(function(t,r,i){var o=n(92);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=b;var a,u=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:o.nextTick;b.WritableState=m;var c=Object.create(n(80));c.inherits=n(7);var f={deprecate:n(114)},l=n(172),d=n(119).Buffer,h=i.Uint8Array||function(){};var p,v=n(173);function g(){}function m(e,t){a=a||n(60),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,c=e.writableHighWaterMark,f=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(c||0===c)?c:f,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===e.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(o.nextTick(i,r),o.nextTick(M,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),M(e,t))}(e,n,r,t,i);else{var s=S(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||_(e,n),r?u(w,e,n,s,i):w(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function b(e){if(a=a||n(60),!(p.call(b,this)||this instanceof a))return new b(e);this._writableState=new m(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),l.call(this)}function y(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function w(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),M(e,t)}function _(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,u=!0;n;)i[a]=n,n.isBuf||(u=!1),n=n.next,a+=1;i.allBuffers=u,y(e,t,!0,t.length,i,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,f=n.encoding,l=n.callback;if(y(e,t,!1,t.objectMode?1:c.length,c,f,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function S(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),M(e,t)}))}function M(e,t){var n=S(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}c.inherits(b,l),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(m.prototype,"buffer",{get:f.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===b&&(e&&e._writableState instanceof m)}})):p=function(e){return e instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof h);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=g),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),o.nextTick(t,n)}(this,n):(a||function(e,t,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var u=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,M(e,t),n&&(t.finished?o.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),b.prototype.destroy=v.destroy,b.prototype._undestroy=v.undestroy,b.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(20),n(289).setImmediate,n(31))},function(e,t,n){"use strict";var r=n(46);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),r=0;r0;r--)t+=this._buffer(e,t),n+=this._flushBuffer(i,n);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t=0||!t.umod(e.prime1)||!t.umod(e.prime2));return t}function s(e,n){var i=function(e){var t=o(e);return{blinder:t.toRed(r.mont(e.modulus)).redPow(new r(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(n),s=n.modulus.byteLength(),a=new r(e).mul(i.blinder).umod(n.modulus),u=a.toRed(r.mont(n.prime1)),c=a.toRed(r.mont(n.prime2)),f=n.coefficient,l=n.prime1,d=n.prime2,h=u.redPow(n.exponent1).fromRed(),p=c.redPow(n.exponent2).fromRed(),v=h.isub(p).imul(f).umod(l).imul(d);return p.iadd(v).imul(i.unblinder).umod(n.modulus).toArrayLike(t,"be",s)}s.getr=o,e.exports=s}).call(this,n(6).Buffer)},function(e,t,n){"use strict";var r=t;r.version=n(331).version,r.utils=n(47),r.rand=n(124),r.curve=n(199),r.curves=n(128),r.ec=n(342),r.eddsa=n(346)},function(e,t,n){"use strict";var r,i=t,o=n(129),s=n(199),a=n(47).assert;function u(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var n=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:n}),n}})}i.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=n(341)}catch(e){r=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},function(e,t,n){var r=t;r.utils=n(51),r.common=n(82),r.sha=n(335),r.ripemd=n(339),r.hmac=n(340),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,n){"use strict";(function(t){var r,i=n(6),o=i.Buffer,s={};for(r in i)i.hasOwnProperty(r)&&"SlowBuffer"!==r&&"Buffer"!==r&&(s[r]=i[r]);var a=s.Buffer={};for(r in o)o.hasOwnProperty(r)&&"allocUnsafe"!==r&&"allocUnsafeSlow"!==r&&(a[r]=o[r]);if(s.Buffer.prototype=o.prototype,a.from&&a.from!==Uint8Array.from||(a.from=function(e,t,n){if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&void 0===e.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return o(e,t,n)}),a.alloc||(a.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var r=o(e);return t&&0!==t.length?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r}),!s.kStringMaxLength)try{s.kStringMaxLength=t.binding("buffer").kStringMaxLength}catch(e){}s.constants||(s.constants={MAX_LENGTH:s.kMaxLength},s.kStringMaxLength&&(s.constants.MAX_STRING_LENGTH=s.kStringMaxLength)),e.exports=s}).call(this,n(20))},function(e,t,n){"use strict";const r=n(132).Reporter,i=n(83).EncoderBuffer,o=n(83).DecoderBuffer,s=n(46),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(e,t,n){const r={};this._baseState=r,r.name=n,r.enc=e,r.parent=t||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}e.exports=c;const f=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){const e=this._baseState,t={};f.forEach((function(n){t[n]=e[n]}));const n=new this.constructor(t.parent);return n._baseState=t,n},c.prototype._wrap=function(){const e=this._baseState;u.forEach((function(t){this[t]=function(){const n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}}),this)},c.prototype._init=function(e){const t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),s.equal(t.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(e){const t=this._baseState,n=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==n.length&&(s(null===t.children),t.children=n,n.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;const t={};return Object.keys(e).forEach((function(n){n==(0|n)&&(n|=0);const r=e[n];t[r]=n})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){c.prototype[e]=function(){const t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),a.forEach((function(e){c.prototype[e]=function(){const t=this._baseState,n=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(n),this}})),c.prototype.use=function(e){s(e);const t=this._baseState;return s(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){const t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){const t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){const t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){const e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){const t=this._baseState;return s(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){const t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},c.prototype.contains=function(e){const t=this._baseState;return s(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){const n=this._baseState;if(null===n.parent)return e.wrapResult(n.children[0]._decode(e,t));let r,i=n.default,s=!0,a=null;if(null!==n.key&&(a=e.enterKey(n.key)),n.optional){let r=null;if(null!==n.explicit?r=n.explicit:null!==n.implicit?r=n.implicit:null!==n.tag&&(r=n.tag),null!==r||n.any){if(s=this._peekTag(e,r,n.any),e.isError(s))return s}else{const r=e.save();try{null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),s=!0}catch(e){s=!1}e.restore(r)}}if(n.obj&&s&&(r=e.enterObject()),s){if(null!==n.explicit){const t=this._decodeTag(e,n.explicit);if(e.isError(t))return t;e=t}const r=e.offset;if(null===n.use&&null===n.choice){let t;n.any&&(t=e.save());const r=this._decodeTag(e,null!==n.implicit?n.implicit:n.tag,n.any);if(e.isError(r))return r;n.any?i=e.raw(t):e=r}if(t&&t.track&&null!==n.tag&&t.track(e.path(),r,e.length,"tagged"),t&&t.track&&null!==n.tag&&t.track(e.path(),e.offset,e.length,"content"),n.any||(i=null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t)),e.isError(i))return i;if(n.any||null!==n.choice||null===n.children||n.children.forEach((function(n){n._decode(e,t)})),n.contains&&("octstr"===n.tag||"bitstr"===n.tag)){const r=new o(i);i=this._getUse(n.contains,e._reporterState.obj)._decode(r,t)}}return n.obj&&s&&(i=e.leaveObject(r)),null===n.key||null===i&&!0!==s?null!==a&&e.exitKey(a):e.leaveKey(a,n.key,i),i},c.prototype._decodeGeneric=function(e,t,n){const r=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,r.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):"objid"===e&&r.args?this._decodeObjid(t,r.args[0],r.args[1],n):"objid"===e?this._decodeObjid(t,null,null,n):"gentime"===e||"utctime"===e?this._decodeTime(t,e,n):"null_"===e?this._decodeNull(t,n):"bool"===e?this._decodeBool(t,n):"objDesc"===e?this._decodeStr(t,e,n):"int"===e||"enum"===e?this._decodeInt(t,r.args&&r.args[0],n):null!==r.use?this._getUse(r.use,t._reporterState.obj)._decode(t,n):t.error("unknown tag: "+e)},c.prototype._getUse=function(e,t){const n=this._baseState;return n.useDecoder=this._use(e,t),s(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},c.prototype._decodeChoice=function(e,t){const n=this._baseState;let r=null,i=!1;return Object.keys(n.choice).some((function(o){const s=e.save(),a=n.choice[o];try{const n=a._decode(e,t);if(e.isError(n))return!1;r={type:o,value:n},i=!0}catch(t){return e.restore(s),!1}return!0}),this),i?r:e.error("Choice not matched")},c.prototype._createEncoderBuffer=function(e){return new i(e,this.reporter)},c.prototype._encode=function(e,t,n){const r=this._baseState;if(null!==r.default&&r.default===e)return;const i=this._encodeValue(e,t,n);return void 0===i||this._skipDefault(i,t,n)?void 0:i},c.prototype._encodeValue=function(e,t,n){const i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new r);let o=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}let s=null,a=!1;if(i.any)o=this._createEncoderBuffer(e);else if(i.choice)o=this._encodeChoice(e,t);else if(i.contains)s=this._getUse(i.contains,n)._encode(e,t),a=!0;else if(i.children)s=i.children.map((function(n){if("null_"===n._baseState.tag)return n._encode(null,t,e);if(null===n._baseState.key)return t.error("Child should have a key");const r=t.enterKey(n._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");const i=n._encode(e[n._baseState.key],t,e);return t.leaveKey(r),i}),this).filter((function(e){return e})),s=this._createEncoderBuffer(s);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return t.error("Too many args for : "+i.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");const n=this.clone();n._baseState.implicit=null,s=this._createEncoderBuffer(e.map((function(n){const r=this._baseState;return this._getUse(r.args[0],e)._encode(n,t)}),n))}else null!==i.use?o=this._getUse(i.use,n)._encode(e,t):(s=this._encodePrimitive(i.tag,e),a=!0);if(!i.any&&null===i.choice){const e=null!==i.implicit?i.implicit:i.tag,n=null===i.implicit?"universal":"context";null===e?null===i.use&&t.error("Tag could be omitted only for .use()"):null===i.use&&(o=this._encodeComposite(e,a,n,s))}return null!==i.explicit&&(o=this._encodeComposite(i.explicit,!1,"context",o)),o},c.prototype._encodeChoice=function(e,t){const n=this._baseState,r=n.choice[e.type];return r||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(n.choice))),r._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){const n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)}},function(e,t,n){"use strict";const r=n(7);function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.Reporter=i,i.prototype.isError=function(e){return e instanceof o},i.prototype.save=function(){const e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){const t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){const t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,n){const r=this._reporterState;this.exitKey(e),null!==r.obj&&(r.obj[t]=n)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){const e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){const t=this._reporterState,n=t.obj;return t.obj=e,n},i.prototype.error=function(e){let t;const n=this._reporterState,r=e instanceof o;if(t=r?e:new o(n.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!n.options.partial)throw t;return r||n.errors.push(t),t},i.prototype.wrapResult=function(e){const t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},r(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,n){"use strict";function r(e){const t={};return Object.keys(e).forEach((function(n){(0|n)==n&&(n|=0);const r=e[n];t[r]=n})),t}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=r(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=r(t.tag)},function(e,t,n){"use strict";n.r(t),n.d(t,"locateWindow",(function(){return i}));var r={};function i(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:r}},function(e,t,n){var r=n(84),i=n(85);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},function(e,t,n){var r=n(395),i=n(411),o=n(413),s=n(414),a=n(415);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]/g,">").replace(/"/g,""")+'"')}}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}return r+(n?">"+this.children.map((function(e){return e.toString()})).join("")+"":"/>")},e}();var ti=function(){function e(e){this.value=e}return e.prototype.toString=function(){return(""+this.value).replace(/&/g,"&").replace(//g,">")},e}(),ni=n(253),ri=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c;return d(this,(function(l){switch(l.label){case 0:return r=[f({},e)],c={},[4,Ai(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(c.body=l.sent(),c)])),o="UnknownError",o=Ii(e,n.body),o){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":return[3,2]}return[3,4];case 2:return s=[{}],[4,pi(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([l.sent()])),{name:o,$metadata:Si(e)}]),[3,5];case 4:a=n.body,o=a.code||a.Code||o,i=f(f({},a),{name:""+o,message:a.message||a.Message||o,$fault:"client",$metadata:Si(e)}),l.label=5;case 5:return u=i.message||i.Message||o,i.message=u,delete i.Message,[2,Promise.reject(Object.assign(new Error(u),i))]}}))}))},ii=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},oi=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},si=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},ai=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c;return d(this,(function(l){switch(l.label){case 0:return r=[f({},e)],c={},[4,Ai(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(c.body=l.sent(),c)])),o="UnknownError",o=Ii(e,n.body),o){case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":return[3,2]}return[3,4];case 2:return s=[{}],[4,hi(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([l.sent()])),{name:o,$metadata:Si(e)}]),[3,5];case 4:a=n.body,o=a.code||a.Code||o,i=f(f({},a),{name:""+o,message:a.message||a.Message||o,$fault:"client",$metadata:Si(e)}),l.label=5;case 5:return u=i.message||i.Message||o,i.message=u,delete i.Message,[2,Promise.reject(Object.assign(new Error(u),i))]}}))}))},ui=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c;return d(this,(function(l){switch(l.label){case 0:return r=[f({},e)],c={},[4,Ai(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(c.body=l.sent(),c)])),o="UnknownError",o=Ii(e,n.body),o){case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":return[3,2]}return[3,4];case 2:return s=[{}],[4,di(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([l.sent()])),{name:o,$metadata:Si(e)}]),[3,5];case 4:a=n.body,o=a.code||a.Code||o,i=f(f({},a),{name:""+o,message:a.message||a.Message||o,$fault:"client",$metadata:Si(e)}),l.label=5;case 5:return u=i.message||i.Message||o,i.message=u,delete i.Message,[2,Promise.reject(Object.assign(new Error(u),i))]}}))}))},ci=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},fi=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},li=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},di=function(e,t){return l(void 0,void 0,void 0,(function(){var t;return d(this,(function(n){return t={name:"NoSuchBucket",$fault:"client",$metadata:Si(e)},e.body,[2,t]}))}))},hi=function(e,t){return l(void 0,void 0,void 0,(function(){var t;return d(this,(function(n){return t={name:"NoSuchKey",$fault:"client",$metadata:Si(e)},e.body,[2,t]}))}))},pi=function(e,t){return l(void 0,void 0,void 0,(function(){var t;return d(this,(function(n){return t={name:"NoSuchUpload",$fault:"client",$metadata:Si(e)},e.body,[2,t]}))}))},vi=function(e,t){var n=new ei("CompletedMultipartUpload");void 0!==e.Parts&&gi(e.Parts,t).map((function(e){e=e.withName("Part"),n.addChildNode(e)}));return n},gi=function(e,t){return e.map((function(e){return function(e,t){var n=new ei("CompletedPart");if(void 0!==e.ETag){var r=new ei("ETag").addChildNode(new ti(e.ETag)).withName("ETag");n.addChildNode(r)}if(void 0!==e.PartNumber){r=new ei("PartNumber").addChildNode(new ti(String(e.PartNumber))).withName("PartNumber");n.addChildNode(r)}return n}(e).withName("member")}))},mi=function(e,t){return(e||[]).map((function(e){return function(e,t){var n={Prefix:void 0};return void 0!==e.Prefix&&(n.Prefix=e.Prefix),n}(e)}))},bi=function(e,t){var n={ID:void 0,DisplayName:void 0};return void 0!==e.ID&&(n.ID=e.ID),void 0!==e.DisplayName&&(n.DisplayName=e.DisplayName),n},yi=function(e,t){return(e||[]).map((function(e){return function(e,t){var n={Size:void 0,ETag:void 0,Owner:void 0,StorageClass:void 0,Key:void 0,LastModified:void 0};return void 0!==e.Size&&(n.Size=parseInt(e.Size)),void 0!==e.ETag&&(n.ETag=e.ETag),void 0!==e.Owner&&(n.Owner=wi(e.Owner,t)),void 0!==e.StorageClass&&(n.StorageClass=e.StorageClass),void 0!==e.Key&&(n.Key=e.Key),void 0!==e.LastModified&&(n.LastModified=new Date(e.LastModified)),n}(e,t)}))},wi=function(e,t){var n={DisplayName:void 0,ID:void 0};return void 0!==e.DisplayName&&(n.DisplayName=e.DisplayName),void 0!==e.ID&&(n.ID=e.ID),n},_i=function(e,t){return(e||[]).map((function(e){return function(e,t){var n={Size:void 0,LastModified:void 0,PartNumber:void 0,ETag:void 0};return void 0!==e.Size&&(n.Size=parseInt(e.Size)),void 0!==e.LastModified&&(n.LastModified=new Date(e.LastModified)),void 0!==e.PartNumber&&(n.PartNumber=parseInt(e.PartNumber)),void 0!==e.ETag&&(n.ETag=e.ETag),n}(e)}))},Si=function(e){return{httpStatusCode:e.statusCode,httpHeaders:e.headers,requestId:e.headers["x-amzn-requestid"]}},Ei=function(e,t){return void 0===e&&(e=new Uint8Array),e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array)},Mi=function(e){return!(void 0===e||""===e||Object.getOwnPropertyNames(e).includes("length")&&0==e.length||Object.getOwnPropertyNames(e).includes("size")&&0==e.size)},Ai=function(e,t){return function(e,t){return Ei(e,t).then((function(e){return t.utf8Encoder(e)}))}(e,t).then((function(e){if(e.length){var t=Object(ni.parse)(e,{attributeNamePrefix:"",ignoreAttributes:!1,parseNodeValue:!1,tagValueProcessor:function(e,t){return e.replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,'"').replace(/>/g,">").replace(/</g,"<")}}),n=Object.keys(t)[0],r=t[n];return r["#text"]&&(r[n]=r["#text"],delete r["#text"]),Object(Zr.h)(r)}return{}}))},Ii=function(e,t){return void 0!==t.Code?t.Code:404==e.statusCode?"NotFound":""},ki=function(e){return"string"==typeof e&&0===e.indexOf("arn:")&&e.split(":").length>=6},Oi=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,xi=/(\d+\.){3}\d+/,Ci=/\.\./,Ti=/\./,Pi=/^(.+\.)?s3[.-]([a-z0-9-]+)\./,Ni=/^s3(-external-1)?\.amazonaws\.com$/,Ri=function(e){return ji(e)?e.replace(/fips-|-fips/,""):e},Li=function(e){var t=e.match(Pi);return[t[2],e.replace(new RegExp("^"+t[0]),"")]},ji=function(e){return e.startsWith("fips-")||e.endsWith("-fips")},Di=function(e,t){return e===t||Ri(e)===t||e===Ri(t)},Ui=function(e,t){if(void 0===t&&(t={tlsCompatible:!0}),e.length>=64||!/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/.test(e)||/(\d+\.){3}\d+/.test(e)||/[.-]{2}/.test(e)||(null==t?void 0:t.tlsCompatible)&&Ti.test(e))throw new Error("Invalid DNS label "+e)},Bi=function(e){var t=e.baseHostname;return Pi.test(t)?function(e){return"string"==typeof e.bucketName}(e)?zi(e):Fi(e):{bucketEndpoint:!1,hostname:t}},Fi=function(e){var t,n=Object(Qr.__read)((t=e.baseHostname,Ni.test(t)?[t.replace(".amazonaws.com",""),"amazonaws.com"]:Li(t)),2),r=n[0],i=n[1],o=e.pathStyleEndpoint,s=e.dualstackEndpoint,a=void 0!==s&&s,u=e.accelerateEndpoint,c=void 0!==u&&u,f=e.tlsCompatible,l=void 0===f||f,d=e.useArnRegion,h=e.bucketName,p=e.clientPartition,v=void 0===p?"aws":p,g=e.clientSigningRegion,m=void 0===g?r:g;!function(e){if(e.pathStyleEndpoint)throw new Error("Path-style S3 endpoint is not supported when bucket is an ARN");if(e.accelerateEndpoint)throw new Error("Accelerate endpoint is not supported when bucket is an ARN");if(!e.tlsCompatible)throw new Error("HTTPS is required when bucket is an ARN")}({pathStyleEndpoint:o,accelerateEndpoint:c,tlsCompatible:l});var b=h.service,y=h.partition,w=h.accountId,_=h.region,S=h.resource;!function(e){if("s3"!==e&&"s3-outposts"!==e)throw new Error("Expect 's3' or 's3-outposts' in ARN service component")}(b),function(e,t){if(e!==t.clientPartition)throw new Error('Partition in ARN is incompatible, got "'+e+'" but expected "'+t.clientPartition+'"')}(y,{clientPartition:v}),function(e){if(!/[0-9]{12}/.exec(e))throw new Error("Access point ARN accountID does not match regex '[0-9]{12}'")}(w),function(e,t){if(""===e)throw new Error("ARN region is empty");if(!t.useArnRegion&&!Di(e,t.clientRegion)&&!Di(e,t.clientSigningRegion))throw new Error("Region in ARN is incompatible, got "+e+" but expected "+t.clientRegion);if(t.useArnRegion&&ji(e))throw new Error("Endpoint does not support FIPS region")}(_,{useArnRegion:d,clientRegion:r,clientSigningRegion:m});var E=function(e){var t=e.includes(":")?":":"/",n=Object(Qr.__read)(e.split(t)),r=n[0],i=n.slice(1);if("accesspoint"===r){if(1!==i.length||""===i[0])throw new Error("Access Point ARN should have one resource accesspoint"+t+"{accesspointname}");return{accesspointName:i[0]}}if("outpost"===r){if(!i[0]||"accesspoint"!==i[1]||!i[2]||3!==i.length)throw new Error("Outpost ARN should have resource outpost"+t+"{outpostId}"+t+"accesspoint"+t+"{accesspointName}");var o=Object(Qr.__read)(i,3),s=o[0];o[1];return{outpostId:s,accesspointName:o[2]}}throw new Error("ARN resource should begin with 'accesspoint"+t+"' or 'outpost"+t+"'")}(S),M=E.accesspointName,A=E.outpostId;Ui(M+"-"+w,{tlsCompatible:l});var I=d?_:r,k=d?_:m;return A?(function(e){if("s3-outposts"!==e)throw new Error("Expect 's3-posts' in Outpost ARN service component")}(b),Ui(A,{tlsCompatible:l}),function(e){if(e)throw new Error("Dualstack endpoint is not supported with Outpost")}(a),function(e){if(ji(null!=e?e:""))throw new Error("FIPS region is not supported with Outpost, got "+e)}(I),{bucketEndpoint:!0,hostname:M+"-"+w+"."+A+".s3-outposts."+I+"."+i,signingRegion:k,signingService:"s3-outposts"}):(function(e){if("s3"!==e)throw new Error("Expect 's3' in Accesspoint ARN service component")}(b),{bucketEndpoint:!0,hostname:M+"-"+w+".s3-accesspoint"+(a?".dualstack":"")+"."+I+"."+i,signingRegion:k})},zi=function(e){var t,n=e.accelerateEndpoint,r=void 0!==n&&n,i=e.baseHostname,o=e.bucketName,s=e.dualstackEndpoint,a=void 0!==s&&s,u=e.pathStyleEndpoint,c=void 0!==u&&u,f=e.tlsCompatible,l=void 0===f||f,d=Object(Qr.__read)((t=i,Ni.test(t)?["us-east-1","amazonaws.com"]:Li(t)),2),h=d[0],p=d[1];return c||!function(e){return Oi.test(e)&&!xi.test(e)&&!Ci.test(e)}(o)||l&&Ti.test(o)?{bucketEndpoint:!1,hostname:a?"s3.dualstack."+h+"."+p:i}:(r?i="s3-accelerate"+(a?".dualstack":"")+"."+p:a&&(i="s3.dualstack."+h+"."+p),{bucketEndpoint:!0,hostname:o+"."+i})},qi=function(e){return function(t,n){return function(r){return Object(Qr.__awaiter)(void 0,void 0,void 0,(function(){var i,o,s,a,u,c,f,l,d,h,p,v,g,m,b,y,w;return Object(Qr.__generator)(this,(function(_){switch(_.label){case 0:return i=r.input.Bucket,o=e.bucketEndpoint,s=r.request,Xr.a.isInstance(s)?e.bucketEndpoint?(s.hostname=i,[3,6]):[3,1]:[3,7];case 1:return ki(i)?(a=function(e){var t=e.split(":");if(t.length<6||"arn"!==t[0])throw new Error("Malformed ARN");var n=Object(Qr.__read)(t);return{partition:n[1],service:n[2],region:n[3],accountId:n[4],resource:n.slice(5).join(":")}}(i),c=Ri,[4,e.region()]):[3,5];case 2:return u=c.apply(void 0,[_.sent()]),[4,e.regionInfoProvider(u)];case 3:return f=_.sent()||{},l=f.partition,d=f.signingRegion,h=void 0===d?u:d,[4,e.useArnRegion()];case 4:return p=_.sent(),v=Bi({bucketName:a,baseHostname:s.hostname,accelerateEndpoint:e.useAccelerateEndpoint,dualstackEndpoint:e.useDualstackEndpoint,pathStyleEndpoint:e.forcePathStyle,tlsCompatible:"https:"===s.protocol,useArnRegion:p,clientPartition:l,clientSigningRegion:h}),y=v.hostname,w=v.bucketEndpoint,g=v.signingRegion,m=v.signingService,g&&g!==h&&(n.signing_region=g),m&&"s3"!==m&&(n.signing_service=m),s.hostname=y,o=w,[3,6];case 5:b=Bi({bucketName:i,baseHostname:s.hostname,accelerateEndpoint:e.useAccelerateEndpoint,dualstackEndpoint:e.useDualstackEndpoint,pathStyleEndpoint:e.forcePathStyle,tlsCompatible:"https:"===s.protocol}),y=b.hostname,w=b.bucketEndpoint,s.hostname=y,o=w,_.label=6;case 6:o&&(s.path=s.path.replace(/^(\/)?[^\/]+/,""),""===s.path&&(s.path="/")),_.label=7;case 7:return[2,t(Object(Qr.__assign)(Object(Qr.__assign)({},r),{request:s}))]}}))}))}}},Ki={tags:["BUCKET_ENDPOINT"],name:"bucketEndpointMiddleware",relation:"before",toMiddleware:"hostHeaderMiddleware"},Hi=function(e){return{applyToStack:function(t){t.addRelativeTo(qi(e),Ki)}}};var Vi=n(10);var Gi={name:"ssecMiddleware",step:"initialize",tags:["SSE"]},Wi=function(e){return{applyToStack:function(t){t.add(function(e){var t=this;return function(n){return function(r){return Object(Qr.__awaiter)(t,void 0,void 0,(function(){var t,i,o,s,a,u,c,f,l,d,h,p,v,g,m,b,y;return Object(Qr.__generator)(this,(function(w){switch(w.label){case 0:t=Object(Qr.__assign)({},r.input),i=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}],w.label=1;case 1:w.trys.push([1,6,7,8]),o=Object(Qr.__values)(i),s=o.next(),w.label=2;case 2:return s.done?[3,5]:(a=s.value,(u=t[a.target])?(c=ArrayBuffer.isView(u)?new Uint8Array(u.buffer,u.byteOffset,u.byteLength):"string"==typeof u?e.utf8Decoder(u):new Uint8Array(u),f=e.base64Encoder(c),(l=new e.md5).update(c),d=[Object(Qr.__assign)({},t)],(y={})[a.target]=f,h=a.hash,v=(p=e).base64Encoder,[4,l.digest()]):[3,4]);case 3:t=Qr.__assign.apply(void 0,d.concat([(y[h]=v.apply(p,[w.sent()]),y)])),w.label=4;case 4:return s=o.next(),[3,2];case 5:return[3,8];case 6:return g=w.sent(),m={error:g},[3,8];case 7:try{s&&!s.done&&(b=o.return)&&b.call(o)}finally{if(m)throw m.error}return[7];case 8:return[2,n(Object(Qr.__assign)(Object(Qr.__assign)({},r),{input:t}))]}}))}))}}}(e),Gi)}}},$i=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Wi(t)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"GetObjectCommand",inputFilterSensitiveLog:Xt.filterSensitiveLog,outputFilterSensitiveLog:Zt.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"GetObjectCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f(f(f(f(f(f(f({"Content-Type":""},Mi(e.SSECustomerKey)&&{"x-amz-server-side-encryption-customer-key":e.SSECustomerKey}),Mi(e.SSECustomerAlgorithm)&&{"x-amz-server-side-encryption-customer-algorithm":e.SSECustomerAlgorithm}),Mi(e.SSECustomerKeyMD5)&&{"x-amz-server-side-encryption-customer-key-MD5":e.SSECustomerKeyMD5}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.IfUnmodifiedSince)&&{"If-Unmodified-Since":Object(Zr.e)(e.IfUnmodifiedSince).toString()}),Mi(e.IfModifiedSince)&&{"If-Modified-Since":Object(Zr.e)(e.IfModifiedSince).toString()}),Mi(e.IfNoneMatch)&&{"If-None-Match":e.IfNoneMatch}),Mi(e.IfMatch)&&{"If-Match":e.IfMatch}),Mi(e.Range)&&{Range:e.Range}),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o=f(f(f(f(f(f(f(f({"x-id":"GetObject"},void 0!==e.ResponseContentEncoding&&{"response-content-encoding":e.ResponseContentEncoding}),void 0!==e.ResponseCacheControl&&{"response-cache-control":e.ResponseCacheControl}),void 0!==e.ResponseContentLanguage&&{"response-content-language":e.ResponseContentLanguage}),void 0!==e.ResponseContentDisposition&&{"response-content-disposition":e.ResponseContentDisposition}),void 0!==e.PartNumber&&{partNumber:e.PartNumber.toString()}),void 0!==e.VersionId&&{versionId:e.VersionId}),void 0!==e.ResponseExpires&&{"response-expires":(e.ResponseExpires.toISOString().split(".")[0]+"Z").toString()}),void 0!==e.ResponseContentType&&{"response-content-type":e.ResponseContentType}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"GET",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return 200!==e.statusCode&&e.statusCode>=300?[2,ai(e,t)]:(n={$metadata:Si(e),AcceptRanges:void 0,Body:void 0,CacheControl:void 0,ContentDisposition:void 0,ContentEncoding:void 0,ContentLanguage:void 0,ContentLength:void 0,ContentRange:void 0,ContentType:void 0,DeleteMarker:void 0,ETag:void 0,Expiration:void 0,Expires:void 0,LastModified:void 0,Metadata:void 0,MissingMeta:void 0,ObjectLockLegalHoldStatus:void 0,ObjectLockMode:void 0,ObjectLockRetainUntilDate:void 0,PartsCount:void 0,ReplicationStatus:void 0,RequestCharged:void 0,Restore:void 0,SSECustomerAlgorithm:void 0,SSECustomerKeyMD5:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0,StorageClass:void 0,TagCount:void 0,VersionId:void 0,WebsiteRedirectLocation:void 0},void 0!==e.headers["x-amz-object-lock-mode"]&&(n.ObjectLockMode=e.headers["x-amz-object-lock-mode"]),void 0!==e.headers["content-language"]&&(n.ContentLanguage=e.headers["content-language"]),void 0!==e.headers["content-disposition"]&&(n.ContentDisposition=e.headers["content-disposition"]),void 0!==e.headers["cache-control"]&&(n.CacheControl=e.headers["cache-control"]),void 0!==e.headers["content-type"]&&(n.ContentType=e.headers["content-type"]),void 0!==e.headers["content-range"]&&(n.ContentRange=e.headers["content-range"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["content-length"]&&(n.ContentLength=parseInt(e.headers["content-length"],10)),void 0!==e.headers["x-amz-object-lock-retain-until-date"]&&(n.ObjectLockRetainUntilDate=new Date(e.headers["x-amz-object-lock-retain-until-date"])),void 0!==e.headers["x-amz-object-lock-legal-hold"]&&(n.ObjectLockLegalHoldStatus=e.headers["x-amz-object-lock-legal-hold"]),void 0!==e.headers["x-amz-delete-marker"]&&(n.DeleteMarker="true"===e.headers["x-amz-delete-marker"]),void 0!==e.headers["x-amz-storage-class"]&&(n.StorageClass=e.headers["x-amz-storage-class"]),void 0!==e.headers["content-encoding"]&&(n.ContentEncoding=e.headers["content-encoding"]),void 0!==e.headers["x-amz-restore"]&&(n.Restore=e.headers["x-amz-restore"]),void 0!==e.headers["x-amz-website-redirect-location"]&&(n.WebsiteRedirectLocation=e.headers["x-amz-website-redirect-location"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),void 0!==e.headers["x-amz-mp-parts-count"]&&(n.PartsCount=parseInt(e.headers["x-amz-mp-parts-count"],10)),void 0!==e.headers["x-amz-server-side-encryption-customer-algorithm"]&&(n.SSECustomerAlgorithm=e.headers["x-amz-server-side-encryption-customer-algorithm"]),void 0!==e.headers["accept-ranges"]&&(n.AcceptRanges=e.headers["accept-ranges"]),void 0!==e.headers["x-amz-version-id"]&&(n.VersionId=e.headers["x-amz-version-id"]),void 0!==e.headers.expires&&(n.Expires=new Date(e.headers.expires)),void 0!==e.headers["x-amz-expiration"]&&(n.Expiration=e.headers["x-amz-expiration"]),void 0!==e.headers["x-amz-missing-meta"]&&(n.MissingMeta=parseInt(e.headers["x-amz-missing-meta"],10)),void 0!==e.headers["x-amz-replication-status"]&&(n.ReplicationStatus=e.headers["x-amz-replication-status"]),void 0!==e.headers["x-amz-tagging-count"]&&(n.TagCount=parseInt(e.headers["x-amz-tagging-count"],10)),void 0!==e.headers["x-amz-server-side-encryption-customer-key-md5"]&&(n.SSECustomerKeyMD5=e.headers["x-amz-server-side-encryption-customer-key-md5"]),void 0!==e.headers["last-modified"]&&(n.LastModified=new Date(e.headers["last-modified"])),void 0!==e.headers.etag&&(n.ETag=e.headers.etag),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),Object.keys(e.headers).forEach((function(t){void 0===n.Metadata&&(n.Metadata={}),t.startsWith("x-amz-meta-")&&(n.Metadata[t.substring(11)]=e.headers[t])})),r=e.body,n.Body=r,[2,Promise.resolve(n)])}))}))}(e,t)},t}(Zr.b),Yi=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"DeleteObjectCommand",inputFilterSensitiveLog:Z.filterSensitiveLog,outputFilterSensitiveLog:J.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"DeleteObjectCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f({"Content-Type":""},Mi(e.MFA)&&{"x-amz-mfa":e.MFA}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.BypassGovernanceRetention)&&{"x-amz-bypass-governance-retention":e.BypassGovernanceRetention.toString()}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o=f({"x-id":"DeleteObject"},void 0!==e.VersionId&&{versionId:e.VersionId}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"DELETE",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return 204!==e.statusCode&&e.statusCode>=300?[2,si(e,t)]:(n={$metadata:Si(e),DeleteMarker:void 0,RequestCharged:void 0,VersionId:void 0},void 0!==e.headers["x-amz-delete-marker"]&&(n.DeleteMarker="true"===e.headers["x-amz-delete-marker"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers["x-amz-version-id"]&&(n.VersionId=e.headers["x-amz-version-id"]),[4,Ei(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),Ji=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"ListObjectsCommand",inputFilterSensitiveLog:Fn.filterSensitiveLog,outputFilterSensitiveLog:Bn.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"ListObjectsCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f({"Content-Type":""},Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),r="/{Bucket}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");return r=r.replace("{Bucket}",Object(Zr.f)(i)),o=f(f(f(f(f({},void 0!==e.MaxKeys&&{"max-keys":e.MaxKeys.toString()}),void 0!==e.Marker&&{marker:e.Marker}),void 0!==e.Prefix&&{prefix:e.Prefix}),void 0!==e.Delimiter&&{delimiter:e.Delimiter}),void 0!==e.EncodingType&&{"encoding-type":e.EncodingType}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"GET",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,ui(e,t)]:(n={$metadata:Si(e),CommonPrefixes:void 0,Contents:void 0,Delimiter:void 0,EncodingType:void 0,IsTruncated:void 0,Marker:void 0,MaxKeys:void 0,Name:void 0,NextMarker:void 0,Prefix:void 0},[4,Ai(e.body,t)]);case 1:return""===(r=i.sent()).CommonPrefixes&&(n.CommonPrefixes=[]),void 0!==r.CommonPrefixes&&(n.CommonPrefixes=mi(Object(Zr.g)(r.CommonPrefixes),t)),""===r.Contents&&(n.Contents=[]),void 0!==r.Contents&&(n.Contents=yi(Object(Zr.g)(r.Contents),t)),void 0!==r.Delimiter&&(n.Delimiter=r.Delimiter),void 0!==r.EncodingType&&(n.EncodingType=r.EncodingType),void 0!==r.IsTruncated&&(n.IsTruncated="true"==r.IsTruncated),void 0!==r.Marker&&(n.Marker=r.Marker),void 0!==r.MaxKeys&&(n.MaxKeys=parseInt(r.MaxKeys)),void 0!==r.Name&&(n.Name=r.Name),void 0!==r.NextMarker&&(n.NextMarker=r.NextMarker),void 0!==r.Prefix&&(n.Prefix=r.Prefix),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),Zi=n(153),Xi=n(38),Qi=n(110),eo=n(18);function to(e,t,n){return void 0===n&&(n=1048576),new Promise((function(r,i){var o=new FileReader;o.addEventListener("error",i),o.addEventListener("abort",i);var s=e.size,a=0;function u(){a>=s?r():o.readAsArrayBuffer(e.slice(a,Math.min(s,a+n)))}o.addEventListener("load",(function(e){var n=e.target.result;t(new Uint8Array(n)),a+=n.byteLength,u()})),u()}))}var no=n(24),ro=n(15),io=[1732584193,4023233417,2562383102,271733878],oo=function(){function e(){this.state=Uint32Array.from(io),this.buffer=new DataView(new ArrayBuffer(64)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(!function(e){if("string"==typeof e)return 0===e.length;return 0===e.byteLength}(e)){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=function(e){if("string"==typeof e)return Object(ro.a)(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(e)}(e),n=0,r=t.byteLength;for(this.bytesHashed+=r;r>0;)this.buffer.setUint8(this.bufferLength++,t[n++]),r--,64===this.bufferLength&&(this.hashBuffer(),this.bufferLength=0)}},e.prototype.digest=function(){return Object(Qr.__awaiter)(this,void 0,void 0,(function(){var e,t,n,r,i,o,s;return Object(Qr.__generator)(this,(function(a){if(!this.finished){if(t=(e=this).buffer,n=e.bufferLength,r=e.bytesHashed,i=8*r,t.setUint8(this.bufferLength++,128),n%64>=56){for(s=this.bufferLength;s<64;s++)t.setUint8(s,0);this.hashBuffer(),this.bufferLength=0}for(s=this.bufferLength;s<56;s++)t.setUint8(s,0);t.setUint32(56,i>>>0,!0),t.setUint32(60,Math.floor(i/4294967296),!0),this.hashBuffer(),this.finished=!0}for(o=new DataView(new ArrayBuffer(16)),s=0;s<4;s++)o.setUint32(4*s,this.state[s],!0);return[2,new Uint8Array(o.buffer,o.byteOffset,o.byteLength)]}))}))},e.prototype.hashBuffer=function(){var e=this.buffer,t=this.state,n=t[0],r=t[1],i=t[2],o=t[3];n=ao(n,r,i,o,e.getUint32(0,!0),7,3614090360),o=ao(o,n,r,i,e.getUint32(4,!0),12,3905402710),i=ao(i,o,n,r,e.getUint32(8,!0),17,606105819),r=ao(r,i,o,n,e.getUint32(12,!0),22,3250441966),n=ao(n,r,i,o,e.getUint32(16,!0),7,4118548399),o=ao(o,n,r,i,e.getUint32(20,!0),12,1200080426),i=ao(i,o,n,r,e.getUint32(24,!0),17,2821735955),r=ao(r,i,o,n,e.getUint32(28,!0),22,4249261313),n=ao(n,r,i,o,e.getUint32(32,!0),7,1770035416),o=ao(o,n,r,i,e.getUint32(36,!0),12,2336552879),i=ao(i,o,n,r,e.getUint32(40,!0),17,4294925233),r=ao(r,i,o,n,e.getUint32(44,!0),22,2304563134),n=ao(n,r,i,o,e.getUint32(48,!0),7,1804603682),o=ao(o,n,r,i,e.getUint32(52,!0),12,4254626195),i=ao(i,o,n,r,e.getUint32(56,!0),17,2792965006),n=uo(n,r=ao(r,i,o,n,e.getUint32(60,!0),22,1236535329),i,o,e.getUint32(4,!0),5,4129170786),o=uo(o,n,r,i,e.getUint32(24,!0),9,3225465664),i=uo(i,o,n,r,e.getUint32(44,!0),14,643717713),r=uo(r,i,o,n,e.getUint32(0,!0),20,3921069994),n=uo(n,r,i,o,e.getUint32(20,!0),5,3593408605),o=uo(o,n,r,i,e.getUint32(40,!0),9,38016083),i=uo(i,o,n,r,e.getUint32(60,!0),14,3634488961),r=uo(r,i,o,n,e.getUint32(16,!0),20,3889429448),n=uo(n,r,i,o,e.getUint32(36,!0),5,568446438),o=uo(o,n,r,i,e.getUint32(56,!0),9,3275163606),i=uo(i,o,n,r,e.getUint32(12,!0),14,4107603335),r=uo(r,i,o,n,e.getUint32(32,!0),20,1163531501),n=uo(n,r,i,o,e.getUint32(52,!0),5,2850285829),o=uo(o,n,r,i,e.getUint32(8,!0),9,4243563512),i=uo(i,o,n,r,e.getUint32(28,!0),14,1735328473),n=co(n,r=uo(r,i,o,n,e.getUint32(48,!0),20,2368359562),i,o,e.getUint32(20,!0),4,4294588738),o=co(o,n,r,i,e.getUint32(32,!0),11,2272392833),i=co(i,o,n,r,e.getUint32(44,!0),16,1839030562),r=co(r,i,o,n,e.getUint32(56,!0),23,4259657740),n=co(n,r,i,o,e.getUint32(4,!0),4,2763975236),o=co(o,n,r,i,e.getUint32(16,!0),11,1272893353),i=co(i,o,n,r,e.getUint32(28,!0),16,4139469664),r=co(r,i,o,n,e.getUint32(40,!0),23,3200236656),n=co(n,r,i,o,e.getUint32(52,!0),4,681279174),o=co(o,n,r,i,e.getUint32(0,!0),11,3936430074),i=co(i,o,n,r,e.getUint32(12,!0),16,3572445317),r=co(r,i,o,n,e.getUint32(24,!0),23,76029189),n=co(n,r,i,o,e.getUint32(36,!0),4,3654602809),o=co(o,n,r,i,e.getUint32(48,!0),11,3873151461),i=co(i,o,n,r,e.getUint32(60,!0),16,530742520),n=fo(n,r=co(r,i,o,n,e.getUint32(8,!0),23,3299628645),i,o,e.getUint32(0,!0),6,4096336452),o=fo(o,n,r,i,e.getUint32(28,!0),10,1126891415),i=fo(i,o,n,r,e.getUint32(56,!0),15,2878612391),r=fo(r,i,o,n,e.getUint32(20,!0),21,4237533241),n=fo(n,r,i,o,e.getUint32(48,!0),6,1700485571),o=fo(o,n,r,i,e.getUint32(12,!0),10,2399980690),i=fo(i,o,n,r,e.getUint32(40,!0),15,4293915773),r=fo(r,i,o,n,e.getUint32(4,!0),21,2240044497),n=fo(n,r,i,o,e.getUint32(32,!0),6,1873313359),o=fo(o,n,r,i,e.getUint32(60,!0),10,4264355552),i=fo(i,o,n,r,e.getUint32(24,!0),15,2734768916),r=fo(r,i,o,n,e.getUint32(52,!0),21,1309151649),n=fo(n,r,i,o,e.getUint32(16,!0),6,4149444226),o=fo(o,n,r,i,e.getUint32(44,!0),10,3174756917),i=fo(i,o,n,r,e.getUint32(8,!0),15,718787259),r=fo(r,i,o,n,e.getUint32(36,!0),21,3951481745),t[0]=n+t[0]&4294967295,t[1]=r+t[1]&4294967295,t[2]=i+t[2]&4294967295,t[3]=o+t[3]&4294967295},e}();function so(e,t,n,r,i,o){return((t=(t+e&4294967295)+(r+o&4294967295)&4294967295)<>>32-i)+n&4294967295}function ao(e,t,n,r,i,o,s){return so(t&n|~t&r,e,t,i,o,s)}function uo(e,t,n,r,i,o,s){return so(t&r|n&~r,e,t,i,o,s)}function co(e,t,n,r,i,o,s){return so(t^n^r,e,t,i,o,s)}function fo(e,t,n,r,i,o,s){return so(n^(t|~r),e,t,i,o,s)}var lo=n(11),ho=n(39),po=n(17),vo=n(40),go=n(41),mo=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),bo=new Set(["cn-north-1","cn-northwest-1"]),yo=new Set(["us-iso-east-1"]),wo=new Set(["us-isob-east-1"]),_o=new Set(["us-gov-east-1","us-gov-west-1"]),So=f(f({},{apiVersion:"2006-03-01",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-east-1":n={hostname:"s3.ap-east-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-1":n={hostname:"s3.ap-northeast-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-2":n={hostname:"s3.ap-northeast-2.amazonaws.com",partition:"aws"};break;case"ap-south-1":n={hostname:"s3.ap-south-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-1":n={hostname:"s3.ap-southeast-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-2":n={hostname:"s3.ap-southeast-2.amazonaws.com",partition:"aws"};break;case"ca-central-1":n={hostname:"s3.ca-central-1.amazonaws.com",partition:"aws"};break;case"cn-north-1":n={hostname:"s3.cn-north-1.amazonaws.com.cn",partition:"aws-cn"};break;case"cn-northwest-1":n={hostname:"s3.cn-northwest-1.amazonaws.com.cn",partition:"aws-cn"};break;case"eu-central-1":n={hostname:"s3.eu-central-1.amazonaws.com",partition:"aws"};break;case"eu-north-1":n={hostname:"s3.eu-north-1.amazonaws.com",partition:"aws"};break;case"eu-west-1":n={hostname:"s3.eu-west-1.amazonaws.com",partition:"aws"};break;case"eu-west-2":n={hostname:"s3.eu-west-2.amazonaws.com",partition:"aws"};break;case"eu-west-3":n={hostname:"s3.eu-west-3.amazonaws.com",partition:"aws"};break;case"fips-us-gov-west-1":n={hostname:"s3-fips-us-gov-west-1.amazonaws.com",partition:"aws-us-gov",signingRegion:"us-gov-west-1"};break;case"me-south-1":n={hostname:"s3.me-south-1.amazonaws.com",partition:"aws"};break;case"s3-external-1":n={hostname:"s3-external-1.amazonaws.com",partition:"aws",signingRegion:"us-east-1"};break;case"sa-east-1":n={hostname:"s3.sa-east-1.amazonaws.com",partition:"aws"};break;case"us-east-1":n={hostname:"s3.amazonaws.com",partition:"aws"};break;case"us-east-2":n={hostname:"s3.us-east-2.amazonaws.com",partition:"aws"};break;case"us-gov-east-1":n={hostname:"s3.us-gov-east-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-gov-west-1":n={hostname:"s3.us-gov-west-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-iso-east-1":n={hostname:"s3.us-iso-east-1.c2s.ic.gov",partition:"aws-iso"};break;case"us-isob-east-1":n={hostname:"s3.us-isob-east-1.sc2s.sgov.gov",partition:"aws-iso-b"};break;case"us-west-1":n={hostname:"s3.us-west-1.amazonaws.com",partition:"aws"};break;case"us-west-2":n={hostname:"s3.us-west-2.amazonaws.com",partition:"aws"};break;default:mo.has(e)&&(n={hostname:"s3.{region}.amazonaws.com".replace("{region}",e),partition:"aws"}),bo.has(e)&&(n={hostname:"s3.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),yo.has(e)&&(n={hostname:"s3.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),wo.has(e)&&(n={hostname:"s3.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),_o.has(e)&&(n={hostname:"s3.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"s3.{region}.amazonaws.com".replace("{region}",e),partition:"aws"})}return Promise.resolve(n)},signingEscapePath:!1,signingName:"s3",useArnRegion:!1}),{runtime:"browser",base64Decoder:po.a,base64Encoder:po.b,bodyLengthChecker:vo.a,credentialDefaultProvider:Object(no.a)("Credential is missing"),defaultUserAgent:Object(go.a)(Zi.name,Zi.version),eventStreamSerdeProvider:Qi.a,maxAttempts:lo.a,md5:oo,region:Object(no.a)("Region is missing"),requestHandler:new eo.a,sha256:Xi.Sha256,streamCollector:eo.b,streamHasher:function(e,t){return Object(Qr.__awaiter)(this,void 0,void 0,(function(){var n;return Object(Qr.__generator)(this,(function(r){switch(r.label){case 0:return n=new e,[4,to(t,(function(e){n.update(e)}))];case 1:return r.sent(),[2,n.digest()]}}))}))},urlParser:ho.a,utf8Decoder:ro.a,utf8Encoder:ro.b}),Eo=n(22),Mo=n(112),Ao=n(37);var Io={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware"},ko=function(e){return{applyToStack:function(t){t.add(function(e){var t=this;return function(n){return function(r){return Object(Qr.__awaiter)(t,void 0,void 0,(function(){var t;return Object(Qr.__generator)(this,(function(i){return t=r.request,Xr.a.isInstance(t)&&t.body&&"node"===e.runtime&&(t.headers=Object(Qr.__assign)(Object(Qr.__assign)({},t.headers),{Expect:"100-continue"})),[2,n(Object(Qr.__assign)(Object(Qr.__assign)({},r),{request:t}))]}))}))}}}(e),Io)}}},Oo=n(21),xo=n(43);var Co={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware"},To=function(e){return{applyToStack:function(e){e.add(function(){var e=this;return function(t){return function(n){return Object(Qr.__awaiter)(e,void 0,void 0,(function(){var e,r;return Object(Qr.__generator)(this,(function(i){if("string"==typeof(e=n.input.Bucket)&&!ki(e)&&e.indexOf("/")>=0)throw(r=new Error("Bucket name shouldn't contain '/', received '"+e+"'")).name="InvalidBucketName",r;return[2,t(Object(Qr.__assign)({},n))]}))}))}}}(),Co)}}},Po={step:"build",tags:["USE_REGIONAL_ENDPOINT","S3"],name:"useRegionalEndpointMiddleware"},No=function(e){return{applyToStack:function(t){t.add(function(e){return function(t){return function(n){return Object(Qr.__awaiter)(void 0,void 0,void 0,(function(){var r,i;return Object(Qr.__generator)(this,(function(o){switch(o.label){case 0:return r=n.request,!Xr.a.isInstance(r)||e.isCustomEndpoint?[2,t(Object(Qr.__assign)({},n))]:"s3.amazonaws.com"!==r.hostname?[3,1]:(r.hostname="s3.us-east-1.amazonaws.com",[3,3]);case 1:return i="aws-global",[4,e.region()];case 2:i===o.sent()&&(r.hostname="s3.amazonaws.com"),o.label=3;case 3:return[2,t(Object(Qr.__assign)({},n))]}}))}))}}}(e),Po)}}},Ro=n(25),Lo=n(23),jo=function(e){function t(t){var n,r,i,o,s,a,u,c,l,d,h,p=this,v=f(f({},So),t),g=Object(Eo.b)(v),m=Object(Eo.a)(g),b=Object(Ro.b)(m),y=Object(lo.c)(b),w=Object(Lo.b)(y),_=(r=(n=w).bucketEndpoint,i=void 0!==r&&r,o=n.forcePathStyle,s=void 0!==o&&o,a=n.useAccelerateEndpoint,u=void 0!==a&&a,c=n.useDualstackEndpoint,l=void 0!==c&&c,d=n.useArnRegion,h=void 0!==d&&d,Object(Qr.__assign)(Object(Qr.__assign)({},n),{bucketEndpoint:i,forcePathStyle:s,useAccelerateEndpoint:u,useDualstackEndpoint:l,useArnRegion:"function"==typeof h?h:function(){return Promise.resolve(h)}})),S=Object(Oo.b)(_),E=Object(Mo.a)(S);return(p=e.call(this,E)||this).config=E,p.middlewareStack.use(Object(Ro.a)(p.config)),p.middlewareStack.use(Object(lo.b)(p.config)),p.middlewareStack.use(Object(Lo.a)(p.config)),p.middlewareStack.use(Object(Ao.a)(p.config)),p.middlewareStack.use(To(p.config)),p.middlewareStack.use(No(p.config)),p.middlewareStack.use(ko(p.config)),p.middlewareStack.use(Object(Oo.a)(p.config)),p.middlewareStack.use(Object(xo.a)(p.config)),p}return c(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(Zr.a),Do=n(74);function Uo(e){var t=e.port,n=e.query,r=e.protocol,i=e.path,o=e.hostname;r&&":"!==r.substr(-1)&&(r+=":"),t&&(o+=":"+t),i&&"/"!==i.charAt(0)&&(i="/"+i);var s=n?Object(Do.a)(n):"";return s&&"?"!==s[0]&&(s="?"+s),r+"//"+o+i+s}function Bo(e,t){return Object(Qr.__awaiter)(this,void 0,void 0,(function(){var n,r,i=this;return Object(Qr.__generator)(this,(function(o){switch(o.label){case 0:return n=function(e){return function(e){return Object(Qr.__awaiter)(i,void 0,void 0,(function(){return Object(Qr.__generator)(this,(function(t){return[2,{output:{request:e.request},response:void 0}]}))}))}},(r=e.middlewareStack.clone()).add(n,{step:"build",priority:"low"}),[4,t.resolveMiddleware(r,e.config,void 0)(t).then((function(e){return e.output.request}))];case 1:return[2,o.sent()]}}))}))}var Fo=n(111),zo=function(){function e(e){var t=Object(Qr.__assign)({service:e.signingName||e.service||"s3",uriEscapePath:e.uriEscapePath||!1},e);this.signer=new Fo.a(t)}return e.prototype.presign=function(e,t){void 0===t&&(t={});var n=t.unsignableHeaders,r=void 0===n?new Set:n,i=Object(Qr.__rest)(t,["unsignableHeaders"]);return Object(Qr.__awaiter)(this,void 0,void 0,(function(){return Object(Qr.__generator)(this,(function(t){return r.add("content-type"),e.headers["X-Amz-Content-Sha256"]="UNSIGNED-PAYLOAD",[2,this.signer.presign(e,Object(Qr.__assign)({expiresIn:900,unsignableHeaders:r},i))]}))}))},e}(),qo=n(64),Ko=n.n(qo),Ho=new r.a("axios-http-handler"),Vo=function(){function e(e,t){void 0===e&&(e={}),this.httpOptions=e,this.emitter=t}return e.prototype.destroy=function(){},e.prototype.handle=function(e,t){var n=this.httpOptions.requestTimeout,r=this.emitter,i=e.path;if(e.query){var o=Object(Do.a)(e.query);o&&(i+="?"+o)}var s=e.port,a=e.protocol+"//"+e.hostname+(s?":"+s:"")+i,u={};u.url=a,u.method=e.method,u.headers=e.headers,delete u.headers.host,e.body?u.data=e.body:u.headers["Content-Type"]&&(u.data=null),r&&(u.onUploadProgress=function(e){r.emit("sendProgress",e),Ho.debug(e)}),u.responseType="blob";var c=[Ko.a.request(u).then((function(e){return{response:new Xr.b({headers:e.headers,statusCode:e.status,body:e.data})}})).catch((function(e){throw Ho.error(e),e})),Go(n)];return Promise.race(c)},e}();function Go(e){return void 0===e&&(e=0),new Promise((function(t,n){e&&setTimeout((function(){var t=new Error("Request did not complete within "+e+" ms");t.name="TimeoutError",n(t)}),e)}))}var Wo,$o,Yo,Jo,Zo,Xo,Qo,es,ts,ns,rs,is,os,ss,as,us,cs,fs,ls,ds,hs=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Wi(t)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"PutObjectCommand",inputFilterSensitiveLog:_r.filterSensitiveLog,outputFilterSensitiveLog:wr.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"PutObjectCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f({"Content-Type":"application/octet-stream"},Mi(e.GrantFullControl)&&{"x-amz-grant-full-control":e.GrantFullControl}),Mi(e.ContentEncoding)&&{"Content-Encoding":e.ContentEncoding}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.GrantReadACP)&&{"x-amz-grant-read-acp":e.GrantReadACP}),Mi(e.SSECustomerKeyMD5)&&{"x-amz-server-side-encryption-customer-key-MD5":e.SSECustomerKeyMD5}),Mi(e.CacheControl)&&{"Cache-Control":e.CacheControl}),Mi(e.WebsiteRedirectLocation)&&{"x-amz-website-redirect-location":e.WebsiteRedirectLocation}),Mi(e.ObjectLockLegalHoldStatus)&&{"x-amz-object-lock-legal-hold":e.ObjectLockLegalHoldStatus}),Mi(e.GrantWriteACP)&&{"x-amz-grant-write-acp":e.GrantWriteACP}),Mi(e.ContentLength)&&{"Content-Length":e.ContentLength.toString()}),Mi(e.ObjectLockRetainUntilDate)&&{"x-amz-object-lock-retain-until-date":(e.ObjectLockRetainUntilDate.toISOString().split(".")[0]+"Z").toString()}),Mi(e.SSECustomerAlgorithm)&&{"x-amz-server-side-encryption-customer-algorithm":e.SSECustomerAlgorithm}),Mi(e.ContentDisposition)&&{"Content-Disposition":e.ContentDisposition}),Mi(e.SSECustomerKey)&&{"x-amz-server-side-encryption-customer-key":e.SSECustomerKey}),Mi(e.SSEKMSEncryptionContext)&&{"x-amz-server-side-encryption-context":e.SSEKMSEncryptionContext}),Mi(e.Tagging)&&{"x-amz-tagging":e.Tagging}),Mi(e.Expires)&&{Expires:Object(Zr.e)(e.Expires).toString()}),Mi(e.StorageClass)&&{"x-amz-storage-class":e.StorageClass}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.ContentMD5)&&{"Content-MD5":e.ContentMD5}),Mi(e.ServerSideEncryption)&&{"x-amz-server-side-encryption":e.ServerSideEncryption}),Mi(e.ObjectLockMode)&&{"x-amz-object-lock-mode":e.ObjectLockMode}),Mi(e.SSEKMSKeyId)&&{"x-amz-server-side-encryption-aws-kms-key-id":e.SSEKMSKeyId}),Mi(e.ContentLanguage)&&{"Content-Language":e.ContentLanguage}),Mi(e.GrantRead)&&{"x-amz-grant-read":e.GrantRead}),Mi(e.ACL)&&{"x-amz-acl":e.ACL}),Mi(e.ContentType)&&{"Content-Type":e.ContentType}),void 0!==e.Metadata&&Object.keys(e.Metadata).reduce((function(t,n){return t["x-amz-meta-"+n]=e.Metadata[n],t}),{})),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o={"x-id":"PutObject"},void 0!==e.Body&&(a=e.Body,s=a),[4,t.endpoint()];case 1:return u=d.sent(),c=u.hostname,l=u.protocol,h=void 0===l?"https":l,p=u.port,[2,new Xr.a({protocol:h,hostname:c,port:p,method:"PUT",headers:n,path:r,query:o,body:s})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,fi(e,t)]:(n={$metadata:Si(e),ETag:void 0,Expiration:void 0,RequestCharged:void 0,SSECustomerAlgorithm:void 0,SSECustomerKeyMD5:void 0,SSEKMSEncryptionContext:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0,VersionId:void 0},void 0!==e.headers["x-amz-server-side-encryption-context"]&&(n.SSEKMSEncryptionContext=e.headers["x-amz-server-side-encryption-context"]),void 0!==e.headers["x-amz-expiration"]&&(n.Expiration=e.headers["x-amz-expiration"]),void 0!==e.headers["x-amz-server-side-encryption-customer-key-md5"]&&(n.SSECustomerKeyMD5=e.headers["x-amz-server-side-encryption-customer-key-md5"]),void 0!==e.headers.etag&&(n.ETag=e.headers.etag),void 0!==e.headers["x-amz-server-side-encryption-customer-algorithm"]&&(n.SSECustomerAlgorithm=e.headers["x-amz-server-side-encryption-customer-algorithm"]),void 0!==e.headers["x-amz-version-id"]&&(n.VersionId=e.headers["x-amz-version-id"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),[4,Ei(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),ps=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Wi(t)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"CreateMultipartUploadCommand",inputFilterSensitiveLog:D.filterSensitiveLog,outputFilterSensitiveLog:j.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"CreateMultipartUploadCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f({"Content-Type":""},Mi(e.GrantFullControl)&&{"x-amz-grant-full-control":e.GrantFullControl}),Mi(e.SSECustomerKeyMD5)&&{"x-amz-server-side-encryption-customer-key-MD5":e.SSECustomerKeyMD5}),Mi(e.SSECustomerAlgorithm)&&{"x-amz-server-side-encryption-customer-algorithm":e.SSECustomerAlgorithm}),Mi(e.SSEKMSKeyId)&&{"x-amz-server-side-encryption-aws-kms-key-id":e.SSEKMSKeyId}),Mi(e.ObjectLockLegalHoldStatus)&&{"x-amz-object-lock-legal-hold":e.ObjectLockLegalHoldStatus}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.GrantRead)&&{"x-amz-grant-read":e.GrantRead}),Mi(e.GrantWriteACP)&&{"x-amz-grant-write-acp":e.GrantWriteACP}),Mi(e.WebsiteRedirectLocation)&&{"x-amz-website-redirect-location":e.WebsiteRedirectLocation}),Mi(e.ContentType)&&{"Content-Type":e.ContentType}),Mi(e.ContentLanguage)&&{"Content-Language":e.ContentLanguage}),Mi(e.CacheControl)&&{"Cache-Control":e.CacheControl}),Mi(e.GrantReadACP)&&{"x-amz-grant-read-acp":e.GrantReadACP}),Mi(e.Tagging)&&{"x-amz-tagging":e.Tagging}),Mi(e.SSEKMSEncryptionContext)&&{"x-amz-server-side-encryption-context":e.SSEKMSEncryptionContext}),Mi(e.ACL)&&{"x-amz-acl":e.ACL}),Mi(e.SSECustomerKey)&&{"x-amz-server-side-encryption-customer-key":e.SSECustomerKey}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.Expires)&&{Expires:Object(Zr.e)(e.Expires).toString()}),Mi(e.ObjectLockRetainUntilDate)&&{"x-amz-object-lock-retain-until-date":(e.ObjectLockRetainUntilDate.toISOString().split(".")[0]+"Z").toString()}),Mi(e.ServerSideEncryption)&&{"x-amz-server-side-encryption":e.ServerSideEncryption}),Mi(e.ContentDisposition)&&{"Content-Disposition":e.ContentDisposition}),Mi(e.ObjectLockMode)&&{"x-amz-object-lock-mode":e.ObjectLockMode}),Mi(e.StorageClass)&&{"x-amz-storage-class":e.StorageClass}),Mi(e.ContentEncoding)&&{"Content-Encoding":e.ContentEncoding}),void 0!==e.Metadata&&Object.keys(e.Metadata).reduce((function(t,n){return t["x-amz-meta-"+n]=e.Metadata[n],t}),{})),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o={uploads:""},[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"POST",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,oi(e,t)]:(n={$metadata:Si(e),AbortDate:void 0,AbortRuleId:void 0,Bucket:void 0,Key:void 0,RequestCharged:void 0,SSECustomerAlgorithm:void 0,SSECustomerKeyMD5:void 0,SSEKMSEncryptionContext:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0,UploadId:void 0},void 0!==e.headers["x-amz-server-side-encryption-context"]&&(n.SSEKMSEncryptionContext=e.headers["x-amz-server-side-encryption-context"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers["x-amz-abort-date"]&&(n.AbortDate=new Date(e.headers["x-amz-abort-date"])),void 0!==e.headers["x-amz-server-side-encryption-customer-algorithm"]&&(n.SSECustomerAlgorithm=e.headers["x-amz-server-side-encryption-customer-algorithm"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["x-amz-abort-rule-id"]&&(n.AbortRuleId=e.headers["x-amz-abort-rule-id"]),void 0!==e.headers["x-amz-server-side-encryption-customer-key-md5"]&&(n.SSECustomerKeyMD5=e.headers["x-amz-server-side-encryption-customer-key-md5"]),[4,Ai(e.body,t)]);case 1:return void 0!==(r=i.sent()).Bucket&&(n.Bucket=r.Bucket),void 0!==r.Key&&(n.Key=r.Key),void 0!==r.UploadId&&(n.UploadId=r.UploadId),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b);!function(e){e.SELECT="SELECT"}(Wo||(Wo={})),($o||($o={})).filterSensitiveLog=function(e){return f(f({},e),e.OutputLocation&&{OutputLocation:Br.filterSensitiveLog(e.OutputLocation)})},(Yo||(Yo={})).filterSensitiveLog=function(e){return f(f({},e),e.RestoreRequest&&{RestoreRequest:$o.filterSensitiveLog(e.RestoreRequest)})},(Jo||(Jo={})).filterSensitiveLog=function(e){return f({},e)},(Zo||(Zo={})).filterSensitiveLog=function(e){return f({},e)},(Xo||(Xo={})).filterSensitiveLog=function(e){return f({},e)},(Qo||(Qo={})).filterSensitiveLog=function(e){return f({},e)},(es||(es={})).filterSensitiveLog=function(e){return f({},e)},(ts||(ts={})).filterSensitiveLog=function(e){return f({},e)},(ns||(ns={})).filterSensitiveLog=function(e){return f({},e)},function(e){e.visit=function(e,t){return void 0!==e.Cont?t.Cont(e.Cont):void 0!==e.Progress?t.Progress(e.Progress):void 0!==e.Stats?t.Stats(e.Stats):void 0!==e.End?t.End(e.End):void 0!==e.Records?t.Records(e.Records):t._(e.$unknown[0],e.$unknown[1])},e.filterSensitiveLog=function(e){var t;return void 0!==e.Cont?{Cont:Jo.filterSensitiveLog(e.Cont)}:void 0!==e.Progress?{Progress:Qo.filterSensitiveLog(e.Progress)}:void 0!==e.Stats?{Stats:ns.filterSensitiveLog(e.Stats)}:void 0!==e.End?{End:Zo.filterSensitiveLog(e.End)}:void 0!==e.Records?{Records:es.filterSensitiveLog(e.Records)}:void 0!==e.$unknown?((t={})[e.$unknown[0]]="UNKNOWN",t):void 0}}(rs||(rs={})),(is||(is={})).filterSensitiveLog=function(e){return f(f({},e),e.Payload&&{Payload:"STREAMING_CONTENT"})},(os||(os={})).filterSensitiveLog=function(e){return f({},e)},(ss||(ss={})).filterSensitiveLog=function(e){return f({},e)},(as||(as={})).filterSensitiveLog=function(e){return f(f({},e),e.SSECustomerKey&&{SSECustomerKey:Zr.d})},(us||(us={})).filterSensitiveLog=function(e){return f(f({},e),e.SSEKMSKeyId&&{SSEKMSKeyId:Zr.d})},(cs||(cs={})).filterSensitiveLog=function(e){return f(f({},e),e.SSECustomerKey&&{SSECustomerKey:Zr.d})},(fs||(fs={})).filterSensitiveLog=function(e){return f({},e)},(ls||(ls={})).filterSensitiveLog=function(e){return f(f({},e),e.SSEKMSKeyId&&{SSEKMSKeyId:Zr.d})},(ds||(ds={})).filterSensitiveLog=function(e){return f(f(f({},e),e.SSECustomerKey&&{SSECustomerKey:Zr.d}),e.CopySourceSSECustomerKey&&{CopySourceSSECustomerKey:Zr.d})};var vs=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Wi(t)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"UploadPartCommand",inputFilterSensitiveLog:cs.filterSensitiveLog,outputFilterSensitiveLog:us.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"UploadPartCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f(f(f(f({"Content-Type":"application/octet-stream"},Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.ContentLength)&&{"Content-Length":e.ContentLength.toString()}),Mi(e.SSECustomerKey)&&{"x-amz-server-side-encryption-customer-key":e.SSECustomerKey}),Mi(e.SSECustomerAlgorithm)&&{"x-amz-server-side-encryption-customer-algorithm":e.SSECustomerAlgorithm}),Mi(e.SSECustomerKeyMD5)&&{"x-amz-server-side-encryption-customer-key-MD5":e.SSECustomerKeyMD5}),Mi(e.ContentMD5)&&{"Content-MD5":e.ContentMD5}),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o=f(f({"x-id":"UploadPart"},void 0!==e.PartNumber&&{partNumber:e.PartNumber.toString()}),void 0!==e.UploadId&&{uploadId:e.UploadId}),void 0!==e.Body&&(a=e.Body,s=a),[4,t.endpoint()];case 1:return u=d.sent(),c=u.hostname,l=u.protocol,h=void 0===l?"https":l,p=u.port,[2,new Xr.a({protocol:h,hostname:c,port:p,method:"PUT",headers:n,path:r,query:o,body:s})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,li(e,t)]:(n={$metadata:Si(e),ETag:void 0,RequestCharged:void 0,SSECustomerAlgorithm:void 0,SSECustomerKeyMD5:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0},void 0!==e.headers["x-amz-server-side-encryption-customer-key-md5"]&&(n.SSECustomerKeyMD5=e.headers["x-amz-server-side-encryption-customer-key-md5"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["x-amz-server-side-encryption-customer-algorithm"]&&(n.SSECustomerAlgorithm=e.headers["x-amz-server-side-encryption-customer-algorithm"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers.etag&&(n.ETag=e.headers.etag),[4,Ei(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),gs=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"CompleteMultipartUploadCommand",inputFilterSensitiveLog:I.filterSensitiveLog,outputFilterSensitiveLog:E.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"CompleteMultipartUploadCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p;return d(this,(function(d){switch(d.label){case 0:if(n=f(f({"Content-Type":"application/xml"},Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),r="/{Bucket}/{Key+}",void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");if(r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");return r=r.replace("{Bucket}",Object(Zr.f)(i)),o=f({},void 0!==e.UploadId&&{uploadId:e.UploadId}),void 0!==e.MultipartUpload&&(a=vi(e.MultipartUpload,t),s='',a.addAttribute("xmlns","http://s3.amazonaws.com/doc/2006-03-01/"),s+=a.toString()),[4,t.endpoint()];case 1:return u=d.sent(),c=u.hostname,l=u.protocol,h=void 0===l?"https":l,p=u.port,[2,new Xr.a({protocol:h,hostname:c,port:p,method:"POST",headers:n,path:r,query:o,body:s})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,ii(e,t)]:(n={$metadata:Si(e),Bucket:void 0,ETag:void 0,Expiration:void 0,Key:void 0,Location:void 0,RequestCharged:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0,VersionId:void 0},void 0!==e.headers["x-amz-expiration"]&&(n.Expiration=e.headers["x-amz-expiration"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["x-amz-version-id"]&&(n.VersionId=e.headers["x-amz-version-id"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),[4,Ai(e.body,t)]);case 1:return void 0!==(r=i.sent()).Bucket&&(n.Bucket=r.Bucket),void 0!==r.ETag&&(n.ETag=r.ETag),void 0!==r.Key&&(n.Key=r.Key),void 0!==r.Location&&(n.Location=r.Location),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),ms=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"AbortMultipartUploadCommand",inputFilterSensitiveLog:v.filterSensitiveLog,outputFilterSensitiveLog:p.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"AbortMultipartUploadCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f({"Content-Type":""},Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),r="/{Bucket}/{Key+}",void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");if(r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");return r=r.replace("{Bucket}",Object(Zr.f)(i)),o=f({"x-id":"AbortMultipartUpload"},void 0!==e.UploadId&&{uploadId:e.UploadId}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"DELETE",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return 204!==e.statusCode&&e.statusCode>=300?[2,ri(e,t)]:(n={$metadata:Si(e),RequestCharged:void 0},void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),[4,Ei(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),bs=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"ListPartsCommand",inputFilterSensitiveLog:Yn.filterSensitiveLog,outputFilterSensitiveLog:$n.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"ListPartsCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f({"Content-Type":""},Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o=f(f(f({"x-id":"ListParts"},void 0!==e.UploadId&&{uploadId:e.UploadId}),void 0!==e.MaxParts&&{"max-parts":e.MaxParts.toString()}),void 0!==e.PartNumberMarker&&{"part-number-marker":e.PartNumberMarker.toString()}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"GET",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,ci(e,t)]:(n={$metadata:Si(e),AbortDate:void 0,AbortRuleId:void 0,Bucket:void 0,Initiator:void 0,IsTruncated:void 0,Key:void 0,MaxParts:void 0,NextPartNumberMarker:void 0,Owner:void 0,PartNumberMarker:void 0,Parts:void 0,RequestCharged:void 0,StorageClass:void 0,UploadId:void 0},void 0!==e.headers["x-amz-abort-rule-id"]&&(n.AbortRuleId=e.headers["x-amz-abort-rule-id"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers["x-amz-abort-date"]&&(n.AbortDate=new Date(e.headers["x-amz-abort-date"])),[4,Ai(e.body,t)]);case 1:return void 0!==(r=i.sent()).Bucket&&(n.Bucket=r.Bucket),void 0!==r.Initiator&&(n.Initiator=bi(r.Initiator,t)),void 0!==r.IsTruncated&&(n.IsTruncated="true"==r.IsTruncated),void 0!==r.Key&&(n.Key=r.Key),void 0!==r.MaxParts&&(n.MaxParts=parseInt(r.MaxParts)),void 0!==r.NextPartNumberMarker&&(n.NextPartNumberMarker=parseInt(r.NextPartNumberMarker)),void 0!==r.Owner&&(n.Owner=wi(r.Owner,t)),void 0!==r.PartNumberMarker&&(n.PartNumberMarker=parseInt(r.PartNumberMarker)),""===r.Part&&(n.Parts=[]),void 0!==r.Part&&(n.Parts=_i(Object(Zr.g)(r.Part),t)),void 0!==r.StorageClass&&(n.StorageClass=r.StorageClass),void 0!==r.UploadId&&(n.UploadId=r.UploadId),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),ys=n(49),ws=n(106),_s=n(16),Ss=function(e){var t,n=Object(_s.parse)(e),r=n.hostname,i=void 0===r?"localhost":r,o=n.pathname,s=void 0===o?"/":o,a=n.port,u=n.protocol,c=void 0===u?"https:":u,f=n.search;return f&&(t=Object(ws.a)(f)),{hostname:i,port:a?parseInt(a):void 0,protocol:c,path:s,query:t}};function Es(e){return(Es="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ms=function(){return(Ms=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Os=new r.a("AWSS3ProviderManagedUpload"),xs=function(){function e(e,t,n){this.minPartSize=5242880,this.queueSize=4,this.body=null,this.params=null,this.opts=null,this.multiPartMap=[],this.cancel=!1,this.bytesUploaded=0,this.totalBytesToUpload=0,this.emitter=null,this.params=e,this.opts=t,this.emitter=n}return e.prototype.upload=function(){return As(this,void 0,void 0,(function(){var e,t,n,r,i,o;return Is(this,(function(s){switch(s.label){case 0:return e=this,[4,this.validateAndSanitizeBody(this.params.Body)];case 1:return e.body=s.sent(),this.totalBytesToUpload=this.byteLength(this.body),this.totalBytesToUpload<=this.minPartSize?(this.params.Body=this.body,t=new hs(this.params),[4,this._createNewS3Client(this.opts,this.emitter)]):[3,3];case 2:return[2,s.sent().send(t)];case 3:return[4,this.createMultiPartUpload()];case 4:n=s.sent(),r=Math.ceil(this.totalBytesToUpload/this.minPartSize),i=0,s.label=5;case 5:return i0)throw new Error("Multi Part upload clean up failed");return[2]}}))}))},e.prototype.setupEventListener=function(e){var t=this;e.emitter.on("sendProgress",(function(n){t.progressChanged(e.partNumber,n.loaded-e._lastUploadedBytes),e._lastUploadedBytes=n.loaded}))},e.prototype.progressChanged=function(e,t){this.bytesUploaded+=t,this.emitter.emit("sendProgress",{loaded:this.bytesUploaded,total:this.totalBytesToUpload,part:e,key:this.params.Key})},e.prototype.byteLength=function(e){if(null==e)return 0;if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.length)return e.length;if("number"==typeof e.size)return e.size;if("string"!=typeof e.path)throw new Error("Cannot determine length of "+e)},e.prototype.validateAndSanitizeBody=function(e){return As(this,void 0,void 0,(function(){return Is(this,(function(t){switch(t.label){case 0:return this.isGenericObject(e)?[2,JSON.stringify(e)]:[3,1];case 1:return this.isBlob(e)?a.a.isReactNative?[4,Object(eo.b)(e)]:[3,3]:[3,4];case 2:return[2,t.sent()];case 3:case 4:return[2,e]}}))}))},e.prototype.isBlob=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},e.prototype.isGenericObject=function(e){if(null!==e&&"object"===Es(e))try{return!(this.byteLength(e)>=0)}catch(e){return!0}return!1},e.prototype._createNewS3Client=function(e,t){return As(this,void 0,void 0,(function(){var n,r,i,o,s;return Is(this,(function(u){switch(u.label){case 0:return[4,this._getCredentials()];case 1:return n=u.sent(),r=e.region,i=e.dangerouslyConnectToHttpEndpointForTesting,o={},i&&(o={endpoint:"http://localhost:20005",tls:!1,bucketEndpoint:!1,forcePathStyle:!0}),(s=new jo(Ms(Ms({region:r,credentials:n},o),{requestHandler:new Vo({},t),customUserAgent:Object(a.b)(),urlParser:Ss}))).middlewareStack.remove("contentLengthMiddleware"),[2,s]}}))}))},e.prototype._getCredentials=function(){return s.a.get().then((function(e){if(!e)return!1;var t=s.a.shear(e);return Os.debug("set credentials for storage",t),t})).catch((function(e){return Os.warn("ensure credentials error",e),!1}))},e}();function Cs(e){return(Cs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ts=function(){return(Ts=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},qs=new r.a("StorageClass"),Ks=function(){function e(){this._config={},this._pluggables=[],qs.debug("Storage Options",this._config),this.get=this.get.bind(this),this.put=this.put.bind(this),this.remove=this.remove.bind(this),this.list=this.list.bind(this)}return e.prototype.getModuleName=function(){return"Storage"},e.prototype.addPluggable=function(e){if(e&&"Storage"===e.getCategory()){this._pluggables.push(e);return e.configure(this._config[e.getProviderName()])}},e.prototype.getPluggable=function(e){var t=this._pluggables.find((function(t){return t.getProviderName()===e}));return void 0===t?(qs.debug("No plugin found with providerName",e),null):t},e.prototype.removePluggable=function(e){this._pluggables=this._pluggables.filter((function(t){return t.getProviderName()!==e}))},e.prototype.configure=function(e){var t=this;if(qs.debug("configure Storage"),!e)return this._config;var n=i.a.parseMobilehubConfig(e),r=Object.keys(n.Storage),o=["bucket","region","level","track","customPrefix","serverSideEncryption","SSECustomerAlgorithm","SSECustomerKey","SSECustomerKeyMD5","SSEKMSKeyId"],s=function(e){return o.some((function(t){return t===e}))};return r&&r.find((function(e){return s(e)}))&&!n.Storage.AWSS3&&(n.Storage.AWSS3={}),Object.entries(n.Storage).map((function(e){var t=zs(e,2),r=t[0],i=t[1];r&&s(r)&&void 0!==i&&(n.Storage.AWSS3[r]=i,delete n.Storage[r])})),Object.keys(n.Storage).forEach((function(e){"string"!=typeof n.Storage[e]&&(t._config[e]=Us(Us({},t._config[e]),n.Storage[e]))})),this._pluggables.forEach((function(e){e.configure(t._config[e.getProviderName()])})),0===this._pluggables.length&&this.addPluggable(new Ds),this._config},e.prototype.get=function(e,t){return Bs(this,void 0,void 0,(function(){var n,r,i;return Fs(this,(function(o){return n=(t||{}).provider,r=void 0===n?"AWSS3":n,void 0===(i=this._pluggables.find((function(e){return e.getProviderName()===r})))&&(qs.debug("No plugin found with providerName",r),Promise.reject("No plugin found in Storage for the provider")),[2,i.get(e,t)]}))}))},e.prototype.put=function(e,t,n){return Bs(this,void 0,void 0,(function(){var r,i,o;return Fs(this,(function(s){return r=(n||{}).provider,i=void 0===r?"AWSS3":r,void 0===(o=this._pluggables.find((function(e){return e.getProviderName()===i})))&&(qs.debug("No plugin found with providerName",i),Promise.reject("No plugin found in Storage for the provider")),[2,o.put(e,t,n)]}))}))},e.prototype.remove=function(e,t){return Bs(this,void 0,void 0,(function(){var n,r,i;return Fs(this,(function(o){return n=(t||{}).provider,r=void 0===n?"AWSS3":n,void 0===(i=this._pluggables.find((function(e){return e.getProviderName()===r})))&&(qs.debug("No plugin found with providerName",r),Promise.reject("No plugin found in Storage for the provider")),[2,i.remove(e,t)]}))}))},e.prototype.list=function(e,t){return Bs(this,void 0,void 0,(function(){var n,r,i;return Fs(this,(function(o){return n=(t||{}).provider,r=void 0===n?"AWSS3":n,void 0===(i=this._pluggables.find((function(e){return e.getProviderName()===r})))&&(qs.debug("No plugin found with providerName",r),Promise.reject("No plugin found in Storage for the provider")),[2,i.list(e,t)]}))}))},e}(),Hs=n(19),Vs=function(){return(Vs=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(r=this.getByLanguage(e,n.split("-")[0])),r||(void 0!==t?t:e))},e.prototype.getByLanguage=function(e,t,n){if(void 0===n&&(n=null),!t)return n;var r=this._dict[t];return r?r[e]:n},e.prototype.putVocabulariesForLanguage=function(e,t){var n=this._dict[e];n||(n=this._dict[e]={}),Object.assign(n,t)},e.prototype.putVocabularies=function(e){var t=this;Object.keys(e).map((function(n){t.putVocabulariesForLanguage(n,e[n])}))},e}(),s=n(19),a=new r.a("I18n"),u=null,c=null,f=function(){function e(){}return e.configure=function(t){return a.debug("configure I18n"),t?(u=Object.assign({},u,t.I18n||t),e.createInstance(),u):u},e.getModuleName=function(){return"I18n"},e.createInstance=function(){a.debug("create I18n instance"),c||(c=new o(u))},e.setLanguage=function(t){return e.checkConfig(),c.setLanguage(t)},e.get=function(t,n){return e.checkConfig()?c.get(t,n):void 0===n?t:n},e.putVocabulariesForLanguage=function(t,n){return e.checkConfig(),c.putVocabulariesForLanguage(t,n)},e.putVocabularies=function(t){return e.checkConfig(),c.putVocabularies(t)},e.checkConfig=function(){return c||(c=new o(u)),!0},e}();s.a.register(f)},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(44),i=n(33),o=n(19);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=function(){function e(){this._logger=new r.a("ServiceWorker")}return Object.defineProperty(e.prototype,"serviceWorker",{get:function(){return this._serviceWorker},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this;return void 0===e&&(e="/service-worker.js"),void 0===t&&(t="/"),this._logger.debug("registering "+e),this._logger.debug("registering service worker with scope "+t),new Promise((function(r,i){if(!navigator||!("serviceWorker"in navigator))return i(new Error("Service Worker not available"));navigator.serviceWorker.register(e,{scope:t}).then((function(e){return e.installing?n._serviceWorker=e.installing:e.waiting?n._serviceWorker=e.waiting:e.active&&(n._serviceWorker=e.active),n._registration=e,n._setupListeners(),n._logger.debug("Service Worker Registration Success: "+e),r(e)})).catch((function(e){return n._logger.debug("Service Worker Registration Failed "+e),i(e)}))}))},e.prototype.enablePush=function(e){var t=this;if(!this._registration)throw new Error("Service Worker not registered");return this._publicKey=e,new Promise((function(n,r){if(!Object(i.b)().isBrowser)return r(new Error("Service Worker not available"));t._registration.pushManager.getSubscription().then((function(r){if(!r)return t._logger.debug("User is NOT subscribed to push"),t._registration.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:t._urlB64ToUint8Array(e)}).then((function(e){t._subscription=e,t._logger.debug("User subscribed: "+JSON.stringify(e)),n(e)})).catch((function(e){t._logger.error(e)}));t._subscription=r,t._logger.debug("User is subscribed to push: "+JSON.stringify(r)),n(r)}))}))},e.prototype._urlB64ToUint8Array=function(e){for(var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),n=window.atob(t),r=new Uint8Array(n.length),i=0;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}var g,m,b,y,w,_,S,E,M,A,I,k,O,x,C,T,P,N,R,L,j,D,U,B,F,z,q,K,H,V,G,W,$,Y,J,Z,X,Q,ee,te,ne,re,ie,oe,se,ae,ue,ce,fe,le,de,he,pe,ve,ge,me,be,ye,we,_e,Se,Ee,Me,Ae,Ie,ke,Oe,xe,Ce,Te,Pe,Ne,Re,Le,je,De,Ue,Be,Fe,ze,qe,Ke,He,Ve,Ge,We,$e,Ye,Je,Ze,Xe,Qe,et,tt,nt,rt,it,ot,st,at,ut,ct,ft,lt,dt,ht,pt,vt,gt,mt,bt,yt,wt,_t,St,Et,Mt,At,It,kt,Ot,xt,Ct,Tt,Pt,Nt,Rt,Lt,jt,Dt,Ut;Object.create;(g||(g={})).filterSensitiveLog=function(e){return d({},e)},(m||(m={})).filterSensitiveLog=function(e){return d({},e)},(b||(b={})).filterSensitiveLog=function(e){return d({},e)},(y||(y={})).filterSensitiveLog=function(e){return d({},e)},(w||(w={})).filterSensitiveLog=function(e){return d({},e)},(_||(_={})).filterSensitiveLog=function(e){return d({},e)},(S||(S={})).filterSensitiveLog=function(e){return d({},e)},(E||(E={})).filterSensitiveLog=function(e){return d({},e)},(M||(M={})).filterSensitiveLog=function(e){return d({},e)},(A||(A={})).filterSensitiveLog=function(e){return d({},e)},(I||(I={})).filterSensitiveLog=function(e){return d({},e)},(k||(k={})).filterSensitiveLog=function(e){return d({},e)},(O||(O={})).filterSensitiveLog=function(e){return d({},e)},(x||(x={})).filterSensitiveLog=function(e){return d({},e)},(C||(C={})).filterSensitiveLog=function(e){return d({},e)},(T||(T={})).filterSensitiveLog=function(e){return d({},e)},(P||(P={})).filterSensitiveLog=function(e){return d({},e)},(N||(N={})).filterSensitiveLog=function(e){return d({},e)},(R||(R={})).filterSensitiveLog=function(e){return d({},e)},(L||(L={})).filterSensitiveLog=function(e){return d({},e)},(j||(j={})).filterSensitiveLog=function(e){return d({},e)},(D||(D={})).filterSensitiveLog=function(e){return d({},e)},(U||(U={})).filterSensitiveLog=function(e){return d({},e)},(B||(B={})).filterSensitiveLog=function(e){return d({},e)},(F||(F={})).filterSensitiveLog=function(e){return d({},e)},(z||(z={})).filterSensitiveLog=function(e){return d({},e)},(q||(q={})).filterSensitiveLog=function(e){return d({},e)},(K||(K={})).filterSensitiveLog=function(e){return d({},e)},(H||(H={})).filterSensitiveLog=function(e){return d({},e)},(V||(V={})).filterSensitiveLog=function(e){return d({},e)},(G||(G={})).filterSensitiveLog=function(e){return d({},e)},(W||(W={})).filterSensitiveLog=function(e){return d({},e)},($||($={})).filterSensitiveLog=function(e){return d({},e)},(Y||(Y={})).filterSensitiveLog=function(e){return d({},e)},(J||(J={})).filterSensitiveLog=function(e){return d({},e)},(Z||(Z={})).filterSensitiveLog=function(e){return d({},e)},(X||(X={})).filterSensitiveLog=function(e){return d({},e)},(Q||(Q={})).filterSensitiveLog=function(e){return d({},e)},(ee||(ee={})).filterSensitiveLog=function(e){return d({},e)},(te||(te={})).filterSensitiveLog=function(e){return d({},e)},(ne||(ne={})).filterSensitiveLog=function(e){return d({},e)},(re||(re={})).filterSensitiveLog=function(e){return d({},e)},(ie||(ie={})).filterSensitiveLog=function(e){return d({},e)},(oe||(oe={})).filterSensitiveLog=function(e){return d({},e)},(se||(se={})).filterSensitiveLog=function(e){return d({},e)},(ae||(ae={})).filterSensitiveLog=function(e){return d({},e)},(ue||(ue={})).filterSensitiveLog=function(e){return d({},e)},(ce||(ce={})).filterSensitiveLog=function(e){return d({},e)},(fe||(fe={})).filterSensitiveLog=function(e){return d({},e)},(le||(le={})).filterSensitiveLog=function(e){return d({},e)},(de||(de={})).filterSensitiveLog=function(e){return d({},e)},(he||(he={})).filterSensitiveLog=function(e){return d({},e)},(pe||(pe={})).filterSensitiveLog=function(e){return d({},e)},(ve||(ve={})).filterSensitiveLog=function(e){return d({},e)},(ge||(ge={})).filterSensitiveLog=function(e){return d({},e)},(me||(me={})).filterSensitiveLog=function(e){return d({},e)},(be||(be={})).filterSensitiveLog=function(e){return d({},e)},(ye||(ye={})).filterSensitiveLog=function(e){return d({},e)},(we||(we={})).filterSensitiveLog=function(e){return d({},e)},(_e||(_e={})).filterSensitiveLog=function(e){return d({},e)},(Se||(Se={})).filterSensitiveLog=function(e){return d({},e)},(Ee||(Ee={})).filterSensitiveLog=function(e){return d({},e)},(Me||(Me={})).filterSensitiveLog=function(e){return d({},e)},(Ae||(Ae={})).filterSensitiveLog=function(e){return d({},e)},(Ie||(Ie={})).filterSensitiveLog=function(e){return d({},e)},(ke||(ke={})).filterSensitiveLog=function(e){return d({},e)},(Oe||(Oe={})).filterSensitiveLog=function(e){return d({},e)},(xe||(xe={})).filterSensitiveLog=function(e){return d({},e)},(Ce||(Ce={})).filterSensitiveLog=function(e){return d({},e)},(Te||(Te={})).filterSensitiveLog=function(e){return d({},e)},(Pe||(Pe={})).filterSensitiveLog=function(e){return d({},e)},(Ne||(Ne={})).filterSensitiveLog=function(e){return d({},e)},(Re||(Re={})).filterSensitiveLog=function(e){return d({},e)},(Le||(Le={})).filterSensitiveLog=function(e){return d({},e)},(je||(je={})).filterSensitiveLog=function(e){return d({},e)},(De||(De={})).filterSensitiveLog=function(e){return d({},e)},(Ue||(Ue={})).filterSensitiveLog=function(e){return d({},e)},(Be||(Be={})).filterSensitiveLog=function(e){return d({},e)},(Fe||(Fe={})).filterSensitiveLog=function(e){return d({},e)},(ze||(ze={})).filterSensitiveLog=function(e){return d({},e)},(qe||(qe={})).filterSensitiveLog=function(e){return d({},e)},(Ke||(Ke={})).filterSensitiveLog=function(e){return d({},e)},(He||(He={})).filterSensitiveLog=function(e){return d({},e)},(Ve||(Ve={})).filterSensitiveLog=function(e){return d({},e)},(Ge||(Ge={})).filterSensitiveLog=function(e){return d({},e)},(We||(We={})).filterSensitiveLog=function(e){return d({},e)},($e||($e={})).filterSensitiveLog=function(e){return d({},e)},(Ye||(Ye={})).filterSensitiveLog=function(e){return d({},e)},(Je||(Je={})).filterSensitiveLog=function(e){return d({},e)},(Ze||(Ze={})).filterSensitiveLog=function(e){return d({},e)},(Xe||(Xe={})).filterSensitiveLog=function(e){return d({},e)},(Qe||(Qe={})).filterSensitiveLog=function(e){return d({},e)},(et||(et={})).filterSensitiveLog=function(e){return d({},e)},(tt||(tt={})).filterSensitiveLog=function(e){return d({},e)},(nt||(nt={})).filterSensitiveLog=function(e){return d({},e)},(rt||(rt={})).filterSensitiveLog=function(e){return d({},e)},(it||(it={})).filterSensitiveLog=function(e){return d({},e)},(ot||(ot={})).filterSensitiveLog=function(e){return d({},e)},(st||(st={})).filterSensitiveLog=function(e){return d({},e)},(at||(at={})).filterSensitiveLog=function(e){return d({},e)},(ut||(ut={})).filterSensitiveLog=function(e){return d({},e)},(ct||(ct={})).filterSensitiveLog=function(e){return d({},e)},(ft||(ft={})).filterSensitiveLog=function(e){return d({},e)},(lt||(lt={})).filterSensitiveLog=function(e){return d({},e)},(dt||(dt={})).filterSensitiveLog=function(e){return d({},e)},(ht||(ht={})).filterSensitiveLog=function(e){return d({},e)},(pt||(pt={})).filterSensitiveLog=function(e){return d({},e)},(vt||(vt={})).filterSensitiveLog=function(e){return d({},e)},(gt||(gt={})).filterSensitiveLog=function(e){return d({},e)},(mt||(mt={})).filterSensitiveLog=function(e){return d({},e)},(bt||(bt={})).filterSensitiveLog=function(e){return d({},e)},(yt||(yt={})).filterSensitiveLog=function(e){return d({},e)},(wt||(wt={})).filterSensitiveLog=function(e){return d({},e)},(_t||(_t={})).filterSensitiveLog=function(e){return d({},e)},(St||(St={})).filterSensitiveLog=function(e){return d({},e)},(Et||(Et={})).filterSensitiveLog=function(e){return d({},e)},(Mt||(Mt={})).filterSensitiveLog=function(e){return d({},e)},(At||(At={})).filterSensitiveLog=function(e){return d({},e)},(It||(It={})).filterSensitiveLog=function(e){return d({},e)},(kt||(kt={})).filterSensitiveLog=function(e){return d({},e)},(Ot||(Ot={})).filterSensitiveLog=function(e){return d({},e)},(xt||(xt={})).filterSensitiveLog=function(e){return d({},e)},(Ct||(Ct={})).filterSensitiveLog=function(e){return d({},e)},(Tt||(Tt={})).filterSensitiveLog=function(e){return d({},e)},(Pt||(Pt={})).filterSensitiveLog=function(e){return d({},e)},(Nt||(Nt={})).filterSensitiveLog=function(e){return d({},e)},(Rt||(Rt={})).filterSensitiveLog=function(e){return d({},e)},(Lt||(Lt={})).filterSensitiveLog=function(e){return d({},e)},(jt||(jt={})).filterSensitiveLog=function(e){return d({},e)},(Dt||(Dt={})).filterSensitiveLog=function(e){return d({},e)},(Ut||(Ut={})).filterSensitiveLog=function(e){return d({},e)};var Bt=n(2),Ft=n(0),zt=function(e,t){return h(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,h,v,g,m;return p(this,(function(p){switch(p.label){case 0:return r=[d({},e)],m={},[4,mn(e.body,t)];case 1:switch(n=d.apply(void 0,r.concat([(m.body=p.sent(),m)])),o="UnknownError",o=bn(e,n.body),o){case"BadRequestException":case"com.amazonaws.pinpoint#BadRequestException":return[3,2];case"ForbiddenException":case"com.amazonaws.pinpoint#ForbiddenException":return[3,4];case"InternalServerErrorException":case"com.amazonaws.pinpoint#InternalServerErrorException":return[3,6];case"MethodNotAllowedException":case"com.amazonaws.pinpoint#MethodNotAllowedException":return[3,8];case"NotFoundException":case"com.amazonaws.pinpoint#NotFoundException":return[3,10];case"PayloadTooLargeException":case"com.amazonaws.pinpoint#PayloadTooLargeException":return[3,12];case"TooManyRequestsException":case"com.amazonaws.pinpoint#TooManyRequestsException":return[3,14]}return[3,16];case 2:return s=[{}],[4,Kt(n,t)];case 3:return i=d.apply(void 0,[d.apply(void 0,s.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 4:return a=[{}],[4,Ht(n,t)];case 5:return i=d.apply(void 0,[d.apply(void 0,a.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 6:return u=[{}],[4,Vt(n,t)];case 7:return i=d.apply(void 0,[d.apply(void 0,u.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 8:return c=[{}],[4,Gt(n,t)];case 9:return i=d.apply(void 0,[d.apply(void 0,c.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 10:return f=[{}],[4,Wt(n,t)];case 11:return i=d.apply(void 0,[d.apply(void 0,f.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 12:return l=[{}],[4,$t(n,t)];case 13:return i=d.apply(void 0,[d.apply(void 0,l.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 14:return h=[{}],[4,Yt(n,t)];case 15:return i=d.apply(void 0,[d.apply(void 0,h.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 16:v=n.body,o=v.code||v.Code||o,i=d(d({},v),{name:""+o,message:v.message||v.Message||o,$fault:"client",$metadata:vn(e)}),p.label=17;case 17:return g=i.message||i.Message||o,i.message=g,delete i.Message,[2,Promise.reject(Object.assign(new Error(g),i))]}}))}))},qt=function(e,t){return h(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,h,v,g,m;return p(this,(function(p){switch(p.label){case 0:return r=[d({},e)],m={},[4,mn(e.body,t)];case 1:switch(n=d.apply(void 0,r.concat([(m.body=p.sent(),m)])),o="UnknownError",o=bn(e,n.body),o){case"BadRequestException":case"com.amazonaws.pinpoint#BadRequestException":return[3,2];case"ForbiddenException":case"com.amazonaws.pinpoint#ForbiddenException":return[3,4];case"InternalServerErrorException":case"com.amazonaws.pinpoint#InternalServerErrorException":return[3,6];case"MethodNotAllowedException":case"com.amazonaws.pinpoint#MethodNotAllowedException":return[3,8];case"NotFoundException":case"com.amazonaws.pinpoint#NotFoundException":return[3,10];case"PayloadTooLargeException":case"com.amazonaws.pinpoint#PayloadTooLargeException":return[3,12];case"TooManyRequestsException":case"com.amazonaws.pinpoint#TooManyRequestsException":return[3,14]}return[3,16];case 2:return s=[{}],[4,Kt(n,t)];case 3:return i=d.apply(void 0,[d.apply(void 0,s.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 4:return a=[{}],[4,Ht(n,t)];case 5:return i=d.apply(void 0,[d.apply(void 0,a.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 6:return u=[{}],[4,Vt(n,t)];case 7:return i=d.apply(void 0,[d.apply(void 0,u.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 8:return c=[{}],[4,Gt(n,t)];case 9:return i=d.apply(void 0,[d.apply(void 0,c.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 10:return f=[{}],[4,Wt(n,t)];case 11:return i=d.apply(void 0,[d.apply(void 0,f.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 12:return l=[{}],[4,$t(n,t)];case 13:return i=d.apply(void 0,[d.apply(void 0,l.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 14:return h=[{}],[4,Yt(n,t)];case 15:return i=d.apply(void 0,[d.apply(void 0,h.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 16:v=n.body,o=v.code||v.Code||o,i=d(d({},v),{name:""+o,message:v.message||v.Message||o,$fault:"client",$metadata:vn(e)}),p.label=17;case 17:return g=i.message||i.Message||o,i.message=g,delete i.Message,[2,Promise.reject(Object.assign(new Error(g),i))]}}))}))},Kt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"BadRequestException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Ht=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"ForbiddenException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Vt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"InternalServerErrorException",$fault:"server",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Gt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"MethodNotAllowedException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Wt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"NotFoundException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},$t=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"PayloadTooLargeException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Yt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"TooManyRequestsException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Jt=function(e,t){return d(d(d(d(d(d(d(d({},void 0!==e.AppVersion&&{AppVersion:e.AppVersion}),void 0!==e.Locale&&{Locale:e.Locale}),void 0!==e.Make&&{Make:e.Make}),void 0!==e.Model&&{Model:e.Model}),void 0!==e.ModelVersion&&{ModelVersion:e.ModelVersion}),void 0!==e.Platform&&{Platform:e.Platform}),void 0!==e.PlatformVersion&&{PlatformVersion:e.PlatformVersion}),void 0!==e.Timezone&&{Timezone:e.Timezone})},Zt=function(e,t){return d(d(d(d(d(d({},void 0!==e.City&&{City:e.City}),void 0!==e.Country&&{Country:e.Country}),void 0!==e.Latitude&&{Latitude:e.Latitude}),void 0!==e.Longitude&&{Longitude:e.Longitude}),void 0!==e.PostalCode&&{PostalCode:e.PostalCode}),void 0!==e.Region&&{Region:e.Region})},Xt=function(e,t){return d(d(d(d(d(d(d(d(d(d(d({},void 0!==e.Address&&{Address:e.Address}),void 0!==e.Attributes&&{Attributes:an(e.Attributes,t)}),void 0!==e.ChannelType&&{ChannelType:e.ChannelType}),void 0!==e.Demographic&&{Demographic:Jt(e.Demographic,t)}),void 0!==e.EffectiveDate&&{EffectiveDate:e.EffectiveDate}),void 0!==e.EndpointStatus&&{EndpointStatus:e.EndpointStatus}),void 0!==e.Location&&{Location:Zt(e.Location,t)}),void 0!==e.Metrics&&{Metrics:nn(e.Metrics,t)}),void 0!==e.OptOut&&{OptOut:e.OptOut}),void 0!==e.RequestId&&{RequestId:e.RequestId}),void 0!==e.User&&{User:Qt(e.User,t)})},Qt=function(e,t){return d(d({},void 0!==e.UserAttributes&&{UserAttributes:an(e.UserAttributes,t)}),void 0!==e.UserId&&{UserId:e.UserId})},en=function(e,t){return d({},void 0!==e.BatchItem&&{BatchItem:sn(e.BatchItem,t)})},tn=function(e,t){return e.map((function(e){return e}))},nn=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=v(t,2),i=r[0],o=r[1];return d(d({},e),((n={})[i]=o,n))}),{})},rn=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=v(t,2),i=r[0],o=r[1];return d(d({},e),((n={})[i]=o,n))}),{})},on=function(e,t){return Object.entries(e).reduce((function(e,n){var r,i=v(n,2),o=i[0],s=i[1];return d(d({},e),((r={})[o]=function(e,t){return d(d(d(d(d(d(d(d(d(d({},void 0!==e.AppPackageName&&{AppPackageName:e.AppPackageName}),void 0!==e.AppTitle&&{AppTitle:e.AppTitle}),void 0!==e.AppVersionCode&&{AppVersionCode:e.AppVersionCode}),void 0!==e.Attributes&&{Attributes:rn(e.Attributes,t)}),void 0!==e.ClientSdkVersion&&{ClientSdkVersion:e.ClientSdkVersion}),void 0!==e.EventType&&{EventType:e.EventType}),void 0!==e.Metrics&&{Metrics:nn(e.Metrics,t)}),void 0!==e.SdkName&&{SdkName:e.SdkName}),void 0!==e.Session&&{Session:cn(e.Session,t)}),void 0!==e.Timestamp&&{Timestamp:e.Timestamp})}(s,t),r))}),{})},sn=function(e,t){return Object.entries(e).reduce((function(e,n){var r,i=v(n,2),o=i[0],s=i[1];return d(d({},e),((r={})[o]=function(e,t){return d(d({},void 0!==e.Endpoint&&{Endpoint:un(e.Endpoint,t)}),void 0!==e.Events&&{Events:on(e.Events,t)})}(s,t),r))}),{})},an=function(e,t){return Object.entries(e).reduce((function(e,n){var r,i=v(n,2),o=i[0],s=i[1];return d(d({},e),((r={})[o]=tn(s,t),r))}),{})},un=function(e,t){return d(d(d(d(d(d(d(d(d(d(d({},void 0!==e.Address&&{Address:e.Address}),void 0!==e.Attributes&&{Attributes:an(e.Attributes,t)}),void 0!==e.ChannelType&&{ChannelType:e.ChannelType}),void 0!==e.Demographic&&{Demographic:Jt(e.Demographic,t)}),void 0!==e.EffectiveDate&&{EffectiveDate:e.EffectiveDate}),void 0!==e.EndpointStatus&&{EndpointStatus:e.EndpointStatus}),void 0!==e.Location&&{Location:Zt(e.Location,t)}),void 0!==e.Metrics&&{Metrics:nn(e.Metrics,t)}),void 0!==e.OptOut&&{OptOut:e.OptOut}),void 0!==e.RequestId&&{RequestId:e.RequestId}),void 0!==e.User&&{User:Qt(e.User,t)})},cn=function(e,t){return d(d(d(d({},void 0!==e.Duration&&{Duration:e.Duration}),void 0!==e.Id&&{Id:e.Id}),void 0!==e.StartTimestamp&&{StartTimestamp:e.StartTimestamp}),void 0!==e.StopTimestamp&&{StopTimestamp:e.StopTimestamp})},fn=function(e,t){return{Message:void 0!==e.Message&&null!==e.Message?e.Message:void 0,StatusCode:void 0!==e.StatusCode&&null!==e.StatusCode?e.StatusCode:void 0}},ln=function(e,t){return{Results:void 0!==e.Results&&null!==e.Results?hn(e.Results,t):void 0}},dn=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=v(t,2),i=r[0],o=r[1];return d(d({},e),((n={})[i]=function(e,t){return{Message:void 0!==e.Message&&null!==e.Message?e.Message:void 0,StatusCode:void 0!==e.StatusCode&&null!==e.StatusCode?e.StatusCode:void 0}}(o),n))}),{})},hn=function(e,t){return Object.entries(e).reduce((function(e,n){var r,i=v(n,2),o=i[0],s=i[1];return d(d({},e),((r={})[o]=function(e,t){return{EndpointItemResponse:void 0!==e.EndpointItemResponse&&null!==e.EndpointItemResponse?fn(e.EndpointItemResponse):void 0,EventsItemResponse:void 0!==e.EventsItemResponse&&null!==e.EventsItemResponse?dn(e.EventsItemResponse,t):void 0}}(s,t),r))}),{})},pn=function(e,t){return{Message:void 0!==e.Message&&null!==e.Message?e.Message:void 0,RequestID:void 0!==e.RequestID&&null!==e.RequestID?e.RequestID:void 0}},vn=function(e){return{httpStatusCode:e.statusCode,httpHeaders:e.headers,requestId:e.headers["x-amzn-requestid"]}},gn=function(e,t){return void 0===e&&(e=new Uint8Array),e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array)},mn=function(e,t){return function(e,t){return gn(e,t).then((function(e){return t.utf8Encoder(e)}))}(e,t).then((function(e){return e.length?JSON.parse(e):{}}))},bn=function(e,t){var n,r,i=function(e){var t=e;return t.indexOf(":")>=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},o=(n=e.headers,r="x-amzn-errortype",Object.keys(n).find((function(e){return e.toLowerCase()===r.toLowerCase()})));return void 0!==o?i(e.headers[o]):void 0!==t.code?i(t.code):void 0!==t.__type?i(t.__type):""},yn=n(10),wn=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return l(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(yn.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"PinpointClient",commandName:"PutEventsCommand",inputFilterSensitiveLog:Ie.filterSensitiveLog,outputFilterSensitiveLog:ke.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"PinpointClient",commandName:"PutEventsCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return h(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f;return p(this,(function(l){switch(l.label){case 0:if(n={"Content-Type":"application/json"},r="/v1/apps/{ApplicationId}/events",void 0===e.ApplicationId)throw new Error("No value provided for input HTTP label: ApplicationId.");if((i=e.ApplicationId).length<=0)throw new Error("Empty value provided for input HTTP label: ApplicationId.");return r=r.replace("{ApplicationId}",Object(Ft.f)(i)),void 0!==e.EventsRequest&&(o=en(e.EventsRequest,t)),void 0===o&&(o={}),o=JSON.stringify(o),[4,t.endpoint()];case 1:return s=l.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,f=s.port,[2,new Bt.a({protocol:c,hostname:a,port:f,method:"POST",headers:n,path:r,body:o})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return h(void 0,void 0,void 0,(function(){var n,r;return p(this,(function(i){switch(i.label){case 0:return 202!==e.statusCode&&e.statusCode>=300?[2,zt(e,t)]:(n={$metadata:vn(e),EventsResponse:void 0},[4,mn(e.body,t)]);case 1:return r=i.sent(),n.EventsResponse=ln(r,t),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Ft.b),_n=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return l(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(yn.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"PinpointClient",commandName:"UpdateEndpointCommand",inputFilterSensitiveLog:ct.filterSensitiveLog,outputFilterSensitiveLog:ft.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"PinpointClient",commandName:"UpdateEndpointCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return h(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f;return p(this,(function(l){switch(l.label){case 0:if(n={"Content-Type":"application/json"},r="/v1/apps/{ApplicationId}/endpoints/{EndpointId}",void 0===e.ApplicationId)throw new Error("No value provided for input HTTP label: ApplicationId.");if((i=e.ApplicationId).length<=0)throw new Error("Empty value provided for input HTTP label: ApplicationId.");if(r=r.replace("{ApplicationId}",Object(Ft.f)(i)),void 0===e.EndpointId)throw new Error("No value provided for input HTTP label: EndpointId.");if((i=e.EndpointId).length<=0)throw new Error("Empty value provided for input HTTP label: EndpointId.");return r=r.replace("{EndpointId}",Object(Ft.f)(i)),void 0!==e.EndpointRequest&&(o=Xt(e.EndpointRequest,t)),void 0===o&&(o={}),o=JSON.stringify(o),[4,t.endpoint()];case 1:return s=l.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,f=s.port,[2,new Bt.a({protocol:c,hostname:a,port:f,method:"PUT",headers:n,path:r,body:o})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return h(void 0,void 0,void 0,(function(){var n,r;return p(this,(function(i){switch(i.label){case 0:return 202!==e.statusCode&&e.statusCode>=300?[2,qt(e,t)]:(n={$metadata:vn(e),MessageBody:void 0},[4,mn(e.body,t)]);case 1:return r=i.sent(),n.MessageBody=pn(r,t),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Ft.b),Sn=n(149),En=n(38),Mn=n(18),An=n(24),In=n(11),kn=n(39),On=n(17),xn=n(40),Cn=n(41),Tn=n(15),Pn=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),Nn=new Set(["cn-north-1","cn-northwest-1"]),Rn=new Set(["us-iso-east-1"]),Ln=new Set(["us-isob-east-1"]),jn=new Set(["us-gov-east-1","us-gov-west-1"]),Dn=d(d({},{apiVersion:"2016-12-01",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-south-1":n={hostname:"pinpoint.ap-south-1.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"ap-southeast-2":n={hostname:"pinpoint.ap-southeast-2.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"eu-central-1":n={hostname:"pinpoint.eu-central-1.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"eu-west-1":n={hostname:"pinpoint.eu-west-1.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"us-east-1":n={hostname:"pinpoint.us-east-1.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"us-west-2":n={hostname:"pinpoint.us-west-2.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;default:Pn.has(e)&&(n={hostname:"pinpoint.{region}.amazonaws.com".replace("{region}",e),partition:"aws",signingService:"mobiletargeting"}),Nn.has(e)&&(n={hostname:"pinpoint.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),Rn.has(e)&&(n={hostname:"pinpoint.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),Ln.has(e)&&(n={hostname:"pinpoint.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),jn.has(e)&&(n={hostname:"pinpoint.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"pinpoint.{region}.amazonaws.com".replace("{region}",e),partition:"aws",signingService:"mobiletargeting"})}return Promise.resolve(n)},signingName:"mobiletargeting"}),{runtime:"browser",base64Decoder:On.a,base64Encoder:On.b,bodyLengthChecker:xn.a,credentialDefaultProvider:Object(An.a)("Credential is missing"),defaultUserAgent:Object(Cn.a)(Sn.name,Sn.version),maxAttempts:In.a,region:Object(An.a)("Region is missing"),requestHandler:new Mn.a,sha256:En.Sha256,streamCollector:Mn.b,urlParser:kn.a,utf8Decoder:Tn.a,utf8Encoder:Tn.b}),Un=n(22),Bn=n(37),Fn=n(21),zn=n(43),qn=n(25),Kn=n(23),Hn=function(e){function t(t){var n=this,r=d(d({},Dn),t),i=Object(Un.b)(r),o=Object(Un.a)(i),s=Object(qn.b)(o),a=Object(In.c)(s),u=Object(Kn.b)(a),c=Object(Fn.b)(u);return(n=e.call(this,c)||this).config=c,n.middlewareStack.use(Object(qn.a)(n.config)),n.middlewareStack.use(Object(In.b)(n.config)),n.middlewareStack.use(Object(Kn.a)(n.config)),n.middlewareStack.use(Object(Bn.a)(n.config)),n.middlewareStack.use(Object(Fn.a)(n.config)),n.middlewareStack.use(Object(zn.a)(n.config)),n}return l(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(Ft.a),Vn=n(26),Gn=n(27),Wn=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},$n=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Jn=function(){for(var e=[],t=0;tthis._config.bufferSize)return Zn.debug("Exceeded analytics events buffer size"),e.handlers.reject(new Error("Exceeded the size of analytics events buffer"));var n=((t={})[e.params.event.eventId]=e,t);this._buffer.push(n)},e.prototype.pause=function(){this._pause=!0},e.prototype.resume=function(){this._pause=!1},e.prototype.updateClient=function(e){this._client=e},e.prototype.flush=function(){this._flush=!0},e.prototype._startLoop=function(){this._interval&&clearInterval(this._interval);var e=this._config.flushInterval;this._interval=setInterval(this._sendBatch,e)},e.prototype._sendBatch=function(){var e=this._buffer.length;if(this._flush&&!e&&clearInterval(this._interval),!this._pause&&e){var t=this._config.flushSize,n=Math.min(t,e),r=this._buffer.splice(0,n);this._putEvents(r)}},e.prototype._putEvents=function(e){return Wn(this,void 0,void 0,(function(){var t,n,r,i,o;return $n(this,(function(s){switch(s.label){case 0:t=this._bufferToMap(e),n=this._generateBatchEventParams(t),s.label=1;case 1:return s.trys.push([1,3,,4]),r=new wn(n),[4,this._client.send(r)];case 2:return i=s.sent(),this._processPutEventsSuccessResponse(i,t),[3,4];case 3:return o=s.sent(),[2,this._handlePutEventsFailure(o,t)];case 4:return[2]}}))}))},e.prototype._generateBatchEventParams=function(e){var t={ApplicationId:"",EventsRequest:{BatchItem:{}}};return Object.values(e).forEach((function(e){var n=e.params,r=n.event,i=n.timestamp,o=n.config,s=r.name,a=r.attributes,u=r.metrics,c=r.eventId,f=r.session,l=o.appId,d=o.endpointId,h=t.EventsRequest.BatchItem;t.ApplicationId=t.ApplicationId||l,h[d]||(h[d]={Endpoint:{},Events:{}}),h[d].Events[c]={EventType:s,Timestamp:new Date(i).toISOString(),Attributes:a,Metrics:u,Session:f}})),t},e.prototype._handlePutEventsFailure=function(e,t){Zn.debug("_putEvents Failed: ",e);var n=e.$metadata&&e.$metadata.httpStatusCode;if(Xn.includes(n)){var r=Object.values(t);this._retry(r)}else;},e.prototype._processPutEventsSuccessResponse=function(e,t){var n=e.EventsResponse.Results,r=[];Object.entries(n).forEach((function(e){var n=Yn(e,2),i=n[0],o=n[1].EventsItemResponse;Object.entries(o).forEach((function(e){var n,o,s=Yn(e,2),a=s[0],u=s[1],c=u.StatusCode,f=u.Message,l=t[a],d={EventsResponse:{Results:(n={},n[i]={EventsItemResponse:(o={},o[a]={StatusCode:c,Message:f},o)},n)}};if(Qn.includes(c))l.handlers.resolve(d);else{if(!Xn.includes(c)){var h=l.params.event.name;return Zn.error("event "+a+" : "+h+" failed with error: "+f),l.handlers.reject(d)}r.push(l)}}))})),r.length&&this._retry(r)},e.prototype._retry=function(e){var t,n=[];e.forEach((function(e){var t,r=e.params,i=r.event,o=i.eventId,s=i.name;if(r.resendLimit-- >0)return Zn.debug("resending event "+o+" : "+s+" with "+r.resendLimit+" retry attempts remaining"),void n.push((t={},t[o]=e,t));Zn.debug("no retry attempts remaining for event "+o+" : "+s)})),(t=this._buffer).unshift.apply(t,Jn(n))},e.prototype._bufferToMap=function(e){return e.reduce((function(e,t){var n=Yn(Object.entries(t),1),r=Yn(n[0],2),i=r[0],o=r[1];return e[i]=o,e}),{})},e}();function tr(e){return(tr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var nr=function(){return(nr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?(ur.debug("resending event "+e.eventName+" with "+e.resendLimit+" retry times left"),this._pinpointPutEvents(e,t)):ur.debug("retry times used up for event "+e.eventName)},e.prototype._updateEndpoint=function(e){return rr(this,void 0,void 0,(function(){var t,n,r,i,o,s,u,c,f,l,d,h;return ir(this,(function(p){switch(p.label){case 0:t=e.params,n=e.handlers,r=t.config,i=t.event,o=r.appId,s=r.endpointId,u=this._endpointRequest(r,a.a.transferKeyToLowerCase(i,[],["attributes","userAttributes","Attributes","UserAttributes"])),c={ApplicationId:o,EndpointId:s,EndpointRequest:u},p.label=1;case 1:return p.trys.push([1,3,,4]),f=new _n(c),[4,this.pinpointClient.send(f)];case 2:return l=p.sent(),ur.debug("updateEndpoint success",l),this._endpointGenerating=!1,this._resumeBuffer(),n.resolve(l),[2];case 3:return d=p.sent(),h={err:d,update_params:c,endpointObject:e},[2,this._handleEndpointUpdateFailure(h)];case 4:return[2]}}))}))},e.prototype._handleEndpointUpdateFailure=function(e){return rr(this,void 0,void 0,(function(){var t,n,r;return ir(this,(function(i){switch(t=e.err,n=e.endpointObject,r=t.$metadata&&t.$metadata.httpStatusCode,ur.debug("updateEndpoint error",t),r){case 403:return[2,this._handleEndpointUpdateForbidden(e)];default:if(cr.includes(r))return!0,[2,this._retryEndpointUpdate(n,!0)];ur.error("updateEndpoint failed",t),n.handlers.reject(t)}return[2]}))}))},e.prototype._handleEndpointUpdateForbidden=function(e){var t=e.err,n=e.endpointObject,r=t.code,i=t.retryable;if("ExpiredTokenException"!==r&&!i)return n.handlers.reject(t);this._retryEndpointUpdate(n)},e.prototype._retryEndpointUpdate=function(e,t){void 0===t&&(t=!1),ur.debug("_retryEndpointUpdate",e);var n=e.params,r=n.config.resendLimit;if(n.resendLimit="number"==typeof n.resendLimit?n.resendLimit:r,n.resendLimit-- >0)return ur.debug("resending endpoint update "+n.event.eventId+" with "+n.resendLimit+" retry attempts remaining"),void(this._endpointBuffer.length?this._endpointBuffer.unshift(e):this._updateEndpoint(e));ur.warn("resending endpoint update "+n.event.eventId+" failed after "+n.config.resendLimit+" attempts"),this._endpointGenerating&&ur.error("Initial endpoint update failed. ")},e.prototype._initClients=function(e){return rr(this,void 0,void 0,(function(){var t,n;return ir(this,(function(r){return ur.debug("init clients"),this.pinpointClient&&this._config.credentials&&this._config.credentials.sessionToken===e.sessionToken&&this._config.credentials.identityId===e.identityId?(ur.debug("no change for aws credentials, directly return from init"),[2]):(t=this._config.credentials?this._config.credentials.identityId:null,this._config.credentials=e,n=this._config.region,ur.debug("init clients with credentials",e),this.pinpointClient=new Hn({region:n,credentials:e,customUserAgent:Object(u.b)()}),this.pinpointClient.middlewareStack.addRelativeTo((function(e){return function(t){return delete t.request.headers["amz-sdk-invocation-id"],delete t.request.headers["amz-sdk-request"],e(t)}}),{step:"finalizeRequest",relation:"after",toMiddleware:"retryMiddleware"}),this._bufferExists()&&t===e.identityId?this._updateBufferClient():this._initBuffer(),this._customizePinpointClientReq(),[2])}))}))},e.prototype._bufferExists=function(){return this._buffer&&this._buffer instanceof er},e.prototype._initBuffer=function(){this._bufferExists()&&this._flushBuffer(),this._buffer=new er(this.pinpointClient,this._config),this._endpointGenerating&&this._buffer.pause()},e.prototype._updateBufferClient=function(){this._bufferExists()&&this._buffer.updateClient(this.pinpointClient)},e.prototype._flushBuffer=function(){this._bufferExists()&&(this._buffer.flush(),this._buffer=null)},e.prototype._resumeBuffer=function(){this._bufferExists()&&this._buffer.resume()},e.prototype._customizePinpointClientReq=function(){},e.prototype._getEndpointId=function(e){return rr(this,void 0,void 0,(function(){var t;return ir(this,(function(n){switch(n.label){case 0:return[4,Vn.a.getItem(e)];case 1:return t=n.sent(),ur.debug("endpointId from cache",t,"type",tr(t)),t||(t=Object(Gn.v1)(),Vn.a.setItem(e,t)),[2,t]}}))}))},e.prototype._endpointRequest=function(e,t){var n=e.credentials,r=this._clientInfo||{},i=e.clientContext||{},o=e.endpoint||{},s={appVersion:r.appVersion,make:r.make,model:r.model,modelVersion:r.version,platform:r.platform},u=(i.clientId,i.appTitle,i.appVersionName,i.appVersionCode,i.appPackageName,or(i,["clientId","appTitle","appVersionName","appVersionCode","appPackageName"])),c=t.address?"android"===r.platform?"GCM":"APNS":void 0,f=nr(nr(nr({channelType:c,requestId:Object(Gn.v1)(),effectiveDate:(new Date).toISOString()},o),t),{attributes:nr(nr({},o.attributes),t.attributes),demographic:nr(nr(nr(nr({},s),u),o.demographic),t.demographic),location:nr(nr({},o.location),t.location),metrics:nr(nr({},o.metrics),t.metrics),user:{userId:t.userId||o.userId||n.identityId,userAttributes:nr(nr({},o.userAttributes),t.userAttributes)}}),l=(f.userId,f.userAttributes,f.name,f.session,f.eventId,f.immediate,or(f,["userId","userAttributes","name","session","eventId","immediate"]));return a.a.transferKeyToUpperCase(l,[],["metrics","userAttributes","attributes"])},e.prototype._eventError=function(e){ur.error("record event failed.",e),ur.warn('Please ensure you have updated your Pinpoint IAM Policy with the Action: "mobiletargeting:PutEvents" in order to record events')},e.prototype._getCredentials=function(){return rr(this,void 0,void 0,(function(){var e,t;return ir(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,c.a.get()];case 1:return(e=n.sent())?(ur.debug("set credentials for analytics",e),[2,c.a.shear(e)]):[2,null];case 2:return t=n.sent(),ur.debug("ensure credentials error",t),[2,null];case 3:return[2]}}))}))},e.category="Analytics",e.providerName="AWSPinpoint",e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return Ht}));var r=n(44),i=n(50),o=n(89),s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var u=function(){return(u=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=300?[2,Fe(e,t)]:[4,dt(e.body,t)];case 1:return n=o.sent(),{},r=st(n,t),i=u({$metadata:ct(e)},r),[2,Promise.resolve(i)]}}))}))}(e,t)},t}(pt.b),gt=n(150),mt=n(38),bt=n(110),yt=n(18),wt=n(24),_t=n(11),St=n(39),Et=n(17),Mt=n(40),At=n(41),It=n(15),kt=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),Ot=new Set(["cn-north-1","cn-northwest-1"]),xt=new Set(["us-iso-east-1"]),Ct=new Set(["us-isob-east-1"]),Tt=new Set(["us-gov-east-1","us-gov-west-1"]),Pt=u(u({},{apiVersion:"2013-12-02",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-east-1":n={hostname:"kinesis.ap-east-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-1":n={hostname:"kinesis.ap-northeast-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-2":n={hostname:"kinesis.ap-northeast-2.amazonaws.com",partition:"aws"};break;case"ap-south-1":n={hostname:"kinesis.ap-south-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-1":n={hostname:"kinesis.ap-southeast-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-2":n={hostname:"kinesis.ap-southeast-2.amazonaws.com",partition:"aws"};break;case"ca-central-1":n={hostname:"kinesis.ca-central-1.amazonaws.com",partition:"aws"};break;case"cn-north-1":n={hostname:"kinesis.cn-north-1.amazonaws.com.cn",partition:"aws-cn"};break;case"cn-northwest-1":n={hostname:"kinesis.cn-northwest-1.amazonaws.com.cn",partition:"aws-cn"};break;case"eu-central-1":n={hostname:"kinesis.eu-central-1.amazonaws.com",partition:"aws"};break;case"eu-north-1":n={hostname:"kinesis.eu-north-1.amazonaws.com",partition:"aws"};break;case"eu-west-1":n={hostname:"kinesis.eu-west-1.amazonaws.com",partition:"aws"};break;case"eu-west-2":n={hostname:"kinesis.eu-west-2.amazonaws.com",partition:"aws"};break;case"eu-west-3":n={hostname:"kinesis.eu-west-3.amazonaws.com",partition:"aws"};break;case"me-south-1":n={hostname:"kinesis.me-south-1.amazonaws.com",partition:"aws"};break;case"sa-east-1":n={hostname:"kinesis.sa-east-1.amazonaws.com",partition:"aws"};break;case"us-east-1":n={hostname:"kinesis.us-east-1.amazonaws.com",partition:"aws"};break;case"us-east-2":n={hostname:"kinesis.us-east-2.amazonaws.com",partition:"aws"};break;case"us-gov-east-1":n={hostname:"kinesis.us-gov-east-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-gov-west-1":n={hostname:"kinesis.us-gov-west-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-iso-east-1":n={hostname:"kinesis.us-iso-east-1.c2s.ic.gov",partition:"aws-iso"};break;case"us-isob-east-1":n={hostname:"kinesis.us-isob-east-1.sc2s.sgov.gov",partition:"aws-iso-b"};break;case"us-west-1":n={hostname:"kinesis.us-west-1.amazonaws.com",partition:"aws"};break;case"us-west-2":n={hostname:"kinesis.us-west-2.amazonaws.com",partition:"aws"};break;default:kt.has(e)&&(n={hostname:"kinesis.{region}.amazonaws.com".replace("{region}",e),partition:"aws"}),Ot.has(e)&&(n={hostname:"kinesis.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),xt.has(e)&&(n={hostname:"kinesis.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),Ct.has(e)&&(n={hostname:"kinesis.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),Tt.has(e)&&(n={hostname:"kinesis.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"kinesis.{region}.amazonaws.com".replace("{region}",e),partition:"aws"})}return Promise.resolve(n)},signingName:"kinesis"}),{runtime:"browser",base64Decoder:Et.a,base64Encoder:Et.b,bodyLengthChecker:Mt.a,credentialDefaultProvider:Object(wt.a)("Credential is missing"),defaultUserAgent:Object(At.a)(gt.name,gt.version),eventStreamSerdeProvider:bt.a,maxAttempts:_t.a,region:Object(wt.a)("Region is missing"),requestHandler:new yt.a,sha256:mt.Sha256,streamCollector:yt.b,urlParser:St.a,utf8Decoder:It.a,utf8Encoder:It.b}),Nt=n(22),Rt=n(112),Lt=n(37),jt=n(21),Dt=n(43),Ut=n(25),Bt=n(23),Ft=function(e){function t(t){var n=this,r=u(u({},Pt),t),i=Object(Nt.b)(r),o=Object(Nt.a)(i),s=Object(Ut.b)(o),a=Object(_t.c)(s),c=Object(Bt.b)(a),f=Object(jt.b)(c),l=Object(Rt.a)(f);return(n=e.call(this,l)||this).config=l,n.middlewareStack.use(Object(Ut.a)(n.config)),n.middlewareStack.use(Object(_t.b)(n.config)),n.middlewareStack.use(Object(Bt.a)(n.config)),n.middlewareStack.use(Object(Lt.a)(n.config)),n.middlewareStack.use(Object(jt.a)(n.config)),n.middlewareStack.use(Object(Dt.a)(n.config)),n}return a(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(pt.a),zt=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},qt=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&this.changeListeners.splice(t,1)},e}(),a=n(33),u=Object(a.b)().isBrowser,c=function(){function e(e){void 0===e&&(e={}),this.cookies=new s,this.store=u?window.localStorage:Object.create(null),this.cookies=e.req?new s(e.req.headers.cookie):new s,Object.assign(this.store,this.cookies.getAll())}return Object.defineProperty(e.prototype,"length",{get:function(){return Object.entries(this.store).length},enumerable:!0,configurable:!0}),e.prototype.clear=function(){var e=this;Array.from(new Array(this.length)).map((function(t,n){return e.key(n)})).forEach((function(t){return e.removeItem(t)}))},e.prototype.getItem=function(e){return this.getLocalItem(e)},e.prototype.getLocalItem=function(e){return Object.prototype.hasOwnProperty.call(this.store,e)?this.store[e]:null},e.prototype.getUniversalItem=function(e){return this.cookies.get(e)},e.prototype.key=function(e){return Object.keys(this.store)[e]},e.prototype.removeItem=function(e){this.removeLocalItem(e),this.removeUniversalItem(e)},e.prototype.removeLocalItem=function(e){delete this.store[e]},e.prototype.removeUniversalItem=function(e){this.cookies.remove(e,{path:"/"})},e.prototype.setItem=function(e,t){switch(this.setLocalItem(e,t),e.split(".").pop()){case"LastAuthUser":case"accessToken":case"idToken":this.setUniversalItem(e,t)}},e.prototype.setLocalItem=function(e,t){this.store[e]=t},e.prototype.setUniversalItem=function(e,t){this.cookies.set(e,t,{path:"/",sameSite:!0,secure:"localhost"!==window.location.hostname})},e}()},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-cognito-identity","description":"AWS SDK for JavaScript Cognito Identity Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test:unit":"mocha **/cjs/**/*.spec.js","test:e2e":"mocha **/cjs/**/*.ispec.js && karma start karma.conf.js","test":"yarn test:unit","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@aws-sdk/client-iam":"1.0.0-rc.4","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-cognito-identity","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-cognito-identity"}}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(1).__exportStar(n(385),t)},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-pinpoint","description":"AWS SDK for JavaScript Pinpoint Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test":"exit 0","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-pinpoint","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-pinpoint"}}')},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-kinesis","description":"AWS SDK for JavaScript Kinesis Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test":"exit 0","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/eventstream-serde-browser":"1.0.0-rc.3","@aws-sdk/eventstream-serde-config-resolver":"1.0.0-rc.3","@aws-sdk/eventstream-serde-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-kinesis","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-kinesis"}}')},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-firehose","description":"AWS SDK for JavaScript Firehose Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test":"exit 0","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-firehose","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-firehose"}}')},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-personalize-events","description":"AWS SDK for JavaScript Personalize Events Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test":"exit 0","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-personalize-events","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-personalize-events"}}')},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-s3","description":"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test:unit":"mocha **/cjs/**/*.spec.js","test:e2e":"mocha **/cjs/**/*.ispec.js && karma start karma.conf.js","test":"yarn test:unit","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/eventstream-serde-browser":"1.0.0-rc.3","@aws-sdk/eventstream-serde-config-resolver":"1.0.0-rc.3","@aws-sdk/eventstream-serde-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-blob-browser":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/hash-stream-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/md5-js":"1.0.0-rc.3","@aws-sdk/middleware-apply-body-checksum":"1.0.0-rc.3","@aws-sdk/middleware-bucket-endpoint":"1.0.0-rc.4","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-expect-continue":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-location-constraint":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-sdk-s3":"1.0.0-rc.3","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-ssec":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","@aws-sdk/xml-builder":"1.0.0-rc.3","fast-xml-parser":"^3.16.0","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-s3","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-s3"}}')},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return S}));var r,i,o=n(58),s=n(52),a=n(42),u=n(26),c=n(44),f=n(88),l=n(34),d=n(14),h=n(13),p=n(9),v=n(3),g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},w=function(){for(var e=[],t=0;t0){var s=r.map((function(e){return e.message}));return _.warn("Skipping incoming subscription. Messages: "+s.join("\n")),void S.drainBuffer()}var a=p.a.getPredicates(S.syncPredicates.get(t),!1),u=n[o];S.passesPredicateValidation(u,a)&&S.pushToBuffer(i,t,u),S.drainBuffer()},error:function(e){var t=e.error,r=y((void 0===t?{errors:[]}:t).errors,1)[0],i=(void 0===r?{}:r).message,o=void 0===i?"":i;_.warn("subscriptionError",o),"function"==typeof w&&w(),o.includes('"errorType":"Unauthorized"')||n.error(o)}})),l.push(m(S,void 0,void 0,(function(){var e,t=this;return b(this,(function(n){switch(n.label){case 0:return[4,new Promise((function(n){w=n,e=t.hubQueryCompletionListener.bind(t,n),f.a.listen("api",e)}))];case 1:return n.sent(),f.a.remove("api",e),[2]}}))}))),[2]}))}))})),[2]}))}))}))})),Promise.all(l).then((function(){return n.next(r.CONNECTED)})),[2]}}))})),function(){d.forEach((function(e){return e.unsubscribe()}))}})),new d.a((function(e){return t.dataObserver=e,t.drainBuffer(),function(){t.dataObserver=null}}))]},t.prototype.passesPredicateValidation=function(e,t){if(!t)return!0;var n=t.predicates,r=t.type;return Object(v.y)(e,r,n)},t.prototype.pushToBuffer=function(e,t,n){this.buffer.push([e,t,n])},t.prototype.drainBuffer=function(){var e=this;this.dataObserver&&(this.buffer.forEach((function(t){return e.dataObserver.next(t)})),this.buffer=[])},t}()}).call(this,n(6).Buffer)},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-lex-runtime-service","description":"AWS SDK for JavaScript Lex Runtime Service Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test:unit":"mocha **/cjs/**/*.spec.js","test":"yarn test:unit","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-lex-runtime-service","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-lex-runtime-service"}}')},,function(e,t,n){"use strict";n.r(t);var r=n(19),i=n(143);n.d(t,"Amplify",(function(){return r.a}));var o=n(63),s=n(26),a=n(491);n.d(t,"Analytics",(function(){return a.a}));var u=n(144);n.d(t,"AWSPinpointProvider",(function(){return u.a}));var c=n(145);n.d(t,"AWSKinesisProvider",(function(){return c.a}));var f=n(492);n.d(t,"AWSKinesisFirehoseProvider",(function(){return f.a}));var l=n(490);n.d(t,"AmazonPersonalizeProvider",(function(){return l.a})),n.d(t,"Auth",(function(){return o.a}));var d=n(140);n.d(t,"Storage",(function(){return d.a})),n.d(t,"StorageClass",(function(){return d.b}));var h=n(62);n.d(t,"API",(function(){return h.a})),n.d(t,"APIClass",(function(){return h.b}));var p=n(248);n.d(t,"graphqlOperation",(function(){return p.b}));var v=n(258);n.d(t,"DataStore",(function(){return v.a}));var g=n(9);n.d(t,"Predicates",(function(){return g.b}));var m=n(4);n.d(t,"SortDirection",(function(){return m.e})),n.d(t,"syncExpression",(function(){return m.n}));var b=n(105);n.d(t,"PubSub",(function(){return b.a})),n.d(t,"Cache",(function(){return s.a}));var y=n(489);n.d(t,"Interactions",(function(){return y.a}));var w=n(246);for(var _ in w)["default","Analytics","AWSPinpointProvider","AWSKinesisProvider","AWSKinesisFirehoseProvider","AmazonPersonalizeProvider","Auth","Storage","StorageClass","API","APIClass","graphqlOperation","DataStore","Predicates","SortDirection","syncExpression","PubSub","Cache","Interactions","XR","Predictions","Logger","Hub","JS","ClientDevice","Signer","I18n","ServiceWorker","withSSRContext","Amplify"].indexOf(_)<0&&function(e){n.d(t,e,(function(){return w[e]}))}(_);var S=n(493);n.d(t,"XR",(function(){return S.a}));var E=n(488);n.d(t,"Predictions",(function(){return E.a}));var M=n(44);n.d(t,"Logger",(function(){return M.a}));var A=n(88);n.d(t,"Hub",(function(){return A.a}));var I=n(33);n.d(t,"JS",(function(){return I.a}));var k=n(141);n.d(t,"ClientDevice",(function(){return k.a}));var O=n(104);n.d(t,"Signer",(function(){return O.a}));var x=n(142);n.d(t,"I18n",(function(){return x.a})),n.d(t,"ServiceWorker",(function(){return i.a}));var C=n(247);n.d(t,"withSSRContext",(function(){return C.a})),r.a.Auth=o.a,r.a.Cache=s.a,r.a.ServiceWorker=i.a,t.default=r.a},,,function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){var r;e.exports=(r=n(32),function(){if("function"==typeof ArrayBuffer){var e=r.lib.WordArray,t=e.init;(e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var n=e.byteLength,r=[],i=0;i>>2]|=e[i]<<24-i%4*8;t.call(this,r,n)}else t.apply(this,arguments)}).prototype=e}}(),r.lib.WordArray)},function(e,t,n){"use strict";var r=n(8).Buffer,i=n(273).Transform;function o(e){i.call(this),this._block=r.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n(7)(o,i),o.prototype._transform=function(e,t,n){var r=null;try{this.update(e,t)}catch(e){r=e}n(r)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!r.isBuffer(e)&&"string"!=typeof e)throw new TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");r.isBuffer(e)||(e=r.from(e,t));for(var n=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var o=this._blockOffset;o0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},function(e,t,n){"use strict";(function(t,r){var i;e.exports=A,A.ReadableState=M;n(49).EventEmitter;var o=function(e,t){return e.listeners(t).length},s=n(164),a=n(6).Buffer,u=t.Uint8Array||function(){};var c,f=n(274);c=f&&f.debuglog?f.debuglog("stream"):function(){};var l,d,h,p=n(275),v=n(165),g=n(166).getHighWaterMark,m=n(67).codes,b=m.ERR_INVALID_ARG_TYPE,y=m.ERR_STREAM_PUSH_AFTER_EOF,w=m.ERR_METHOD_NOT_IMPLEMENTED,_=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;n(7)(A,s);var S=v.errorOrDestroy,E=["error","close","destroy","pause","resume"];function M(e,t,r){i=i||n(68),e=e||{},"boolean"!=typeof r&&(r=t instanceof i),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,"readableHighWaterMark",r),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(l||(l=n(59).StringDecoder),this.decoder=new l(e.encoding),this.encoding=e.encoding)}function A(e){if(i=i||n(68),!(this instanceof A))return new A(e);var t=this instanceof i;this._readableState=new M(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),s.call(this)}function I(e,t,n,r,i){c("readableAddChunk",t);var o,s=e._readableState;if(null===t)s.reading=!1,function(e,t){if(c("onEofChunk"),t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?x(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,C(e)))}(e,s);else if(i||(o=function(e,t){var n;r=t,a.isBuffer(r)||r instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new b("chunk",["string","Buffer","Uint8Array"],t));var r;return n}(s,t)),o)S(e,o);else if(s.objectMode||t&&t.length>0)if("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===a.prototype||(t=function(e){return a.from(e)}(t)),r)s.endEmitted?S(e,new _):k(e,s,t,!0);else if(s.ended)S(e,new y);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?k(e,s,t,!1):T(e,s)):k(e,s,t,!1)}else r||(s.reading=!1,T(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;c("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,r.nextTick(C,e))}function C(e){var t=e._readableState;c("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,j(e)}function T(e,t){t.readingMore||(t.readingMore=!0,r.nextTick(P,e,t))}function P(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function R(e){c("readable nexttick read 0"),e.read(0)}function L(e,t){c("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function D(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function U(e){var t=e._readableState;c("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,r.nextTick(B,t,e))}function B(e,t){if(c("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function F(e,t){for(var n=0,r=e.length;n=t.highWaterMark:t.length>0)||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?U(this):x(this),null;if(0===(e=O(e,t))&&t.ended)return 0===t.length&&U(this),null;var r,i=t.needReadable;return c("need readable",i),(0===t.length||t.length-e0?D(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&U(this)),null!==r&&this.emit("data",r),r},A.prototype._read=function(e){S(this,new w("_read()"))},A.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,c("pipe count=%d opts=%j",i.pipesCount,t);var s=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:g;function a(t,r){c("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,c("cleanup"),e.removeListener("close",p),e.removeListener("finish",v),e.removeListener("drain",f),e.removeListener("error",h),e.removeListener("unpipe",a),n.removeListener("end",u),n.removeListener("end",g),n.removeListener("data",d),l=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||f())}function u(){c("onend"),e.end()}i.endEmitted?r.nextTick(s):n.once("end",s),e.on("unpipe",a);var f=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&o(e,"data")&&(t.flowing=!0,j(e))}}(n);e.on("drain",f);var l=!1;function d(t){c("ondata");var r=e.write(t);c("dest.write",r),!1===r&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==F(i.pipes,e))&&!l&&(c("false write response, pause",i.awaitDrain),i.awaitDrain++),n.pause())}function h(t){c("onerror",t),g(),e.removeListener("error",h),0===o(e,"error")&&S(e,t)}function p(){e.removeListener("finish",v),g()}function v(){c("onfinish"),e.removeListener("close",p),g()}function g(){c("unpipe"),n.unpipe(e)}return n.on("data",d),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",h),e.once("close",p),e.once("finish",v),e.emit("pipe",n),i.flowing||(c("pipe resume"),n.resume()),e},A.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c("on readable",i.length,i.reading),i.length?x(this):i.reading||r.nextTick(R,this))),n},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(e,t){var n=s.prototype.removeListener.call(this,e,t);return"readable"===e&&r.nextTick(N,this),n},A.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||r.nextTick(N,this),t},A.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,r.nextTick(L,e,t))}(this,e)),e.paused=!1,this},A.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",(function(){if(c("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(c("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(e,t,n){n(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(e,t,n){var i=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,t,n){t.ending=!0,T(e,t),n&&(t.finished?r.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,i,n),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),A.prototype.destroy=l.destroy,A.prototype._undestroy=l.undestroy,A.prototype._destroy=function(e,t){t(e)}}).call(this,n(31),n(20))},function(e,t,n){"use strict";e.exports=f;var r=n(67).codes,i=r.ERR_METHOD_NOT_IMPLEMENTED,o=r.ERR_MULTIPLE_CALLBACK,s=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=r.ERR_TRANSFORM_WITH_LENGTH_0,u=n(68);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new o);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(u,i),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,p=0|this._f,v=0|this._g,g=0|this._h,m=0;m<16;++m)n[m]=e.readInt32BE(4*m);for(;m<64;++m)n[m]=0|(((t=n[m-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[m-7]+h(n[m-15])+n[m-16];for(var b=0;b<64;++b){var y=g+d(u)+c(u,p,v)+s[b]+n[b]|0,w=l(r)+f(r,i,o)|0;g=v,v=p,p=u,u=a+y|0,a=o,o=i,i=r,r=y+w|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0,this._f=p+this._f|0,this._g=v+this._g|0,this._h=g+this._h|0},u.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u},function(e,t,n){var r=n(7),i=n(69),o=n(8).Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function u(){this.init(),this._w=a,i.call(this,128,112)}function c(e,t,n){return n^e&(t^n)}function f(e,t,n){return e&t|n&(e|t)}function l(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function v(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function m(e,t){return e>>>0>>0?1:0}r(u,i),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,u=0|this._fh,b=0|this._gh,y=0|this._hh,w=0|this._al,_=0|this._bl,S=0|this._cl,E=0|this._dl,M=0|this._el,A=0|this._fl,I=0|this._gl,k=0|this._hl,O=0;O<32;O+=2)t[O]=e.readInt32BE(4*O),t[O+1]=e.readInt32BE(4*O+4);for(;O<160;O+=2){var x=t[O-30],C=t[O-30+1],T=h(x,C),P=p(C,x),N=v(x=t[O-4],C=t[O-4+1]),R=g(C,x),L=t[O-14],j=t[O-14+1],D=t[O-32],U=t[O-32+1],B=P+j|0,F=T+L+m(B,P)|0;F=(F=F+N+m(B=B+R|0,R)|0)+D+m(B=B+U|0,U)|0,t[O]=F,t[O+1]=B}for(var z=0;z<160;z+=2){F=t[z],B=t[z+1];var q=f(n,r,i),K=f(w,_,S),H=l(n,w),V=l(w,n),G=d(a,M),W=d(M,a),$=s[z],Y=s[z+1],J=c(a,u,b),Z=c(M,A,I),X=k+W|0,Q=y+G+m(X,k)|0;Q=(Q=(Q=Q+J+m(X=X+Z|0,Z)|0)+$+m(X=X+Y|0,Y)|0)+F+m(X=X+B|0,B)|0;var ee=V+K|0,te=H+q+m(ee,V)|0;y=b,k=I,b=u,I=A,u=a,A=M,a=o+Q+m(M=E+X|0,E)|0,o=i,E=S,i=r,S=_,r=n,_=w,n=Q+te+m(w=X+ee|0,X)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+S|0,this._dl=this._dl+E|0,this._el=this._el+M|0,this._fl=this._fl+A|0,this._gl=this._gl+I|0,this._hl=this._hl+k|0,this._ah=this._ah+n+m(this._al,w)|0,this._bh=this._bh+r+m(this._bl,_)|0,this._ch=this._ch+i+m(this._cl,S)|0,this._dh=this._dh+o+m(this._dl,E)|0,this._eh=this._eh+a+m(this._el,M)|0,this._fh=this._fh+u+m(this._fl,A)|0,this._gh=this._gh+b+m(this._gl,I)|0,this._hh=this._hh+y+m(this._hl,k)|0},u.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u},function(e,t,n){"use strict";(function(t,r){var i=n(92);e.exports=y;var o,s=n(160);y.ReadableState=b;n(49).EventEmitter;var a=function(e,t){return e.listeners(t).length},u=n(172),c=n(119).Buffer,f=t.Uint8Array||function(){};var l=Object.create(n(80));l.inherits=n(7);var d=n(286),h=void 0;h=d&&d.debuglog?d.debuglog("stream"):function(){};var p,v=n(287),g=n(173);l.inherits(y,u);var m=["error","close","destroy","pause","resume"];function b(e,t){e=e||{};var r=t instanceof(o=o||n(60));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new v,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(59).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function y(e){if(o=o||n(60),!(this instanceof y))return new y(e);this._readableState=new b(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function w(e,t,n,r,i){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,E(e)}(e,s)):(i||(o=function(e,t){var n;r=t,c.isBuffer(r)||r instanceof f||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):_(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?_(e,s,t,!1):A(e,s)):_(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function E(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(M,e):M(e))}function M(e){h("emit readable"),e.emit("readable"),x(e)}function A(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(I,e,t))}function I(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;eo.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0===(e-=s)){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=c.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function T(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(P,t,e))}function P(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function N(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?T(this):E(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&T(this),null;var r,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e0?C(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&T(this)),null!==r&&this.emit("data",r),r},y.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,h("pipe count=%d opts=%j",o.pipesCount,t);var u=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?f:y;function c(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",m),e.removeListener("finish",b),e.removeListener("drain",l),e.removeListener("error",g),e.removeListener("unpipe",c),n.removeListener("end",f),n.removeListener("end",y),n.removeListener("data",v),d=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function f(){h("onend"),e.end()}o.endEmitted?i.nextTick(u):n.once("end",u),e.on("unpipe",c);var l=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,x(e))}}(n);e.on("drain",l);var d=!1;var p=!1;function v(t){h("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==N(o.pipes,e))&&!d&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function g(t){h("onerror",t),y(),e.removeListener("error",g),0===a(e,"error")&&e.emit("error",t)}function m(){e.removeListener("finish",b),y()}function b(){h("onfinish"),e.removeListener("close",m),y()}function y(){h("unpipe"),n.unpipe(e)}return n.on("data",v),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",g),e.once("close",m),e.once("finish",b),e.emit("pipe",n),o.flowing||(h("pipe resume"),n.resume()),e},y.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;on)?t=("rmd160"===e?new u:c(e)).update(t).digest():t.lengthn||t!=t)throw new TypeError("Bad key length")}},function(e,t,n){(function(t){var n;if(t.browser)n="utf-8";else if(t.version){n=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else n="utf-8";e.exports=n}).call(this,n(20))},function(e,t,n){var r=n(176),i=n(116),o=n(117),s=n(8).Buffer,a=n(179),u=n(180),c=n(182),f=s.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(e,t,n){var a=function(e){function t(t){return o(e).update(t).digest()}return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?r:t}(e),u="sha512"===e||"sha384"===e?128:64;t.length>u?t=a(t):t.length>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,r){for(var i=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[r+0]=i>>>0,n[r+1]=o>>>0},t.rip=function(e,t,n,r){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)i<<=1,i|=t>>>a+s&1,i<<=1,i|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.pc1=function(e,t,n,r){for(var i=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,i){for(var o=0,s=0,a=r.length>>>1,u=0;u>>r[u]&1;for(u=a;u>>r[u]&1;n[i+0]=o>>>0,n[i+1]=s>>>0},t.expand=function(e,t,n){var r=0,i=0;r=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)r<<=6,r|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[n+0]=r>>>0,t[n+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++){n<<=4,n|=i[64*r+(e>>>18-6*r&63)]}for(r=0;r<4;r++){n<<=4,n|=i[256+64*r+(t>>>18-6*r&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var r=e.toString(2);r.length>>1];n=o.r28shl(n,a),i=o.r28shl(i,a),o.pc2(n,i,e.keys,s)}},u.prototype._update=function(e,t,n,r){var i=this._desState,s=o.readUInt32BE(e,t),a=o.readUInt32BE(e,t+4);o.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],o.writeUInt32BE(n,s,r),o.writeUInt32BE(n,a,r+4)},u.prototype._pad=function(e,t){for(var n=e.length-t,r=t;r>>0,s=d}o.rip(a,s,r,i)},u.prototype._decrypt=function(e,t,n,r,i){for(var s=n,a=t,u=e.keys.length-2;u>=0;u-=2){var c=e.keys[u],f=e.keys[u+1];o.expand(s,e.tmp,0),c^=e.tmp[0],f^=e.tmp[1];var l=o.substitute(c,f),d=s;s=(a^o.permute(l))>>>0,a=d}o.rip(s,a,r,i)}},function(e,t,n){var r=n(81),i=n(8).Buffer,o=n(186);function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*n)]);for(var a=0;ae;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(u),t.cmp(u)){if(!t.cmp(c))for(;n.mod(f).cmp(l);)n.iadd(h)}else for(;n.mod(o).cmp(d);)n.iadd(h);if(g(p=n.shrn(1))&&g(n)&&m(p)&&m(n)&&s.test(p)&&s.test(n))return n}}},function(e,t,n){var r=n(29),i=n(124);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var i=new r(this.rand.generate(n))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var i=e.bitLength(),o=r.mont(e),s=new r(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),u=0;!a.testn(u);u++);for(var c=e.shrn(u),f=a.toRed(o);t>0;t--){var l=this._randrange(new r(2),a);n&&n(l);var d=l.toRed(o).redPow(c);if(0!==d.cmp(s)&&0!==d.cmp(f)){for(var h=1;h0;t--){var f=this._randrange(new r(2),s),l=e.gcd(f);if(0!==l.cmpn(1))return l;var d=f.toRed(i).redPow(u);if(0!==d.cmp(o)&&0!==d.cmp(c)){for(var h=1;h0)if("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===a.prototype||(t=function(e){return a.from(e)}(t)),r)s.endEmitted?S(e,new _):k(e,s,t,!0);else if(s.ended)S(e,new y);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?k(e,s,t,!1):T(e,s)):k(e,s,t,!1)}else r||(s.reading=!1,T(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;c("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,r.nextTick(C,e))}function C(e){var t=e._readableState;c("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,j(e)}function T(e,t){t.readingMore||(t.readingMore=!0,r.nextTick(P,e,t))}function P(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function R(e){c("readable nexttick read 0"),e.read(0)}function L(e,t){c("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function D(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function U(e){var t=e._readableState;c("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,r.nextTick(B,t,e))}function B(e,t){if(c("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function F(e,t){for(var n=0,r=e.length;n=t.highWaterMark:t.length>0)||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?U(this):x(this),null;if(0===(e=O(e,t))&&t.ended)return 0===t.length&&U(this),null;var r,i=t.needReadable;return c("need readable",i),(0===t.length||t.length-e0?D(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&U(this)),null!==r&&this.emit("data",r),r},A.prototype._read=function(e){S(this,new w("_read()"))},A.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,c("pipe count=%d opts=%j",i.pipesCount,t);var s=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:g;function a(t,r){c("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,c("cleanup"),e.removeListener("close",p),e.removeListener("finish",v),e.removeListener("drain",f),e.removeListener("error",h),e.removeListener("unpipe",a),n.removeListener("end",u),n.removeListener("end",g),n.removeListener("data",d),l=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||f())}function u(){c("onend"),e.end()}i.endEmitted?r.nextTick(s):n.once("end",s),e.on("unpipe",a);var f=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&o(e,"data")&&(t.flowing=!0,j(e))}}(n);e.on("drain",f);var l=!1;function d(t){c("ondata");var r=e.write(t);c("dest.write",r),!1===r&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==F(i.pipes,e))&&!l&&(c("false write response, pause",i.awaitDrain),i.awaitDrain++),n.pause())}function h(t){c("onerror",t),g(),e.removeListener("error",h),0===o(e,"error")&&S(e,t)}function p(){e.removeListener("finish",v),g()}function v(){c("onfinish"),e.removeListener("close",p),g()}function g(){c("unpipe"),n.unpipe(e)}return n.on("data",d),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",h),e.once("close",p),e.once("finish",v),e.emit("pipe",n),i.flowing||(c("pipe resume"),n.resume()),e},A.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c("on readable",i.length,i.reading),i.length?x(this):i.reading||r.nextTick(R,this))),n},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(e,t){var n=s.prototype.removeListener.call(this,e,t);return"readable"===e&&r.nextTick(N,this),n},A.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||r.nextTick(N,this),t},A.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,r.nextTick(L,e,t))}(this,e)),e.paused=!1,this},A.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",(function(){if(c("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(c("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(e,t,n){n(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(e,t,n){var i=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,t,n){t.ending=!0,T(e,t),n&&(t.finished?r.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,i,n),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),A.prototype.destroy=l.destroy,A.prototype._undestroy=l.undestroy,A.prototype._destroy=function(e,t){t(e)}}).call(this,n(31),n(20))},function(e,t,n){"use strict";e.exports=f;var r=n(70).codes,i=r.ERR_METHOD_NOT_IMPLEMENTED,o=r.ERR_MULTIPLE_CALLBACK,s=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=r.ERR_TRANSFORM_WITH_LENGTH_0,u=n(71);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new o);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>8,s=255&i;o?n.push(o,s):n.push(s)}return n},r.zero2=i,r.toHex=o,r.encode=function(e,t){return"hex"===t?o(e):e}},function(e,t,n){"use strict";var r=t;r.base=n(95),r.short=n(332),r.mont=n(333),r.edwards=n(334)},function(e,t,n){"use strict";var r=n(51).rotr32;function i(e,t,n){return e&t^~e&n}function o(e,t,n){return e&t^e&n^t&n}function s(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?i(t,n,r):1===e||3===e?s(t,n,r):2===e?o(t,n,r):void 0},t.ch32=i,t.maj32=o,t.p32=s,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,n){"use strict";var r=n(51),i=n(82),o=n(200),s=n(46),a=r.sum32,u=r.sum32_4,c=r.sum32_5,f=o.ch32,l=o.maj32,d=o.s0_256,h=o.s1_256,p=o.g0_256,v=o.g1_256,g=i.BlockHash,m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=m,this.W=new Array(64)}r.inherits(b,g),e.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r=49&&c<=54?c-49+10:c>=17&&c<=22?c-17+10:c,s|=u}return r(!(240&s),"Invalid character in "+e),i}function u(e,t,n,i){for(var o=0,s=0,a=Math.min(e.length,n),u=t;u=49?c-49+10:c>=17?c-17+10:c,r(c>=0&&s0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this._strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)i=a(e,n,n+6),this.words[r]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);n+6!==t&&(i=a(e,t,n+6),this.words[r]|=i<>>26-o&4194303),this._strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,s=o%r,a=Math.min(o,o-s)+n,c=0,f=n;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch(e){o.prototype.inspect=f}else o.prototype.inspect=f;function f(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],f=h[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var v=p.modrn(f).toString(e);n=(p=p.idivn(f)).isZero()?v+n:l[c-v.length]+v+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)}),o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function p(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=d;h++){var p=c-h|0;f+=(s=(i=0|e.words[p])*(o=0|t.words[h])+l)/67108864|0,l=67108863&s}n.words[c]=0|l,u=0|f}return 0!==u?n.words[c]=0|u:n.length--,n._strip()}o.prototype.toArrayLike=function(e,t,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](s,i),s},o.prototype._toArrayLikeLE=function(e,t){for(var n=0,r=0,i=0,o=0;i>8&255),n>16&255),6===o?(n>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n=0&&(e[n--]=s>>8&255),n>=0&&(e[n--]=s>>16&255),6===o?(n>=0&&(e[n--]=s>>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n>=0)for(e[n--]=r;n>=0;)e[n--]=0},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;re.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,h=0|s[1],p=8191&h,v=h>>>13,g=0|s[2],m=8191&g,b=g>>>13,y=0|s[3],w=8191&y,_=y>>>13,S=0|s[4],E=8191&S,M=S>>>13,A=0|s[5],I=8191&A,k=A>>>13,O=0|s[6],x=8191&O,C=O>>>13,T=0|s[7],P=8191&T,N=T>>>13,R=0|s[8],L=8191&R,j=R>>>13,D=0|s[9],U=8191&D,B=D>>>13,F=0|a[0],z=8191&F,q=F>>>13,K=0|a[1],H=8191&K,V=K>>>13,G=0|a[2],W=8191&G,$=G>>>13,Y=0|a[3],J=8191&Y,Z=Y>>>13,X=0|a[4],Q=8191&X,ee=X>>>13,te=0|a[5],ne=8191&te,re=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,fe=0|a[8],le=8191&fe,de=fe>>>13,he=0|a[9],pe=8191&he,ve=he>>>13;n.negative=e.negative^t.negative,n.length=19;var ge=(c+(r=Math.imul(l,z))|0)+((8191&(i=(i=Math.imul(l,q))+Math.imul(d,z)|0))<<13)|0;c=((o=Math.imul(d,q))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(p,z),i=(i=Math.imul(p,q))+Math.imul(v,z)|0,o=Math.imul(v,q);var me=(c+(r=r+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,V)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(m,z),i=(i=Math.imul(m,q))+Math.imul(b,z)|0,o=Math.imul(b,q),r=r+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0;var be=(c+(r=r+Math.imul(l,W)|0)|0)+((8191&(i=(i=i+Math.imul(l,$)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(w,z),i=(i=Math.imul(w,q))+Math.imul(_,z)|0,o=Math.imul(_,q),r=r+Math.imul(m,H)|0,i=(i=i+Math.imul(m,V)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,V)|0,r=r+Math.imul(p,W)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,$)|0;var ye=(c+(r=r+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,Z)|0)+Math.imul(d,J)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(E,z),i=(i=Math.imul(E,q))+Math.imul(M,z)|0,o=Math.imul(M,q),r=r+Math.imul(w,H)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,V)|0,r=r+Math.imul(m,W)|0,i=(i=i+Math.imul(m,$)|0)+Math.imul(b,W)|0,o=o+Math.imul(b,$)|0,r=r+Math.imul(p,J)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,Z)|0;var we=(c+(r=r+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,ee)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(I,z),i=(i=Math.imul(I,q))+Math.imul(k,z)|0,o=Math.imul(k,q),r=r+Math.imul(E,H)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(w,W)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,$)|0,r=r+Math.imul(m,J)|0,i=(i=i+Math.imul(m,Z)|0)+Math.imul(b,J)|0,o=o+Math.imul(b,Z)|0,r=r+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,ee)|0;var _e=(c+(r=r+Math.imul(l,ne)|0)|0)+((8191&(i=(i=i+Math.imul(l,re)|0)+Math.imul(d,ne)|0))<<13)|0;c=((o=o+Math.imul(d,re)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(C,z)|0,o=Math.imul(C,q),r=r+Math.imul(I,H)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,V)|0,r=r+Math.imul(E,W)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,$)|0,r=r+Math.imul(w,J)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,J)|0,o=o+Math.imul(_,Z)|0,r=r+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,ee)|0,r=r+Math.imul(p,ne)|0,i=(i=i+Math.imul(p,re)|0)+Math.imul(v,ne)|0,o=o+Math.imul(v,re)|0;var Se=(c+(r=r+Math.imul(l,oe)|0)|0)+((8191&(i=(i=i+Math.imul(l,se)|0)+Math.imul(d,oe)|0))<<13)|0;c=((o=o+Math.imul(d,se)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(P,z),i=(i=Math.imul(P,q))+Math.imul(N,z)|0,o=Math.imul(N,q),r=r+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,V)|0,r=r+Math.imul(I,W)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,$)|0,r=r+Math.imul(E,J)|0,i=(i=i+Math.imul(E,Z)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,Z)|0,r=r+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,r=r+Math.imul(m,ne)|0,i=(i=i+Math.imul(m,re)|0)+Math.imul(b,ne)|0,o=o+Math.imul(b,re)|0,r=r+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,se)|0;var Ee=(c+(r=r+Math.imul(l,ue)|0)|0)+((8191&(i=(i=i+Math.imul(l,ce)|0)+Math.imul(d,ue)|0))<<13)|0;c=((o=o+Math.imul(d,ce)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(L,z),i=(i=Math.imul(L,q))+Math.imul(j,z)|0,o=Math.imul(j,q),r=r+Math.imul(P,H)|0,i=(i=i+Math.imul(P,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(x,W)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,$)|0,r=r+Math.imul(I,J)|0,i=(i=i+Math.imul(I,Z)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,Z)|0,r=r+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,ee)|0,r=r+Math.imul(w,ne)|0,i=(i=i+Math.imul(w,re)|0)+Math.imul(_,ne)|0,o=o+Math.imul(_,re)|0,r=r+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,se)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,se)|0,r=r+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0;var Me=(c+(r=r+Math.imul(l,le)|0)|0)+((8191&(i=(i=i+Math.imul(l,de)|0)+Math.imul(d,le)|0))<<13)|0;c=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(U,z),i=(i=Math.imul(U,q))+Math.imul(B,z)|0,o=Math.imul(B,q),r=r+Math.imul(L,H)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(j,H)|0,o=o+Math.imul(j,V)|0,r=r+Math.imul(P,W)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,$)|0,r=r+Math.imul(x,J)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(C,J)|0,o=o+Math.imul(C,Z)|0,r=r+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(M,ne)|0,o=o+Math.imul(M,re)|0,r=r+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,r=r+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,ce)|0)+Math.imul(b,ue)|0,o=o+Math.imul(b,ce)|0,r=r+Math.imul(p,le)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(v,le)|0,o=o+Math.imul(v,de)|0;var Ae=(c+(r=r+Math.imul(l,pe)|0)|0)+((8191&(i=(i=i+Math.imul(l,ve)|0)+Math.imul(d,pe)|0))<<13)|0;c=((o=o+Math.imul(d,ve)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(U,H),i=(i=Math.imul(U,V))+Math.imul(B,H)|0,o=Math.imul(B,V),r=r+Math.imul(L,W)|0,i=(i=i+Math.imul(L,$)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,$)|0,r=r+Math.imul(P,J)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(N,J)|0,o=o+Math.imul(N,Z)|0,r=r+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,ee)|0,r=r+Math.imul(I,ne)|0,i=(i=i+Math.imul(I,re)|0)+Math.imul(k,ne)|0,o=o+Math.imul(k,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,se)|0,r=r+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,r=r+Math.imul(m,le)|0,i=(i=i+Math.imul(m,de)|0)+Math.imul(b,le)|0,o=o+Math.imul(b,de)|0;var Ie=(c+(r=r+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ve)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,ve)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(U,W),i=(i=Math.imul(U,$))+Math.imul(B,W)|0,o=Math.imul(B,$),r=r+Math.imul(L,J)|0,i=(i=i+Math.imul(L,Z)|0)+Math.imul(j,J)|0,o=o+Math.imul(j,Z)|0,r=r+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,ee)|0,r=r+Math.imul(x,ne)|0,i=(i=i+Math.imul(x,re)|0)+Math.imul(C,ne)|0,o=o+Math.imul(C,re)|0,r=r+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,r=r+Math.imul(w,le)|0,i=(i=i+Math.imul(w,de)|0)+Math.imul(_,le)|0,o=o+Math.imul(_,de)|0;var ke=(c+(r=r+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,ve)|0)+Math.imul(b,pe)|0))<<13)|0;c=((o=o+Math.imul(b,ve)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(U,J),i=(i=Math.imul(U,Z))+Math.imul(B,J)|0,o=Math.imul(B,Z),r=r+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,ee)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,ee)|0,r=r+Math.imul(P,ne)|0,i=(i=i+Math.imul(P,re)|0)+Math.imul(N,ne)|0,o=o+Math.imul(N,re)|0,r=r+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,r=r+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,r=r+Math.imul(E,le)|0,i=(i=i+Math.imul(E,de)|0)+Math.imul(M,le)|0,o=o+Math.imul(M,de)|0;var Oe=(c+(r=r+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,ve)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ve)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(U,Q),i=(i=Math.imul(U,ee))+Math.imul(B,Q)|0,o=Math.imul(B,ee),r=r+Math.imul(L,ne)|0,i=(i=i+Math.imul(L,re)|0)+Math.imul(j,ne)|0,o=o+Math.imul(j,re)|0,r=r+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,se)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,se)|0,r=r+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(C,ue)|0,o=o+Math.imul(C,ce)|0,r=r+Math.imul(I,le)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,de)|0;var xe=(c+(r=r+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,ve)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,ve)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(U,ne),i=(i=Math.imul(U,re))+Math.imul(B,ne)|0,o=Math.imul(B,re),r=r+Math.imul(L,oe)|0,i=(i=i+Math.imul(L,se)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,se)|0,r=r+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(N,ue)|0,o=o+Math.imul(N,ce)|0,r=r+Math.imul(x,le)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(C,le)|0,o=o+Math.imul(C,de)|0;var Ce=(c+(r=r+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ve)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,ve)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(U,oe),i=(i=Math.imul(U,se))+Math.imul(B,oe)|0,o=Math.imul(B,se),r=r+Math.imul(L,ue)|0,i=(i=i+Math.imul(L,ce)|0)+Math.imul(j,ue)|0,o=o+Math.imul(j,ce)|0,r=r+Math.imul(P,le)|0,i=(i=i+Math.imul(P,de)|0)+Math.imul(N,le)|0,o=o+Math.imul(N,de)|0;var Te=(c+(r=r+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,ve)|0)+Math.imul(C,pe)|0))<<13)|0;c=((o=o+Math.imul(C,ve)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(U,ue),i=(i=Math.imul(U,ce))+Math.imul(B,ue)|0,o=Math.imul(B,ce),r=r+Math.imul(L,le)|0,i=(i=i+Math.imul(L,de)|0)+Math.imul(j,le)|0,o=o+Math.imul(j,de)|0;var Pe=(c+(r=r+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,ve)|0)+Math.imul(N,pe)|0))<<13)|0;c=((o=o+Math.imul(N,ve)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(U,le),i=(i=Math.imul(U,de))+Math.imul(B,le)|0,o=Math.imul(B,de);var Ne=(c+(r=r+Math.imul(L,pe)|0)|0)+((8191&(i=(i=i+Math.imul(L,ve)|0)+Math.imul(j,pe)|0))<<13)|0;c=((o=o+Math.imul(j,ve)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var Re=(c+(r=Math.imul(U,pe))|0)+((8191&(i=(i=Math.imul(U,ve))+Math.imul(B,pe)|0))<<13)|0;return c=((o=Math.imul(B,ve))+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,u[0]=ge,u[1]=me,u[2]=be,u[3]=ye,u[4]=we,u[5]=_e,u[6]=Se,u[7]=Ee,u[8]=Me,u[9]=Ae,u[10]=Ie,u[11]=ke,u[12]=Oe,u[13]=xe,u[14]=Ce,u[15]=Te,u[16]=Pe,u[17]=Ne,u[18]=Re,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function m(e,t,n){return g(e,t,n)}function b(e,t){this.x=e,this.y=t}Math.imul||(v=p),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?v(this,e,t):n<63?p(this,e,t):n<1024?g(this,e,t):m(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,r=0;r>=1;return r},b.prototype.permute=function(e,t,n,r,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,n+=o/67108864|0,n+=s>>>26,this.words[i]=67108863&s}return 0!==n&&(this.words[i]=n,this.length++),t?this.ineg():this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>i&1}return t}(e);if(0===t.length)return new o(1);for(var n=this,r=0;r=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==f||c>=i);c--){var l=0|this.words[c];this.words[c]=f<<26-o|l>>>o,f=l&a}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,u=r.length-i.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|r.words[i.length+l])+(0|r.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,l);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,l),r.isZero()||(r.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),r._strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modrn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modrn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=(1<<26)%e,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%e;return t?-i:i},o.prototype.modn=function(e){return this.modrn(e)},o.prototype.idivn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/e|0,n=o%e}return this._strip(),t?this.ineg():this},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var f=n.clone(),l=t.clone();!t.isZero();){for(var d=0,h=1;0==(t.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(f),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,v=1;0==(n.words[0]&v)&&p<26;++p,v<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(f),u.isub(l)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(a),s.isub(u)):(n.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){ri&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new A(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function w(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function E(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function I(e){A.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},w.prototype.split=function(e,t){e.iushrn(this.n,0,t)},w.prototype.imulK=function(e){return e.imul(this.k)},i(_,w),_.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r>>22,i=o}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new S;else if("p192"===e)t=new E;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new M}return y[e]=t,t},A.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},A.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},A.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(c(e,e.umod(this.m)._forceRed(this)),e)},A.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},A.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},A.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},A.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},A.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},A.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},A.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},A.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},A.prototype.isqr=function(e){return this.imul(e,e.clone())},A.prototype.sqr=function(e){return this.mul(e,e)},A.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new o(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var l=this.pow(f,i),d=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(a);){for(var v=h,g=0;0!==v.cmp(a);g++)v=v.redSqr();r(g=0;r--){for(var c=t.words[r],f=u-1;f>=0;f--){var l=c>>f&1;i!==n[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===r&&0===f)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}u=26}return i},A.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},A.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new I(e)},i(I,A),I.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},I.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},I.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},I.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},I.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,n(57)(e))},function(e,t,n){"use strict";const r=t;r.bignum=n(29),r.define=n(351).define,r.base=n(354),r.constants=n(355),r.decoders=n(207),r.encoders=n(205)},function(e,t,n){"use strict";const r=t;r.der=n(206),r.pem=n(352)},function(e,t,n){"use strict";const r=n(7),i=n(130).Buffer,o=n(131),s=n(133);function a(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new u,this.tree._init(e.body)}function u(e){o.call(this,"der",e)}function c(e){return e<10?"0"+e:e}e.exports=a,a.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},r(u,o),u.prototype._encodeComposite=function(e,t,n,r){const o=function(e,t,n,r){let i;"seqof"===e?e="seq":"setof"===e&&(e="set");if(s.tagByName.hasOwnProperty(e))i=s.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return r.error("Unknown tag: "+e);i=e}if(i>=31)return r.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=s.tagClassByName[n||"universal"]<<6,i}(e,t,n,this.reporter);if(r.length<128){const e=i.alloc(2);return e[0]=o,e[1]=r.length,this._createEncoderBuffer([e,r])}let a=1;for(let e=r.length;e>=256;e>>=8)a++;const u=i.alloc(2+a);u[0]=o,u[1]=128|a;for(let e=1+a,t=r.length;t>0;e--,t>>=8)u[e]=255&t;return this._createEncoderBuffer([u,r])},u.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){const t=i.alloc(2*e.length);for(let n=0;n=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}let r=0;for(let t=0;t=128;n>>=7)r++}const o=i.alloc(r);let s=o.length-1;for(let t=e.length-1;t>=0;t--){let n=e[t];for(o[s--]=127&n;(n>>=7)>0;)o[s--]=128|127&n}return this._createEncoderBuffer(o)},u.prototype._encodeTime=function(e,t){let n;const r=new Date(e);return"gentime"===t?n=[c(r.getUTCFullYear()),c(r.getUTCMonth()+1),c(r.getUTCDate()),c(r.getUTCHours()),c(r.getUTCMinutes()),c(r.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[c(r.getUTCFullYear()%100),c(r.getUTCMonth()+1),c(r.getUTCDate()),c(r.getUTCHours()),c(r.getUTCMinutes()),c(r.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){const t=e.toArray();!e.sign&&128&t[0]&&t.unshift(0),e=i.from(t)}if(i.isBuffer(e)){let t=e.length;0===e.length&&t++;const n=i.alloc(t);return e.copy(n),0===e.length&&(n[0]=0),this._createEncoderBuffer(n)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);let n=1;for(let t=e;t>=256;t>>=8)n++;const r=new Array(n);for(let t=r.length-1;t>=0;t--)r[t]=255&e,e>>=8;return 128&r[0]&&r.unshift(0),this._createEncoderBuffer(i.from(r))},u.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},u.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},u.prototype._skipDefault=function(e,t,n){const r=this._baseState;let i;if(null===r.default)return!1;const o=e.join();if(void 0===r.defaultBuffer&&(r.defaultBuffer=this._encodeValue(r.default,t,n).join()),o.length!==r.defaultBuffer.length)return!1;for(i=0;i>6],i=0==(32&n);if(31==(31&n)){let r=n;for(n=0;128==(128&r);){if(r=e.readUInt8(t),e.isError(r))return r;n<<=7,n|=127&r}}else n&=31;return{cls:r,primitive:i,tag:n,tagStr:a.tag[n]}}function l(e,t,n){let r=e.readUInt8(n);if(e.isError(r))return r;if(!t&&128===r)return null;if(0==(128&r))return r;const i=127&r;if(i>4)return e.error("length octect is too long");r=0;for(let t=0;t>>((3&t)<<3)&255;return i}}},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=n;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join("")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(217),i=n(218),o=n(249),s=n(134),a=function(){function e(e){e?(this.operation=function(e){return new Promise((function(t,n){var r=s.locateWindow().msCrypto.subtle.importKey("raw",u(e),i.SHA_256_HMAC_ALGO,!1,["sign"]);r.oncomplete=function(){r.result&&t(r.result),n("ImportKey completed without importing key.")},r.onerror=function(){n("ImportKey failed to import key.")}}))}(e).then((function(e){return s.locateWindow().msCrypto.subtle.sign(i.SHA_256_HMAC_ALGO,e)})),this.operation.catch((function(){}))):this.operation=Promise.resolve(s.locateWindow().msCrypto.subtle.digest("SHA-256"))}return e.prototype.update=function(e){var t=this;r.isEmptyData(e)||(this.operation=this.operation.then((function(n){return n.onerror=function(){t.operation=Promise.reject(new Error("Error encountered updating hash"))},n.process(u(e)),n})),this.operation.catch((function(){})))},e.prototype.digest=function(){return this.operation.then((function(e){return new Promise((function(t,n){e.onerror=function(){n("Error encountered finalizing hash")},e.oncomplete=function(){e.result&&t(new Uint8Array(e.result)),n("Error encountered finalizing hash")},e.finish()}))}))},e}();function u(e){return"string"==typeof e?o.fromUtf8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}t.Sha256=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EMPTY_DATA_SHA_256=t.SHA_256_HMAC_ALGO=t.SHA_256_HASH=void 0,t.SHA_256_HASH={name:"SHA-256"},t.SHA_256_HMAC_ALGO={name:"HMAC",hash:t.SHA_256_HASH},t.EMPTY_DATA_SHA_256=new Uint8Array([227,176,196,66,152,252,28,20,154,251,244,200,153,111,185,36,39,174,65,228,100,155,147,76,164,149,153,27,120,82,184,85])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(249),i=n(217),o=n(218),s=n(134),a=function(){function e(e){this.toHash=new Uint8Array(0),void 0!==e&&(this.key=new Promise((function(t,n){s.locateWindow().crypto.subtle.importKey("raw",u(e),o.SHA_256_HMAC_ALGO,!1,["sign"]).then(t,n)})),this.key.catch((function(){})))}return e.prototype.update=function(e){if(!i.isEmptyData(e)){var t=u(e),n=new Uint8Array(this.toHash.byteLength+t.byteLength);n.set(this.toHash,0),n.set(t,this.toHash.byteLength),this.toHash=n}},e.prototype.digest=function(){var e=this;return this.key?this.key.then((function(t){return s.locateWindow().crypto.subtle.sign(o.SHA_256_HMAC_ALGO,t,e.toHash).then((function(e){return new Uint8Array(e)}))})):i.isEmptyData(this.toHash)?Promise.resolve(o.EMPTY_DATA_SHA_256):Promise.resolve().then((function(){return s.locateWindow().crypto.subtle.digest(o.SHA_256_HASH,e.toHash)})).then((function(e){return Promise.resolve(new Uint8Array(e))}))},e}();function u(e){return"string"==typeof e?r.fromUtf8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}t.Sha256=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=new(n(44).a)("Parser"),i=function(e){var t,n={};if(e.aws_mobile_analytics_app_id){var i={AWSPinpoint:{appId:e.aws_mobile_analytics_app_id,region:e.aws_mobile_analytics_app_region}};n.Analytics=i}return(e.aws_cognito_identity_pool_id||e.aws_user_pools_id)&&(n.Auth={userPoolId:e.aws_user_pools_id,userPoolWebClientId:e.aws_user_pools_web_client_id,region:e.aws_cognito_region,identityPoolId:e.aws_cognito_identity_pool_id,identityPoolRegion:e.aws_cognito_region,mandatorySignIn:"enable"===e.aws_mandatory_sign_in}),t=e.aws_user_files_s3_bucket?{AWSS3:{bucket:e.aws_user_files_s3_bucket,region:e.aws_user_files_s3_bucket_region,dangerouslyConnectToHttpEndpointForTesting:e.aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing}}:e?e.Storage||e:{},n.Analytics=Object.assign({},n.Analytics,e.Analytics),n.Auth=Object.assign({},n.Auth,e.Auth),n.Storage=Object.assign({},t),r.debug("parse config",e,"to amplifyconfig",n),n},o=function(){function e(){}return e.parseMobilehubConfig=i,e}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(31))},function(e,t,n){var r=n(84),i=n(225);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){var r=n(229),i=n(420),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))o.call(e,n)&&"constructor"!=n&&t.push(n);return t}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(422),i=n(137),o=n(423),s=n(424),a=n(425),u=n(84),c=n(226),f=c(r),l=c(i),d=c(o),h=c(s),p=c(a),v=u;(r&&"[object DataView]"!=v(new r(new ArrayBuffer(1)))||i&&"[object Map]"!=v(new i)||o&&"[object Promise]"!=v(o.resolve())||s&&"[object Set]"!=v(new s)||a&&"[object WeakMap]"!=v(new a))&&(v=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?c(n):"";if(r)switch(r){case f:return"[object DataView]";case l:return"[object Map]";case d:return"[object Promise]";case h:return"[object Set]";case p:return"[object WeakMap]"}return t}),e.exports=v},function(e,t,n){var r=n(426),i=n(85),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return i(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=u},function(e,t,n){var r=n(224),i=n(233);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},function(e,t){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var r=n(439),i=n(442),o=n(443);e.exports=function(e,t,n,s,a,u){var c=1&n,f=e.length,l=t.length;if(f!=l&&!(c&&l>f))return!1;var d=u.get(e),h=u.get(t);if(d&&h)return d==t&&h==e;var p=-1,v=!0,g=2&n?new r:void 0;for(u.set(e,t),u.set(t,e);++p=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){u.headers[e]=r.merge(o)})),e.exports=u}).call(this,n(20))},function(e,t,n){"use strict";var r=n(45),i=n(471),o=n(473),s=n(236),a=n(474),u=n(477),c=n(478),f=n(240);e.exports=function(e){return new Promise((function(t,n){var l=e.data,d=e.headers;r.isFormData(l)&&delete d["Content-Type"];var h=new XMLHttpRequest;if(e.auth){var p=e.auth.username||"",v=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(p+":"+v)}var g=a(e.baseURL,e.url);if(h.open(e.method.toUpperCase(),s(g,e.params,e.paramsSerializer),!0),h.timeout=e.timeout,h.onreadystatechange=function(){if(h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in h?u(h.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?h.response:h.responseText,status:h.status,statusText:h.statusText,headers:r,config:e,request:h};i(t,n,o),h=null}},h.onabort=function(){h&&(n(f("Request aborted",e,"ECONNABORTED",h)),h=null)},h.onerror=function(){n(f("Network Error",e,null,h)),h=null},h.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(f(t,e,"ECONNABORTED",h)),h=null},r.isStandardBrowserEnv()){var m=(e.withCredentials||c(g))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;m&&(d[e.xsrfHeaderName]=m)}if("setRequestHeader"in h&&r.forEach(d,(function(e,t){void 0===l&&"content-type"===t.toLowerCase()?delete d[t]:h.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(h.withCredentials=!!e.withCredentials),e.responseType)try{h.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&h.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){h&&(h.abort(),n(e),h=null)})),l||(l=null),h.send(l)}))}},function(e,t,n){"use strict";var r=n(472);e.exports=function(e,t,n,i,o){var s=new Error(e);return r(s,t,n,i,o)}},function(e,t,n){"use strict";var r=n(45);e.exports=function(e,t){t=t||{};var n={},i=["url","method","data"],o=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function u(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function c(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=u(void 0,e[i])):n[i]=u(e[i],t[i])}r.forEach(i,(function(e){r.isUndefined(t[e])||(n[e]=u(void 0,t[e]))})),r.forEach(o,c),r.forEach(s,(function(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=u(void 0,e[i])):n[i]=u(void 0,t[i])})),r.forEach(a,(function(r){r in t?n[r]=u(e[r],t[r]):r in e&&(n[r]=u(void 0,e[r]))}));var f=i.concat(o).concat(s).concat(a),l=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===f.indexOf(e)}));return r.forEach(l,c),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t){var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(n){var r=new Uint8Array(16);e.exports=function(){return n(r),r}}else{var i=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=n;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join("")}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(){function e(){}return e.createPredicateBuilder=function(t){var n=t.name,r=new Set(Object.keys(t.fields)),i=new Proxy({},{get:function(t,i,o){var s=i;if(!r.has(s))throw new Error("Invalid field for model. field: "+s+", model: "+n);return function(t){return e.sortPredicateGroupsMap.get(o).push({field:s,sortDirection:t}),o}}});return e.sortPredicateGroupsMap.set(i,[]),i},e.isValidPredicate=function(t){return e.sortPredicateGroupsMap.has(t)},e.getPredicates=function(t,n){if(void 0===n&&(n=!0),n&&!e.isValidPredicate(t))throw new Error("The predicate is not valid");return e.sortPredicateGroupsMap.get(t)},e.createFromExisting=function(t,n){if(n&&t)return n(e.createPredicateBuilder(t))},e.sortPredicateGroupsMap=new WeakMap,e}()},function(e,t,n){(function(e){var n,r,i,o;function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}o=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==s(e)&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),r(n(1)),r(n(2)),r(n(3)),r(n(4)),r(n(5)),r(n(6)),r(n(7)),r(n(8)),r(n(9)),r(n(10)),r(n(11)),r(n(12)),r(n(13))},function(e,t,n){e.exports={a:"Anchor__a___1_Iz8"}},function(e,t,n){e.exports={button:"Button__button___vS7Mv",signInButton:"Button__signInButton___3bUH-",googleSignInButton:"Button__googleSignInButton___1YiCu",signInButtonIcon:"Button__signInButtonIcon___ihN75",auth0SignInButton:"Button__auth0SignInButton___znnCj",facebookSignInButton:"Button__facebookSignInButton___34Txh",amazonSignInButton:"Button__amazonSignInButton___2EMtl",oAuthSignInButton:"Button__oAuthSignInButton___3UGOl",signInButtonContent:"Button__signInButtonContent___xqTXJ"}},function(e,t,n){e.exports={formContainer:"Form__formContainer___1GA3x",formSection:"Form__formSection___1PPvW",formField:"Form__formField___38Ikl",formRow:"Form__formRow___2mwRs"}},function(e,t,n){e.exports={hint:"Hint__hint___2XngB"}},function(e,t,n){e.exports={input:"Input__input___3e_bf",inputLabel:"Input__inputLabel___3VF0S",label:"Input__label___23sO8",radio:"Input__radio___2hllK"}},function(e,t,n){e.exports={navBar:"Nav__navBar___xtCFA",navRight:"Nav__navRight___1QG2J",nav:"Nav__nav___2Dx2Y",navItem:"Nav__navItem___1LtFQ"}},function(e,t,n){e.exports={photoPickerButton:"PhotoPicker__photoPickerButton___2XdVn",photoPlaceholder:"PhotoPicker__photoPlaceholder___2JXO4",photoPlaceholderIcon:"PhotoPicker__photoPlaceholderIcon___3Et71"}},function(e,t,n){e.exports={container:"Section__container___3YYTG",actionRow:"Section__actionRow___2LWSU",sectionHeader:"Section__sectionHeader___2djyg",sectionHeaderHint:"Section__sectionHeaderHint___3Wxdc",sectionBody:"Section__sectionBody___ihqqd",sectionHeaderContent:"Section__sectionHeaderContent___1UCqa",sectionFooter:"Section__sectionFooter___1T54C",sectionFooterPrimaryContent:"Section__sectionFooterPrimaryContent___2r9ZX",sectionFooterSecondaryContent:"Section__sectionFooterSecondaryContent___Nj41Q"}},function(e,t,n){e.exports={selectInput:"SelectInput__selectInput___3efO4"}},function(e,t,n){e.exports={strike:"Strike__strike___1XV1b",strikeContent:"Strike__strikeContent___10gLb"}},function(e,t,n){e.exports={toast:"Toast__toast___XXr3v",toastClose:"Toast__toastClose___18lU4"}},function(e,t,n){e.exports={totpQrcode:"Totp__totpQrcode___1crLx"}},function(e,t,n){e.exports={sumerianSceneContainer:"XR__sumerianSceneContainer___3nVMt",sumerianScene:"XR__sumerianScene___2Tt7-",loadingOverlay:"XR__loadingOverlay___IbqcI",loadingContainer:"XR__loadingContainer___2Itxb",loadingLogo:"XR__loadingLogo___Ub7xQ",loadingSceneName:"XR__loadingSceneName___3__ne",loadingBar:"XR__loadingBar___2vcke",loadingBarFill:"XR__loadingBarFill___3M-D9",sceneErrorText:"XR__sceneErrorText___2y0tp",sceneBar:"XR__sceneBar___2ShrP",sceneName:"XR__sceneName___1ApHr",sceneActions:"XR__sceneActions___7plGs",actionButton:"XR__actionButton___2poIM",tooltip:"XR__tooltip___UYyhn",actionIcon:"XR__actionIcon___2qnd2",autoShowTooltip:"XR__autoShowTooltip___V1QH7"}}])},"object"==s(t)&&"object"==s(e)?e.exports=o():(r=[],void 0===(i="function"==typeof(n=o)?n.apply(t,r):n)||(e.exports=i))}).call(this,n(57)(e))},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(52),i=n(63),o=n(89),s=n(19),a=n(146),u=n(258),c=function(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n2&&void 0!==arguments[2]?arguments[2]:i,r=void 0,u=Array.isArray(e),c=[e],f=-1,l=[],d=void 0,h=void 0,p=void 0,v=[],g=[],m=e;do{var b=++f===c.length,y=b&&0!==l.length;if(b){if(h=0===g.length?void 0:v[v.length-1],d=p,p=g.pop(),y){if(u)d=d.slice();else{var w={};for(var _ in d)d.hasOwnProperty(_)&&(w[_]=d[_]);d=w}for(var S=0,E=0;E0||m(0,"line in locationOffset is 1-indexed and must be positive"),this.locationOffset.column>0||m(0,"column in locationOffset is 1-indexed and must be positive")};function _(e,t,n){return new r.a("Syntax Error: ".concat(n),void 0,e,[t])}function S(e){for(var t=e.split(/\r\n|[\n\r]/g),n=null,r=1;r0&&M(t[0]);)t.shift();for(;t.length>0&&M(t[t.length-1]);)t.pop();return t.join("\n")}function E(e){for(var t=0;t",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});function x(e){var t=e.value;return t?"".concat(e.kind,' "').concat(t,'"'):e.kind}var C=String.prototype.charCodeAt,T=String.prototype.slice;function P(e,t,n,r,i,o,s){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=s,this.prev=o,this.next=null}function N(e){return isNaN(e)?O.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function R(e,t){var n=e.source,r=n.body,i=r.length,o=function(e,t,n){var r=e.length,i=t;for(;i=i)return new P(O.EOF,i,i,s,a,t);var u=C.call(r,o);switch(u){case 33:return new P(O.BANG,o,o+1,s,a,t);case 35:return function(e,t,n,r,i){var o,s=e.body,a=t;do{o=C.call(s,++a)}while(null!==o&&(o>31||9===o));return new P(O.COMMENT,t,a,n,r,i,T.call(s,t+1,a))}(n,o,s,a,t);case 36:return new P(O.DOLLAR,o,o+1,s,a,t);case 38:return new P(O.AMP,o,o+1,s,a,t);case 40:return new P(O.PAREN_L,o,o+1,s,a,t);case 41:return new P(O.PAREN_R,o,o+1,s,a,t);case 46:if(46===C.call(r,o+1)&&46===C.call(r,o+2))return new P(O.SPREAD,o,o+3,s,a,t);break;case 58:return new P(O.COLON,o,o+1,s,a,t);case 61:return new P(O.EQUALS,o,o+1,s,a,t);case 64:return new P(O.AT,o,o+1,s,a,t);case 91:return new P(O.BRACKET_L,o,o+1,s,a,t);case 93:return new P(O.BRACKET_R,o,o+1,s,a,t);case 123:return new P(O.BRACE_L,o,o+1,s,a,t);case 124:return new P(O.PIPE,o,o+1,s,a,t);case 125:return new P(O.BRACE_R,o,o+1,s,a,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,i){var o=e.body,s=o.length,a=t+1,u=0;for(;a!==s&&null!==(u=C.call(o,a))&&(95===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122);)++a;return new P(O.NAME,t,a,n,r,i,T.call(o,t,a))}(n,o,s,a,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,r,i,o){var s=e.body,a=n,u=t,c=!1;45===a&&(a=C.call(s,++u));if(48===a){if((a=C.call(s,++u))>=48&&a<=57)throw _(e,u,"Invalid number, unexpected digit after 0: ".concat(N(a),"."))}else u=L(e,u,a),a=C.call(s,u);46===a&&(c=!0,a=C.call(s,++u),u=L(e,u,a),a=C.call(s,u));69!==a&&101!==a||(c=!0,43!==(a=C.call(s,++u))&&45!==a||(a=C.call(s,++u)),u=L(e,u,a));return new P(c?O.FLOAT:O.INT,t,u,r,i,o,T.call(s,t,u))}(n,o,u,s,a,t);case 34:return 34===C.call(r,o+1)&&34===C.call(r,o+2)?function(e,t,n,r,i){var o=e.body,s=t+3,a=s,u=0,c="";for(;s=48&&o<=57){do{o=C.call(r,++i)}while(o>=48&&o<=57);return i}throw _(e,i,"Invalid number, expected digit but got: ".concat(N(o),"."))}function j(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}P.prototype.toJSON=P.prototype.inspect=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}};var D=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"}),U=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});function B(e,t){var n="string"==typeof e?new w(e):e;if(!(n instanceof w))throw new TypeError("Must provide Source. Received: ".concat(g(n)));return function(e){var t=e.token;return{kind:D.DOCUMENT,definitions:Te(e,O.SOF,z,O.EOF),loc:Ee(e,t)}}(A(n,t||{}))}function F(e){var t=ke(e,O.NAME);return{kind:D.NAME,value:t.value,loc:Ee(e,t)}}function z(e){if(Ae(e,O.NAME))switch(e.token.value){case"query":case"mutation":case"subscription":case"fragment":return q(e);case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return ce(e);case"extend":return function(e){var t=e.lookahead();if(t.kind===O.NAME)switch(t.value){case"schema":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"schema");var n=oe(e,!0),r=Ae(e,O.BRACE_L)?Te(e,O.BRACE_L,de,O.BRACE_R):[];if(0===n.length&&0===r.length)throw xe(e);return{kind:D.SCHEMA_EXTENSION,directives:n,operationTypes:r,loc:Ee(e,t)}}(e);case"scalar":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"scalar");var n=F(e),r=oe(e,!0);if(0===r.length)throw xe(e);return{kind:D.SCALAR_TYPE_EXTENSION,name:n,directives:r,loc:Ee(e,t)}}(e);case"type":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"type");var n=F(e),r=he(e),i=oe(e,!0),o=pe(e);if(0===r.length&&0===i.length&&0===o.length)throw xe(e);return{kind:D.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:o,loc:Ee(e,t)}}(e);case"interface":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"interface");var n=F(e),r=oe(e,!0),i=pe(e);if(0===r.length&&0===i.length)throw xe(e);return{kind:D.INTERFACE_TYPE_EXTENSION,name:n,directives:r,fields:i,loc:Ee(e,t)}}(e);case"union":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"union");var n=F(e),r=oe(e,!0),i=be(e);if(0===r.length&&0===i.length)throw xe(e);return{kind:D.UNION_TYPE_EXTENSION,name:n,directives:r,types:i,loc:Ee(e,t)}}(e);case"enum":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"enum");var n=F(e),r=oe(e,!0),i=ye(e);if(0===r.length&&0===i.length)throw xe(e);return{kind:D.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i,loc:Ee(e,t)}}(e);case"input":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"input");var n=F(e),r=oe(e,!0),i=_e(e);if(0===r.length&&0===i.length)throw xe(e);return{kind:D.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i,loc:Ee(e,t)}}(e)}throw xe(e,t)}(e)}else{if(Ae(e,O.BRACE_L))return q(e);if(fe(e))return ce(e)}throw xe(e)}function q(e){if(Ae(e,O.NAME))switch(e.token.value){case"query":case"mutation":case"subscription":return K(e);case"fragment":return function(e){var t=e.token;if(Oe(e,"fragment"),e.options.experimentalFragmentVariables)return{kind:D.FRAGMENT_DEFINITION,name:Q(e),variableDefinitions:V(e),typeCondition:(Oe(e,"on"),ue(e)),directives:oe(e,!1),selectionSet:$(e),loc:Ee(e,t)};return{kind:D.FRAGMENT_DEFINITION,name:Q(e),typeCondition:(Oe(e,"on"),ue(e)),directives:oe(e,!1),selectionSet:$(e),loc:Ee(e,t)}}(e)}else if(Ae(e,O.BRACE_L))return K(e);throw xe(e)}function K(e){var t=e.token;if(Ae(e,O.BRACE_L))return{kind:D.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:$(e),loc:Ee(e,t)};var n,r=H(e);return Ae(e,O.NAME)&&(n=F(e)),{kind:D.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:V(e),directives:oe(e,!1),selectionSet:$(e),loc:Ee(e,t)}}function H(e){var t=ke(e,O.NAME);switch(t.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw xe(e,t)}function V(e){return Ae(e,O.PAREN_L)?Te(e,O.PAREN_L,G,O.PAREN_R):[]}function G(e){var t=e.token;return e.options.experimentalVariableDefinitionDirectives?{kind:D.VARIABLE_DEFINITION,variable:W(e),type:(ke(e,O.COLON),ae(e)),defaultValue:Ie(e,O.EQUALS)?ee(e,!0):void 0,directives:oe(e,!0),loc:Ee(e,t)}:{kind:D.VARIABLE_DEFINITION,variable:W(e),type:(ke(e,O.COLON),ae(e)),defaultValue:Ie(e,O.EQUALS)?ee(e,!0):void 0,loc:Ee(e,t)}}function W(e){var t=e.token;return ke(e,O.DOLLAR),{kind:D.VARIABLE,name:F(e),loc:Ee(e,t)}}function $(e){var t=e.token;return{kind:D.SELECTION_SET,selections:Te(e,O.BRACE_L,Y,O.BRACE_R),loc:Ee(e,t)}}function Y(e){return Ae(e,O.SPREAD)?function(e){var t,n=e.token;if(ke(e,O.SPREAD),Ae(e,O.NAME)&&"on"!==e.token.value)return{kind:D.FRAGMENT_SPREAD,name:Q(e),directives:oe(e,!1),loc:Ee(e,n)};"on"===e.token.value&&(e.advance(),t=ue(e));return{kind:D.INLINE_FRAGMENT,typeCondition:t,directives:oe(e,!1),selectionSet:$(e),loc:Ee(e,n)}}(e):function(e){var t,n,r=e.token,i=F(e);Ie(e,O.COLON)?(t=i,n=F(e)):n=i;return{kind:D.FIELD,alias:t,name:n,arguments:J(e,!1),directives:oe(e,!1),selectionSet:Ae(e,O.BRACE_L)?$(e):void 0,loc:Ee(e,r)}}(e)}function J(e,t){var n=t?X:Z;return Ae(e,O.PAREN_L)?Te(e,O.PAREN_L,n,O.PAREN_R):[]}function Z(e){var t=e.token;return{kind:D.ARGUMENT,name:F(e),value:(ke(e,O.COLON),ee(e,!1)),loc:Ee(e,t)}}function X(e){var t=e.token;return{kind:D.ARGUMENT,name:F(e),value:(ke(e,O.COLON),ne(e)),loc:Ee(e,t)}}function Q(e){if("on"===e.token.value)throw xe(e);return F(e)}function ee(e,t){var n=e.token;switch(n.kind){case O.BRACKET_L:return function(e,t){var n=e.token,r=t?ne:re;return{kind:D.LIST,values:Ce(e,O.BRACKET_L,r,O.BRACKET_R),loc:Ee(e,n)}}(e,t);case O.BRACE_L:return function(e,t){var n=e.token;ke(e,O.BRACE_L);var r=[];for(;!Ie(e,O.BRACE_R);)r.push(ie(e,t));return{kind:D.OBJECT,fields:r,loc:Ee(e,n)}}(e,t);case O.INT:return e.advance(),{kind:D.INT,value:n.value,loc:Ee(e,n)};case O.FLOAT:return e.advance(),{kind:D.FLOAT,value:n.value,loc:Ee(e,n)};case O.STRING:case O.BLOCK_STRING:return te(e);case O.NAME:return"true"===n.value||"false"===n.value?(e.advance(),{kind:D.BOOLEAN,value:"true"===n.value,loc:Ee(e,n)}):"null"===n.value?(e.advance(),{kind:D.NULL,loc:Ee(e,n)}):(e.advance(),{kind:D.ENUM,value:n.value,loc:Ee(e,n)});case O.DOLLAR:if(!t)return W(e)}throw xe(e)}function te(e){var t=e.token;return e.advance(),{kind:D.STRING,value:t.value,block:t.kind===O.BLOCK_STRING,loc:Ee(e,t)}}function ne(e){return ee(e,!0)}function re(e){return ee(e,!1)}function ie(e,t){var n=e.token;return{kind:D.OBJECT_FIELD,name:F(e),value:(ke(e,O.COLON),ee(e,t)),loc:Ee(e,n)}}function oe(e,t){for(var n=[];Ae(e,O.AT);)n.push(se(e,t));return n}function se(e,t){var n=e.token;return ke(e,O.AT),{kind:D.DIRECTIVE,name:F(e),arguments:J(e,t),loc:Ee(e,n)}}function ae(e){var t,n=e.token;return Ie(e,O.BRACKET_L)?(t=ae(e),ke(e,O.BRACKET_R),t={kind:D.LIST_TYPE,type:t,loc:Ee(e,n)}):t=ue(e),Ie(e,O.BANG)?{kind:D.NON_NULL_TYPE,type:t,loc:Ee(e,n)}:t}function ue(e){var t=e.token;return{kind:D.NAMED_TYPE,name:F(e),loc:Ee(e,t)}}function ce(e){var t=fe(e)?e.lookahead():e.token;if(t.kind===O.NAME)switch(t.value){case"schema":return function(e){var t=e.token;Oe(e,"schema");var n=oe(e,!0),r=Te(e,O.BRACE_L,de,O.BRACE_R);return{kind:D.SCHEMA_DEFINITION,directives:n,operationTypes:r,loc:Ee(e,t)}}(e);case"scalar":return function(e){var t=e.token,n=le(e);Oe(e,"scalar");var r=F(e),i=oe(e,!0);return{kind:D.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i,loc:Ee(e,t)}}(e);case"type":return function(e){var t=e.token,n=le(e);Oe(e,"type");var r=F(e),i=he(e),o=oe(e,!0),s=pe(e);return{kind:D.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:o,fields:s,loc:Ee(e,t)}}(e);case"interface":return function(e){var t=e.token,n=le(e);Oe(e,"interface");var r=F(e),i=oe(e,!0),o=pe(e);return{kind:D.INTERFACE_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o,loc:Ee(e,t)}}(e);case"union":return function(e){var t=e.token,n=le(e);Oe(e,"union");var r=F(e),i=oe(e,!0),o=be(e);return{kind:D.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:o,loc:Ee(e,t)}}(e);case"enum":return function(e){var t=e.token,n=le(e);Oe(e,"enum");var r=F(e),i=oe(e,!0),o=ye(e);return{kind:D.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:o,loc:Ee(e,t)}}(e);case"input":return function(e){var t=e.token,n=le(e);Oe(e,"input");var r=F(e),i=oe(e,!0),o=_e(e);return{kind:D.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o,loc:Ee(e,t)}}(e);case"directive":return function(e){var t=e.token,n=le(e);Oe(e,"directive"),ke(e,O.AT);var r=F(e),i=ge(e);Oe(e,"on");var o=function(e){Ie(e,O.PIPE);var t=[];do{t.push(Se(e))}while(Ie(e,O.PIPE));return t}(e);return{kind:D.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,locations:o,loc:Ee(e,t)}}(e)}throw xe(e,t)}function fe(e){return Ae(e,O.STRING)||Ae(e,O.BLOCK_STRING)}function le(e){if(fe(e))return te(e)}function de(e){var t=e.token,n=H(e);ke(e,O.COLON);var r=ue(e);return{kind:D.OPERATION_TYPE_DEFINITION,operation:n,type:r,loc:Ee(e,t)}}function he(e){var t=[];if("implements"===e.token.value){e.advance(),Ie(e,O.AMP);do{t.push(ue(e))}while(Ie(e,O.AMP)||e.options.allowLegacySDLImplementsInterfaces&&Ae(e,O.NAME))}return t}function pe(e){return e.options.allowLegacySDLEmptyFields&&Ae(e,O.BRACE_L)&&e.lookahead().kind===O.BRACE_R?(e.advance(),e.advance(),[]):Ae(e,O.BRACE_L)?Te(e,O.BRACE_L,ve,O.BRACE_R):[]}function ve(e){var t=e.token,n=le(e),r=F(e),i=ge(e);ke(e,O.COLON);var o=ae(e),s=oe(e,!0);return{kind:D.FIELD_DEFINITION,description:n,name:r,arguments:i,type:o,directives:s,loc:Ee(e,t)}}function ge(e){return Ae(e,O.PAREN_L)?Te(e,O.PAREN_L,me,O.PAREN_R):[]}function me(e){var t=e.token,n=le(e),r=F(e);ke(e,O.COLON);var i,o=ae(e);Ie(e,O.EQUALS)&&(i=ne(e));var s=oe(e,!0);return{kind:D.INPUT_VALUE_DEFINITION,description:n,name:r,type:o,defaultValue:i,directives:s,loc:Ee(e,t)}}function be(e){var t=[];if(Ie(e,O.EQUALS)){Ie(e,O.PIPE);do{t.push(ue(e))}while(Ie(e,O.PIPE))}return t}function ye(e){return Ae(e,O.BRACE_L)?Te(e,O.BRACE_L,we,O.BRACE_R):[]}function we(e){var t=e.token,n=le(e),r=F(e),i=oe(e,!0);return{kind:D.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i,loc:Ee(e,t)}}function _e(e){return Ae(e,O.BRACE_L)?Te(e,O.BRACE_L,me,O.BRACE_R):[]}function Se(e){var t=e.token,n=F(e);if(U.hasOwnProperty(n.value))return n;throw xe(e,t)}function Ee(e,t){if(!e.options.noLocation)return new Me(t,e.lastToken,e.source)}function Me(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function Ae(e,t){return e.token.kind===t}function Ie(e,t){var n=e.token.kind===t;return n&&e.advance(),n}function ke(e,t){var n=e.token;if(n.kind===t)return e.advance(),n;throw _(e.source,n.start,"Expected ".concat(t,", found ").concat(x(n)))}function Oe(e,t){var n=e.token;if(n.kind===O.NAME&&n.value===t)return e.advance(),n;throw _(e.source,n.start,'Expected "'.concat(t,'", found ').concat(x(n)))}function xe(e,t){var n=t||e.token;return _(e.source,n.start,"Unexpected ".concat(x(n)))}function Ce(e,t,n,r){ke(e,t);for(var i=[];!Ie(e,r);)i.push(n(e));return i}function Te(e,t,n,r){ke(e,t);for(var i=[n(e)];!Ie(e,r);)i.push(n(e));return i}Me.prototype.toJSON=Me.prototype.inspect=function(){return{start:this.start,end:this.end}};var Pe=n(44),Ne=n(89),Re=n(5),Le=n(103),je=n(19),De=n(34),Ue=n(42),Be=n(26),Fe=n(254),ze=function(){return(ze=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Ge=new Pe.a("GraphQLAPI"),We=function(e,t){return void 0===t&&(t={}),{query:e,variables:t}},$e=function(){function e(e){this._api=null,this.Auth=Ue.a,this.Cache=Be.a,this.Credentials=Ne.a,this._options=e,Ge.debug("API Options",this._options)}return e.prototype.getModuleName=function(){return"GraphQLAPI"},e.prototype.configure=function(e){var t=e||{},n=t.API,r=void 0===n?{}:n,i=He(t,["API"]),o=ze(ze({},i),r);return Ge.debug("configure GraphQL API",{opt:o}),o.aws_project_region&&(o=Object.assign({},o,{region:o.aws_project_region,header:{}})),void 0!==o.graphql_headers&&"function"!=typeof o.graphql_headers&&(Ge.warn("graphql_headers should be a function"),o.graphql_headers=void 0),this._options=Object.assign({},this._options,o),this.createInstance(),this._options},e.prototype.createInstance=function(){return Ge.debug("create Rest instance"),this._options?(this._api=new Fe.a(this._options),this._api.Credentials=this.Credentials,!0):Promise.reject("API not configured")},e.prototype._headerBasedAuth=function(e){return qe(this,void 0,void 0,(function(){var t,n,r,i,o,s,a,u;return Ke(this,(function(c){switch(c.label){case 0:switch(t=this._options,n=t.aws_appsync_authenticationType,r=t.aws_appsync_apiKey,i={},e||n||"AWS_IAM"){case"API_KEY":return[3,1];case"AWS_IAM":return[3,2];case"OPENID_CONNECT":return[3,4];case"AMAZON_COGNITO_USER_POOLS":return[3,9]}return[3,11];case 1:if(!r)throw new Error("No api-key configured");return i={Authorization:null,"X-Api-Key":r},[3,12];case 2:return[4,this._ensureCredentials()];case 3:if(!c.sent())throw new Error("No credentials");return[3,12];case 4:return o=void 0,[4,Be.a.getItem("federatedInfo")];case 5:return(s=c.sent())?(o=s.token,[3,8]):[3,6];case 6:return[4,Ue.a.currentAuthenticatedUser()];case 7:(a=c.sent())&&(o=a.token),c.label=8;case 8:if(!o)throw new Error("No federated jwt");return i={Authorization:o},[3,12];case 9:return[4,this.Auth.currentSession()];case 10:return u=c.sent(),i={Authorization:u.getAccessToken().getJwtToken()},[3,12];case 11:return i={Authorization:null},[3,12];case 12:return[2,i]}}))}))},e.prototype.getGraphqlOperationType=function(e){var t=B(e);return Ve(t.definitions,1)[0].operation},e.prototype.graphql=function(e,t){var n=e.query,r=e.variables,i=void 0===r?{}:r,o=e.authMode,s=B("string"==typeof n?n:u(n)),a=Ve(s.definitions.filter((function(e){return"OperationDefinition"===e.kind})),1)[0],c=(void 0===a?{}:a).operation;switch(c){case"query":case"mutation":var f=this._api.getCancellableToken(),l={cancellableToken:f},d=this._graphql({query:s,variables:i,authMode:o},t,l);return this._api.updateRequestToBeCancellable(d,f),d;case"subscription":return this._graphqlSubscribe({query:s,variables:i,authMode:o},t)}throw new Error("invalid operation type: "+c)},e.prototype._graphql=function(e,t,n){var i=e.query,o=e.variables,s=e.authMode;return void 0===t&&(t={}),void 0===n&&(n={}),qe(this,void 0,void 0,(function(){var e,a,c,f,l,d,h,p,v,g,m,b,y,w,_,S,E,M,A,I,k;return Ke(this,(function(O){switch(O.label){case 0:return this._api?[3,2]:[4,this.createInstance()];case 1:O.sent(),O.label=2;case 2:return e=this._options,a=e.aws_appsync_region,c=e.aws_appsync_graphqlEndpoint,f=e.graphql_headers,l=void 0===f?function(){return{}}:f,d=e.graphql_endpoint,h=e.graphql_endpoint_iam_region,v=[{}],(g=!d)?[4,this._headerBasedAuth(s)]:[3,4];case 3:g=O.sent(),O.label=4;case 4:return m=[ze.apply(void 0,v.concat([g]))],(b=d)?h?[4,this._headerBasedAuth(s)]:[3,6]:[3,8];case 5:return y=O.sent(),[3,7];case 6:y={Authorization:null},O.label=7;case 7:b=y,O.label=8;case 8:return w=[ze.apply(void 0,m.concat([b]))],[4,l({query:i,variables:o})];case 9:if(p=ze.apply(void 0,[ze.apply(void 0,[ze.apply(void 0,w.concat([O.sent()])),t]),!d&&(k={},k["x-amz-user-agent"]=Re.a.userAgent,k)]),_={query:u(i),variables:o},S=Object.assign({headers:p,body:_,signerServiceInfo:{service:d?"execute-api":"appsync",region:d?h:a}},n),!(E=d||c))throw{data:{},errors:[new r.a("No graphql endpoint provided.")]};O.label=10;case 10:return O.trys.push([10,12,,13]),[4,this._api.post(E,S)];case 11:return M=O.sent(),[3,13];case 12:if(A=O.sent(),this._api.isCancel(A))throw A;return M={data:{},errors:[new r.a(A.message)]},[3,13];case 13:if((I=M.errors)&&I.length)throw M;return[2,M]}}))}))},e.prototype.isCancel=function(e){return this._api.isCancel(e)},e.prototype.cancel=function(e,t){return this._api.cancel(e,t)},e.prototype._graphqlSubscribe=function(e,t){var n=e.query,r=e.variables,i=e.authMode;void 0===t&&(t={});var o=this._options,s=o.aws_appsync_region,a=o.aws_appsync_graphqlEndpoint,c=o.aws_appsync_authenticationType,f=o.aws_appsync_apiKey,l=o.graphql_headers,d=void 0===l?function(){return{}}:l,h=i||c||"AWS_IAM";if(De.b&&"function"==typeof De.b.subscribe)return De.b.subscribe("",{provider:Le.b,appSyncGraphqlEndpoint:a,authenticationType:h,apiKey:f,query:u(n),region:s,variables:r,graphql_headers:d,additionalHeaders:t});throw Ge.debug("No pubsub module applied for subscription"),new Error("No pubsub module applied for subscription")},e.prototype._ensureCredentials=function(){var e=this;return this.Credentials.get().then((function(t){if(!t)return!1;var n=e.Credentials.shear(t);return Ge.debug("set credentials for api",n),!0})).catch((function(e){return Ge.warn("ensure credentials error",e),!1}))},e}(),Ye=new $e(null);je.a.register(Ye)},function(e,t,n){"use strict";n.r(t),n.d(t,"fromUtf8",(function(){return r})),n.d(t,"toUtf8",(function(){return i}));var r=function(e){return"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):function(e){for(var t=[],n=0,r=e.length;n>6|192,63&i|128);else if(n+1>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)}(e)},i=function(e){return"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):function(e){for(var t="",n=0,r=e.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0){var s=n.substring(0,i),a=n.substring(i+r.length);n=s+t[o]+a}return n},S=[0,6,77,81,73,115,100,112,3],E=[0,4,77,81,84,84,4],M=function(e,t){for(var n in this.type=e,t)t.hasOwnProperty(n)&&(this[n]=t[n])};function A(e,t){var n,r=t,f=e[t],d=f>>4,p=f&=15;t+=1;var v=0,g=1;do{if(t==e.length)return[null,r];v+=(127&(n=e[t++]))*g,g*=128}while(0!=(128&n));var m=t+v;if(m>e.length)return[null,r];var b=new M(d);switch(d){case i:1&e[t++]&&(b.sessionPresent=!0),b.returnCode=e[t++];break;case o:var y=p>>1&3,w=O(e,t),_=T(e,t+=2,w);t+=w,y>0&&(b.messageIdentifier=O(e,t),t+=2);var S=new L(e.subarray(t,m));1==(1&p)&&(S.retained=!0),8==(8&p)&&(S.duplicate=!0),S.qos=y,S.destinationName=_,b.payloadMessage=S;break;case s:case a:case u:case c:case h:b.messageIdentifier=O(e,t);break;case l:b.messageIdentifier=O(e,t),t+=2,b.returnCode=e.subarray(t,m)}return[b,m]}function I(e,t,n){return t[n++]=e>>8,t[n++]=e%256,n}function k(e,t,n,r){return C(e,n,r=I(t,n,r)),r+t}function O(e,t){return 256*e[t]+e[t+1]}function x(e){for(var t=0,n=0;n2047?(55296<=r&&r<=56319&&(n++,t++),t+=3):r>127?t+=2:t++}return t}function C(e,t,n){for(var r=n,i=0;i>6&31|192,t[r++]=63&o|128):o<=65535?(t[r++]=o>>12&15|224,t[r++]=o>>6&63|128,t[r++]=63&o|128):(t[r++]=o>>18&7|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=63&o|128)}return t}function T(e,t,n){for(var r,i="",o=t;o65535&&(r-=65536,i+=String.fromCharCode(55296+(r>>10)),r=56320+(1023&r)),i+=String.fromCharCode(r)}return i}M.prototype.encode=function(){var e,t=(15&this.type)<<4,n=0,i=[],s=0;switch(void 0!==this.messageIdentifier&&(n+=2),this.type){case r:switch(this.mqttVersion){case 3:n+=S.length+3;break;case 4:n+=E.length+3}n+=x(this.clientId)+2,void 0!==this.willMessage&&(n+=x(this.willMessage.destinationName)+2,(e=this.willMessage.payloadBytes)instanceof Uint8Array||(e=new Uint8Array(c)),n+=e.byteLength+2),void 0!==this.userName&&(n+=x(this.userName)+2),void 0!==this.password&&(n+=x(this.password)+2);break;case f:t|=2;for(var a=0;a>=7)>0&&(r|=128),t[n++]=r}while(e>0&&n<4);return t}(n),h=l.length+1,p=new ArrayBuffer(n+h),v=new Uint8Array(p);if(v[0]=t,v.set(l,1),this.type==o)h=k(this.payloadMessage.destinationName,s,v,h);else if(this.type==r){switch(this.mqttVersion){case 3:v.set(S,h),h+=S.length;break;case 4:v.set(E,h),h+=E.length}var g=0;this.cleanSession&&(g=2),void 0!==this.willMessage&&(g|=4,g|=this.willMessage.qos<<3,this.willMessage.retained&&(g|=32)),void 0!==this.userName&&(g|=128),void 0!==this.password&&(g|=64),v[h++]=g,h=I(this.keepAliveInterval,v,h)}switch(void 0!==this.messageIdentifier&&(h=I(this.messageIdentifier,v,h)),this.type){case r:h=k(this.clientId,x(this.clientId),v,h),void 0!==this.willMessage&&(h=k(this.willMessage.destinationName,x(this.willMessage.destinationName),v,h),h=I(e.byteLength,v,h),v.set(e,h),h+=e.byteLength),void 0!==this.userName&&(h=k(this.userName,x(this.userName),v,h)),void 0!==this.password&&(h=k(this.password,x(this.password),v,h));break;case o:v.set(c,h);break;case f:for(a=0;a0&&(this.timeout=setTimeout(r(this),this._keepAliveInterval))},this.cancel=function(){clearTimeout(this.timeout)}},N=function(e,t,n,r){t||(t=30),this.timeout=setTimeout(function(e,t,n){return function(){return e.apply(t,n)}}(n,e,r),1e3*t),this.cancel=function(){clearTimeout(this.timeout)}},R=function(t,r,i,o,s){if(!("WebSocket"in e)||null===e.WebSocket)throw new Error(_(y.UNSUPPORTED,["WebSocket"]));if(!("ArrayBuffer"in e)||null===e.ArrayBuffer)throw new Error(_(y.UNSUPPORTED,["ArrayBuffer"]));for(var a in this._trace("Paho.Client",t,r,i,o,s),this.host=r,this.port=i,this.path=o,this.uri=t,this.clientId=s,this._wsuri=null,this._localKey=r+":"+i+("/mqtt"!=o?":"+o:"")+":"+s+":",this._msg_queue=[],this._buffered_msg_queue=[],this._sentMessages={},this._receivedMessages={},this._notify_msg_sent={},this._message_identifier=1,this._sequence=0,n)0!==a.indexOf("Sent:"+this._localKey)&&0!==a.indexOf("Received:"+this._localKey)||this.restore(a)};R.prototype.host=null,R.prototype.port=null,R.prototype.path=null,R.prototype.uri=null,R.prototype.clientId=null,R.prototype.socket=null,R.prototype.connected=!1,R.prototype.maxMessageIdentifier=65536,R.prototype.connectOptions=null,R.prototype.hostIndex=null,R.prototype.onConnected=null,R.prototype.onConnectionLost=null,R.prototype.onMessageDelivered=null,R.prototype.onMessageArrived=null,R.prototype.traceFunction=null,R.prototype._msg_queue=null,R.prototype._buffered_msg_queue=null,R.prototype._connectTimeout=null,R.prototype.sendPinger=null,R.prototype.receivePinger=null,R.prototype._reconnectInterval=1,R.prototype._reconnecting=!1,R.prototype._reconnectTimeout=null,R.prototype.disconnectedPublishing=!1,R.prototype.disconnectedBufferSize=5e3,R.prototype.receiveBuffer=null,R.prototype._traceBuffer=null,R.prototype._MAX_TRACE_ENTRIES=100,R.prototype.connect=function(e){var t=this._traceMask(e,"password");if(this._trace("Client.connect",t,this.socket,this.connected),this.connected)throw new Error(_(y.INVALID_STATE,["already connected"]));if(this.socket)throw new Error(_(y.INVALID_STATE,["already connected"]));this._reconnecting&&(this._reconnectTimeout.cancel(),this._reconnectTimeout=null,this._reconnecting=!1),this.connectOptions=e,this._reconnectInterval=1,this._reconnecting=!1,e.uris?(this.hostIndex=0,this._doConnect(e.uris[0])):this._doConnect(this.uri)},R.prototype.subscribe=function(e,t){if(this._trace("Client.subscribe",e,t),!this.connected)throw new Error(_(y.INVALID_STATE,["not connected"]));var n=new M(f);n.topics=e.constructor===Array?e:[e],void 0===t.qos&&(t.qos=0),n.requestedQos=[];for(var r=0;r0?this._requires_ack(t):this.onMessageDelivered&&(this._notify_msg_sent[t]=this.onMessageDelivered(t.payloadMessage)),this._schedule_message(t);else{if(!this._reconnecting||!this.disconnectedPublishing)throw new Error(_(y.INVALID_STATE,["not connected"]));if(Object.keys(this._sentMessages).length+this._buffered_msg_queue.length>this.disconnectedBufferSize)throw new Error(_(y.BUFFER_FULL,[this.disconnectedBufferSize]));e.qos>0?this._requires_ack(t):(t.sequence=++this._sequence,this._buffered_msg_queue.unshift(t))}},R.prototype.disconnect=function(){if(this._trace("Client.disconnect"),this._reconnecting&&(this._reconnectTimeout.cancel(),this._reconnectTimeout=null,this._reconnecting=!1),!this.socket)throw new Error(_(y.INVALID_STATE,["not connecting or connected"]));var e=new M(g);this._notify_msg_sent[e]=b(this._disconnected,this),this._schedule_message(e)},R.prototype.getTraceLog=function(){if(null!==this._traceBuffer){for(var e in this._trace("Client.getTraceLog",new Date),this._trace("Client.getTraceLog in flight messages",this._sentMessages.length),this._sentMessages)this._trace("_sentMessages ",e,this._sentMessages[e]);for(var e in this._receivedMessages)this._trace("_receivedMessages ",e,this._receivedMessages[e]);return this._traceBuffer}},R.prototype.startTrace=function(){null===this._traceBuffer&&(this._traceBuffer=[]),this._trace("Client.startTrace",new Date,"@VERSION@-@BUILDLEVEL@")},R.prototype.stopTrace=function(){delete this._traceBuffer},R.prototype._doConnect=function(e){if(this.connectOptions.useSSL){var t=e.split(":");t[0]="wss",e=t.join(":")}this._wsuri=e,this.connected=!1,this.connectOptions.mqttVersion<4?this.socket=new WebSocket(e,["mqttv3.1"]):this.socket=new WebSocket(e,["mqtt"]),this.socket.binaryType="arraybuffer",this.socket.onopen=b(this._on_socket_open,this),this.socket.onmessage=b(this._on_socket_message,this),this.socket.onerror=b(this._on_socket_error,this),this.socket.onclose=b(this._on_socket_close,this),this.sendPinger=new P(this,this.connectOptions.keepAliveInterval),this.receivePinger=new P(this,this.connectOptions.keepAliveInterval),this._connectTimeout&&(this._connectTimeout.cancel(),this._connectTimeout=null),this._connectTimeout=new N(this,this.connectOptions.timeout,this._disconnected,[y.CONNECT_TIMEOUT.code,_(y.CONNECT_TIMEOUT)])},R.prototype._schedule_message=function(e){this._msg_queue.unshift(e),this.connected&&this._process_queue()},R.prototype.store=function(e,t){var r={type:t.type,messageIdentifier:t.messageIdentifier,version:1};switch(t.type){case o:t.pubRecReceived&&(r.pubRecReceived=!0),r.payloadMessage={};for(var i="",s=t.payloadMessage.payloadBytes,a=0;a=2;){var f=parseInt(s.substring(0,2),16);s=s.substring(2,s.length),u[c++]=f}var l=new L(u);l.qos=r.payloadMessage.qos,l.destinationName=r.payloadMessage.destinationName,r.payloadMessage.duplicate&&(l.duplicate=!0),r.payloadMessage.retained&&(l.retained=!0),i.payloadMessage=l;break;default:throw Error(_(y.INVALID_STORED_DATA,[e,t]))}0===e.indexOf("Sent:"+this._localKey)?(i.payloadMessage.duplicate=!0,this._sentMessages[i.messageIdentifier]=i):0===e.indexOf("Received:"+this._localKey)&&(this._receivedMessages[i.messageIdentifier]=i)},R.prototype._process_queue=function(){for(var e=null;e=this._msg_queue.pop();)this._socket_send(e),this._notify_msg_sent[e]&&(this._notify_msg_sent[e](),delete this._notify_msg_sent[e])},R.prototype._requires_ack=function(e){var t=Object.keys(this._sentMessages).length;if(t>this.maxMessageIdentifier)throw Error("Too many messages:"+t);for(;void 0!==this._sentMessages[this._message_identifier];)this._message_identifier++;e.messageIdentifier=this._message_identifier,this._sentMessages[e.messageIdentifier]=e,e.type===o&&this.store("Sent:",e),this._message_identifier===this.maxMessageIdentifier&&(this._message_identifier=1)},R.prototype._on_socket_open=function(){var e=new M(r,this.connectOptions);e.clientId=this.clientId,this._socket_send(e)},R.prototype._on_socket_message=function(e){this._trace("Client._on_socket_message",e.data);for(var t=this._deframeMessages(e.data),n=0;n0)for(var m=null;m=this._buffered_msg_queue.pop();)d.push(m),this.onMessageDelivered&&(this._notify_msg_sent[m]=this.onMessageDelivered(m.payloadMessage));d=d.sort((function(e,t){return e.sequence-t.sequence}));for(var b=0,S=d.length;b65535)throw new Error(_(y.INVALID_ARGUMENT,[r,"clientId"]));var f=new R(i,e,t,n,r);Object.defineProperties(this,{host:{get:function(){return e},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},port:{get:function(){return t},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},path:{get:function(){return n},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},uri:{get:function(){return i},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},clientId:{get:function(){return f.clientId},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},onConnected:{get:function(){return f.onConnected},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onConnected"]));f.onConnected=e}},disconnectedPublishing:{get:function(){return f.disconnectedPublishing},set:function(e){f.disconnectedPublishing=e}},disconnectedBufferSize:{get:function(){return f.disconnectedBufferSize},set:function(e){f.disconnectedBufferSize=e}},onConnectionLost:{get:function(){return f.onConnectionLost},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onConnectionLost"]));f.onConnectionLost=e}},onMessageDelivered:{get:function(){return f.onMessageDelivered},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onMessageDelivered"]));f.onMessageDelivered=e}},onMessageArrived:{get:function(){return f.onMessageArrived},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onMessageArrived"]));f.onMessageArrived=e}},trace:{get:function(){return f.traceFunction},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onTrace"]));f.traceFunction=e}}}),this.connect=function(e){if(m(e=e||{},{timeout:"number",userName:"string",password:"string",willMessage:"object",keepAliveInterval:"number",cleanSession:"boolean",useSSL:"boolean",invocationContext:"object",onSuccess:"function",onFailure:"function",hosts:"object",ports:"object",reconnect:"boolean",mqttVersion:"number",mqttVersionExplicit:"boolean",uris:"object"}),void 0===e.keepAliveInterval&&(e.keepAliveInterval=60),e.mqttVersion>4||e.mqttVersion<3)throw new Error(_(y.INVALID_ARGUMENT,[e.mqttVersion,"connectOptions.mqttVersion"]));if(void 0===e.mqttVersion?(e.mqttVersionExplicit=!1,e.mqttVersion=4):e.mqttVersionExplicit=!0,void 0!==e.password&&void 0===e.userName)throw new Error(_(y.INVALID_ARGUMENT,[e.password,"connectOptions.password"]));if(e.willMessage){if(!(e.willMessage instanceof L))throw new Error(_(y.INVALID_TYPE,[e.willMessage,"connectOptions.willMessage"]));if(e.willMessage.stringPayload=null,void 0===e.willMessage.destinationName)throw new Error(_(y.INVALID_TYPE,[typeof e.willMessage.destinationName,"connectOptions.willMessage.destinationName"]))}if(void 0===e.cleanSession&&(e.cleanSession=!0),e.hosts){if(!(e.hosts instanceof Array))throw new Error(_(y.INVALID_ARGUMENT,[e.hosts,"connectOptions.hosts"]));if(e.hosts.length<1)throw new Error(_(y.INVALID_ARGUMENT,[e.hosts,"connectOptions.hosts"]));for(var t=!1,r=0;r=3&&(i.qos=n),arguments.length>=4&&(i.retained=r),f.send(i)},this.publish=function(e,t,n,r){var i;if(0===arguments.length)throw new Error("Invalid argument.length");if(1==arguments.length){if(!(e instanceof L)&&"string"!=typeof e)throw new Error("Invalid argument:"+typeof e);if(void 0===(i=e).destinationName)throw new Error(_(y.INVALID_ARGUMENT,[i.destinationName,"Message.destinationName"]));f.send(i)}else(i=new L(t)).destinationName=e,arguments.length>=3&&(i.qos=n),arguments.length>=4&&(i.retained=r),f.send(i)},this.disconnect=function(){f.disconnect()},this.getTraceLog=function(){return f.getTraceLog()},this.startTrace=function(){f.startTrace()},this.stopTrace=function(){f.stopTrace()},this.isConnected=function(){return f.connected}},Message:L}}(void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},e.exports=n()}).call(this,n(31))},function(e,t,n){"use strict";var r,i,o=n(486);function s(e,t,n){if(e._observer)a(e._observer,t,n);else if(e._observers){var r=[];e._observers.forEach((function(e){r.push(e)})),r.forEach((function(e){a(e,t,n)}))}}function a(e,t,n){if(!e.closed)switch(t){case"next":return e.next(n);case"error":return e.error(n);case"complete":return e.complete(n)}}function u(e){return e._observer||e._observers&&e._observers.size>0}function c(e){var t=this;this._observer=null,this._observers=null,this._observable=new o((function(n){return function(e,t){!u(e)&&t&&t.start&&t.start()}(t,e),function(e,t){e._observers?e._observers.add(t):e._observer?(e._observers=new Set,e._observers.add(e._observer),e._observers.add(t),e._observer=null):e._observer=t}(t,n),function(){!function(e,t){e._observers?e._observers.delete(t):e._observer===t&&(e._observer=null)}(t,n),function(e,t){!u(e)&&t&&t.pause&&t.pause()}(t,e)}}))}r=c.prototype,i={get observable(){return this._observable},get observed(){return u(this)},next:function(e){s(this,"next",e)},error:function(e){s(this,"error",e)},complete:function(e){s(this,"complete",e)}},Object.keys(i).forEach((function(e){var t=Object.getOwnPropertyDescriptor(i,e);t.enumerable=!1,Object.defineProperty(r,e,t)})),e.exports=c},function(e,t,n){"use strict";n.d(t,"a",(function(){return Nt}));var r=n(44),i=n(33),o=n(88),s=n(19);function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:g(e)?2:m(e)?3:0}function d(e,t){return 2===l(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function h(e,t){return 2===l(e)?e.get(t):e[t]}function p(e,t,n){var r=l(e);2===r?e.set(t,n):3===r?(e.delete(t),e.add(n)):e[t]=n}function v(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function g(e){return G&&e instanceof Map}function m(e){return W&&e instanceof Set}function b(e){return e.o||e.t}function y(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Q(e);delete t[Z];for(var n=X(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=_),Object.freeze(e),t&&f(e,(function(e,t){return w(t,!0)}),!0)),e}function _(){a(2)}function S(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function E(e){var t=ee[e];return t||a(18,e),t}function M(e,t){ee[e]||(ee[e]=t)}function A(){return H}function I(e,t){t&&(E("Patches"),e.u=[],e.s=[],e.v=t)}function k(e){O(e),e.p.forEach(C),e.p=null}function O(e){e===H&&(H=e.l)}function x(e){return H={p:[],l:H,h:e,m:!0,_:0}}function C(e){var t=e[Z];0===t.i||1===t.i?t.j():t.g=!0}function T(e,t){t._=t.p.length;var n=t.p[0],r=void 0!==e&&e!==n;return t.h.O||E("ES5").S(t,e,r),r?(n[Z].P&&(k(t),a(4)),c(e)&&(e=P(t,e),t.l||R(t,e)),t.u&&E("Patches").M(n[Z],e,t.u,t.s)):e=P(t,n,[]),k(t),t.u&&t.v(t.u,t.s),e!==Y?e:void 0}function P(e,t,n){if(S(t))return t;var r=t[Z];if(!r)return f(t,(function(i,o){return N(e,r,t,i,o,n)}),!0),t;if(r.A!==e)return t;if(!r.P)return R(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=4===r.i||5===r.i?r.o=y(r.k):r.o;f(3===r.i?new Set(i):i,(function(t,o){return N(e,r,i,t,o,n)})),R(e,i,!1),n&&e.u&&E("Patches").R(r,n,e.u,e.s)}return r.o}function N(e,t,n,r,i,o){if(u(i)){var s=P(e,i,o&&t&&3!==t.i&&!d(t.D,r)?o.concat(r):void 0);if(p(n,r,s),!u(s))return;e.m=!1}if(c(i)&&!S(i)){if(!e.h.N&&e._<1)return;P(e,i),t&&t.A.l||R(e,i)}}function R(e,t,n){void 0===n&&(n=!1),e.h.N&&e.m&&w(t,n)}function L(e,t){var n=e[Z];return(n?b(n):e)[t]}function j(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function D(e){e.P||(e.P=!0,e.l&&D(e.l))}function U(e){e.o||(e.o=y(e.t))}function B(e,t,n){var r=g(t)?E("MapSet").T(t,n):m(t)?E("MapSet").F(t,n):e.O?function(e,t){var n=Array.isArray(e),r={i:n?1:0,A:t?t.A:A(),P:!1,I:!1,D:{},l:t,t:e,k:null,o:null,j:null,C:!1},i=r,o=te;n&&(i=[r],o=ne);var s=Proxy.revocable(i,o),a=s.revoke,u=s.proxy;return r.k=u,r.j=a,u}(t,n):E("ES5").J(t,n);return(n?n.A:A()).p.push(r),r}function F(e){return u(e)||a(22,e),function e(t){if(!c(t))return t;var n,r=t[Z],i=l(t);if(r){if(!r.P&&(r.i<4||!E("ES5").K(r)))return r.t;r.I=!0,n=z(t,i),r.I=!1}else n=z(t,i);return f(n,(function(t,i){r&&h(r.t,t)===i||p(n,t,e(i))})),3===i?new Set(n):n}(e)}function z(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return y(e)}function q(){function e(t){if(!c(t))return t;if(Array.isArray(t))return t.map(e);if(g(t))return new Map(Array.from(t.entries()).map((function(t){return[t[0],e(t[1])]})));if(m(t))return new Set(Array.from(t).map(e));var n=Object.create(Object.getPrototypeOf(t));for(var r in t)n[r]=e(t[r]);return n}function t(t){return u(t)?e(t):t}var n="add";M("Patches",{$:function(t,r){return r.forEach((function(r){for(var i=r.path,o=r.op,s=t,u=0;u1?o-1:0),a=1;a1?n-1:0),o=1;o=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}var i=E("Patches").$;return u(e)?i(e,t):this.produce(e,(function(e){return i(e,t.slice(n+1))}))},e}()),oe=(ie.produce,ie.produceWithPatches.bind(ie),ie.setAutoFreeze.bind(ie)),se=(ie.setUseProxies.bind(ie),ie.applyPatches.bind(ie),ie.createDraft.bind(ie),ie.finishDraft.bind(ie),n(109),n(14)),ae=n(9),ue=n(245),ce=function(){function e(){this._queue=[],this._pending=!1}return e.prototype.isLocked=function(){return this._pending},e.prototype.acquire=function(){var e=this,t=new Promise((function(t){return e._queue.push(t)}));return this._pending||this._dispatchNext(),t},e.prototype.runExclusive=function(e){return this.acquire().then((function(t){var n;try{n=e()}catch(e){throw t(),e}return Promise.resolve(n).then((function(e){return t(),e}),(function(e){throw t(),e}))}))},e.prototype._dispatchNext=function(){this._queue.length>0?(this._pending=!0,this._queue.shift()(this._dispatchNext.bind(this))):this._pending=!1},e}(),fe=n(257),le=n.n(fe),de=n(4),he=n(3),pe=function(){return Object(i.b)().isBrowser&&window.indexedDB||Object(i.c)()&&self.indexedDB?n(495).default:new(0,n(496).AsyncStorageAdapter)},ve=function(){return(ve=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},we=new r.a("DataStore"),_e=function(){function e(e,t,n,r,i,o){this.schema=e,this.namespaceResolver=t,this.getModelConstructorByModelName=n,this.modelInstanceCreator=r,this.adapter=i,this.sessionId=o,this.adapter=pe(),this.pushStream=new le.a}return e.getNamespace=function(){return{name:he.b,relationships:{},enums:{},models:{},nonModels:{}}},e.prototype.init=function(){return ge(this,void 0,void 0,(function(){var e,t;return me(this,(function(n){switch(n.label){case 0:return void 0===this.initialized?[3,2]:[4,this.initialized];case 1:return n.sent(),[2];case 2:return we.debug("Starting Storage"),this.initialized=new Promise((function(n,r){e=n,t=r})),this.adapter.setUp(this.schema,this.namespaceResolver,this.modelInstanceCreator,this.getModelConstructorByModelName,this.sessionId).then(e,t),[4,this.initialized];case 3:return n.sent(),[2]}}))}))},e.prototype.save=function(e,t,n,r){return ge(this,void 0,void 0,(function(){var i,o=this;return me(this,(function(s){switch(s.label){case 0:return[4,this.init()];case 1:return s.sent(),[4,this.adapter.save(e,t)];case 2:return(i=s.sent()).forEach((function(e){var i,s=ye(e,2),a=s[0],u=s[1];if(u===de.c.UPDATE&&r&&r.length){i={},r.map((function(e){return e.path&&e.path[0]})).forEach((function(e){i[e]=a[e]}));var c=a.id,f=a._version,l=a._lastChangedAt,d=a._deleted;i=ve(ve({},i),{id:c,_version:f,_lastChangedAt:l,_deleted:d})}var h=i||a,p=Object.getPrototypeOf(a).constructor;o.pushStream.next({model:p,opType:u,element:h,mutator:n,condition:ae.a.getPredicates(t,!1)})})),[2,i]}}))}))},e.prototype.delete=function(e,t,n){return ge(this,void 0,void 0,(function(){var r,i,o,s,a=this;return me(this,(function(u){switch(u.label){case 0:return[4,this.init()];case 1:return u.sent(),[4,this.adapter.delete(e,t)];case 2:return s=ye.apply(void 0,[u.sent(),2]),i=s[0],r=s[1],o=new Set(i.map((function(e){return e.id}))),Object(he.s)(e)||Array.isArray(r)||(r=[r]),r.forEach((function(r){var i,s=Object.getPrototypeOf(r).constructor;Object(he.s)(e)||(i=o.has(r.id)?ae.a.getPredicates(t,!1):void 0),a.pushStream.next({model:s,opType:de.c.DELETE,element:r,mutator:n,condition:i})})),[2,[i,r]]}}))}))},e.prototype.query=function(e,t,n){return ge(this,void 0,void 0,(function(){return me(this,(function(r){switch(r.label){case 0:return[4,this.init()];case 1:return r.sent(),[4,this.adapter.query(e,t,n)];case 2:return[2,r.sent()]}}))}))},e.prototype.queryOne=function(e,t){return void 0===t&&(t=de.d.FIRST),ge(this,void 0,void 0,(function(){return me(this,(function(n){switch(n.label){case 0:return[4,this.init()];case 1:return n.sent(),[4,this.adapter.queryOne(e,t)];case 2:return[2,n.sent()]}}))}))},e.prototype.observe=function(e,t,n){var r=!e,i=ae.a.getPredicates(t,!1)||{},o=i.predicates,s=i.type,a=!!o,u=this.pushStream.observable.filter((function(e){var t=e.mutator;return!n||t!==n})).map((function(e){e.mutator;return be(e,["mutator"])}));return r||(u=u.filter((function(t){var n=t.model,r=t.element;return e===n&&(!a||Object(he.y)(r,s,o))}))),u},e.prototype.clear=function(e){return void 0===e&&(e=!0),ge(this,void 0,void 0,(function(){return me(this,(function(t){switch(t.label){case 0:return this.initialized=void 0,[4,this.adapter.clear()];case 1:return t.sent(),e&&this.pushStream.complete(),[2]}}))}))},e.prototype.batchSave=function(e,t,n){return ge(this,void 0,void 0,(function(){var r,i=this;return me(this,(function(o){switch(o.label){case 0:return[4,this.init()];case 1:return o.sent(),[4,this.adapter.batchSave(e,t)];case 2:return(r=o.sent()).forEach((function(t){var r=ye(t,2),o=r[0],s=r[1];i.pushStream.next({model:e,opType:s,element:o,mutator:n,condition:void 0})})),[2,r]}}))}))},e}(),Se=function(){function e(e,t,n,r,i,o){this.mutex=new ce,this.storage=new _e(e,t,n,r,i,o)}return e.prototype.runExclusive=function(e){return this.mutex.runExclusive(e.bind(this,this.storage))},e.prototype.save=function(e,t,n,r){return ge(this,void 0,void 0,(function(){return me(this,(function(i){return[2,this.runExclusive((function(i){return i.save(e,t,n,r)}))]}))}))},e.prototype.delete=function(e,t,n){return ge(this,void 0,void 0,(function(){return me(this,(function(r){return[2,this.runExclusive((function(r){if(Object(he.s)(e)){var i=e;return r.delete(i,t,n)}var o=e;return r.delete(o,t,n)}))]}))}))},e.prototype.query=function(e,t,n){return ge(this,void 0,void 0,(function(){return me(this,(function(r){return[2,this.runExclusive((function(r){return r.query(e,t,n)}))]}))}))},e.prototype.queryOne=function(e,t){return void 0===t&&(t=de.d.FIRST),ge(this,void 0,void 0,(function(){return me(this,(function(n){return[2,this.runExclusive((function(n){return n.queryOne(e,t)}))]}))}))},e.getNamespace=function(){return _e.getNamespace()},e.prototype.observe=function(e,t,n){return this.storage.observe(e,t,n)},e.prototype.clear=function(){return ge(this,void 0,void 0,(function(){return me(this,(function(e){switch(e.label){case 0:return[4,this.storage.clear()];case 1:return e.sent(),[2]}}))}))},e.prototype.batchSave=function(e,t){return this.storage.batchSave(e,t)},e.prototype.init=function(){return ge(this,void 0,void 0,(function(){return me(this,(function(e){return[2,this.storage.init()]}))}))},e}(),Ee=n(34),Me=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ae=(new(function(){function e(){}return e.prototype.networkMonitor=function(t){if(Object(i.b)().isNode)return se.a.from([{online:!0}]);var n=Object(i.c)()?self:window;return new se.a((function(t){t.next({online:n.navigator.onLine});var r=function(){return t.next({online:!0})},i=function(){return t.next({online:!1})};return n.addEventListener("online",r),n.addEventListener("offline",i),e._observers.push(t),function(){n.removeEventListener("online",r),n.removeEventListener("offline",i),e._observers=e._observers.filter((function(e){return e!==t}))}}))},e._observerOverride=function(t){var n,r,i=function(n){if(n.closed)return e._observers=e._observers.filter((function(e){return e!==n})),"continue";n.next(t)};try{for(var o=Me(e._observers),s=o.next();!s.done;s=o.next()){i(s.value)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e._observers=[],e}())).networkMonitor(),Ie=function(){return(Ie=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Te=function(){function e(e,t){this.outbox=e,this.ownSymbol=t}return e.prototype.merge=function(e,t){return Oe(this,void 0,void 0,(function(){var n,r,i,o,s;return xe(this,(function(a){switch(a.label){case 0:return[4,this.outbox.getForModel(e,t)];case 1:return r=a.sent(),i=t._deleted,0!==r.length?[3,5]:i?(n=de.c.DELETE,[4,e.delete(t,void 0,this.ownSymbol)]):[3,3];case 2:return a.sent(),[3,5];case 3:return[4,e.save(t,void 0,this.ownSymbol)];case 4:o=Ce.apply(void 0,[a.sent(),1]),s=Ce(o[0],2),n=s[1],a.label=5;case 5:return[2,n]}}))}))},e.prototype.mergePage=function(e,t,n){return Oe(this,void 0,void 0,(function(){return xe(this,(function(r){switch(r.label){case 0:return[4,e.batchSave(t,n,this.ownSymbol)];case 1:return[2,r.sent()]}}))}))},e}(),Pe=n(13),Ne=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},Re=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},je=function(){function e(e,t,n,r){this.schema=e,this.namespaceResolver=t,this.MutationEvent=n,this.ownSymbol=r}return e.prototype.enqueue=function(e,t){return Ne(this,void 0,void 0,(function(){var n=this;return Re(this,(function(r){return e.runExclusive((function(e){return Ne(n,void 0,void 0,(function(){var n,r,i,o,s,a,u,c=this;return Re(this,(function(f){switch(f.label){case 0:return n=this.schema.namespaces[he.c].models.MutationEvent,r=ae.a.createFromExisting(n,(function(e){return e.modelId("eq",t.modelId).id("ne",c.inProgressMutationEventId)})),[4,e.query(this.MutationEvent,r)];case 1:return i=Le.apply(void 0,[f.sent(),1]),void 0!==(o=i[0])?[3,3]:[4,e.save(t,void 0,this.ownSymbol)];case 2:return f.sent(),[2];case 3:return s=t.operation,o.operation!==Pe.a.CREATE?[3,8]:s!==Pe.a.DELETE?[3,5]:[4,e.delete(this.MutationEvent,r)];case 4:return f.sent(),[3,7];case 5:return[4,e.save(this.MutationEvent.copyOf(o,(function(e){e.data=t.data})),void 0,this.ownSymbol)];case 6:f.sent(),f.label=7;case 7:return[3,12];case 8:return a=t.condition,u=JSON.parse(a),0!==Object.keys(u).length?[3,10]:[4,e.delete(this.MutationEvent,r)];case 9:f.sent(),f.label=10;case 10:return[4,e.save(t,void 0,this.ownSymbol)];case 11:f.sent(),f.label=12;case 12:return[2]}}))}))})),[2]}))}))},e.prototype.dequeue=function(e){return Ne(this,void 0,void 0,(function(){var t;return Re(this,(function(n){switch(n.label){case 0:return[4,this.peek(e)];case 1:return t=n.sent(),[4,e.delete(t)];case 2:return n.sent(),this.inProgressMutationEventId=void 0,[2,t]}}))}))},e.prototype.peek=function(e){return Ne(this,void 0,void 0,(function(){var t;return Re(this,(function(n){switch(n.label){case 0:return[4,e.queryOne(this.MutationEvent,de.d.FIRST)];case 1:return t=n.sent(),this.inProgressMutationEventId=t?t.id:void 0,[2,t]}}))}))},e.prototype.getForModel=function(e,t){return Ne(this,void 0,void 0,(function(){var n;return Re(this,(function(r){switch(r.label){case 0:return n=this.schema.namespaces[he.c].models.MutationEvent,[4,e.query(this.MutationEvent,ae.a.createFromExisting(n,(function(e){return e.modelId("eq",t.id)})))];case 1:return[2,r.sent()]}}))}))},e.prototype.getModelIds=function(e){return Ne(this,void 0,void 0,(function(){var t,n;return Re(this,(function(r){switch(r.label){case 0:return[4,e.query(this.MutationEvent)];case 1:return t=r.sent(),n=new Set,t.forEach((function(e){var t=e.modelId;return n.add(t)})),[2,n]}}))}))},e}(),De=n(52),Ue=n(514),Be=function(){return(Be=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},He=new r.a("DataStore"),Ve=function(){function e(e,t,n,r,i,o,s,a){this.schema=e,this.storage=t,this.userClasses=n,this.outbox=r,this.modelInstanceCreator=i,this.MutationEvent=o,this.conflictHandler=s,this.errorHandler=a,this.typeQuery=new WeakMap,this.processing=!1,this.generateQueries()}return e.prototype.generateQueries=function(){var e=this;Object.values(this.schema.namespaces).forEach((function(t){Object.values(t.models).filter((function(e){return e.syncable})).forEach((function(n){var r=Ke(Object(Pe.b)(t,n,"CREATE"),1)[0],i=Ke(Object(Pe.b)(t,n,"UPDATE"),1)[0],o=Ke(Object(Pe.b)(t,n,"DELETE"),1)[0];e.typeQuery.set(n,[r,i,o])}))}))},e.prototype.isReady=function(){return void 0!==this.observer},e.prototype.start=function(){var e=this;return new se.a((function(t){return e.observer=t,e.resume(),function(){e.pause()}}))},e.prototype.resume=function(){return Fe(this,void 0,void 0,(function(){var e,t,n,r,i,o,s,a,u,c,f,l,d,h,p;return ze(this,(function(v){switch(v.label){case 0:if(this.processing||!this.isReady())return[2];this.processing=!0,t=he.d,v.label=1;case 1:return(n=this.processing)?[4,this.outbox.peek(this.storage)]:[3,3];case 2:n=void 0!==(e=v.sent()),v.label=3;case 3:if(!n)return[3,12];r=e.model,i=e.operation,o=e.data,s=e.condition,a=this.userClasses[r],u=void 0,c=void 0,f=void 0,v.label=4;case 4:return v.trys.push([4,6,,7]),[4,this.jitteredRetry(t,r,i,o,s,a,this.MutationEvent,e)];case 5:return p=Ke.apply(void 0,[v.sent(),3]),u=p[0],c=p[1],f=p[2],[3,7];case 6:return"Offline"===(l=v.sent()).message||"RetryMutation"===l.message?[3,1]:[3,7];case 7:return void 0!==u?[3,9]:(He.debug("done retrying"),[4,this.outbox.dequeue(this.storage)]);case 8:return v.sent(),[3,1];case 9:return d=u.data[c],[4,this.outbox.dequeue(this.storage)];case 10:return v.sent(),[4,this.outbox.peek(this.storage)];case 11:return h=void 0!==v.sent(),this.observer.next({operation:i,modelDefinition:f,model:d,hasMore:h}),[3,1];case 12:return this.pause(),[2]}}))}))},e.prototype.jitteredRetry=function(e,t,n,r,i,o,s,a){return Fe(this,void 0,void 0,(function(){var u=this;return ze(this,(function(c){switch(c.label){case 0:return[4,Object(Ue.b)((function(t,n,r,i,o,s,a){return Fe(u,void 0,void 0,(function(){var u,c,f,l,d,h,p,v,g,m,b,y,w,_,S,E,M,A,I,k,O;return ze(this,(function(x){switch(x.label){case 0:u=Ke(this.createQueryVariables(e,t,n,r,i),5),c=u[0],f=u[1],l=u[2],d=u[3],h=u[4],p={query:c,variables:f},v=0,g=this.opTypeFromTransformerOperation(n),x.label=1;case 1:return x.trys.push([1,3,,13]),[4,De.a.graphql(p)];case 2:return[2,[x.sent(),d,h]];case 3:if(!((m=x.sent()).errors&&m.errors.length>0))return[3,12];if(b=Ke(m.errors,1),"Network Error"===(y=b[0]).message){if(!this.processing)throw new Ue.a("Offline");throw new Error("Network Error")}return"ConflictUnhandled"!==y.errorType?[3,11]:(v++,w=void 0,v>10?(w=de.a,[3,7]):[3,4]);case 4:return x.trys.push([4,6,,7]),[4,this.conflictHandler({modelConstructor:o,localModel:this.modelInstanceCreator(o,f.input),remoteModel:this.modelInstanceCreator(o,y.data),operation:g,attempts:v})];case 5:return w=x.sent(),[3,7];case 6:return _=x.sent(),He.warn("conflict trycatch",_),[3,13];case 7:return w!==de.a?[3,9]:(S=Ke(Object(Pe.b)(this.schema.namespaces[e],h,"GET"),1),E=Ke(S[0],3),M=E[1],A=E[2],[4,De.a.graphql({query:A,variables:{id:f.input.id}})]);case 8:return[2,[x.sent(),M,h]];case 9:return I=this.schema.namespaces[e],k=Object(Pe.d)(I.relationships,h,g,o,w,l,s,this.modelInstanceCreator,a.id),[4,this.storage.save(k)];case 10:throw x.sent(),new Ue.a("RetryMutation");case 11:try{this.errorHandler({localModel:this.modelInstanceCreator(o,f.input),message:y.message,operation:n,errorType:y.errorType,errorInfo:y.errorInfo,remoteModel:y.data?this.modelInstanceCreator(o,y.data):null})}catch(e){He.warn("failed to execute errorHandler",e)}finally{return[2,y.data?[{data:(O={},O[d]=y.data,O)},d,h]:[]]}x.label=12;case 12:return[3,13];case 13:if(p)return[3,1];x.label=14;case 14:return[2]}}))}))}),[t,n,r,i,o,s,a])];case 1:return[2,c.sent()]}}))}))},e.prototype.createQueryVariables=function(e,t,n,r,i){var o=this.schema.namespaces[e].models[t],s=this.typeQuery.get(o),a=Ke(s.find((function(e){return Ke(e,1)[0]===n})),3),u=a[1],c=a[2],f=JSON.parse(r),l=f._version,d=qe(f,["_version"]),h=n===Pe.a.DELETE?{id:d.id}:Object.values(o.fields).filter((function(e){var t=e.name,r=e.type,i=e.association;return Object(de.h)(r)?!(!Object(de.m)(i)||"BELONGS_TO"!==i.connectionType):n!==Pe.a.UPDATE||d.hasOwnProperty(t)})).map((function(e){var t=e.name,n=e.type,r=e.association,i=t,o=d[t];return Object(de.h)(n)&&Object(de.m)(r)&&(i=r.targetName,o=d[i]),[i,o]})).reduce((function(e,t){var n=Ke(t,2),r=n[0],i=n[1];return e[r]=i,e}),{}),p=Be(Be({},h),{_version:l}),v=JSON.parse(i);return[c,Be({input:p},n===Pe.a.CREATE?{}:{condition:Object.keys(v).length>0?v:null}),v,u,o]},e.prototype.opTypeFromTransformerOperation=function(e){switch(e){case Pe.a.CREATE:return de.c.INSERT;case Pe.a.DELETE:return de.c.DELETE;case Pe.a.UPDATE:return de.c.UPDATE;case Pe.a.GET:break;default:Object(he.f)(e)}},e.prototype.pause=function(){this.processing=!1},e}(),Ge=n(154),We=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},$e=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Je=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ze=new r.a("DataStore"),Xe=function(){function e(e,t,n,r){void 0===t&&(t=1e4),void 0===n&&(n=1e3),this.schema=e,this.maxRecordsToSync=t,this.syncPageSize=n,this.syncPredicates=r,this.typeQuery=new WeakMap,this.generateQueries()}return e.prototype.generateQueries=function(){var e=this;Object.values(this.schema.namespaces).forEach((function(t){Object.values(t.models).filter((function(e){return e.syncable})).forEach((function(n){var r=Ye(Object(Pe.b)(t,n,"LIST"),1),i=Ye(r[0]).slice(1);e.typeQuery.set(n,i)}))}))},e.prototype.graphqlFilterFromPredicate=function(e){if(!this.syncPredicates)return null;var t=ae.a.getPredicates(this.syncPredicates.get(e),!1);return t?Object(Pe.h)(t):null},e.prototype.retrievePage=function(e,t,n,r,i){return void 0===r&&(r=null),We(this,void 0,void 0,(function(){var o,s,a,u,c,f,l,d,h;return $e(this,(function(p){switch(p.label){case 0:return o=Ye(this.typeQuery.get(e),2),s=o[0],a=o[1],u={limit:r,nextToken:n,lastSync:t,filter:i},[4,this.jitteredRetry(a,u,s)];case 1:return c=p.sent().data,f=c[s],l=f.items,d=f.nextToken,h=f.startedAt,[2,{nextToken:d,startedAt:h,items:l}]}}))}))},e.prototype.jitteredRetry=function(e,t,n){return We(this,void 0,void 0,(function(){var r=this;return $e(this,(function(i){switch(i.label){case 0:return[4,Object(Ue.b)((function(e,t){return We(r,void 0,void 0,(function(){var r,i;return $e(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,De.a.graphql({query:e,variables:t})];case 1:return[2,o.sent()];case 2:if(r=o.sent(),r.errors.some((function(e){return"Unauthorized"===e.errorType})))return(i=r).data[n].items=i.data[n].items.filter((function(e){return null!==e})),Ze.warn("queryError","User is unauthorized, some items could not be returned."),[2,i];throw r;case 3:return[2]}}))}))}),[e,t])];case 1:return[2,i.sent()]}}))}))},e.prototype.start=function(e){var t=this,n=!0,r=void 0!==this.maxRecordsToSync?this.maxRecordsToSync:1e4,i=void 0!==this.syncPageSize?this.syncPageSize:1e3,o=new Map;return new se.a((function(s){var a=Object.values(t.schema.namespaces).reduce((function(t,n){var r,i;try{for(var o=Je(Array.from(n.modelTopologicalOrdering.keys())),s=o.next();!s.done;s=o.next()){var a=s.value,u=e.get(n.models[a]);t.set(n.models[a],u)}}catch(e){r={error:e}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return t}),new Map),u=Array.from(a.entries()).filter((function(e){return Ye(e,1)[0].syncable})).map((function(e){var a=Ye(e,2),u=a[0],c=Ye(a[1],2),f=c[0],l=c[1];return We(t,void 0,void 0,(function(){var e,t,a,c,d,h,p,v,g,m=this;return $e(this,(function(b){switch(b.label){case 0:return e=!1,t=null,a=null,c=null,d=0,h=this.graphqlFilterFromPredicate(u),p=this.schema.namespaces[f].modelTopologicalOrdering.get(u.name),v=p.map((function(e){return o.get(f+"_"+e)})),g=new Promise((function(o){return We(m,void 0,void 0,(function(){var p,g;return $e(this,(function(m){switch(m.label){case 0:return[4,Promise.all(v)];case 1:m.sent(),m.label=2;case 2:return n?(p=Math.min(r-d,i),[4,this.retrievePage(u,l,t,p,h)]):[2];case 3:g=m.sent(),c=g.items,t=g.nextToken,a=g.startedAt,d+=c.length,e=null===t||d>=r,s.next({namespace:f,modelDefinition:u,items:c,done:e,startedAt:a,isFullSync:!l}),m.label=4;case 4:if(!e)return[3,2];m.label=5;case 5:return o(),[2]}}))}))})),o.set(f+"_"+u.name,g),[4,g];case 1:return b.sent(),[2]}}))}))}));return Promise.all(u).then((function(){s.complete()})),function(){n=!1}}))},e}(),Qe=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},et=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},nt=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},rt=function(){for(var e=[],t=0;t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s};oe(!0),q();var ht,pt,vt,gt,mt,bt=new r.a("DataStore"),yt=(Object(he.v)(Date.now()),i.a.browserOrNode().isNode),wt=new WeakMap,_t=new WeakMap,St=function(e){var t=wt.get(e);return ht.namespaces[t].models[e.name]},Et=function(e){return Object(he.s)(e)&&wt.has(e)},Mt=function(e){return wt.get(e)},At=new WeakSet;function It(e,t){return At.add(t),new e(t)}var kt;function Ot(e){return"string"==typeof e}function xt(e){var t=e.localModel,n=e.modelConstructor,r=e.remoteModel._version;return It(n,ut(ut({},t),{_version:r}))}function Ct(e){bt.warn(e)}function Tt(e,t){var n;switch(e){case he.a:n=pt[t];break;case he.d:n=vt[t];break;case he.c:n=gt[t];break;case he.b:n=mt[t];break;default:Object(he.f)(e)}if(Et(n))return n;var r="Model name is not valid for namespace. modelName: "+t+", namespace: "+e;throw bt.error(r),new Error(r)}function Pt(e,t){return ct(this,void 0,void 0,(function(){var n,r,i=this;return ft(this,(function(o){switch(o.label){case 0:return n=pt.Setting,r=ht.namespaces[he.a].models.Setting,[4,e.runExclusive((function(e){return ct(i,void 0,void 0,(function(){var i,o;return ft(this,(function(s){switch(s.label){case 0:return[4,e.query(n,ae.a.createFromExisting(r,(function(e){return e.key("eq","schemaVersion")})),{page:0,limit:1})];case 1:return i=dt.apply(void 0,[s.sent(),1]),void 0===(o=i[0])||void 0===o.value?[3,4]:JSON.parse(o.value)===t?[3,3]:[4,e.clear(!1)];case 2:s.sent(),s.label=3;case 3:return[3,6];case 4:return[4,e.save(It(n,{key:"schemaVersion",value:JSON.stringify(t)}))];case 5:s.sent(),s.label=6;case 6:return[2]}}))}))}))];case 1:return o.sent(),[2]}}))}))}var Nt=new(function(){function e(){var e=this;this.amplifyConfig={},this.syncPredicates=new WeakMap,this.start=function(){return ct(e,void 0,void 0,(function(){var e,t,n,r=this;return ft(this,(function(i){switch(i.label){case 0:return void 0!==this.initialized?[3,1]:(bt.debug("Starting DataStore"),this.initialized=new Promise((function(e,t){r.initResolve=e,r.initReject=t})),[3,3]);case 1:return[4,this.initialized];case 2:return i.sent(),[2];case 3:return this.storage=new Se(ht,Mt,Tt,It,void 0,this.sessionId),[4,this.storage.init()];case 4:return i.sent(),[4,Pt(this.storage,ht.version)];case 5:return i.sent(),(e=this.amplifyConfig.aws_appsync_graphqlEndpoint)?(bt.debug("GraphQL endpoint available",e),t=this,[4,this.processSyncExpressions()]):[3,7];case 6:return t.syncPredicates=i.sent(),this.sync=new at(ht,Mt,gt,vt,this.storage,It,this.maxRecordsToSync,this.syncPageSize,this.conflictHandler,this.errorHandler,this.syncPredicates,this.amplifyConfig),n=1e3*this.fullSyncInterval*60,kt=this.sync.start({fullSyncInterval:n}).subscribe({next:function(e){var t=e.type,n=e.data;t===(yt?re.SYNC_ENGINE_SYNC_QUERIES_READY:re.SYNC_ENGINE_STORAGE_SUBSCRIBED)&&r.initResolve(),o.a.dispatch("datastore",{event:t,data:n})},error:function(e){bt.warn("Sync error",e),r.initReject()}}),[3,8];case 7:bt.warn("Data won't be synchronized. No GraphQL endpoint configured. Did you forget `Amplify.configure(awsconfig)`?",{config:this.amplifyConfig}),this.initResolve(),i.label=8;case 8:return[4,this.initialized];case 9:return i.sent(),[2]}}))}))},this.query=function(t,n,r){return ct(e,void 0,void 0,(function(){var e,i,o,s,a;return ft(this,(function(u){switch(u.label){case 0:return[4,this.start()];case 1:if(u.sent(),!Et(t))throw e="Constructor is not for a valid model",bt.error(e,{modelConstructor:t}),new Error(e);return"string"==typeof n&&void 0!==r&&bt.warn("Pagination is ignored when querying by id"),i=St(t),o=Ot(n)?ae.a.createForId(i,n):Object(ae.c)(n)?void 0:ae.a.createFromExisting(i,n),s=this.processPagination(i,r),bt.debug("params ready",{modelConstructor:t,predicate:ae.a.getPredicates(o,!1),pagination:ut(ut({},s),{sort:ue.a.getPredicates(s.sort,!1)})}),[4,this.storage.query(t,o,s)];case 2:return a=u.sent(),[2,Ot(n)?a[0]:a]}}))}))},this.save=function(t,n){return ct(e,void 0,void 0,(function(){var e,r,i,o,s,a,u=this;return ft(this,(function(c){switch(c.label){case 0:return[4,this.start()];case 1:if(c.sent(),e=_t.get(t),r=t?t.constructor:void 0,!Et(r))throw i="Object is not an instance of a valid model",bt.error(i,{model:t}),new Error(i);return o=St(r),s=ae.a.createFromExisting(o,n),[4,this.storage.runExclusive((function(n){return ct(u,void 0,void 0,(function(){return ft(this,(function(i){switch(i.label){case 0:return[4,n.save(t,s,void 0,e)];case 1:return i.sent(),[2,n.query(r,ae.a.createForId(o,t.id))]}}))}))}))];case 2:return a=dt.apply(void 0,[c.sent(),1]),[2,a[0]]}}))}))},this.setConflictHandler=function(t){var n=t.DataStore;return n?n.conflictHandler:e.conflictHandler===xt&&t.conflictHandler?t.conflictHandler:e.conflictHandler||xt},this.setErrorHandler=function(t){var n=t.DataStore;return n?n.errorHandler:e.errorHandler===Ct&&t.errorHandler?t.errorHandler:e.errorHandler||Ct},this.delete=function(t,n){return ct(e,void 0,void 0,(function(){var e,r,i,o,s,a,u,c,f;return ft(this,(function(l){switch(l.label){case 0:return[4,this.start()];case 1:if(l.sent(),!t)throw u="Model or Model Constructor required",bt.error(u,{modelOrConstructor:t}),new Error(u);if(!Et(t))return[3,3];if(o=t,!n)throw u="Id to delete or criteria required. Do you want to delete all? Pass Predicates.ALL",bt.error(u,{idOrCriteria:n}),new Error(u);if("string"==typeof n)e=ae.a.createForId(St(o),n);else if(!(e=ae.a.createFromExisting(St(o),n))||!ae.a.isValidPredicate(e))throw u="Criteria required. Do you want to delete all? Pass Predicates.ALL",bt.error(u,{condition:e}),new Error(u);return[4,this.storage.delete(o,e)];case 2:return r=dt.apply(void 0,[l.sent(),1]),[2,r[0]];case 3:if(i=t,o=Object.getPrototypeOf(i||{}).constructor,!Et(o))throw u="Object is not an instance of a valid model",bt.error(u,{model:i}),new Error(u);if(s=St(o),a=ae.a.createForId(s,i.id),n){if("function"!=typeof n)throw u="Invalid criteria",bt.error(u,{idOrCriteria:n}),new Error(u);e=n(a)}else e=a;return[4,this.storage.delete(i,e)];case 4:return c=dt.apply(void 0,[l.sent(),1]),f=dt(c[0],1),[2,f[0]]}}))}))},this.observe=function(t,n){var r,i=t&&Et(t)?t:void 0;if(t&&void 0===i){var o=t,s=o&&Object.getPrototypeOf(o).constructor;if(Et(s))return n&&bt.warn("idOrCriteria is ignored when using a model instance",{model:o,idOrCriteria:n}),e.observe(s,o.id);var a="The model is not an instance of a PersistentModelConstructor";throw bt.error(a,{model:o}),new Error(a)}if(void 0!==n&&void 0===i){a="Cannot provide criteria without a modelConstructor";throw bt.error(a,n),new Error(a)}if(i&&!Et(i)){a="Constructor is not for a valid model";throw bt.error(a,{modelConstructor:i}),new Error(a)}return r="string"==typeof n?ae.a.createForId(St(i),n):i&&ae.a.createFromExisting(St(i),n),new se.a((function(t){var n;return ct(e,void 0,void 0,(function(){return ft(this,(function(e){switch(e.label){case 0:return[4,this.start()];case 1:return e.sent(),n=this.storage.observe(i,r).filter((function(e){var t=e.model;return Mt(t)===he.d})).subscribe(t),[2]}}))})),function(){n&&n.unsubscribe()}}))},this.configure=function(t){void 0===t&&(t={});var n=t.DataStore,r=(t.conflictHandler,t.errorHandler,t.maxRecordsToSync),i=t.syncPageSize,o=t.fullSyncInterval,s=t.syncExpressions,a=lt(t,["DataStore","conflictHandler","errorHandler","maxRecordsToSync","syncPageSize","fullSyncInterval","syncExpressions"]);e.amplifyConfig=ut(ut({},a),e.amplifyConfig),e.conflictHandler=e.setConflictHandler(t),e.errorHandler=e.setErrorHandler(t),e.syncExpressions=n&&n.syncExpressions||e.syncExpressions||s,e.maxRecordsToSync=n&&n.maxRecordsToSync||e.maxRecordsToSync||r,e.syncPageSize=n&&n.syncPageSize||e.syncPageSize||i,e.fullSyncInterval=n&&n.fullSyncInterval||e.fullSyncInterval||o||1440,e.sessionId=e.retrieveSessionId()},this.clear=function(){return ct(this,void 0,void 0,(function(){return ft(this,(function(e){switch(e.label){case 0:return void 0===this.storage?[2]:(kt&&!kt.closed&&kt.unsubscribe(),[4,this.storage.clear()]);case 1:return e.sent(),this.sync&&this.sync.unsubscribeConnectivity(),this.initialized=void 0,this.storage=void 0,this.sync=void 0,this.syncPredicates=new WeakMap,[2]}}))}))},this.stop=function(){return ct(this,void 0,void 0,(function(){return ft(this,(function(e){switch(e.label){case 0:return void 0===this.initialized?[3,2]:[4,this.start()];case 1:e.sent(),e.label=2;case 2:return kt&&!kt.closed&&kt.unsubscribe(),this.sync&&this.sync.unsubscribeConnectivity(),this.initialized=void 0,this.sync=void 0,[2]}}))}))}}return e.prototype.getModuleName=function(){return"DataStore"},e.prototype.processPagination=function(e,t){var n,r=t||{},i=r.limit,o=r.page,s=r.sort;if(void 0!==o&&void 0===i)throw new Error("Limit is required when requesting a page");if(void 0!==o){if("number"!=typeof o)throw new Error("Page should be a number");if(o<0)throw new Error("Page can't be negative")}if(void 0!==i){if("number"!=typeof i)throw new Error("Limit should be a number");if(i<0)throw new Error("Limit can't be negative")}return s&&(n=ue.a.createFromExisting(e,t.sort)),{limit:i,page:o,sort:n}},e.prototype.processSyncExpressions=function(){return ct(this,void 0,void 0,(function(){var e,t=this;return ft(this,(function(n){switch(n.label){case 0:return this.syncExpressions&&this.syncExpressions.length?[4,Promise.all(this.syncExpressions.map((function(e){return ct(t,void 0,void 0,(function(){var t,n,r,i,o,s;return ft(this,(function(a){switch(a.label){case 0:return[4,e];case 1:return t=a.sent(),n=t.modelConstructor,r=t.conditionProducer,i=St(n),[4,this.unwrapPromise(r)];case 2:return o=a.sent(),Object(ae.c)(o)?[2,[i,null]]:(s=this.createFromCondition(i,o),[2,[i,s]])}}))}))})))]:[2,new WeakMap];case 1:return e=n.sent(),[2,this.weakMapFromEntries(e)]}}))}))},e.prototype.createFromCondition=function(e,t){try{return ae.a.createFromExisting(e,t)}catch(e){throw bt.error("Error creating Sync Predicate"),e}},e.prototype.unwrapPromise=function(e){return ct(this,void 0,void 0,(function(){var t;return ft(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,e()];case 1:return[2,n.sent()];case 2:if((t=n.sent())instanceof TypeError)return[2,e];throw t;case 3:return[2]}}))}))},e.prototype.weakMapFromEntries=function(e){return e.reduce((function(e,t){var n=dt(t,2),r=n[0],i=n[1];if(e.has(r)){var o=r.name;return bt.warn("You can only utilize one Sync Expression per model.\n Subsequent sync expressions for the "+o+" model will be ignored."),e}return i&&e.set(r,i),e}),new WeakMap)},e.prototype.retrieveSessionId=function(){try{var e=sessionStorage.getItem("datastoreSessionId");if(e){var t=this.amplifyConfig.aws_appsync_graphqlEndpoint.split("/")[2];return e+"-"+dt(t.split("."),1)[0]}}catch(e){return}},e}());s.a.register(Nt)},,,,,,,,,,,function(e,t,n){"use strict";t.byteLength=function(e){var t=c(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,r=c(e),s=r[0],a=r[1],u=new o(function(e,t,n){return 3*(t+n)/4-n}(0,s,a)),f=0,l=a>0?s-4:s;for(n=0;n>16&255,u[f++]=t>>8&255,u[f++]=255&t;2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[f++]=255&t);1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[f++]=t>>8&255,u[f++]=255&t);return u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],s=0,a=n-i;sa?a:s+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function f(e,t,n){for(var i,o,s=[],a=t;a>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){ -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ -t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,u=(1<>1,f=-7,l=n?i-1:0,d=n?-1:1,h=e[t+l];for(l+=d,o=h&(1<<-f)-1,h>>=-f,f+=a;f>0;o=256*o+e[t+l],l+=d,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=r;f>0;s=256*s+e[t+l],l+=d,f-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,r),o-=c}return(h?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,u,c=8*o-i-1,f=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,p=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+l>=1?d/u:d*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=f?(a=0,s=f):s+l>=1?(a=(t*u-1)*Math.pow(2,i),s+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;e[n+h]=255&a,h+=p,a/=256,i-=8);for(s=s<0;e[n+h]=255&s,h+=p,s/=256,c-=8);e[n+h-p]|=128*v}},function(e,t,n){var r,i,o,s;e.exports=(r=n(32),o=(i=r).lib.Base,s=i.enc.Utf8,void(i.algo.HMAC=o.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),a=i.words,u=o.words,c=0;c0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return s.alloc(0);for(var t,n,r,i=s.allocUnsafe(e>>>0),o=this.head,a=0;o;)t=o.data,n=i,r=a,s.prototype.copy.call(t,n,r),a+=o.data.length,o=o.next;return i}},{key:"consume",value:function(e,t){var n;return ei.length?i.length:e;if(o===i.length?r+=i:r+=i.slice(0,e),0==(e-=o)){o===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=s.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r}return this.length-=r,t}},{key:u,value:function(e,t){return a(this,function(e){for(var t=1;t0,(function(e){r||(r=e),e&&s.forEach(c),o||(s.forEach(c),i(r))}))}));return t.reduce(f)}},function(e,t,n){var r=n(7),i=n(69),o=n(8).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<30|e>>>2}function f(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,l=0;l<16;++l)n[l]=e.readInt32BE(4*l);for(;l<80;++l)n[l]=n[l-3]^n[l-8]^n[l-14]^n[l-16];for(var d=0;d<80;++d){var h=~~(d/20),p=0|((t=r)<<5|t>>>27)+f(h,i,o,a)+u+n[d]+s[h];u=a,a=o,o=c(i),i=r,r=p}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},function(e,t,n){var r=n(7),i=n(69),o=n(8).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<5|e>>>27}function f(e){return e<<30|e>>>2}function l(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,d=0;d<16;++d)n[d]=e.readInt32BE(4*d);for(;d<80;++d)n[d]=(t=n[d-3]^n[d-8]^n[d-14]^n[d-16])<<1|t>>>31;for(var h=0;h<80;++h){var p=~~(h/20),v=c(r)+l(p,i,o,a)+u+n[h]+s[p]|0;u=a,a=o,o=f(i),i=r,r=v}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},function(e,t,n){var r=n(7),i=n(169),o=n(69),s=n(8).Buffer,a=new Array(64);function u(){this.init(),this._w=a,o.call(this,64,56)}r(u,i),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=u},function(e,t,n){var r=n(7),i=n(170),o=n(69),s=n(8).Buffer,a=new Array(160);function u(){this.init(),this._w=a,o.call(this,128,112)}r(u,i),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u},function(e,t,n){e.exports=i;var r=n(49).EventEmitter;function i(){r.call(this)}n(7)(i,r),i.Readable=n(118),i.Writable=n(292),i.Duplex=n(293),i.Transform=n(294),i.PassThrough=n(295),i.Stream=i,i.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",u));var s=!1;function a(){s||(s=!0,e.end())}function u(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(f(),0===r.listenerCount(this,"error"))throw e}function f(){n.removeListener("data",i),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",u),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",f),n.removeListener("close",f),e.removeListener("close",f)}return n.on("error",c),e.on("error",c),n.on("end",f),n.on("close",f),e.on("close",f),e.emit("pipe",n),e}},function(e,t){},function(e,t,n){"use strict";var r=n(119).Buffer,i=n(288);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,i,o=r.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=o,i=a,t.copy(n,i),a+=s.data.length,s=s.next;return o},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(290),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(31))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,s,a,u=1,c={},f=!1,l=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){p(e.data)},r=function(e){o.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(i=l.documentElement,r=function(e){var t=l.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),r=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n64?t=e(t):t.length<64&&(t=i.concat([t,s],64));for(var n=this._ipad=i.allocUnsafe(64),r=this._opad=i.allocUnsafe(64),a=0;a<64;a++)n[a]=54^t[a],r[a]=92^t[a];this._hash=[n]}r(a,o),a.prototype._update=function(e){this._hash.push(e)},a.prototype._final=function(){var e=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,e]))},e.exports=a},function(e,t,n){e.exports=n(177)},function(e,t,n){(function(t,r){var i,o=n(8).Buffer,s=n(179),a=n(180),u=n(181),c=n(182),f=t.crypto&&t.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function h(e,t,n,r,i){return f.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return f.deriveBits({name:"PBKDF2",salt:t,iterations:n,hash:{name:i}},e,r<<3)})).then((function(e){return o.from(e)}))}e.exports=function(e,n,p,v,g,m){"function"==typeof g&&(m=g,g=void 0);var b=l[(g=g||"sha1").toLowerCase()];if(!b||"function"!=typeof t.Promise)return r.nextTick((function(){var t;try{t=u(e,n,p,v,g)}catch(e){return m(e)}m(null,t)}));if(s(p,v),e=c(e,a,"Password"),n=c(n,a,"Salt"),"function"!=typeof m)throw new Error("No callback provided to pbkdf2");!function(e,t){e.then((function(e){r.nextTick((function(){t(null,e)}))}),(function(e){r.nextTick((function(){t(e)}))}))}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(void 0!==d[e])return d[e];var n=h(i=i||o.alloc(8),i,10,128,e).then((function(){return!0})).catch((function(){return!1}));return d[e]=n,n}(b).then((function(t){return t?h(e,n,p,v,b):u(e,n,p,v,g)})),m)}}).call(this,n(31),n(20))},function(e,t,n){var r=n(300),i=n(122),o=n(123),s=n(313),a=n(94);function u(e,t,n){if(e=e.toLowerCase(),o[e])return i.createCipheriv(e,t,n);if(s[e])return new r({key:t,iv:n,mode:e});throw new TypeError("invalid suite type")}function c(e,t,n){if(e=e.toLowerCase(),o[e])return i.createDecipheriv(e,t,n);if(s[e])return new r({key:t,iv:n,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var n,r;if(e=e.toLowerCase(),o[e])n=o[e].key,r=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,r=s[e].iv}var i=a(t,!1,n,r);return u(e,i.key,i.iv)},t.createCipheriv=t.Cipheriv=u,t.createDecipher=t.Decipher=function(e,t){var n,r;if(e=e.toLowerCase(),o[e])n=o[e].key,r=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,r=s[e].iv}var i=a(t,!1,n,r);return c(e,i.key,i.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(s).concat(i.getCiphers())}},function(e,t,n){var r=n(56),i=n(301),o=n(7),s=n(8).Buffer,a={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function u(e){r.call(this);var t,n=e.mode.toLowerCase(),i=a[n];t=e.decrypt?"decrypt":"encrypt";var o=e.key;s.isBuffer(o)||(o=s.from(o)),"des-ede"!==n&&"des-ede-cbc"!==n||(o=s.concat([o,o.slice(0,8)]));var u=e.iv;s.isBuffer(u)||(u=s.from(u)),this._des=i.create({key:o,iv:u,type:t})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],e.exports=u,o(u,r),u.prototype._update=function(e){return s.from(this._des.update(e))},u.prototype._final=function(){return s.from(this._des.final())}},function(e,t,n){"use strict";t.utils=n(183),t.Cipher=n(121),t.DES=n(184),t.CBC=n(302),t.EDE=n(303)},function(e,t,n){"use strict";var r=n(46),i=n(7),o={};function s(e){r.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},d.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),n=-1;++n>s%8,e._prev=o(e._prev,n?r:i);return a}function o(e,t){var n=e.length,i=-1,o=r.allocUnsafe(e.length);for(e=r.concat([e,r.from([t])]);++i>7;return o}t.encrypt=function(e,t,n){for(var o=t.length,s=r.allocUnsafe(o),a=-1;++a>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function s(e){this.h=e,this.state=r.alloc(16,0),this.cache=r.allocUnsafe(0)}s.prototype.ghash=function(e){for(var t=-1;++t0;t--)r[t]=r[t]>>>1|(1&r[t-1])<<31;r[0]=r[0]>>>1,n&&(r[0]=r[0]^225<<24)}this.state=o(i)},s.prototype.update=function(e){var t;for(this.cache=r.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},s.prototype.final=function(e,t){return this.cache.length&&this.ghash(r.concat([this.cache,i],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=s},function(e,t,n){var r=n(188),i=n(8).Buffer,o=n(123),s=n(189),a=n(56),u=n(93),c=n(94);function f(e,t,n){a.call(this),this._cache=new l,this._last=void 0,this._cipher=new u.AES(t),this._prev=i.from(n),this._mode=e,this._autopadding=!0}function l(){this.cache=i.allocUnsafe(0)}function d(e,t,n){var a=o[e.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof n&&(n=i.from(n)),"GCM"!==a.mode&&n.length!==a.iv)throw new TypeError("invalid iv length "+n.length);if("string"==typeof t&&(t=i.from(t)),t.length!==a.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===a.type?new s(a.module,t,n,!0):"auth"===a.type?new r(a.module,t,n,!0):new f(a.module,t,n)}n(7)(f,a),f.prototype._update=function(e){var t,n;this._cache.add(e);for(var r=[];t=this._cache.get(this._autopadding);)n=this._mode.decrypt(this,t),r.push(n);return i.concat(r)},f.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");var n=-1;for(;++n16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var n=o[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var r=c(t,!1,n.key,n.iv);return d(e,r.key,r.iv)},t.createDecipheriv=d},function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},function(e,t,n){(function(e){var r=n(190),i=n(317),o=n(318);var s={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var n=new e(i[t].prime,"hex"),r=new e(i[t].gen,"hex");return new o(n,r)},t.createDiffieHellman=t.DiffieHellman=function t(n,i,a,u){return e.isBuffer(i)||void 0===s[i]?t(n,"binary",i,a):(i=i||"binary",u=u||"binary",a=a||new e([2]),e.isBuffer(a)||(a=new e(a,u)),"number"==typeof n?new o(r(n,a),a,!0):(e.isBuffer(n)||(n=new e(n,i)),new o(n,a,!0)))}}).call(this,n(6).Buffer)},function(e,t){},function(e,t){},function(e){e.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(e,t,n){(function(t){var r=n(29),i=new(n(191)),o=new r(24),s=new r(11),a=new r(10),u=new r(3),c=new r(7),f=n(190),l=n(66);function d(e,n){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),this._pub=new r(e),this}function h(e,n){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),this._priv=new r(e),this}e.exports=v;var p={};function v(e,t,n){this.setGenerator(t),this.__prime=new r(e),this._prime=r.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,n?(this.setPublicKey=d,this.setPrivateKey=h):this._primeCode=8}function g(e,n){var r=new t(e.toArray());return n?r.toString(n):r}Object.defineProperty(v.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var n=t.toString("hex"),r=[n,e.toString(16)].join("_");if(r in p)return p[r];var l,d=0;if(e.isEven()||!f.simpleSieve||!f.fermatTest(e)||!i.test(e))return d+=1,d+="02"===n||"05"===n?8:4,p[r]=d,d;switch(i.test(e.shrn(1))||(d+=2),n){case"02":e.mod(o).cmp(s)&&(d+=8);break;case"05":(l=e.mod(a)).cmp(u)&&l.cmp(c)&&(d+=8);break;default:d+=4}return p[r]=d,d}(this.__prime,this.__gen)),this._primeCode}}),v.prototype.generateKeys=function(){return this._priv||(this._priv=new r(l(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},v.prototype.computeSecret=function(e){var n=(e=(e=new r(e)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new t(n.toArray()),o=this.getPrime();if(i.length0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return s.alloc(0);for(var t,n,r,i=s.allocUnsafe(e>>>0),o=this.head,a=0;o;)t=o.data,n=i,r=a,s.prototype.copy.call(t,n,r),a+=o.data.length,o=o.next;return i}},{key:"consume",value:function(e,t){var n;return ei.length?i.length:e;if(o===i.length?r+=i:r+=i.slice(0,e),0==(e-=o)){o===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=s.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r}return this.length-=r,t}},{key:u,value:function(e,t){return a(this,function(e){for(var t=1;t0,(function(e){r||(r=e),e&&s.forEach(c),o||(s.forEach(c),i(r))}))}));return t.reduce(f)}},function(e,t,n){var r=n(8).Buffer,i=n(175),o=n(126),s=n(127).ec,a=n(203),u=n(96),c=n(209);function f(e,t,n,o){if((e=r.from(e.toArray())).length0&&n.ishrn(r),n}function d(e,t,n){var o,s;do{for(o=r.alloc(0);8*o.length=49&&c<=54?c-49+10:c>=17&&c<=22?c-17+10:c,s|=u}return r(!(240&s),"Invalid character in "+e),i}function u(e,t,n,i){for(var o=0,s=0,a=Math.min(e.length,n),u=t;u=49?c-49+10:c>=17?c-17+10:c,r(c>=0&&s0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this._strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)i=a(e,n,n+6),this.words[r]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);n+6!==t&&(i=a(e,t,n+6),this.words[r]|=i<>>26-o&4194303),this._strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,s=o%r,a=Math.min(o,o-s)+n,c=0,f=n;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch(e){o.prototype.inspect=f}else o.prototype.inspect=f;function f(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],f=h[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var v=p.modrn(f).toString(e);n=(p=p.idivn(f)).isZero()?v+n:l[c-v.length]+v+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)}),o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function p(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=d;h++){var p=c-h|0;f+=(s=(i=0|e.words[p])*(o=0|t.words[h])+l)/67108864|0,l=67108863&s}n.words[c]=0|l,u=0|f}return 0!==u?n.words[c]=0|u:n.length--,n._strip()}o.prototype.toArrayLike=function(e,t,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](s,i),s},o.prototype._toArrayLikeLE=function(e,t){for(var n=0,r=0,i=0,o=0;i>8&255),n>16&255),6===o?(n>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n=0&&(e[n--]=s>>8&255),n>=0&&(e[n--]=s>>16&255),6===o?(n>=0&&(e[n--]=s>>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n>=0)for(e[n--]=r;n>=0;)e[n--]=0},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;re.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,h=0|s[1],p=8191&h,v=h>>>13,g=0|s[2],m=8191&g,b=g>>>13,y=0|s[3],w=8191&y,_=y>>>13,S=0|s[4],E=8191&S,M=S>>>13,A=0|s[5],I=8191&A,k=A>>>13,O=0|s[6],x=8191&O,C=O>>>13,T=0|s[7],P=8191&T,N=T>>>13,R=0|s[8],L=8191&R,j=R>>>13,D=0|s[9],U=8191&D,B=D>>>13,F=0|a[0],z=8191&F,q=F>>>13,K=0|a[1],H=8191&K,V=K>>>13,G=0|a[2],W=8191&G,$=G>>>13,Y=0|a[3],J=8191&Y,Z=Y>>>13,X=0|a[4],Q=8191&X,ee=X>>>13,te=0|a[5],ne=8191&te,re=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,fe=0|a[8],le=8191&fe,de=fe>>>13,he=0|a[9],pe=8191&he,ve=he>>>13;n.negative=e.negative^t.negative,n.length=19;var ge=(c+(r=Math.imul(l,z))|0)+((8191&(i=(i=Math.imul(l,q))+Math.imul(d,z)|0))<<13)|0;c=((o=Math.imul(d,q))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(p,z),i=(i=Math.imul(p,q))+Math.imul(v,z)|0,o=Math.imul(v,q);var me=(c+(r=r+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,V)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(m,z),i=(i=Math.imul(m,q))+Math.imul(b,z)|0,o=Math.imul(b,q),r=r+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0;var be=(c+(r=r+Math.imul(l,W)|0)|0)+((8191&(i=(i=i+Math.imul(l,$)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(w,z),i=(i=Math.imul(w,q))+Math.imul(_,z)|0,o=Math.imul(_,q),r=r+Math.imul(m,H)|0,i=(i=i+Math.imul(m,V)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,V)|0,r=r+Math.imul(p,W)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,$)|0;var ye=(c+(r=r+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,Z)|0)+Math.imul(d,J)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(E,z),i=(i=Math.imul(E,q))+Math.imul(M,z)|0,o=Math.imul(M,q),r=r+Math.imul(w,H)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,V)|0,r=r+Math.imul(m,W)|0,i=(i=i+Math.imul(m,$)|0)+Math.imul(b,W)|0,o=o+Math.imul(b,$)|0,r=r+Math.imul(p,J)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,Z)|0;var we=(c+(r=r+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,ee)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(I,z),i=(i=Math.imul(I,q))+Math.imul(k,z)|0,o=Math.imul(k,q),r=r+Math.imul(E,H)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(w,W)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,$)|0,r=r+Math.imul(m,J)|0,i=(i=i+Math.imul(m,Z)|0)+Math.imul(b,J)|0,o=o+Math.imul(b,Z)|0,r=r+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,ee)|0;var _e=(c+(r=r+Math.imul(l,ne)|0)|0)+((8191&(i=(i=i+Math.imul(l,re)|0)+Math.imul(d,ne)|0))<<13)|0;c=((o=o+Math.imul(d,re)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(C,z)|0,o=Math.imul(C,q),r=r+Math.imul(I,H)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,V)|0,r=r+Math.imul(E,W)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,$)|0,r=r+Math.imul(w,J)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,J)|0,o=o+Math.imul(_,Z)|0,r=r+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,ee)|0,r=r+Math.imul(p,ne)|0,i=(i=i+Math.imul(p,re)|0)+Math.imul(v,ne)|0,o=o+Math.imul(v,re)|0;var Se=(c+(r=r+Math.imul(l,oe)|0)|0)+((8191&(i=(i=i+Math.imul(l,se)|0)+Math.imul(d,oe)|0))<<13)|0;c=((o=o+Math.imul(d,se)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(P,z),i=(i=Math.imul(P,q))+Math.imul(N,z)|0,o=Math.imul(N,q),r=r+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,V)|0,r=r+Math.imul(I,W)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,$)|0,r=r+Math.imul(E,J)|0,i=(i=i+Math.imul(E,Z)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,Z)|0,r=r+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,r=r+Math.imul(m,ne)|0,i=(i=i+Math.imul(m,re)|0)+Math.imul(b,ne)|0,o=o+Math.imul(b,re)|0,r=r+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,se)|0;var Ee=(c+(r=r+Math.imul(l,ue)|0)|0)+((8191&(i=(i=i+Math.imul(l,ce)|0)+Math.imul(d,ue)|0))<<13)|0;c=((o=o+Math.imul(d,ce)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(L,z),i=(i=Math.imul(L,q))+Math.imul(j,z)|0,o=Math.imul(j,q),r=r+Math.imul(P,H)|0,i=(i=i+Math.imul(P,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(x,W)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,$)|0,r=r+Math.imul(I,J)|0,i=(i=i+Math.imul(I,Z)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,Z)|0,r=r+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,ee)|0,r=r+Math.imul(w,ne)|0,i=(i=i+Math.imul(w,re)|0)+Math.imul(_,ne)|0,o=o+Math.imul(_,re)|0,r=r+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,se)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,se)|0,r=r+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0;var Me=(c+(r=r+Math.imul(l,le)|0)|0)+((8191&(i=(i=i+Math.imul(l,de)|0)+Math.imul(d,le)|0))<<13)|0;c=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(U,z),i=(i=Math.imul(U,q))+Math.imul(B,z)|0,o=Math.imul(B,q),r=r+Math.imul(L,H)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(j,H)|0,o=o+Math.imul(j,V)|0,r=r+Math.imul(P,W)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,$)|0,r=r+Math.imul(x,J)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(C,J)|0,o=o+Math.imul(C,Z)|0,r=r+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(M,ne)|0,o=o+Math.imul(M,re)|0,r=r+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,r=r+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,ce)|0)+Math.imul(b,ue)|0,o=o+Math.imul(b,ce)|0,r=r+Math.imul(p,le)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(v,le)|0,o=o+Math.imul(v,de)|0;var Ae=(c+(r=r+Math.imul(l,pe)|0)|0)+((8191&(i=(i=i+Math.imul(l,ve)|0)+Math.imul(d,pe)|0))<<13)|0;c=((o=o+Math.imul(d,ve)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(U,H),i=(i=Math.imul(U,V))+Math.imul(B,H)|0,o=Math.imul(B,V),r=r+Math.imul(L,W)|0,i=(i=i+Math.imul(L,$)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,$)|0,r=r+Math.imul(P,J)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(N,J)|0,o=o+Math.imul(N,Z)|0,r=r+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,ee)|0,r=r+Math.imul(I,ne)|0,i=(i=i+Math.imul(I,re)|0)+Math.imul(k,ne)|0,o=o+Math.imul(k,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,se)|0,r=r+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,r=r+Math.imul(m,le)|0,i=(i=i+Math.imul(m,de)|0)+Math.imul(b,le)|0,o=o+Math.imul(b,de)|0;var Ie=(c+(r=r+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ve)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,ve)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(U,W),i=(i=Math.imul(U,$))+Math.imul(B,W)|0,o=Math.imul(B,$),r=r+Math.imul(L,J)|0,i=(i=i+Math.imul(L,Z)|0)+Math.imul(j,J)|0,o=o+Math.imul(j,Z)|0,r=r+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,ee)|0,r=r+Math.imul(x,ne)|0,i=(i=i+Math.imul(x,re)|0)+Math.imul(C,ne)|0,o=o+Math.imul(C,re)|0,r=r+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,r=r+Math.imul(w,le)|0,i=(i=i+Math.imul(w,de)|0)+Math.imul(_,le)|0,o=o+Math.imul(_,de)|0;var ke=(c+(r=r+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,ve)|0)+Math.imul(b,pe)|0))<<13)|0;c=((o=o+Math.imul(b,ve)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(U,J),i=(i=Math.imul(U,Z))+Math.imul(B,J)|0,o=Math.imul(B,Z),r=r+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,ee)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,ee)|0,r=r+Math.imul(P,ne)|0,i=(i=i+Math.imul(P,re)|0)+Math.imul(N,ne)|0,o=o+Math.imul(N,re)|0,r=r+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,r=r+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,r=r+Math.imul(E,le)|0,i=(i=i+Math.imul(E,de)|0)+Math.imul(M,le)|0,o=o+Math.imul(M,de)|0;var Oe=(c+(r=r+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,ve)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ve)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(U,Q),i=(i=Math.imul(U,ee))+Math.imul(B,Q)|0,o=Math.imul(B,ee),r=r+Math.imul(L,ne)|0,i=(i=i+Math.imul(L,re)|0)+Math.imul(j,ne)|0,o=o+Math.imul(j,re)|0,r=r+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,se)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,se)|0,r=r+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(C,ue)|0,o=o+Math.imul(C,ce)|0,r=r+Math.imul(I,le)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,de)|0;var xe=(c+(r=r+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,ve)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,ve)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(U,ne),i=(i=Math.imul(U,re))+Math.imul(B,ne)|0,o=Math.imul(B,re),r=r+Math.imul(L,oe)|0,i=(i=i+Math.imul(L,se)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,se)|0,r=r+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(N,ue)|0,o=o+Math.imul(N,ce)|0,r=r+Math.imul(x,le)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(C,le)|0,o=o+Math.imul(C,de)|0;var Ce=(c+(r=r+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ve)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,ve)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(U,oe),i=(i=Math.imul(U,se))+Math.imul(B,oe)|0,o=Math.imul(B,se),r=r+Math.imul(L,ue)|0,i=(i=i+Math.imul(L,ce)|0)+Math.imul(j,ue)|0,o=o+Math.imul(j,ce)|0,r=r+Math.imul(P,le)|0,i=(i=i+Math.imul(P,de)|0)+Math.imul(N,le)|0,o=o+Math.imul(N,de)|0;var Te=(c+(r=r+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,ve)|0)+Math.imul(C,pe)|0))<<13)|0;c=((o=o+Math.imul(C,ve)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(U,ue),i=(i=Math.imul(U,ce))+Math.imul(B,ue)|0,o=Math.imul(B,ce),r=r+Math.imul(L,le)|0,i=(i=i+Math.imul(L,de)|0)+Math.imul(j,le)|0,o=o+Math.imul(j,de)|0;var Pe=(c+(r=r+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,ve)|0)+Math.imul(N,pe)|0))<<13)|0;c=((o=o+Math.imul(N,ve)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(U,le),i=(i=Math.imul(U,de))+Math.imul(B,le)|0,o=Math.imul(B,de);var Ne=(c+(r=r+Math.imul(L,pe)|0)|0)+((8191&(i=(i=i+Math.imul(L,ve)|0)+Math.imul(j,pe)|0))<<13)|0;c=((o=o+Math.imul(j,ve)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var Re=(c+(r=Math.imul(U,pe))|0)+((8191&(i=(i=Math.imul(U,ve))+Math.imul(B,pe)|0))<<13)|0;return c=((o=Math.imul(B,ve))+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,u[0]=ge,u[1]=me,u[2]=be,u[3]=ye,u[4]=we,u[5]=_e,u[6]=Se,u[7]=Ee,u[8]=Me,u[9]=Ae,u[10]=Ie,u[11]=ke,u[12]=Oe,u[13]=xe,u[14]=Ce,u[15]=Te,u[16]=Pe,u[17]=Ne,u[18]=Re,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function m(e,t,n){return g(e,t,n)}function b(e,t){this.x=e,this.y=t}Math.imul||(v=p),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?v(this,e,t):n<63?p(this,e,t):n<1024?g(this,e,t):m(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,r=0;r>=1;return r},b.prototype.permute=function(e,t,n,r,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,n+=o/67108864|0,n+=s>>>26,this.words[i]=67108863&s}return 0!==n&&(this.words[i]=n,this.length++),t?this.ineg():this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>i&1}return t}(e);if(0===t.length)return new o(1);for(var n=this,r=0;r=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==f||c>=i);c--){var l=0|this.words[c];this.words[c]=f<<26-o|l>>>o,f=l&a}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,u=r.length-i.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|r.words[i.length+l])+(0|r.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,l);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,l),r.isZero()||(r.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),r._strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modrn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modrn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=(1<<26)%e,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%e;return t?-i:i},o.prototype.modn=function(e){return this.modrn(e)},o.prototype.idivn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/e|0,n=o%e}return this._strip(),t?this.ineg():this},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var f=n.clone(),l=t.clone();!t.isZero();){for(var d=0,h=1;0==(t.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(f),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,v=1;0==(n.words[0]&v)&&p<26;++p,v<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(f),u.isub(l)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(a),s.isub(u)):(n.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){ri&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new A(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function w(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function E(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function I(e){A.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},w.prototype.split=function(e,t){e.iushrn(this.n,0,t)},w.prototype.imulK=function(e){return e.imul(this.k)},i(_,w),_.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r>>22,i=o}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new S;else if("p192"===e)t=new E;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new M}return y[e]=t,t},A.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},A.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},A.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(c(e,e.umod(this.m)._forceRed(this)),e)},A.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},A.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},A.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},A.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},A.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},A.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},A.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},A.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},A.prototype.isqr=function(e){return this.imul(e,e.clone())},A.prototype.sqr=function(e){return this.mul(e,e)},A.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new o(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var l=this.pow(f,i),d=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(a);){for(var v=h,g=0;0!==v.cmp(a);g++)v=v.redSqr();r(g=0;r--){for(var c=t.words[r],f=u-1;f>=0;f--){var l=c>>f&1;i!==n[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===r&&0===f)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}u=26}return i},A.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},A.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new I(e)},i(I,A),I.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},I.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},I.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},I.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},I.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,n(57)(e))},function(e,t){},function(e){e.exports=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny ","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')},function(e,t,n){"use strict";var r=n(47),i=n(29),o=n(7),s=n(95),a=r.assert;function u(e){s.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,n,r){s.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function f(e,t,n,r){s.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(n,16),this.z=new i(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,s),e.exports=u,u.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);t=(t=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(e.lambda)n=new i(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?n=o[0]:(n=o[1],a(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(n)}}},u.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),n=new i(2).toRed(t).redInvm(),r=n.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(n);return[r.redAdd(o).fromRed(),r.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(e){for(var t,n,r,o,s,a,u,c,f,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,h=this.n.clone(),p=new i(1),v=new i(0),g=new i(0),m=new i(1),b=0;0!==d.cmpn(0);){var y=h.div(d);c=h.sub(y.mul(d)),f=g.sub(y.mul(p));var w=m.sub(y.mul(v));if(!r&&c.cmp(l)<0)t=u.neg(),n=p,r=c.neg(),o=f;else if(r&&2==++b)break;u=c,h=d,d=c,g=p,p=f,m=v,v=w}s=c.neg(),a=f;var _=r.sqr().add(o.sqr());return s.sqr().add(a.sqr()).cmp(_)>=0&&(s=t,a=n),r.negative&&(r=r.neg(),o=o.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:r,b:o},{a:s,b:a}]},u.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),s=i.mul(n.a),a=o.mul(r.a),u=i.mul(n.b),c=o.mul(r.b);return{k1:e.sub(s).sub(a),k2:u.add(c).neg()}},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var o=r.fromRed().isOdd();return(t&&!o||!t&&o)&&(r=r.redNeg()),this.point(e,r)},u.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},c.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(f,s.BasePoint),u.prototype.jpoint=function(e,t,n){return new f(this,e,t,n)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(n.redMul(this.z)),a=r.redSub(i),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),f=c.redMul(a),l=r.redMul(c),d=u.redSqr().redIAdd(f).redISub(l).redISub(l),h=u.redMul(l.redISub(d)).redISub(o.redMul(f)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(d,h,p)},f.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),s=n.redSub(r),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),f=n.redMul(u),l=a.redSqr().redIAdd(c).redISub(f).redISub(f),d=a.redMul(f.redISub(l)).redISub(i.redMul(c)),h=this.z.redMul(s);return this.curve.jpoint(l,d,h)},f.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,n){"use strict";var r=n(29),i=n(7),o=n(95),s=n(47);function a(e){o.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(e,t,n){o.BasePoint.call(this,e,"projective"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(a,o),e.exports=a,a.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),r=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return 0===r.redSqrt().redSqr().cmp(r)},i(u,o.BasePoint),a.prototype.decodePoint=function(e,t){return this.point(s.toArray(e,t),1)},a.prototype.point=function(e,t){return new u(this,e,t)},a.prototype.pointFromJSON=function(e){return u.fromJSON(this,e)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(e,t){return new u(e,t[0],t[1]||e.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),r=e.redMul(t),i=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(r,i)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),r=this.x.redSub(this.z),i=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(n),s=i.redMul(r),a=t.z.redMul(o.redAdd(s).redSqr()),u=t.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,u)},u.prototype.mul=function(e){for(var t=e.clone(),n=this,r=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(n=n.diffAdd(r,this),r=r.dbl()):(r=n.diffAdd(r,this),n=n.dbl());return r},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,n){"use strict";var r=n(47),i=n(29),o=n(7),s=n(95),a=r.assert;function u(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,s.call(this,"edwards",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function c(e,t,n,r,o){s.BasePoint.call(this,e,"projective"),null===t&&null===n&&null===r?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(t,16),this.y=new i(n,16),this.z=r?new i(r,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(u,s),e.exports=u,u.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},u.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},u.prototype.jpoint=function(e,t,n,r){return this.point(e,t,n,r)},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),r=this.c2.redSub(this.a.redMul(n)),o=this.one.redSub(this.c2.redMul(this.d).redMul(n)),s=r.redMul(o.redInvm()),a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");var u=a.fromRed().isOdd();return(t&&!u||!t&&u)&&(a=a.redNeg()),this.point(e,a)},u.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),r=n.redSub(this.c2),o=n.redMul(this.d).redMul(this.c2).redSub(this.a),s=r.redMul(o.redInvm());if(0===s.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==t&&(a=a.redNeg()),this.point(a,e)},u.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),n=e.y.redSqr(),r=t.redMul(this.a).redAdd(n),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(n)));return 0===r.cmp(i)},o(c,s.BasePoint),u.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},u.prototype.point=function(e,t,n,r){return new c(this,e,t,n,r)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var r=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=r.redAdd(t),s=o.redSub(n),a=r.redSub(t),u=i.redMul(s),c=o.redMul(a),f=i.redMul(a),l=s.redMul(o);return this.curve.point(u,c,l,f)},c.prototype._projDbl=function(){var e,t,n,r,i,o,s=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var c=(r=this.curve._mulA(a)).redAdd(u);this.zOne?(e=s.redSub(a).redSub(u).redMul(c.redSub(this.curve.two)),t=c.redMul(r.redSub(u)),n=c.redSqr().redSub(c).redSub(c)):(i=this.z.redSqr(),o=c.redSub(i).redISub(i),e=s.redSub(a).redISub(u).redMul(o),t=c.redMul(r.redSub(u)),n=c.redMul(o))}else r=a.redAdd(u),i=this.curve._mulC(this.z).redSqr(),o=r.redSub(i).redSub(i),e=this.curve._mulC(s.redISub(r)).redMul(o),t=this.curve._mulC(r).redMul(a.redISub(u)),n=r.redMul(o);return this.curve.point(e,t,n)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),o=n.redSub(t),s=i.redSub(r),a=i.redAdd(r),u=n.redAdd(t),c=o.redMul(s),f=a.redMul(u),l=o.redMul(u),d=s.redMul(a);return this.curve.point(c,f,d,l)},c.prototype._projAdd=function(e){var t,n,r=this.z.redMul(e.z),i=r.redSqr(),o=this.x.redMul(e.x),s=this.y.redMul(e.y),a=this.curve.d.redMul(o).redMul(s),u=i.redSub(a),c=i.redAdd(a),f=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(s),l=r.redMul(u).redMul(f);return this.curve.twisted?(t=r.redMul(c).redMul(s.redSub(this.curve._mulA(o))),n=u.redMul(c)):(t=r.redMul(c).redMul(s.redSub(o)),n=this.curve._mulC(u).redMul(c)),this.curve.point(l,t,n)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},c.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),r=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),0===this.x.cmp(t))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},function(e,t,n){"use strict";t.sha1=n(336),t.sha224=n(337),t.sha256=n(201),t.sha384=n(338),t.sha512=n(202)},function(e,t,n){"use strict";var r=n(51),i=n(82),o=n(200),s=r.rotl32,a=r.sum32,u=r.sum32_5,c=o.ft_1,f=i.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(d,f),e.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;rthis.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t0))return s.iaddn(1),this.keyFromPrivate(s)}},l.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},l.prototype.sign=function(e,t,n,o){"object"==typeof n&&(o=n,n=null),o||(o={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new r(e,16));for(var s=this.n.byteLength(),a=t.getPrivate().toArray("be",s),u=e.toArray("be",s),c=new i({hash:this.hash,entropy:a,nonce:u,pers:o.pers,persEnc:o.persEnc||"utf8"}),l=this.n.sub(new r(1)),d=0;;d++){var h=o.k?o.k(d):new r(c.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(l)>=0)){var p=this.g.mul(h);if(!p.isInfinity()){var v=p.getX(),g=v.umod(this.n);if(0!==g.cmpn(0)){var m=h.invm(this.n).mul(g.mul(t.getPrivate()).iadd(e));if(0!==(m=m.umod(this.n)).cmpn(0)){var b=(p.getY().isOdd()?1:0)|(0!==v.cmp(g)?2:0);return o.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),b^=1),new f({r:g,s:m,recoveryParam:b})}}}}}},l.prototype.verify=function(e,t,n,i){e=this._truncateToN(new r(e,16)),n=this.keyFromPublic(n,i);var o=(t=new f(t,"hex")).r,s=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,u=s.invm(this.n),c=u.mul(e).umod(this.n),l=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,n.getPublic(),l)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(c,n.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(e,t,n,i){u((3&n)===n,"The recovery param is more than two bits"),t=new f(t,i);var o=this.n,s=new r(e),a=t.r,c=t.s,l=1&n,d=n>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");a=d?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var h=t.r.invm(o),p=o.sub(s).mul(h).umod(o),v=c.mul(h).umod(o);return this.g.mulAdd(p,a,v)},l.prototype.getKeyRecoveryParam=function(e,t,n,r){if(null!==(t=new f(t,r)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(n))return i}throw new Error("Unable to find valid recovery factor")}},function(e,t,n){"use strict";var r=n(129),i=n(198),o=n(46);function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),n=i.toArray(e.nonce,e.nonceEnc||"hex"),r=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,r)}e.exports=s,s.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},s.prototype.generate=function(e,t,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=n,n=t,t=null),n&&(n=i.toArray(n,r||"hex"),this._update(n));for(var o=[];o.length"}},function(e,t,n){"use strict";var r=n(29),i=n(47),o=i.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new r(e.r,16),this.s=new r(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(){this.place=0}function u(e,t){var n=e[t.place++];if(!(128&n))return n;var r=15&n;if(0===r||r>4)return!1;for(var i=0,o=0,s=t.place;o>>=0;return!(i<=127)&&(t.place=s,i)}function c(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}e.exports=s,s.prototype._importDER=function(e,t){e=i.toArray(e,t);var n=new a;if(48!==e[n.place++])return!1;var o=u(e,n);if(!1===o)return!1;if(o+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var s=u(e,n);if(!1===s)return!1;var c=e.slice(n.place,s+n.place);if(n.place+=s,2!==e[n.place++])return!1;var f=u(e,n);if(!1===f)return!1;if(e.length!==f+n.place)return!1;var l=e.slice(n.place,f+n.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new r(c),this.s=new r(l),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=c(t),n=c(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];f(r,t.length),(r=r.concat(t)).push(2),f(r,n.length);var o=r.concat(n),s=[48];return f(s,o.length),s=s.concat(o),i.encode(s,e)}},function(e,t,n){"use strict";var r=n(129),i=n(128),o=n(47),s=o.assert,a=o.parseBytes,u=n(347),c=n(348);function f(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof f))return new f(e);e=i[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}e.exports=f,f.prototype.sign=function(e,t){e=a(e);var n=this.keyFromSecret(t),r=this.hashInt(n.messagePrefix(),e),i=this.g.mul(r),o=this.encodePoint(i),s=this.hashInt(o,n.pubBytes(),e).mul(n.priv()),u=r.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},f.prototype.verify=function(e,t,n){e=a(e),t=this.makeSignature(t);var r=this.keyFromPublic(n),i=this.hashInt(t.Rencoded(),r.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(r.pub().mul(i)).eq(o)},f.prototype.hashInt=function(){for(var e=this.hash(),t=0;t=t)throw new Error("invalid sig")}e.exports=function(e,t,n,c,f){var l=s(n);if("ec"===l.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var r=a[n.data.algorithm.curve.join(".")];if(!r)throw new Error("unknown curve "+n.data.algorithm.curve.join("."));var i=new o(r),s=n.data.subjectPrivateKey.data;return i.verify(t,e,s)}(e,t,l)}if("dsa"===l.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var r=n.data.p,o=n.data.q,a=n.data.g,c=n.data.pub_key,f=s.signature.decode(e,"der"),l=f.s,d=f.r;u(l,o),u(d,o);var h=i.mont(r),p=l.invm(o);return 0===a.toRed(h).redPow(new i(t).mul(p).mod(o)).fromRed().mul(c.toRed(h).redPow(d.mul(p).mod(o)).fromRed()).mod(r).mod(o).cmp(d)}(e,t,l)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");t=r.concat([f,t]);for(var d=l.modulus.byteLength(),h=[1],p=0;t.length+h.length+2n-d-2)throw new Error("message too long");var h=l.alloc(n-r-d-2),p=n-f-1,v=i(f),g=a(l.concat([c,h,l.alloc(1,1),t],p),s(v,p)),m=a(v,s(g,f));return new u(l.concat([l.alloc(1),m,g],n))}(p,t);else if(1===d)h=function(e,t,n){var r,o=t.length,s=e.modulus.byteLength();if(o>s-11)throw new Error("message too long");r=n?l.alloc(s-o-3,255):function(e){var t,n=l.allocUnsafe(e),r=0,o=i(2*e),s=0;for(;r=0)throw new Error("data too long for modulus")}return n?f(h,p):c(h,p)}},function(e,t,n){var r=n(96),i=n(210),o=n(211),s=n(29),a=n(126),u=n(79),c=n(212),f=n(8).Buffer;e.exports=function(e,t,n){var l;l=e.padding?e.padding:n?1:4;var d,h=r(e),p=h.modulus.byteLength();if(t.length>p||new s(t).cmp(h.modulus)>=0)throw new Error("decryption error");d=n?c(new s(t),h):a(t,h);var v=f.alloc(p-d.length);if(d=f.concat([v,d],p),4===l)return function(e,t){var n=e.modulus.byteLength(),r=u("sha1").update(f.alloc(0)).digest(),s=r.length;if(0!==t[0])throw new Error("decryption error");var a=t.slice(1,s+1),c=t.slice(s+1),l=o(a,i(c,s)),d=o(c,i(l,n-s-1));if(function(e,t){e=f.from(e),t=f.from(t);var n=0,r=e.length;e.length!==t.length&&(n++,r=Math.min(e.length,t.length));var i=-1;for(;++i=t.length){o++;break}var s=t.slice(2,i-1);("0002"!==r.toString("hex")&&!n||"0001"!==r.toString("hex")&&n)&&o++;s.length<8&&o++;if(o)throw new Error("decryption error");return t.slice(i)}(0,d,n);if(3===l)return d;throw new Error("unknown padding")}},function(e,t,n){"use strict";(function(e,r){function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=n(8),s=n(66),a=o.Buffer,u=o.kMaxLength,c=e.crypto||e.msCrypto,f=Math.pow(2,32)-1;function l(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>f||e<0)throw new TypeError("offset must be a uint32");if(e>u||e>t)throw new RangeError("offset out of range")}function d(e,t,n){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>f||e<0)throw new TypeError("size must be a uint32");if(e+t>n||e>u)throw new RangeError("buffer too small")}function h(e,t,n,i){if(r.browser){var o=e.buffer,a=new Uint8Array(o,t,n);return c.getRandomValues(a),i?void r.nextTick((function(){i(null,e)})):e}if(!i)return s(n).copy(e,t),e;s(n,(function(n,r){if(n)return i(n);r.copy(e,t),i(null,e)}))}c&&c.getRandomValues||!r.browser?(t.randomFill=function(t,n,r,i){if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof n)i=n,n=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-n;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return l(n,t.length),d(r,n,t.length),h(t,n,r,i)},t.randomFillSync=function(t,n,r){void 0===n&&(n=0);if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');l(n,t.length),void 0===r&&(r=t.length-n);return d(r,n,t.length),h(t,n,r)}):(t.randomFill=i,t.randomFillSync=i)}).call(this,n(31),n(20))},function(e,t,n){e.exports=self.fetch||(self.fetch=n(213).default||n(213))},function(e,t,n){(function(e,r){var i;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){t&&t.nodeType,e&&e.nodeType;var s="object"==typeof r&&r;s.global!==s&&s.window!==s&&s.self;var a,u=2147483647,c=/^xn--/,f=/[^\x20-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=Math.floor,p=String.fromCharCode;function v(e){throw new RangeError(d[e])}function g(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function m(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+g((e=e.replace(l,".")).split("."),t).join(".")}function b(e){for(var t,n,r=[],i=0,o=e.length;i=55296&&t<=56319&&i65535&&(t+=p((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=p(e)})).join("")}function w(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function _(e,t,n){var r=0;for(e=n?h(e/700):e>>1,e+=h(e/t);e>455;r+=36)e=h(e/35);return h(r+36*e/(e+38))}function S(e){var t,n,r,i,o,s,a,c,f,l,d,p=[],g=e.length,m=0,b=128,w=72;for((n=e.lastIndexOf("-"))<0&&(n=0),r=0;r=128&&v("not-basic"),p.push(e.charCodeAt(r));for(i=n>0?n+1:0;i=g&&v("invalid-input"),((c=(d=e.charCodeAt(i++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:36)>=36||c>h((u-m)/s))&&v("overflow"),m+=c*s,!(c<(f=a<=w?1:a>=w+26?26:a-w));a+=36)s>h(u/(l=36-f))&&v("overflow"),s*=l;w=_(m-o,t=p.length+1,0==o),h(m/t)>u-b&&v("overflow"),b+=h(m/t),m%=t,p.splice(m++,0,b)}return y(p)}function E(e){var t,n,r,i,o,s,a,c,f,l,d,g,m,y,S,E=[];for(g=(e=b(e)).length,t=128,n=0,o=72,s=0;s=t&&dh((u-n)/(m=r+1))&&v("overflow"),n+=(a-t)*m,t=a,s=0;su&&v("overflow"),d==t){for(c=n,f=36;!(c<(l=f<=o?1:f>=o+26?26:f-o));f+=36)S=c-l,y=36-l,E.push(p(w(l+S%y,0))),c=h(S/y);E.push(p(w(c,0))),o=_(n,m,r==i),n=0,++r}++n,++t}return E.join("")}a={version:"1.4.1",ucs2:{decode:b,encode:y},decode:S,encode:E,toASCII:function(e){return m(e,(function(e){return f.test(e)?"xn--"+E(e):e}))},toUnicode:function(e){return m(e,(function(e){return c.test(e)?S(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return a}.call(t,n,t,e))||(e.exports=i)}()}).call(this,n(57)(e),n(31))},function(e,t,n){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,n){"use strict";t.decode=t.parse=n(369),t.encode=t.stringify=n(370)},function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,o){t=t||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var a=/\+/g;e=e.split(t);var u=1e3;o&&"number"==typeof o.maxKeys&&(u=o.maxKeys);var c=e.length;u>0&&c>u&&(c=u);for(var f=0;f=0?(l=v.substr(0,g),d=v.substr(g+1)):(l=v,d=""),h=decodeURIComponent(l),p=decodeURIComponent(d),r(s,h)?i(s[h])?s[h].push(p):s[h]=[s[h],p]:s[h]=p}return s};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?o(s(e),(function(s){var a=encodeURIComponent(r(s))+n;return i(e[s])?o(e[s],(function(e){return a+encodeURIComponent(r(e))})).join(t):a+encodeURIComponent(r(e[s]))})).join(t):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function o(e,t){if(e.map)return e.map(t);for(var n=[],r=0;ra)&&void 0===e.nsecs&&(v=0),v>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=p,u=v,i=d;var m=(1e4*(268435455&(p+=122192928e5))+v)%4294967296;f[c++]=m>>>24&255,f[c++]=m>>>16&255,f[c++]=m>>>8&255,f[c++]=255&m;var b=p/4294967296*1e4&268435455;f[c++]=b>>>8&255,f[c++]=255&b,f[c++]=b>>>24&15|16,f[c++]=b>>>16&255,f[c++]=d>>>8|128,f[c++]=255&d;for(var y=0;y<6;++y)f[c+y]=l[y];return t||s(f)}},function(e,t,n){var r=n(214),i=n(215);e.exports=function(e,t,n){var o=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;a<16;++a)t[o+a]=s[a];return t||i(s)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(216),i=n(219),o=n(374),s=n(377),a=n(379),u=n(134),c=function(){function e(e){s.supportsWebCrypto(u.locateWindow())?this.hash=new i.Sha256(e):a.isMsWindow(u.locateWindow())?this.hash=new r.Sha256(e):this.hash=new o.Sha256(e)}return e.prototype.update=function(e,t){this.hash.update(e,t)},e.prototype.digest=function(){return this.hash.digest()},e}();t.Sha256=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(1).__exportStar(n(375),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(1),i=n(220),o=n(376),s=n(497),a=function(){function e(e){if(this.hash=new o.RawSha256,e){this.outer=new o.RawSha256;var t=function(e){var t=u(e);if(t.byteLength>i.BLOCK_SIZE){var n=new o.RawSha256;n.update(t),t=n.digest()}var r=new Uint8Array(i.BLOCK_SIZE);return r.set(t),r}(e),n=new Uint8Array(i.BLOCK_SIZE);n.set(t);for(var r=0;rr.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===r.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%r.BLOCK_SIZE>=r.BLOCK_SIZE-8){for(var i=this.bufferLength;i>>24&255,o[4*i+1]=this.state[i]>>>16&255,o[4*i+2]=this.state[i]>>>8&255,o[4*i+3]=this.state[i]>>>0&255;return o},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,n=t[0],i=t[1],o=t[2],s=t[3],a=t[4],u=t[5],c=t[6],f=t[7],l=0;l>>17|d<<15)^(d>>>19|d<<13)^d>>>10,p=((d=this.temp[l-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3;this.temp[l]=(h+this.temp[l-7]|0)+(p+this.temp[l-16]|0)}var v=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&u^~a&c)|0)+(f+(r.KEY[l]+this.temp[l]|0)|0)|0,g=((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&i^n&o^i&o)|0;f=c,c=u,u=a,a=s+v|0,s=o,o=i,i=n,n=v+g|0}t[0]+=n,t[1]+=i,t[2]+=o,t[3]+=s,t[4]+=a,t[5]+=u,t[6]+=c,t[7]+=f},e}();t.RawSha256=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(1).__exportStar(n(378),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.supportsZeroByteGCM=t.supportsSubtleCrypto=t.supportsSecureRandom=t.supportsWebCrypto=void 0;var r=n(1),i=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];function o(e){return"object"==typeof e&&"object"==typeof e.crypto&&"function"==typeof e.crypto.getRandomValues}function s(e){return e&&i.every((function(t){return"function"==typeof e[t]}))}t.supportsWebCrypto=function(e){return!(!o(e)||"object"!=typeof e.crypto.subtle)&&s(e.crypto.subtle)},t.supportsSecureRandom=o,t.supportsSubtleCrypto=s,t.supportsZeroByteGCM=function(e){return r.__awaiter(this,void 0,void 0,(function(){var t;return r.__generator(this,(function(n){switch(n.label){case 0:if(!s(e))return[2,!1];n.label=1;case 1:return n.trys.push([1,4,,5]),[4,e.generateKey({name:"AES-GCM",length:128},!1,["encrypt"])];case 2:return t=n.sent(),[4,e.encrypt({name:"AES-GCM",iv:new Uint8Array(Array(12)),additionalData:new Uint8Array(Array(16)),tagLength:128},t,new Uint8Array(0))];case 3:return[2,16===n.sent().byteLength];case 4:return n.sent(),[2,!1];case 5:return[2]}}))}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1);r.__exportStar(n(380),t),r.__exportStar(n(381),t),r.__exportStar(n(382),t),r.__exportStar(n(383),t),r.__exportStar(n(384),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMsWindow=void 0;var r=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];t.isMsWindow=function(e){if(function(e){return"MSInputMethodContext"in e&&"msCrypto"in e}(e)&&void 0!==e.msCrypto.subtle){var t=e.msCrypto,n=t.getRandomValues,i=t.subtle;return r.map((function(e){return i[e]})).concat(n).every((function(e){return"function"==typeof e}))}return!1}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(222),o=n(386),s=n(494),a=function(){function e(e){if(this.hash=new o.RawSha256,e){this.outer=new o.RawSha256;var t=function(e){var t=u(e);if(t.byteLength>i.BLOCK_SIZE){var n=new o.RawSha256;n.update(t),t=n.digest()}var r=new Uint8Array(i.BLOCK_SIZE);return r.set(t),r}(e),n=new Uint8Array(i.BLOCK_SIZE);n.set(t);for(var r=0;rr.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===r.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%r.BLOCK_SIZE>=r.BLOCK_SIZE-8){for(var i=this.bufferLength;i>>24&255,o[4*i+1]=this.state[i]>>>16&255,o[4*i+2]=this.state[i]>>>8&255,o[4*i+3]=this.state[i]>>>0&255;return o},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,n=t[0],i=t[1],o=t[2],s=t[3],a=t[4],u=t[5],c=t[6],f=t[7],l=0;l>>17|d<<15)^(d>>>19|d<<13)^d>>>10,p=((d=this.temp[l-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3;this.temp[l]=(h+this.temp[l-7]|0)+(p+this.temp[l-16]|0)}var v=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&u^~a&c)|0)+(f+(r.KEY[l]+this.temp[l]|0)|0)|0,g=((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&i^n&o^i&o)|0;f=c,c=u,u=a,a=s+v|0,s=o,o=i,i=n,n=v+g|0}t[0]+=n,t[1]+=i,t[2]+=o,t[3]+=s,t[4]+=a,t[5]+=u,t[6]+=c,t[7]+=f},e}();t.RawSha256=i},function(e,t,n){var r=n(388),i=n(419);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n-1}},function(e,t,n){var r=n(100);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(101);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(101);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(101);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(101);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},function(e,t,n){var r=n(417);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){var r=n(97),i=n(418),o=n(61),s=n(135),a=r?r.prototype:void 0,u=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(s(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n-1&&e%1==0&&e1){o[u]=[];for(let n in e.child[u])e.child[u].hasOwnProperty(n)&&o[u].push(i(e.child[u][n],t,u))}else{const s=i(e.child[u][0],t,u),a=!0===t.arrayMode&&"object"==typeof s||r.isTagNameInArrayMode(u,t.arrayMode,n);o[u]=a?[s]:s}}return o};t.convertToJson=i},function(e,t,n){"use strict";e.exports=function(e,t,n){this.tagname=e,this.parent=t,this.child={},this.attrsMap={},this.val=n,this.addChild=function(e){Array.isArray(this.child[e.tagname])?this.child[e.tagname].push(e):this.child[e.tagname]=[e]}}},function(e,t,n){"use strict";const r=n(54),i={allowBooleanAttributes:!1},o=["allowBooleanAttributes"];function s(e,t){for(var n=t;t5&&"xml"===r)return d("InvalidXml","XML declaration allowed only at the start of the document.",p(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function a(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let n=1;for(t+=8;t"===e[t]&&(n--,0===n))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t"===e[t+2]){t+=2;break}return t}t.validate=function(e,t){t=r.buildOptions(t,i,o);const n=[];let c=!1,h=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let i=0;i"!==e[i]&&" "!==e[i]&&"\t"!==e[i]&&"\n"!==e[i]&&"\r"!==e[i];i++)g+=e[i];if(g=g.trim(),"/"===g[g.length-1]&&(g=g.substring(0,g.length-1),i--),v=g,!r.isName(v)){let t;return t=0===g.trim().length?"There is an unnecessary space between tag name and backward slash '0)return d("InvalidTag","Closing tag '"+g+"' can't have attributes or invalid starting.",p(e,i));{const t=n.pop();if(g!==t)return d("InvalidTag","Closing tag '"+t+"' is expected inplace of '"+g+"'.",p(e,i));0==n.length&&(h=!0)}}else{const r=f(b,t);if(!0!==r)return d(r.err.code,r.err.msg,p(e,i-b.length+r.err.line));if(!0===h)return d("InvalidXml","Multiple possible root nodes found.",p(e,i));n.push(g),c=!0}for(i++;i0)||d("InvalidXml","Invalid '"+JSON.stringify(n,null,4).replace(/\r?\n/g,"")+"' found.",1):d("InvalidXml","Start tag expected.",1)};function u(e,t){let n="",r="",i=!1;for(;t"===e[t]&&""===r){i=!0;break}n+=e[t]}return""===r&&{value:n,index:t,tagClosed:i}}const c=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function f(e,t){const n=r.getAllMatches(e,c),i={};for(let r=0;r1){for(var u in i+='"'+a+'" : [ ',e.child[a])i+=s(e.child[a][u],t)+" , ";i=i.substr(0,i.length-1)+" ] "}else i+='"'+a+'" : '+s(e.child[a][0],t)+" ,"}return r.merge(i,e.attrsMap),r.isEmptyObject(i)?r.isExist(e.val)?e.val:"":(r.isExist(e.val)&&("string"!=typeof e.val||""!==e.val&&e.val!==t.cdataPositionChar)&&(i+='"'+t.textNodeName+'" : '+(!0!==(c=e.val)&&!1!==c&&isNaN(c)?'"'+c+'"':c)),","===i[i.length-1]&&(i=i.substr(0,i.length-2)),i+"}");var c};t.convertToJsonString=function(e,t){return(t=i(t,o.defaultOptions,o.props)).indentBy=t.indentBy||"",s(e,t,0)}},function(e,t,n){"use strict";const r=n(54).buildOptions,i={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataTagName:!1,cdataPositionChar:"\\c",format:!1,indentBy:" ",supressEmptyNode:!1,tagValueProcessor:function(e){return e},attrValueProcessor:function(e){return e}},o=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","cdataTagName","cdataPositionChar","format","indentBy","supressEmptyNode","tagValueProcessor","attrValueProcessor"];function s(e){this.options=r(e,i,o),this.options.ignoreAttributes||this.options.attrNodeName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=p),this.options.cdataTagName?this.isCDATA=v:this.isCDATA=function(){return!1},this.replaceCDATAstr=a,this.replaceCDATAarr=u,this.options.format?(this.indentate=h,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine=""),this.options.supressEmptyNode?(this.buildTextNode=d,this.buildObjNode=f):(this.buildTextNode=l,this.buildObjNode=c),this.buildTextValNode=l,this.buildObjectNode=c}function a(e,t){return e=this.options.tagValueProcessor(""+e),""===this.options.cdataPositionChar||""===e?e+"");return e+this.newLine}function c(e,t,n,r){return n&&!e.includes("<")?this.indentate(r)+"<"+t+n+">"+e+""+this.options.tagValueProcessor(e)+"=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([n]):s[t]?s[t]+", "+n:n}})),s):s}},function(e,t,n){"use strict";var r=n(45);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=i(window.location.href),function(t){var n=r.isString(t)?i(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var r=n(242);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(t){e=t})),cancel:e}},e.exports=i},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n1,i=!1,o=arguments[1],s=o;return new n((function(n){return t.subscribe({next:function(t){var o=!i;if(i=!0,!o||r)try{s=e(s,t)}catch(e){return n.error(e)}else s=t},error:function(e){n.error(e)},complete:function(){if(!i&&!r)return n.error(new TypeError("Cannot reduce an empty sequence"));n.next(s),n.complete()}})}))}},{key:"concat",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r=0&&i.splice(e,1),s()}});i.push(o)},error:function(e){r.error(e)},complete:function(){s()}});function s(){o.closed&&0===i.length&&r.complete()}return function(){i.forEach((function(e){return e.unsubscribe()})),o.unsubscribe()}}))}},{key:f,value:function(){return this}}],[{key:"from",value:function(t){var n="function"==typeof this?this:e;if(null==t)throw new TypeError(t+" is not an object");var r=d(t,f);if(r){var i=r.call(t);if(Object(i)!==i)throw new TypeError(i+" is not an object");return p(i)&&i.constructor===n?i:new n((function(e){return i.subscribe(e)}))}if(a("iterator")&&(r=d(t,c)))return new n((function(e){g((function(){if(!e.closed){var n=!0,i=!1,o=void 0;try{for(var s,a=r.call(t)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){var u=s.value;if(e.next(u),e.closed)return}}catch(e){i=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw o}}e.complete()}}))}));if(Array.isArray(t))return new n((function(e){g((function(){if(!e.closed){for(var n=0;na)&&void 0===e.nsecs&&(v=0),v>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=p,u=v,i=d;var m=(1e4*(268435455&(p+=122192928e5))+v)%4294967296;f[c++]=m>>>24&255,f[c++]=m>>>16&255,f[c++]=m>>>8&255,f[c++]=255&m;var b=p/4294967296*1e4&268435455;f[c++]=b>>>8&255,f[c++]=255&b,f[c++]=b>>>24&15|16,f[c++]=b>>>16&255,f[c++]=d>>>8|128,f[c++]=255&d;for(var y=0;y<6;++y)f[c+y]=l[y];return t||s(f)}},function(e,t,n){var r=n(243),i=n(244);e.exports=function(e,t,n){var o=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;a<16;++a)t[o+a]=s[a];return t||i(s)}},function(e,t){},function(e,t,n){e.exports=n(487).Observable},function(e,t,n){"use strict";(function(e){!function(e,t){function n(e){return"function"==typeof Symbol&&Boolean(Symbol[e])}function r(e){return n(e)?Symbol[e]:"@@"+e}function i(e){setTimeout((function(){throw e}))}function o(e,t){var n=e[t];if(null!=n){if("function"!=typeof n)throw new TypeError(n+" is not a function");return n}}function s(e){var t=e.constructor;return void 0!==t&&null===(t=t[r("species")])&&(t=void 0),void 0!==t?t:d}function a(e,t){Object.keys(t).forEach((function(n){var r=Object.getOwnPropertyDescriptor(t,n);r.enumerable=!1,Object.defineProperty(e,n,r)}))}function u(e){var t=e._cleanup;if(t){e._cleanup=void 0;try{t()}catch(e){i(e)}}}function c(e){return void 0===e._observer}function f(e,t){if(Object(e)!==e)throw new TypeError("Observer must be an object");this._cleanup=void 0,this._observer=e;try{var n=o(e,"start");n&&n.call(e,this)}catch(e){i(e)}if(!c(this)){e=new l(this);try{var r=t.call(void 0,e);if(null!=r){if("function"==typeof r.unsubscribe)s=r,r=function(){s.unsubscribe()};else if("function"!=typeof r)throw new TypeError(r+" is not a function");this._cleanup=r}}catch(t){return void e.error(t)}var s;c(this)&&u(this)}}function l(e){this._subscription=e}function d(e){if(!(this instanceof d))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof e)throw new TypeError("Observable initializer must be a function");this._subscriber=e}"function"!=typeof Symbol||Symbol.observable||(Symbol.observable=Symbol("observable")),a(f.prototype={},{get closed(){return c(this)},unsubscribe:function(){var e;c(e=this)||(e._observer=void 0,u(e))}}),a(l.prototype={},{get closed(){return c(this._subscription)},next:function(e){var t=this._subscription;if(!c(t)){var n=t._observer;try{var r=o(n,"next");r&&r.call(n,e)}catch(e){i(e)}}},error:function(e){var t=this._subscription;if(c(t))i(e);else{var n=t._observer;t._observer=void 0;try{var r=o(n,"error");if(!r)throw e;r.call(n,e)}catch(e){i(e)}u(t)}},complete:function(){var e=this._subscription;if(!c(e)){var t=e._observer;e._observer=void 0;try{var n=o(t,"complete");n&&n.call(t)}catch(e){i(e)}u(e)}}}),a(d.prototype,{subscribe:function(e){for(var t=[],n=1;n1,i=!1,o=arguments[1],a=o;return new n((function(n){return t.subscribe({next:function(t){if(!n.closed){var o=!i;if(i=!0,!o||r)try{a=e(a,t)}catch(e){return n.error(e)}else a=t}},error:function(e){n.error(e)},complete:function(){if(!i&&!r)return n.error(new TypeError("Cannot reduce an empty sequence"));n.next(a),n.complete()}})}))}}),Object.defineProperty(d.prototype,r("observable"),{value:function(){return this},writable:!0,configurable:!0}),a(d,{from:function(e){var t="function"==typeof this?this:d;if(null==e)throw new TypeError(e+" is not an object");var i=o(e,r("observable"));if(i){var s=i.call(e);if(Object(s)!==s)throw new TypeError(s+" is not an object");return s.constructor===t?s:new t((function(e){return s.subscribe(e)}))}if(n("iterator")&&(i=o(e,r("iterator"))))return new t((function(t){for(var n,r=i.call(e)[Symbol.iterator]();!(n=r.next()).done;){var o=n.value;if(t.next(o),t.closed)return}t.complete()}));if(Array.isArray(e))return new t((function(t){for(var n=0;n0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},a=function(){for(var e=[],t=0;t",e),null):t},e.prototype.removePluggable=function(e){this._convertPluggables=this._convertPluggables.filter((function(t){return t.getProviderName()!==e})),this._identifyPluggables=this._identifyPluggables.filter((function(t){return t.getProviderName()!==e})),this._interpretPluggables=this._interpretPluggables.filter((function(t){return t.getProviderName()!==e}))},e.prototype.configure=function(e){var t=this,n=e?e.predictions||e:{};n=o(o({},n),e),this._options=Object.assign({},this._options,n),u.debug("configure Predictions",this._options),this.getAllProviders().forEach((function(e){return t.configurePluggable(e)}))},e.prototype.interpret=function(e,t){return this.getPluggableToExecute(this._interpretPluggables,t).interpret(e)},e.prototype.convert=function(e,t){return this.getPluggableToExecute(this._convertPluggables,t).convert(e)},e.prototype.identify=function(e,t){return this.getPluggableToExecute(this._identifyPluggables,t).identify(e)},e.prototype.getPluggableToExecute=function(e,t){if(t&&t.providerName)return a(e).find((function(e){return e.getProviderName()===t.providerName}));if(1===e.length)return e[0];throw new Error("More than one or no providers are configured, Either specify a provider name or configure exactly one provider")},e.prototype.getAllProviders=function(){return a(this._convertPluggables,this._identifyPluggables,this._interpretPluggables)},e.prototype.configurePluggable=function(e){var t=Object.assign({},this._options.predictions,this._options[e.getCategory().toLowerCase()]);e.configure(t)},e.prototype.implementsConvertPluggable=function(e){return e&&"function"==typeof e.convert},e.prototype.implementsIdentifyPluggable=function(e){return e&&"function"==typeof e.identify},e.prototype.implementsInterpretPluggable=function(e){return e&&"function"==typeof e.interpret},e}())({});i.a.register(c)},function(e,t,n){"use strict";n.d(t,"a",(function(){return ft}));var r=n(44),i=n(19),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}Object.create;var p,v,g,m,b,y,w,_,S,E,M,A,I,k,O,x,C,T,P,N,R,L,j,D,U,B,F,z,q,K,H,V,G,W,$,Y=n(155),J=n(38),Z=n(18),X=n(24),Q=n(11),ee=n(39),te=n(17),ne=n(40),re=n(41),ie=n(15),oe=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),se=new Set(["cn-north-1","cn-northwest-1"]),ae=new Set(["us-iso-east-1"]),ue=new Set(["us-isob-east-1"]),ce=new Set(["us-gov-east-1","us-gov-west-1"]),fe=f(f({},{apiVersion:"2016-11-28",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"eu-west-1":n={hostname:"runtime.lex.eu-west-1.amazonaws.com",partition:"aws",signingService:"lex"};break;case"us-east-1":n={hostname:"runtime.lex.us-east-1.amazonaws.com",partition:"aws",signingService:"lex"};break;case"us-west-2":n={hostname:"runtime.lex.us-west-2.amazonaws.com",partition:"aws",signingService:"lex"};break;default:oe.has(e)&&(n={hostname:"runtime.lex.{region}.amazonaws.com".replace("{region}",e),partition:"aws",signingService:"lex"}),se.has(e)&&(n={hostname:"runtime.lex.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),ae.has(e)&&(n={hostname:"runtime.lex.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),ue.has(e)&&(n={hostname:"runtime.lex.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),ce.has(e)&&(n={hostname:"runtime.lex.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"runtime.lex.{region}.amazonaws.com".replace("{region}",e),partition:"aws",signingService:"lex"})}return Promise.resolve(n)},signingName:"lex"}),{runtime:"browser",base64Decoder:te.a,base64Encoder:te.b,bodyLengthChecker:ne.a,credentialDefaultProvider:Object(X.a)("Credential is missing"),defaultUserAgent:Object(re.a)(Y.name,Y.version),maxAttempts:Q.a,region:Object(X.a)("Region is missing"),requestHandler:new Z.a,sha256:J.Sha256,streamCollector:Z.b,urlParser:ee.a,utf8Decoder:ie.a,utf8Encoder:ie.b}),le=n(22),de=n(37),he=n(21),pe=n(43),ve=n(25),ge=n(23),me=n(0),be=function(e){function t(t){var n=this,r=f(f({},fe),t),i=Object(le.b)(r),o=Object(le.a)(i),s=Object(ve.b)(o),a=Object(Q.c)(s),u=Object(ge.b)(a),c=Object(he.b)(u);return(n=e.call(this,c)||this).config=c,n.middlewareStack.use(Object(ve.a)(n.config)),n.middlewareStack.use(Object(Q.b)(n.config)),n.middlewareStack.use(Object(ge.a)(n.config)),n.middlewareStack.use(Object(de.a)(n.config)),n.middlewareStack.use(Object(he.a)(n.config)),n.middlewareStack.use(Object(pe.a)(n.config)),n}return c(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(me.a);(p||(p={})).filterSensitiveLog=function(e){return f({},e)},(v||(v={})).filterSensitiveLog=function(e){return f({},e)},(g||(g={})).filterSensitiveLog=function(e){return f({},e)},(m||(m={})).filterSensitiveLog=function(e){return f({},e)},(b||(b={})).filterSensitiveLog=function(e){return f({},e)},(y||(y={})).filterSensitiveLog=function(e){return f({},e)},(w||(w={})).filterSensitiveLog=function(e){return f({},e)},(_||(_={})).filterSensitiveLog=function(e){return f({},e)},function(e){e.FAILED="Failed",e.FULFILLED="Fulfilled",e.READY_FOR_FULFILLMENT="ReadyForFulfillment"}(S||(S={})),function(e){e.COMPOSITE="Composite",e.CUSTOM_PAYLOAD="CustomPayload",e.PLAIN_TEXT="PlainText",e.SSML="SSML"}(E||(E={})),function(e){e.CLOSE="Close",e.CONFIRM_INTENT="ConfirmIntent",e.DELEGATE="Delegate",e.ELICIT_INTENT="ElicitIntent",e.ELICIT_SLOT="ElicitSlot"}(M||(M={})),(A||(A={})).filterSensitiveLog=function(e){return f(f(f({},e),e.slots&&{slots:me.d}),e.message&&{message:me.d})},function(e){e.CONFIRMED="Confirmed",e.DENIED="Denied",e.NONE="None"}(I||(I={})),(k||(k={})).filterSensitiveLog=function(e){return f(f({},e),e.slots&&{slots:me.d})},(O||(O={})).filterSensitiveLog=function(e){return f(f(f(f({},e),e.dialogAction&&{dialogAction:A.filterSensitiveLog(e.dialogAction)}),e.recentIntentSummaryView&&{recentIntentSummaryView:e.recentIntentSummaryView.map((function(e){return k.filterSensitiveLog(e)}))}),e.sessionAttributes&&{sessionAttributes:me.d})},(x||(x={})).filterSensitiveLog=function(e){return f({},e)},(C||(C={})).filterSensitiveLog=function(e){return f({},e)},(T||(T={})).filterSensitiveLog=function(e){return f({},e)},(P||(P={})).filterSensitiveLog=function(e){return f({},e)},(N||(N={})).filterSensitiveLog=function(e){return f(f(f({},e),e.requestAttributes&&{requestAttributes:me.d}),e.sessionAttributes&&{sessionAttributes:me.d})},function(e){e.CONFIRM_INTENT="ConfirmIntent",e.ELICIT_INTENT="ElicitIntent",e.ELICIT_SLOT="ElicitSlot",e.FAILED="Failed",e.FULFILLED="Fulfilled",e.READY_FOR_FULFILLMENT="ReadyForFulfillment"}(R||(R={})),(L||(L={})).filterSensitiveLog=function(e){return f(f({},e),e.message&&{message:me.d})},(j||(j={})).filterSensitiveLog=function(e){return f({},e)},(D||(D={})).filterSensitiveLog=function(e){return f({},e)},(U||(U={})).filterSensitiveLog=function(e){return f(f(f(f({},e),e.requestAttributes&&{requestAttributes:me.d}),e.inputText&&{inputText:me.d}),e.sessionAttributes&&{sessionAttributes:me.d})},(B||(B={})).filterSensitiveLog=function(e){return f({},e)},(F||(F={})).filterSensitiveLog=function(e){return f(f({},e),e.slots&&{slots:me.d})},function(e){e.GENERIC="application/vnd.amazonaws.card.generic"}(z||(z={})),(q||(q={})).filterSensitiveLog=function(e){return f({},e)},(K||(K={})).filterSensitiveLog=function(e){return f({},e)},(H||(H={})).filterSensitiveLog=function(e){return f({},e)},(V||(V={})).filterSensitiveLog=function(e){return f({},e)},(G||(G={})).filterSensitiveLog=function(e){return f(f(f(f(f({},e),e.alternativeIntents&&{alternativeIntents:e.alternativeIntents.map((function(e){return F.filterSensitiveLog(e)}))}),e.message&&{message:me.d}),e.sessionAttributes&&{sessionAttributes:me.d}),e.slots&&{slots:me.d})},(W||(W={})).filterSensitiveLog=function(e){return f(f(f(f({},e),e.dialogAction&&{dialogAction:A.filterSensitiveLog(e.dialogAction)}),e.recentIntentSummaryView&&{recentIntentSummaryView:e.recentIntentSummaryView.map((function(e){return k.filterSensitiveLog(e)}))}),e.sessionAttributes&&{sessionAttributes:me.d})},($||($={})).filterSensitiveLog=function(e){return f(f({},e),e.message&&{message:me.d})};var ye,we=n(2),_e=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p,v,g,m,b,y,w,_;return d(this,(function(d){switch(d.label){case 0:return r=[f({},e)],_={},[4,Ge(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(_.body=d.sent(),_)])),o="UnknownError",o=We(e,n.body),o){case"BadGatewayException":case"com.amazonaws.lexruntimeservice#BadGatewayException":return[3,2];case"BadRequestException":case"com.amazonaws.lexruntimeservice#BadRequestException":return[3,4];case"ConflictException":case"com.amazonaws.lexruntimeservice#ConflictException":return[3,6];case"DependencyFailedException":case"com.amazonaws.lexruntimeservice#DependencyFailedException":return[3,8];case"InternalFailureException":case"com.amazonaws.lexruntimeservice#InternalFailureException":return[3,10];case"LimitExceededException":case"com.amazonaws.lexruntimeservice#LimitExceededException":return[3,12];case"LoopDetectedException":case"com.amazonaws.lexruntimeservice#LoopDetectedException":return[3,14];case"NotAcceptableException":case"com.amazonaws.lexruntimeservice#NotAcceptableException":return[3,16];case"NotFoundException":case"com.amazonaws.lexruntimeservice#NotFoundException":return[3,18];case"RequestTimeoutException":case"com.amazonaws.lexruntimeservice#RequestTimeoutException":return[3,20];case"UnsupportedMediaTypeException":case"com.amazonaws.lexruntimeservice#UnsupportedMediaTypeException":return[3,22]}return[3,24];case 2:return s=[{}],[4,Ee(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 4:return a=[{}],[4,Me(n,t)];case 5:return i=f.apply(void 0,[f.apply(void 0,a.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 6:return u=[{}],[4,Ae(n,t)];case 7:return i=f.apply(void 0,[f.apply(void 0,u.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 8:return c=[{}],[4,Ie(n,t)];case 9:return i=f.apply(void 0,[f.apply(void 0,c.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 10:return l=[{}],[4,ke(n,t)];case 11:return i=f.apply(void 0,[f.apply(void 0,l.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 12:return h=[{}],[4,Oe(n,t)];case 13:return i=f.apply(void 0,[f.apply(void 0,h.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 14:return p=[{}],[4,xe(n,t)];case 15:return i=f.apply(void 0,[f.apply(void 0,p.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 16:return v=[{}],[4,Ce(n,t)];case 17:return i=f.apply(void 0,[f.apply(void 0,v.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 18:return g=[{}],[4,Te(n,t)];case 19:return i=f.apply(void 0,[f.apply(void 0,g.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 20:return m=[{}],[4,Pe(n,t)];case 21:return i=f.apply(void 0,[f.apply(void 0,m.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 22:return b=[{}],[4,Ne(n,t)];case 23:return i=f.apply(void 0,[f.apply(void 0,b.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 24:y=n.body,o=y.code||y.Code||o,i=f(f({},y),{name:""+o,message:y.message||y.Message||o,$fault:"client",$metadata:Ke(e)}),d.label=25;case 25:return w=i.message||i.Message||o,i.message=w,delete i.Message,[2,Promise.reject(Object.assign(new Error(w),i))]}}))}))},Se=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p,v,g,m,b;return d(this,(function(d){switch(d.label){case 0:return r=[f({},e)],b={},[4,Ge(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(b.body=d.sent(),b)])),o="UnknownError",o=We(e,n.body),o){case"BadGatewayException":case"com.amazonaws.lexruntimeservice#BadGatewayException":return[3,2];case"BadRequestException":case"com.amazonaws.lexruntimeservice#BadRequestException":return[3,4];case"ConflictException":case"com.amazonaws.lexruntimeservice#ConflictException":return[3,6];case"DependencyFailedException":case"com.amazonaws.lexruntimeservice#DependencyFailedException":return[3,8];case"InternalFailureException":case"com.amazonaws.lexruntimeservice#InternalFailureException":return[3,10];case"LimitExceededException":case"com.amazonaws.lexruntimeservice#LimitExceededException":return[3,12];case"LoopDetectedException":case"com.amazonaws.lexruntimeservice#LoopDetectedException":return[3,14];case"NotFoundException":case"com.amazonaws.lexruntimeservice#NotFoundException":return[3,16]}return[3,18];case 2:return s=[{}],[4,Ee(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 4:return a=[{}],[4,Me(n,t)];case 5:return i=f.apply(void 0,[f.apply(void 0,a.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 6:return u=[{}],[4,Ae(n,t)];case 7:return i=f.apply(void 0,[f.apply(void 0,u.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 8:return c=[{}],[4,Ie(n,t)];case 9:return i=f.apply(void 0,[f.apply(void 0,c.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 10:return l=[{}],[4,ke(n,t)];case 11:return i=f.apply(void 0,[f.apply(void 0,l.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 12:return h=[{}],[4,Oe(n,t)];case 13:return i=f.apply(void 0,[f.apply(void 0,h.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 14:return p=[{}],[4,xe(n,t)];case 15:return i=f.apply(void 0,[f.apply(void 0,p.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 16:return v=[{}],[4,Te(n,t)];case 17:return i=f.apply(void 0,[f.apply(void 0,v.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 18:g=n.body,o=g.code||g.Code||o,i=f(f({},g),{name:""+o,message:g.message||g.Message||o,$fault:"client",$metadata:Ke(e)}),d.label=19;case 19:return m=i.message||i.Message||o,i.message=m,delete i.Message,[2,Promise.reject(Object.assign(new Error(m),i))]}}))}))},Ee=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"BadGatewayException",$fault:"server",$metadata:Ke(e),Message:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),[2,t]}))}))},Me=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"BadRequestException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Ae=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"ConflictException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Ie=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"DependencyFailedException",$fault:"client",$metadata:Ke(e),Message:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),[2,t]}))}))},ke=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"InternalFailureException",$fault:"server",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Oe=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"LimitExceededException",$fault:"client",$metadata:Ke(e),message:void 0,retryAfterSeconds:void 0},void 0!==e.headers["retry-after"]&&(t.retryAfterSeconds=e.headers["retry-after"]),void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},xe=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"LoopDetectedException",$fault:"server",$metadata:Ke(e),Message:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),[2,t]}))}))},Ce=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"NotAcceptableException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Te=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"NotFoundException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Pe=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"RequestTimeoutException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Ne=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"UnsupportedMediaTypeException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Re=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=h(t,2),i=r[0],o=r[1];return f(f({},e),((n={})[i]=o,n))}),{})},Le=function(e,t){return(e||[]).map((function(e){return function(e,t){return{attachmentLinkUrl:void 0!==e.attachmentLinkUrl&&null!==e.attachmentLinkUrl?e.attachmentLinkUrl:void 0,buttons:void 0!==e.buttons&&null!==e.buttons?Ue(e.buttons,t):void 0,imageUrl:void 0!==e.imageUrl&&null!==e.imageUrl?e.imageUrl:void 0,subTitle:void 0!==e.subTitle&&null!==e.subTitle?e.subTitle:void 0,title:void 0!==e.title&&null!==e.title?e.title:void 0}}(e,t)}))},je=function(e,t){return{score:void 0!==e.score&&null!==e.score?e.score:void 0}},De=function(e,t){return(e||[]).map((function(e){return Be(e,t)}))},Ue=function(e,t){return(e||[]).map((function(e){return function(e,t){return{text:void 0!==e.text&&null!==e.text?e.text:void 0,value:void 0!==e.value&&null!==e.value?e.value:void 0}}(e)}))},Be=function(e,t){return{intentName:void 0!==e.intentName&&null!==e.intentName?e.intentName:void 0,nluIntentConfidence:void 0!==e.nluIntentConfidence&&null!==e.nluIntentConfidence?je(e.nluIntentConfidence,t):void 0,slots:void 0!==e.slots&&null!==e.slots?qe(e.slots,t):void 0}},Fe=function(e,t){return{contentType:void 0!==e.contentType&&null!==e.contentType?e.contentType:void 0,genericAttachments:void 0!==e.genericAttachments&&null!==e.genericAttachments?Le(e.genericAttachments,t):void 0,version:void 0!==e.version&&null!==e.version?e.version:void 0}},ze=function(e,t){return{sentimentLabel:void 0!==e.sentimentLabel&&null!==e.sentimentLabel?e.sentimentLabel:void 0,sentimentScore:void 0!==e.sentimentScore&&null!==e.sentimentScore?e.sentimentScore:void 0}},qe=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=h(t,2),i=r[0],o=r[1];return f(f({},e),((n={})[i]=o,n))}),{})},Ke=function(e){return{httpStatusCode:e.statusCode,httpHeaders:e.headers,requestId:e.headers["x-amzn-requestid"]}},He=function(e,t){return function(e,t){return void 0===e&&(e=new Uint8Array),e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array)}(e,t).then((function(e){return t.utf8Encoder(e)}))},Ve=function(e){return!(void 0===e||""===e||Object.getOwnPropertyNames(e).includes("length")&&0==e.length||Object.getOwnPropertyNames(e).includes("size")&&0==e.size)},Ge=function(e,t){return He(e,t).then((function(e){return e.length?JSON.parse(e):{}}))},We=function(e,t){var n,r,i=function(e){var t=e;return t.indexOf(":")>=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},o=(n=e.headers,r="x-amzn-errortype",Object.keys(n).find((function(e){return e.toLowerCase()===r.toLowerCase()})));return void 0!==o?i(e.headers[o]):void 0!==t.code?i(t.code):void 0!==t.__type?i(t.__type):""},$e=n(10),Ye=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object($e.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"LexRuntimeServiceClient",commandName:"PostTextCommand",inputFilterSensitiveLog:U.filterSensitiveLog,outputFilterSensitiveLog:G.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"LexRuntimeServiceClient",commandName:"PostTextCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n={"Content-Type":"application/json"},r="/bot/{botName}/alias/{botAlias}/user/{userId}/text",void 0===e.userId)throw new Error("No value provided for input HTTP label: userId.");if((i=e.userId).length<=0)throw new Error("Empty value provided for input HTTP label: userId.");if(r=r.replace("{userId}",Object(me.f)(i)),void 0===e.botAlias)throw new Error("No value provided for input HTTP label: botAlias.");if((i=e.botAlias).length<=0)throw new Error("Empty value provided for input HTTP label: botAlias.");if(r=r.replace("{botAlias}",Object(me.f)(i)),void 0===e.botName)throw new Error("No value provided for input HTTP label: botName.");if((i=e.botName).length<=0)throw new Error("Empty value provided for input HTTP label: botName.");return r=r.replace("{botName}",Object(me.f)(i)),o=JSON.stringify(f(f(f({},void 0!==e.inputText&&{inputText:e.inputText}),void 0!==e.requestAttributes&&{requestAttributes:Re(e.requestAttributes,t)}),void 0!==e.sessionAttributes&&{sessionAttributes:Re(e.sessionAttributes,t)})),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new we.a({protocol:c,hostname:a,port:l,method:"POST",headers:n,path:r,body:o})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,Se(e,t)]:(n={$metadata:Ke(e),alternativeIntents:void 0,botVersion:void 0,dialogState:void 0,intentName:void 0,message:void 0,messageFormat:void 0,nluIntentConfidence:void 0,responseCard:void 0,sentimentResponse:void 0,sessionAttributes:void 0,sessionId:void 0,slotToElicit:void 0,slots:void 0},[4,Ge(e.body,t)]);case 1:return void 0!==(r=i.sent()).alternativeIntents&&null!==r.alternativeIntents&&(n.alternativeIntents=De(r.alternativeIntents,t)),void 0!==r.botVersion&&null!==r.botVersion&&(n.botVersion=r.botVersion),void 0!==r.dialogState&&null!==r.dialogState&&(n.dialogState=r.dialogState),void 0!==r.intentName&&null!==r.intentName&&(n.intentName=r.intentName),void 0!==r.message&&null!==r.message&&(n.message=r.message),void 0!==r.messageFormat&&null!==r.messageFormat&&(n.messageFormat=r.messageFormat),void 0!==r.nluIntentConfidence&&null!==r.nluIntentConfidence&&(n.nluIntentConfidence=je(r.nluIntentConfidence,t)),void 0!==r.responseCard&&null!==r.responseCard&&(n.responseCard=Fe(r.responseCard,t)),void 0!==r.sentimentResponse&&null!==r.sentimentResponse&&(n.sentimentResponse=ze(r.sentimentResponse,t)),void 0!==r.sessionAttributes&&null!==r.sessionAttributes&&(n.sessionAttributes=qe(r.sessionAttributes,t)),void 0!==r.sessionId&&null!==r.sessionId&&(n.sessionId=r.sessionId),void 0!==r.slotToElicit&&null!==r.slotToElicit&&(n.slotToElicit=r.slotToElicit),void 0!==r.slots&&null!==r.slots&&(n.slots=qe(r.slots,t)),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(me.b),Je=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object($e.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"LexRuntimeServiceClient",commandName:"PostContentCommand",inputFilterSensitiveLog:N.filterSensitiveLog,outputFilterSensitiveLog:L.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"LexRuntimeServiceClient",commandName:"PostContentCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f({"Content-Type":"application/octet-stream","x-amz-content-sha256":"UNSIGNED-PAYLOAD"},Ve(e.requestAttributes)&&{"x-amz-lex-request-attributes":me.c.fromObject(e.requestAttributes)}),Ve(e.sessionAttributes)&&{"x-amz-lex-session-attributes":me.c.fromObject(e.sessionAttributes)}),Ve(e.contentType)&&{"Content-Type":e.contentType}),Ve(e.accept)&&{Accept:e.accept}),r="/bot/{botName}/alias/{botAlias}/user/{userId}/content",void 0===e.botAlias)throw new Error("No value provided for input HTTP label: botAlias.");if((i=e.botAlias).length<=0)throw new Error("Empty value provided for input HTTP label: botAlias.");if(r=r.replace("{botAlias}",Object(me.f)(i)),void 0===e.botName)throw new Error("No value provided for input HTTP label: botName.");if((i=e.botName).length<=0)throw new Error("Empty value provided for input HTTP label: botName.");if(r=r.replace("{botName}",Object(me.f)(i)),void 0===e.userId)throw new Error("No value provided for input HTTP label: userId.");if((i=e.userId).length<=0)throw new Error("Empty value provided for input HTTP label: userId.");return r=r.replace("{userId}",Object(me.f)(i)),void 0!==e.inputStream&&(o=e.inputStream),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new we.a({protocol:c,hostname:a,port:l,method:"POST",headers:n,path:r,body:o})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return 200!==e.statusCode&&e.statusCode>=300?[2,_e(e,t)]:(n={$metadata:Ke(e),alternativeIntents:void 0,audioStream:void 0,botVersion:void 0,contentType:void 0,dialogState:void 0,inputTranscript:void 0,intentName:void 0,message:void 0,messageFormat:void 0,nluIntentConfidence:void 0,sentimentResponse:void 0,sessionAttributes:void 0,sessionId:void 0,slotToElicit:void 0,slots:void 0},void 0!==e.headers["x-amz-lex-alternative-intents"]&&(n.alternativeIntents=new me.c(e.headers["x-amz-lex-alternative-intents"])),void 0!==e.headers["x-amz-lex-message-format"]&&(n.messageFormat=e.headers["x-amz-lex-message-format"]),void 0!==e.headers["content-type"]&&(n.contentType=e.headers["content-type"]),void 0!==e.headers["x-amz-lex-message"]&&(n.message=e.headers["x-amz-lex-message"]),void 0!==e.headers["x-amz-lex-bot-version"]&&(n.botVersion=e.headers["x-amz-lex-bot-version"]),void 0!==e.headers["x-amz-lex-sentiment"]&&(n.sentimentResponse=e.headers["x-amz-lex-sentiment"]),void 0!==e.headers["x-amz-lex-slots"]&&(n.slots=new me.c(e.headers["x-amz-lex-slots"])),void 0!==e.headers["x-amz-lex-input-transcript"]&&(n.inputTranscript=e.headers["x-amz-lex-input-transcript"]),void 0!==e.headers["x-amz-lex-slot-to-elicit"]&&(n.slotToElicit=e.headers["x-amz-lex-slot-to-elicit"]),void 0!==e.headers["x-amz-lex-session-attributes"]&&(n.sessionAttributes=new me.c(e.headers["x-amz-lex-session-attributes"])),void 0!==e.headers["x-amz-lex-session-id"]&&(n.sessionId=e.headers["x-amz-lex-session-id"]),void 0!==e.headers["x-amz-lex-dialog-state"]&&(n.dialogState=e.headers["x-amz-lex-dialog-state"]),void 0!==e.headers["x-amz-lex-intent-name"]&&(n.intentName=e.headers["x-amz-lex-intent-name"]),void 0!==e.headers["x-amz-lex-nlu-intent-confidence"]&&(n.nluIntentConfidence=new me.c(e.headers["x-amz-lex-nlu-intent-confidence"])),r=e.body,n.audioStream=r,[2,Promise.resolve(n)])}))}))}(e,t)},t}(me.b),Ze=n(89),Xe=n(50),Qe=function(e){if(e instanceof Blob||e instanceof ReadableStream)return new Response(e).arrayBuffer().then((function(e){return new Uint8Array(e)}));throw new Error("Readable is not supported.")},et=(ye=function(e,t){return(ye=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}ye(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),tt=function(){return(tt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},o=(n=e.headers,r="x-amzn-errortype",Object.keys(n).find((function(e){return e.toLowerCase()===r.toLowerCase()})));return void 0!==o?i(e.headers[o]):void 0!==t.code?i(t.code):void 0!==t.__type?i(t.__type):""},N=n(10),R=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return u(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(N.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"PersonalizeEventsClient",commandName:"PutEventsCommand",inputFilterSensitiveLog:p.filterSensitiveLog,outputFilterSensitiveLog:function(e){return e}};"function"==typeof i.info&&i.info({clientName:"PersonalizeEventsClient",commandName:"PutEventsCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return f(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,f;return l(this,(function(l){switch(l.label){case 0:return n={"Content-Type":"application/json"},r="/events",i=JSON.stringify(c(c(c(c({},void 0!==e.eventList&&{eventList:k(e.eventList,t)}),void 0!==e.sessionId&&{sessionId:e.sessionId}),void 0!==e.trackingId&&{trackingId:e.trackingId}),void 0!==e.userId&&{userId:e.userId})),[4,t.endpoint()];case 1:return o=l.sent(),s=o.hostname,a=o.protocol,u=void 0===a?"https":a,f=o.port,[2,new E.a({protocol:u,hostname:s,port:f,method:"POST",headers:n,path:r,body:i})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return f(void 0,void 0,void 0,(function(){var n;return l(this,(function(r){switch(r.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,A(e,t)]:(n={$metadata:x(e)},[4,C(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(M.b),L=n(152),j=n(38),D=n(18),U=n(24),B=n(11),F=n(39),z=n(17),q=n(40),K=n(41),H=n(15),V="personalize-events.{region}.amazonaws.com",G=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),W=new Set(["cn-north-1","cn-northwest-1"]),$=new Set(["us-iso-east-1"]),Y=new Set(["us-isob-east-1"]),J=new Set(["us-gov-east-1","us-gov-west-1"]),Z=c(c({},{apiVersion:"2018-03-22",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;return G.has(e)&&(n={hostname:V.replace("{region}",e),partition:"aws"}),W.has(e)&&(n={hostname:"personalize-events.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),$.has(e)&&(n={hostname:"personalize-events.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),Y.has(e)&&(n={hostname:"personalize-events.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),J.has(e)&&(n={hostname:"personalize-events.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:V.replace("{region}",e),partition:"aws"}),Promise.resolve(n)},signingName:"personalize"}),{runtime:"browser",base64Decoder:z.a,base64Encoder:z.b,bodyLengthChecker:q.a,credentialDefaultProvider:Object(U.a)("Credential is missing"),defaultUserAgent:Object(K.a)(L.name,L.version),maxAttempts:B.a,region:Object(U.a)("Region is missing"),requestHandler:new D.a,sha256:j.Sha256,streamCollector:D.b,urlParser:F.a,utf8Decoder:H.a,utf8Encoder:H.b}),X=n(22),Q=n(37),ee=n(21),te=n(43),ne=n(25),re=n(23),ie=function(e){function t(t){var n=this,r=c(c({},Z),t),i=Object(X.b)(r),o=Object(X.a)(i),s=Object(ne.b)(o),a=Object(B.c)(s),u=Object(re.b)(a),f=Object(ee.b)(u);return(n=e.call(this,f)||this).config=f,n.middlewareStack.use(Object(ne.a)(n.config)),n.middlewareStack.use(Object(B.b)(n.config)),n.middlewareStack.use(Object(re.a)(n.config)),n.middlewareStack.use(Object(Q.a)(n.config)),n.middlewareStack.use(Object(ee.a)(n.config)),n.middlewareStack.use(Object(te.a)(n.config)),n}return u(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(M.a),oe=n(36),se=n.n(oe),ae=n(108),ue=n.n(ae),ce=n(27),fe=n(26),le=(new r.a("AmazonPersonalizeProvider"),function(){function e(e){void 0===e&&(e=""),this._isBrowser=i.a.browserOrNode().isBrowser,this._timerKey=Object(ce.v1)().substr(0,15),this._refreshTimer()}return e.prototype._refreshTimer=function(){this._timer&&clearInterval(this._timer);var e=this;this._timer=setInterval((function(){e._timerKey=Object(ce.v1)().substr(0,15)}),3e4)},e.prototype.storeValue=function(e,t){var n=new Date,r=new Date;r.setTime(n.getTime()+6048e5),fe.a.setItem(this._getCachePrefix(e),t,{expires:r.getTime()})},e.prototype.retrieveValue=function(e){return fe.a.getItem(this._getCachePrefix(e))},e.prototype._getCachePrefix=function(e){return this._isBrowser?e+"."+window.location.host:"peronslize"},e.prototype.getTimerKey=function(){return this._timerKey},e.prototype.updateSessionInfo=function(e,t){var n=t.userId,r=t.sessionId;if(this._isRequireNewSession(e,n,r)){var i=Object(ce.v1)();this.storeValue("_awsct_uid",e),this.storeValue("_awsct_sid",i),t.sessionId=i}else this._isRequireUpdateSessionInfo(e,n,r)&&this.storeValue("_awsct_uid",e);t.userId=e},e.prototype._isRequireUpdateSessionInfo=function(e,t,n){return!se()(n)&&se()(t)&&!se()(e)},e.prototype.retrieveSessionInfo=function(e){var t={};return t.trackingId=e,t.sessionId=this.retrieveValue("_awsct_sid"),t.userId=this.retrieveValue("_awsct_uid"),se()(t.sessionId)&&(t.sessionId=Object(ce.v1)(),this.storeValue("_awsct_sid",t.sessionId)),this.storeValue("_awsct",e),t},e.prototype._isRequireNewSession=function(e,t,n){var r=se()(n),i=se()(e)&&!se()(t),o=!se()(e)&&!se()(t)&&!ue()(e,t);return r||i||o},e}());!function(e){e.PLAY="play",e.PAUSE="pause",e.ENDED="Ended"}(w||(w={})),function(e){e.IFRAME="IFRAME",e.VIDEO="VIDEO",e.AUDIO="AUDIO"}(_||(_={})),function(e){e.PLAY="Play",e.ENDED="Ended",e.PAUSE="Pause",e.TIME_WATCHED="TimeWatched"}(S||(S={}));var de=function(){function e(e,t){var n;this.eventActionMapping=((n={})[S.ENDED]=this.endedEventAction.bind(this),n[S.PLAY]=this.playEventAction.bind(this),n[S.PAUSE]=this.pauseEventAction.bind(this),n);var r=e.eventData;this._params=e,this._mediaElement=document.getElementById(r.properties.domElementId),this._started=!1,this._provider=t,{IFRAME:this._iframeMediaTracker,VIDEO:this._html5MediaTracker,AUDIO:this._html5MediaTracker}[this._mediaElement.tagName].bind(this)(),this._initYoutubeFrame()}return e.prototype._initYoutubeFrame=function(){this._youTubeIframeLoader={src:"https://www.youtube.com/iframe_api",loading:!1,loaded:!1,listeners:[],load:function(e){var t=this;if(this.listeners.push(e),this.loaded)setTimeout((function(){t.done()}));else if(!this.loading){this.loading=!0,window.onYouTubeIframeAPIReady=function(){t.loaded=!0,t.done()};var n=document.createElement("script");n.type="text/javascript",n.src=this.src,document.body.appendChild(n)}},done:function(){for(delete window.onYouTubeIframeAPIReady;this.listeners.length;)this.listeners.pop()(window.YT)}}},e.prototype._iframeMediaTracker=function(){var e=this;setInterval((function(){e._started&&e.recordEvent(_.IFRAME,S.TIME_WATCHED)}),3e3),this._youTubeIframeLoader.load((function(t){e._iframePlayer=new t.Player(e._mediaElement.id,{events:{onStateChange:e._onPlayerStateChange.bind(e)}})}))},e.prototype._onPlayerStateChange=function(e){var t={0:S.ENDED,1:S.PLAY,2:S.PAUSE}[e.data];t&&this.eventActionMapping[t](_.IFRAME)},e.prototype._html5MediaTracker=function(){var e=this;setInterval((function(){e._started&&e.recordEvent(_.VIDEO,S.TIME_WATCHED)}),3e3),this._mediaElement.addEventListener(w.PLAY,(function(){e.eventActionMapping[S.PLAY](_.VIDEO)}),!1),this._mediaElement.addEventListener(w.PAUSE,(function(){e.eventActionMapping[S.PAUSE](_.VIDEO)}),!1),this._mediaElement.addEventListener(w.ENDED,(function(){e.eventActionMapping[S.ENDED](_.VIDEO)}),!1)},e.prototype.playEventAction=function(e){this._started=!0,this.recordEvent(e,S.PLAY)},e.prototype.pauseEventAction=function(e){this._started=!1,this.recordEvent(e,S.PAUSE)},e.prototype.endedEventAction=function(e){this._started=!1,this.recordEvent(e,S.ENDED)},e.prototype.recordEvent=function(e,t){var n=Object.assign({},this._params),r=n.eventData;r.eventType=t,e===_.VIDEO?(r.properties.timestamp=this._mediaElement.currentTime,r.properties.duration=this._mediaElement.duration):(r.properties.timestamp=this._financial(this._iframePlayer.getCurrentTime()),r.properties.duration=this._financial(this._iframePlayer.getDuration()));var i=parseFloat(r.properties.timestamp)/parseFloat(r.properties.duration);r.properties.eventValue=Number(i.toFixed(4)),delete r.properties.domElementId,this._provider.putToBuffer(n)},e.prototype._financial=function(e){return Number.parseFloat(e).toFixed(4)},e}(),he=n(252),pe=n.n(he),ve=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},ge=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this._config.flushSize<=10?this._config.flushSize:5,this._config.flushInterval=this._config.flushInterval||5e3,this._sessionManager=new le,se()(this._config.trackingId)||(this._sessionInfo=this._sessionManager.retrieveSessionInfo(this._config.trackingId)),this._isBrowser=i.a.browserOrNode().isBrowser,this._setupTimer()}return e.prototype._setupTimer=function(){this._timer&&clearInterval(this._timer);var e=this._config.flushInterval,t=this;this._timer=setInterval((function(){t._sendFromBuffer()}),e)},e.prototype.record=function(e){return ve(this,void 0,void 0,(function(){var t,n,r,i,o;return ge(this,(function(s){switch(s.label){case 0:return[4,this._getCredentials()];case 1:return(t=s.sent())?(Object.assign(e,{config:this._config,credentials:t,sentAt:new Date}),n=e.event,r=n.eventType,i=n.properties,"Identify"===r?(this._sessionManager.updateSessionInfo(i&&i.userId?i.userId:"",this._sessionInfo),[2]):(se()(e.event.userId)||this._sessionManager.updateSessionInfo(e.event.userId,this._sessionInfo),o=this.generateRequestParams(e,this._sessionInfo),"MediaAutoTrack"!==r?[3,7]:this._isBrowser?se()(pe()(o,"eventData.properties.domElementId",null))?[3,3]:[4,this.isElementFullyLoaded(this.loadElement,o.eventData.properties.domElementId,500,5)]:[3,5])):[2,Promise.resolve(!1)];case 2:return s.sent()?new de(o,this):me.debug("Cannot find the media element."),[3,4];case 3:me.debug("Missing domElementId field in 'properties' for MediaAutoTrack event type."),s.label=4;case 4:return[3,6];case 5:me.debug("MediaAutoTrack only for browser"),s.label=6;case 6:return[2];case 7:return[2,this.putToBuffer(o)]}}))}))},e.prototype.loadElement=function(e){return new Promise((function(t,n){return document.getElementById(e)&&document.getElementById(e).clientHeight?t(!0):n(!0)}))},e.prototype.isElementFullyLoaded=function(e,t,n,r){var i=this;return new Promise((function(o,s){return e(t).then(o).catch((function(a){return r-1>0?(u=n,new Promise((function(e){return setTimeout(e,u)}))).then(i.isElementFullyLoaded.bind(null,e,t,n,r-1)).then(o).catch(s):s(a);var u}))}))},e.prototype.getCategory=function(){return"Analytics"},e.prototype.getProviderName=function(){return"AmazonPersonalize"},e.prototype.configure=function(e){me.debug("configure Analytics",e);var t=e||{};return this._config=Object.assign({},this._config,t),se()(this._config.trackingId)||(this._sessionInfo=this._sessionManager.retrieveSessionInfo(this._config.trackingId)),this._setupTimer(),this._config},e.prototype.generateRequestParams=function(e,t){var n={},r=e.event,i=r.eventType,o=r.properties;return n.eventData={eventType:i,properties:o},n.sessionInfo=t,n.sentAt=e.sentAt,n.credentials=e.credentials,n.config=e.config,n},e.prototype._sendEvents=function(e){var t=e.length;if(0!==t){var n=e[0],r=n.config,i=n.credentials,o=n.sessionInfo;if(!this._init(r,i))return!1;if(t>0){for(var s=[],a=0;a0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},c=function(){for(var e=[],t=0;t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=300?[2,st(e,t)]:[4,Et(e.body,t)];case 1:return n=o.sent(),{},r=gt(n,t),i=a({$metadata:wt(e)},r),[2,Promise.resolve(i)]}}))}))}(e,t)},t}(rt.b),It=n(151),kt=n(38),Ot=n(18),xt=n(24),Ct=n(11),Tt=n(39),Pt=n(17),Nt=n(40),Rt=n(41),Lt=n(15),jt=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),Dt=new Set(["cn-north-1","cn-northwest-1"]),Ut=new Set(["us-iso-east-1"]),Bt=new Set(["us-isob-east-1"]),Ft=new Set(["us-gov-east-1","us-gov-west-1"]),zt=a(a({},{apiVersion:"2015-08-04",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-east-1":n={hostname:"firehose.ap-east-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-1":n={hostname:"firehose.ap-northeast-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-2":n={hostname:"firehose.ap-northeast-2.amazonaws.com",partition:"aws"};break;case"ap-south-1":n={hostname:"firehose.ap-south-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-1":n={hostname:"firehose.ap-southeast-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-2":n={hostname:"firehose.ap-southeast-2.amazonaws.com",partition:"aws"};break;case"ca-central-1":n={hostname:"firehose.ca-central-1.amazonaws.com",partition:"aws"};break;case"cn-north-1":n={hostname:"firehose.cn-north-1.amazonaws.com.cn",partition:"aws-cn"};break;case"cn-northwest-1":n={hostname:"firehose.cn-northwest-1.amazonaws.com.cn",partition:"aws-cn"};break;case"eu-central-1":n={hostname:"firehose.eu-central-1.amazonaws.com",partition:"aws"};break;case"eu-north-1":n={hostname:"firehose.eu-north-1.amazonaws.com",partition:"aws"};break;case"eu-west-1":n={hostname:"firehose.eu-west-1.amazonaws.com",partition:"aws"};break;case"eu-west-2":n={hostname:"firehose.eu-west-2.amazonaws.com",partition:"aws"};break;case"eu-west-3":n={hostname:"firehose.eu-west-3.amazonaws.com",partition:"aws"};break;case"me-south-1":n={hostname:"firehose.me-south-1.amazonaws.com",partition:"aws"};break;case"sa-east-1":n={hostname:"firehose.sa-east-1.amazonaws.com",partition:"aws"};break;case"us-east-1":n={hostname:"firehose.us-east-1.amazonaws.com",partition:"aws"};break;case"us-east-2":n={hostname:"firehose.us-east-2.amazonaws.com",partition:"aws"};break;case"us-gov-east-1":n={hostname:"firehose.us-gov-east-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-gov-west-1":n={hostname:"firehose.us-gov-west-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-west-1":n={hostname:"firehose.us-west-1.amazonaws.com",partition:"aws"};break;case"us-west-2":n={hostname:"firehose.us-west-2.amazonaws.com",partition:"aws"};break;default:jt.has(e)&&(n={hostname:"firehose.{region}.amazonaws.com".replace("{region}",e),partition:"aws"}),Dt.has(e)&&(n={hostname:"firehose.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),Ut.has(e)&&(n={hostname:"firehose.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),Bt.has(e)&&(n={hostname:"firehose.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),Ft.has(e)&&(n={hostname:"firehose.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"firehose.{region}.amazonaws.com".replace("{region}",e),partition:"aws"})}return Promise.resolve(n)},signingName:"firehose"}),{runtime:"browser",base64Decoder:Pt.a,base64Encoder:Pt.b,bodyLengthChecker:Nt.a,credentialDefaultProvider:Object(xt.a)("Credential is missing"),defaultUserAgent:Object(Rt.a)(It.name,It.version),maxAttempts:Ct.a,region:Object(xt.a)("Region is missing"),requestHandler:new Ot.a,sha256:kt.Sha256,streamCollector:Ot.b,urlParser:Tt.a,utf8Decoder:Lt.a,utf8Encoder:Lt.b}),qt=n(22),Kt=n(37),Ht=n(21),Vt=n(43),Gt=n(25),Wt=n(23),$t=function(e){function t(t){var n=this,r=a(a({},zt),t),i=Object(qt.b)(r),o=Object(qt.a)(i),s=Object(Gt.b)(o),u=Object(Ct.c)(s),c=Object(Wt.b)(u),f=Object(Ht.b)(c);return(n=e.call(this,f)||this).config=f,n.middlewareStack.use(Object(Gt.a)(n.config)),n.middlewareStack.use(Object(Ct.b)(n.config)),n.middlewareStack.use(Object(Wt.a)(n.config)),n.middlewareStack.use(Object(Kt.a)(n.config)),n.middlewareStack.use(Object(Ht.a)(n.config)),n.middlewareStack.use(Object(Vt.a)(n.config)),n}return s(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(rt.a),Yt=(it=function(e,t){return(it=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}it(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),Jt=new r.a("AWSKineisFirehoseProvider"),Zt=function(e){function t(t){return e.call(this,t)||this}return Yt(t,e),t.prototype.getProviderName=function(){return"AWSKinesisFirehose"},t.prototype._sendEvents=function(e){var t=this;if(0!==e.length){var n=e[0],r=n.config,i=n.credentials;if(!this._init(r,i))return!1;var o={};e.map((function(e){var t=e.event,n=t.streamName,r=t.data;void 0===o[n]&&(o[n]=[]);var i=r&&"string"!=typeof r?JSON.stringify(r):r,s={Data:Object(Lt.a)(i)};o[n].push(s)})),Object.keys(o).map((function(e){Jt.debug("putting records to kinesis",e,"with records",o[e]),t._kinesisFirehose.send(new At({Records:o[e],DeliveryStreamName:e})).then((function(t){return Jt.debug("Upload records to stream",e)})).catch((function(e){return Jt.debug("Failed to upload records to Kinesis",e)}))}))}},t.prototype._init=function(e,t){if(Jt.debug("init clients"),this._kinesisFirehose&&this._config.credentials&&this._config.credentials.sessionToken===t.sessionToken&&this._config.credentials.identityId===t.identityId)return Jt.debug("no change for analytics config, directly return from init"),!0;this._config.credentials=t;var n=e.region;return this._initFirehose(n,t)},t.prototype._initFirehose=function(e,t){return Jt.debug("initialize kinesis firehose with credentials",t),this._kinesisFirehose=new $t({apiVersion:"2015-08-04",region:e,credentials:t}),!0},t}(i.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return T}));var r,i=n(44),o=n(19),s=n(5),a=n(89),u=n(104),c=function(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},A=new i.a("SumerianProvider"),I=function(e){function t(t){return void 0===t&&(t={}),e.call(this,t)||this}return w(t,e),t.prototype.getProviderName=function(){return"SumerianProvider"},t.prototype.loadScript=function(e){return S(this,void 0,void 0,(function(){return E(this,(function(t){return[2,new Promise((function(t,n){var r=document.createElement("script");r.src=e,r.addEventListener("load",(function(e){t()})),r.addEventListener("error",(function(t){n(new Error("Failed to load script: "+e))})),document.head.appendChild(r)}))]}))}))},t.prototype.loadScene=function(e,t,n){return S(this,void 0,void 0,(function(){var r,i,o,c,f,l,d,h,p,v,g,y,w,S,I,k,O,x,C,T,P,N,R,L,j,D,U;return E(this,(function(E){switch(E.label){case 0:if(!e)throw l="No scene name passed into loadScene",A.error(l),new b(l);if(!t)throw l="No dom element id passed into loadScene",A.error(l),new m(l);if(!(r=document.getElementById(t)))throw l="DOM element id, "+t+" not found",A.error(l),new m(l);if(!(i=this.getScene(e)).sceneConfig)throw l="No scene config configured for scene: "+e,A.error(l),new b(l);if(o=i.sceneConfig.url,c=i.sceneConfig.sceneId,i.sceneConfig.hasOwnProperty("region"))f=i.sceneConfig.region;else{if(!this.options.hasOwnProperty("region"))throw l="No region configured for scene: "+e,A.error(l),new b(l);f=this.options.region}d={region:f,customUserAgent:s.a.userAgent+"-SumerianScene"},h={headers:{"X-Amz-User-Agent":s.a.userAgent}},p=o,E.label=1;case 1:return E.trys.push([1,3,,4]),[4,a.a.get()];case 2:return v=E.sent(),d.credentials=v,g={secret_key:v.secretAccessKey,access_key:v.accessKeyId,session_token:v.sessionToken},y={region:f,service:"sumerian"},w=u.a.sign({method:"GET",url:o},g,y),h.headers=_(_({},h.headers),w.headers),p=w.url,[3,4];case 3:return E.sent(),A.debug("No credentials available, the request will be unsigned"),[3,4];case 4:return[4,fetch(p,h)];case 5:return[4,(S=E.sent()).json()];case 6:if(I=E.sent(),403===S.status)throw I.message?(A.error("Failure to authenticate user: "+I.message),new b("Failure to authenticate user: "+I.message)):(A.error("Failure to authenticate user"),new b("Failure to authenticate user"));return k=I.bundleData[c],[4,fetch(k.url,{headers:k.headers})];case 7:return[4,E.sent().json()];case 8:O=E.sent(),E.label=9;case 9:return E.trys.push([9,11,,12]),[4,this.loadScript(O[c].bootstrapperUrl)];case 10:return E.sent(),[3,12];case 11:throw x=E.sent(),A.error(x),new b(x);case 12:return C=n.progressCallback?n.progressCallback:void 0,T=i.publishParamOverrides?i.publishParamOverrides:void 0,P={element:r,sceneId:c,sceneBundle:O,apiResponse:I,progressCallback:C,publishParamOverrides:T,awsSDKConfigOverride:d},[4,window.SumerianBootstrapper.loadScene(P)];case 13:N=E.sent(),i.sceneController=N,i.isLoaded=!0;try{for(R=M(N.sceneLoadWarnings),L=R.next();!L.done;L=R.next())j=L.value,A.warn("loadScene warning: "+j)}catch(e){D={error:e}}finally{try{L&&!L.done&&(U=R.return)&&U.call(R)}finally{if(D)throw D.error}}return[2]}}))}))},t.prototype.isSceneLoaded=function(e){return this.getScene(e).isLoaded||!1},t.prototype.getScene=function(e){if(!this.options.scenes){var t="No scenes were defined in the configuration";throw A.error(t),new p(t)}if(!e){t="No scene name was passed";throw A.error(t),new v(t)}if(!this.options.scenes[e]){t="Scene '"+e+"' is not configured";throw A.error(t),new v(t)}return this.options.scenes[e]},t.prototype.getSceneController=function(e){if(!this.options.scenes){var t="No scenes were defined in the configuration";throw A.error(t),new p(t)}var n=this.options.scenes[e];if(!n){t="Scene '"+e+"' is not configured";throw A.error(t),new v(t)}var r=n.sceneController;if(!r){t="Scene controller for '"+e+"' has not been loaded";throw A.error(t),new g(t)}return r},t.prototype.isVRCapable=function(e){return this.getSceneController(e).vrCapable},t.prototype.isVRPresentationActive=function(e){return this.getSceneController(e).vrPresentationActive},t.prototype.start=function(e){this.getSceneController(e).start()},t.prototype.enterVR=function(e){this.getSceneController(e).enterVR()},t.prototype.exitVR=function(e){this.getSceneController(e).exitVR()},t.prototype.isMuted=function(e){return this.getSceneController(e).muted},t.prototype.setMuted=function(e,t){this.getSceneController(e).muted=t},t.prototype.onSceneEvent=function(e,t,n){this.getSceneController(e).on(t,n)},t.prototype.enableAudio=function(e){this.getSceneController(e).enableAudio()},t}(l),k=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},O=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},C=new i.a("XR"),T=new(function(){function e(e){this._options=e,C.debug("XR Options",this._options),this._defaultProvider="SumerianProvider",this._pluggables={},this.addPluggable(new I)}return e.prototype.configure=function(e){var t=this,n=e?e.XR||e:{};return C.debug("configure XR",{opt:n}),this._options=Object.assign({},this._options,n),Object.entries(this._pluggables).map((function(e){var r=x(e,2),i=r[0],o=r[1];i!==t._defaultProvider||n[t._defaultProvider]?o.configure(t._options[i]):o.configure(t._options)})),this._options},e.prototype.addPluggable=function(e){return k(this,void 0,void 0,(function(){return O(this,(function(t){return e&&"XR"===e.getCategory()?(this._pluggables[e.getProviderName()]=e,[2,e.configure(this._options)]):[2]}))}))},e.prototype.loadScene=function(e,t,n,r){return void 0===n&&(n={}),void 0===r&&(r=this._defaultProvider),k(this,void 0,void 0,(function(){return O(this,(function(i){switch(i.label){case 0:if(!this._pluggables[r])throw new y("Provider '"+r+"' not configured");return[4,this._pluggables[r].loadScene(e,t,n)];case 1:return[2,i.sent()]}}))}))},e.prototype.isSceneLoaded=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].isSceneLoaded(e)},e.prototype.getSceneController=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].getSceneController(e)},e.prototype.isVRCapable=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].isVRCapable(e)},e.prototype.isVRPresentationActive=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].isVRPresentationActive(e)},e.prototype.start=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].start(e)},e.prototype.enterVR=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].enterVR(e)},e.prototype.exitVR=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].exitVR(e)},e.prototype.isMuted=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].isMuted(e)},e.prototype.setMuted=function(e,t,n){if(void 0===n&&(n=this._defaultProvider),!this._pluggables[n])throw new y("Provider '"+n+"' not configured");return this._pluggables[n].setMuted(e,t)},e.prototype.onSceneEvent=function(e,t,n,r){if(void 0===r&&(r=this._defaultProvider),!this._pluggables[r])throw new y("Provider '"+r+"' not configured");return this._pluggables[r].onSceneEvent(e,t,n)},e.prototype.enableAudio=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].enableAudio(e)},e}())(null);o.a.register(T)},function(e,t,n){"use strict";n.r(t),n.d(t,"fromUtf8",(function(){return r})),n.d(t,"toUtf8",(function(){return i}));var r=function(e){return"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):function(e){for(var t=[],n=0,r=e.length;n>6|192,63&i|128);else if(n+1>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)}(e)},i=function(e){return"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):function(e){for(var t="",n=0,r=e.length;n(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function d(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(o||(o=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(v(this),t),p(s.get(this))}:function(...t){return p(e.apply(v(this),t))}:function(t,...n){const r=e.call(v(this),t,...n);return u.set(r,t.sort?t.sort():[t]),p(r)}}function h(e){return"function"==typeof e?d(e):(e instanceof IDBTransaction&&function(e){if(a.has(e))return;const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",o),e.removeEventListener("abort",o)},i=()=>{t(),r()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",i),e.addEventListener("error",o),e.addEventListener("abort",o)});a.set(e,t)}(e),t=e,(i||(i=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(e=>t instanceof e)?new Proxy(e,l):e);var t}function p(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("success",i),e.removeEventListener("error",o)},i=()=>{t(p(e.result)),r()},o=()=>{n(e.error),r()};e.addEventListener("success",i),e.addEventListener("error",o)});return t.then(t=>{t instanceof IDBCursor&&s.set(t,e)}).catch(()=>{}),f.set(t,e),t}(e);if(c.has(e))return c.get(e);const t=h(e);return t!==e&&(c.set(e,t),f.set(t,e)),t}const v=e=>f.get(e);function g(e,t,{blocked:n,upgrade:r,blocking:i,terminated:o}={}){const s=indexedDB.open(e,t),a=p(s);return r&&s.addEventListener("upgradeneeded",e=>{r(p(s.result),e.oldVersion,e.newVersion,p(s.transaction))}),n&&s.addEventListener("blocked",()=>n()),a.then(e=>{o&&e.addEventListener("close",()=>o()),i&&e.addEventListener("versionchange",()=>i())}).catch(()=>{}),a}function m(e,{blocked:t}={}){const n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",()=>t()),p(n).then(()=>{})}const b=["get","getKey","getAll","getAllKeys","count"],y=["put","add","delete","clear"],w=new Map;function _(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,i=y.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!i&&!b.includes(n))return;const o=async function(e,...t){const o=this.transaction(e,i?"readwrite":"readonly");let s=o.store;r&&(s=s.index(t.shift()));const a=await s[n](...t);return i&&await o.done,a};return w.set(t,o),o}l=(e=>({...e,get:(t,n,r)=>_(t,n)||e.get(t,n,r),has:(t,n)=>!!_(t,n)||e.has(t,n)}))(l);var S=n(9),E=n(245),M=n(4),A=n(3);function I(e){return(I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var k=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},O=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},T=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},P=function(){for(var e=[],t=0;t0?u+a:e.length;return e.slice(u,c)}return e},e.prototype.enginePagination=function(e,t){return k(this,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d;return O(this,(function(h){switch(h.label){case 0:return t?(r=t.page,i=void 0===r?0:r,o=t.limit,s=void 0===o?0:o,a=Math.max(0,i*s)||0,[4,this.db.transaction(e).objectStore(e).openCursor()]):[3,7];case 1:return(u=h.sent())&&a>0?[4,u.advance(a)]:[3,3];case 2:h.sent(),h.label=3;case 3:c=[],f="number"==typeof s&&s>0,l=!0,d=s,h.label=4;case 4:return l&&u&&u.value?(c.push(u.value),[4,u.continue()]):[3,6];case 5:return u=h.sent(),f?(d--,l=d>0&&null!==u):l=null!==u,[3,4];case 6:return n=c,[3,9];case 7:return[4,this.db.getAll(e)];case 8:n=h.sent(),h.label=9;case 9:return[2,n]}}))}))},e.prototype.queryOne=function(e,t){return void 0===t&&(t=M.d.FIRST),k(this,void 0,void 0,(function(){var n,r,i;return O(this,(function(o){switch(o.label){case 0:return[4,this.checkPrivate()];case 1:return o.sent(),n=this.getStorenameForModel(e),[4,this.db.transaction([n],"readonly").objectStore(n).openCursor(void 0,t===M.d.FIRST?"next":"prev")];case 2:return r=o.sent(),[2,(i=r?r.value:void 0)&&this.modelInstanceCreator(e,i)]}}))}))},e.prototype.delete=function(e,t){return k(this,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d,h,p,v,g;return O(this,(function(m){switch(m.label){case 0:return[4,this.checkPrivate()];case 1:return m.sent(),n=[],Object(A.s)(e)?(o=e,s=this.namespaceResolver(o),a=this.getStorenameForModel(o),[4,this.query(o,t)]):[3,9];case 2:return r=m.sent(),v=this.schema.namespaces[s].relationships[o.name].relationTypes,void 0===t?[3,5]:[4,this.deleteTraverse(v,r,o.name,s,n)];case 3:return m.sent(),[4,this.deleteItem(n)];case 4:return m.sent(),g=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[r,g]];case 5:return[4,this.deleteTraverse(v,r,o.name,s,n)];case 6:return m.sent(),[4,this.db.transaction([a],"readwrite").objectStore(a).clear()];case 7:return m.sent(),g=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[r,g]];case 8:return[3,17];case 9:return i=e,o=Object.getPrototypeOf(i).constructor,s=this.namespaceResolver(o),a=this.getStorenameForModel(o),t?(u=this.db.transaction([a],"readwrite"),c=u.objectStore(a),[4,this._get(c,i.id)]):[3,13];case 10:if(void 0===(f=m.sent()))return p="Model instance not found in storage",N.warn(p,{model:i}),[2,[[i],[]]];if(l=S.a.getPredicates(t),d=l.predicates,h=l.type,!Object(A.y)(f,h,d))throw p="Conditional update failed",N.error(p,{model:f,condition:d}),new Error(p);return[4,u.done];case 11:return m.sent(),v=this.schema.namespaces[s].relationships[o.name].relationTypes,[4,this.deleteTraverse(v,[i],o.name,s,n)];case 12:return m.sent(),[3,15];case 13:return v=this.schema.namespaces[s].relationships[o.name].relationTypes,[4,this.deleteTraverse(v,[i],o.name,s,n)];case 14:m.sent(),m.label=15;case 15:return[4,this.deleteItem(n)];case 16:return m.sent(),g=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[[i],g]];case 17:return[2]}}))}))},e.prototype.deleteItem=function(e){var t,n,r,i,o,s;return k(this,void 0,void 0,(function(){var a,u,c,f,l,d,h,p,v,g,m,b;return O(this,(function(y){switch(y.label){case 0:a=e.map((function(e){return e.storeName})),u=this.db.transaction(P(a),"readwrite"),y.label=1;case 1:y.trys.push([1,22,23,28]),t=x(e),y.label=2;case 2:return[4,t.next()];case 3:if((n=y.sent()).done)return[3,21];c=n.value,f=c.storeName,l=c.items,d=u.objectStore(f),y.label=4;case 4:y.trys.push([4,14,15,20]),h=x(l),y.label=5;case 5:return[4,h.next()];case 6:return(p=y.sent()).done?[3,13]:(v=p.value)?(g=void 0,"object"!==I(v)?[3,8]:[4,d.index("byId").getKey(v.id)]):[3,12];case 7:return g=y.sent(),[3,10];case 8:return[4,d.index("byId").getKey(v.toString())];case 9:g=y.sent(),y.label=10;case 10:return void 0===g?[3,12]:[4,d.delete(g)];case 11:y.sent(),y.label=12;case 12:return[3,5];case 13:return[3,20];case 14:return m=y.sent(),o={error:m},[3,20];case 15:return y.trys.push([15,,18,19]),p&&!p.done&&(s=h.return)?[4,s.call(h)]:[3,17];case 16:y.sent(),y.label=17;case 17:return[3,19];case 18:if(o)throw o.error;return[7];case 19:return[7];case 20:return[3,2];case 21:return[3,28];case 22:return b=y.sent(),r={error:b},[3,28];case 23:return y.trys.push([23,,26,27]),n&&!n.done&&(i=t.return)?[4,i.call(t)]:[3,25];case 24:y.sent(),y.label=25;case 25:return[3,27];case 26:if(r)throw r.error;return[7];case 27:return[7];case 28:return[2]}}))}))},e.prototype.deleteTraverse=function(e,t,n,r,i){var o,s,a,u,c,f,l,d,h,p,v,g;return k(this,void 0,void 0,(function(){var m,b,y,w,_,S,E,M,I,k,C,T=this;return O(this,(function(O){switch(O.label){case 0:O.trys.push([0,35,36,41]),o=x(e),O.label=1;case 1:return[4,o.next()];case 2:if((s=O.sent()).done)return[3,34];switch(m=s.value,b=m.relationType,m.fieldName,y=m.modelName,w=this.getStorename(r,y),_=Object(A.g)(this.schema.namespaces[r].relationships[y].relationTypes,n)||Object(A.h)(this.schema.namespaces[r].relationships[y].indexes,m.associatedWith),b){case"HAS_ONE":return[3,3];case"HAS_MANY":return[3,17];case"BELONGS_TO":return[3,31]}return[3,32];case 3:O.trys.push([3,10,11,16]),a=x(t),O.label=4;case 4:return[4,a.next()];case 5:return(u=O.sent()).done?[3,9]:(M=u.value,[4,this.db.transaction(w,"readwrite").objectStore(w).index(_).get(M.id)]);case 6:return S=O.sent(),[4,this.deleteTraverse(this.schema.namespaces[r].relationships[y].relationTypes,S?[S]:[],y,r,i)];case 7:O.sent(),O.label=8;case 8:return[3,4];case 9:return[3,16];case 10:return E=O.sent(),h={error:E},[3,16];case 11:return O.trys.push([11,,14,15]),u&&!u.done&&(p=a.return)?[4,p.call(a)]:[3,13];case 12:O.sent(),O.label=13;case 13:return[3,15];case 14:if(h)throw h.error;return[7];case 15:return[7];case 16:return[3,33];case 17:O.trys.push([17,24,25,30]),c=x(t),O.label=18;case 18:return[4,c.next()];case 19:return(f=O.sent()).done?[3,23]:(M=f.value,[4,this.db.transaction(w,"readwrite").objectStore(w).index(_).getAll(M.id)]);case 20:return I=O.sent(),[4,this.deleteTraverse(this.schema.namespaces[r].relationships[y].relationTypes,I,y,r,i)];case 21:O.sent(),O.label=22;case 22:return[3,18];case 23:return[3,30];case 24:return k=O.sent(),v={error:k},[3,30];case 25:return O.trys.push([25,,28,29]),f&&!f.done&&(g=c.return)?[4,g.call(c)]:[3,27];case 26:O.sent(),O.label=27;case 27:return[3,29];case 28:if(v)throw v.error;return[7];case 29:return[7];case 30:case 31:return[3,33];case 32:return Object(A.f)(b),[3,33];case 33:return[3,1];case 34:return[3,41];case 35:return C=O.sent(),l={error:C},[3,41];case 36:return O.trys.push([36,,39,40]),s&&!s.done&&(d=o.return)?[4,d.call(o)]:[3,38];case 37:O.sent(),O.label=38;case 38:return[3,40];case 39:if(l)throw l.error;return[7];case 40:return[7];case 41:return i.push({storeName:this.getStorename(r,n),items:t.map((function(e){return T.modelInstanceCreator(T.getModelConstructorByModelName(r,n),e)}))}),[2]}}))}))},e.prototype.clear=function(){return k(this,void 0,void 0,(function(){return O(this,(function(e){switch(e.label){case 0:return[4,this.checkPrivate()];case 1:return e.sent(),this.db.close(),[4,m(this.dbName)];case 2:return e.sent(),this.db=void 0,this.initPromise=void 0,[2]}}))}))},e.prototype.batchSave=function(e,t){return k(this,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d,h;return O(this,(function(p){switch(p.label){case 0:return 0===t.length?[2,[]]:[4,this.checkPrivate()];case 1:p.sent(),n=[],r=this.getStorenameForModel(e),i=this.db.transaction(r,"readwrite"),o=i.store,s=function(t){var r,i,s,u,c;return O(this,(function(f){switch(f.label){case 0:return r=Object(A.x)(e.name,a.modelInstanceCreator(e,t),a.schema.namespaces[a.namespaceResolver(e)],a.modelInstanceCreator,a.getModelConstructorByModelName),i=t.id,s=t._deleted,[4,o.index("byId").getKey(i)];case 1:return u=f.sent(),s?[3,3]:(c=r.find((function(e){return e.instance.id===i})).instance,n.push([c,u?M.c.UPDATE:M.c.INSERT]),[4,o.put(c,u)]);case 2:return f.sent(),[3,5];case 3:return n.push([t,M.c.DELETE]),u?[4,o.delete(u)]:[3,5];case 4:f.sent(),f.label=5;case 5:return[2]}}))},a=this,p.label=2;case 2:p.trys.push([2,7,8,9]),u=C(t),c=u.next(),p.label=3;case 3:return c.done?[3,6]:(f=c.value,[5,s(f)]);case 4:p.sent(),p.label=5;case 5:return c=u.next(),[3,3];case 6:return[3,9];case 7:return l=p.sent(),d={error:l},[3,9];case 8:try{c&&!c.done&&(h=u.return)&&h.call(u)}finally{if(d)throw d.error}return[7];case 9:return[4,i.done];case 10:return p.sent(),[2,n]}}))}))},e}();t.default=new R},function(e,t,n){"use strict";n.r(t),n.d(t,"AsyncStorageAdapter",(function(){return I}));var r=n(44),i=n(4),o=n(3),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},a=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},c=function(){var e=this;this.db=new Map,this.getAllKeys=function(){return s(e,void 0,void 0,(function(){return a(this,(function(e){return[2,Array.from(this.db.keys())]}))}))},this.multiGet=function(t){return s(e,void 0,void 0,(function(){var e=this;return a(this,(function(n){return[2,t.reduce((function(t,n){return t.push([n,e.db.get(n)]),t}),[])]}))}))},this.multiRemove=function(t,n){return s(e,void 0,void 0,(function(){var e=this;return a(this,(function(r){return t.forEach((function(t){return e.db.delete(t)})),n(),[2]}))}))},this.multiSet=function(t,n){return s(e,void 0,void 0,(function(){var e=this;return a(this,(function(r){return t.forEach((function(t){var n=u(t,2),r=n[0],i=n[1];e.setItem(r,i)})),n(),[2]}))}))},this.setItem=function(t,n){return s(e,void 0,void 0,(function(){return a(this,(function(e){return[2,this.db.set(t,n)]}))}))},this.removeItem=function(t){return s(e,void 0,void 0,(function(){return a(this,(function(e){return[2,this.db.delete(t)]}))}))},this.getItem=function(t){return s(e,void 0,void 0,(function(){return a(this,(function(e){return[2,this.db.get(t)]}))}))}};var f=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},l=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},h=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},p="@AmplifyDatastore",v=new Map,g=function(){function e(){this._collectionInMemoryIndex=new Map,this.storage=new c}return e.prototype.getCollectionIndex=function(e){return this._collectionInMemoryIndex.has(e)||this._collectionInMemoryIndex.set(e,new Map),this._collectionInMemoryIndex.get(e)},e.prototype.getMonotonicFactory=function(e){return v.has(e)||v.set(e,Object(o.v)()),v.get(e)},e.prototype.init=function(){return f(this,void 0,void 0,(function(){var e,t,n,r,i,o,s,a,u,c,f,v,g,m,b,y,w,_,S,E;return l(this,(function(l){switch(l.label){case 0:return this._collectionInMemoryIndex.clear(),[4,this.storage.getAllKeys()];case 1:e=l.sent(),t=[],l.label=2;case 2:l.trys.push([2,12,13,14]),n=d(e),r=n.next(),l.label=3;case 3:return r.done?[3,11]:(i=r.value,o=h(i.split("::"),5),s=o[0],a=o[1],u=o[2],c=o[3],f=o[4],s!==p?[3,10]:"Data"!==u?[3,9]:(v=void 0,void 0!==f?[3,7]:(g=c,m=this.getMonotonicFactory(a)(),b=this.getLegacyKeyForItem(a,g),y=this.getKeyForItem(a,g,m),[4,this.storage.getItem(b)])));case 4:return w=l.sent(),[4,this.storage.setItem(y,w)];case 5:return l.sent(),[4,this.storage.removeItem(b)];case 6:return l.sent(),v=m,[3,8];case 7:v=c,l.label=8;case 8:return this.getCollectionIndex(a).set(f,v),[3,10];case 9:"Collection"===u&&t.push(i),l.label=10;case 10:return r=n.next(),[3,3];case 11:return[3,14];case 12:return _=l.sent(),S={error:_},[3,14];case 13:try{r&&!r.done&&(E=n.return)&&E.call(n)}finally{if(S)throw S.error}return[7];case 14:return t.length>0?[4,this.storage.multiRemove(t)]:[3,16];case 15:l.sent(),l.label=16;case 16:return[2]}}))}))},e.prototype.save=function(e,t){return f(this,void 0,void 0,(function(){var n,r;return l(this,(function(i){switch(i.label){case 0:return n=this.getCollectionIndex(t).get(e.id)||this.getMonotonicFactory(t)(),r=this.getKeyForItem(t,e.id,n),this.getCollectionIndex(t).set(e.id,n),[4,this.storage.setItem(r,JSON.stringify(e))];case 1:return i.sent(),[2]}}))}))},e.prototype.batchSave=function(e,t){return f(this,void 0,void 0,(function(){var n,r,o,s,a,u,c,f,p,v,g,m,b,y,w,_,S,E,M,A,I,k=this;return l(this,(function(l){switch(l.label){case 0:if(0===t.length)return[2,[]];n=[],r=this.getCollectionIndex(e),o=new Set,s=new Set,a=[],u={};try{for(c=d(t),f=c.next();!f.done;f=c.next())p=f.value,v=p.id,g=p._deleted,m=r.get(v)||this.getMonotonicFactory(e)(),S=this.getKeyForItem(e,v,m),a.push(S),u[S]={ulid:m,model:p},g?o.add(S):s.add(S)}catch(e){E={error:e}}finally{try{f&&!f.done&&(M=c.return)&&M.call(c)}finally{if(E)throw E.error}}return[4,this.storage.multiGet(a)];case 1:return b=l.sent(),y=b.filter((function(e){return!!h(e,2)[1]})).reduce((function(e,t){var n=h(t,1)[0];return e.add(n)}),new Set),[4,new Promise((function(e,t){if(0!==o.size){var n=Array.from(o);n.forEach((function(e){return r.delete(u[e].model.id)})),k.storage.multiRemove(n,(function(n){n&&n.length>0?t(n):e()}))}else e()}))];case 2:return l.sent(),[4,new Promise((function(e,t){if(0!==s.size){var n=Array.from(s).map((function(e){return[e,JSON.stringify(u[e].model)]}));s.forEach((function(e){var t=u[e],n=t.model.id,i=t.ulid;r.set(n,i)})),k.storage.multiSet(n,(function(n){n&&n.length>0?t(n):e()}))}else e()}))];case 3:l.sent();try{for(w=d(a),_=w.next();!_.done;_=w.next())S=_.value,o.has(S)&&y.has(S)?n.push([u[S].model,i.c.DELETE]):s.has(S)&&n.push([u[S].model,y.has(S)?i.c.UPDATE:i.c.INSERT])}catch(e){A={error:e}}finally{try{_&&!_.done&&(I=w.return)&&I.call(w)}finally{if(A)throw A.error}}return[2,n]}}))}))},e.prototype.get=function(e,t){return f(this,void 0,void 0,(function(){var n,r,i;return l(this,(function(o){switch(o.label){case 0:return n=this.getCollectionIndex(t).get(e),r=this.getKeyForItem(t,e,n),[4,this.storage.getItem(r)];case 1:return i=o.sent(),[2,i&&JSON.parse(i)]}}))}))},e.prototype.getOne=function(e,t){return f(this,void 0,void 0,(function(){var n,r,o,s,a,u,c;return l(this,(function(f){switch(f.label){case 0:return n=this.getCollectionIndex(t),r=h(e===i.d.FIRST?function(){var e,t,r,i,o;try{for(var s=d(n),a=s.next();!a.done;a=s.next()){i=(r=h(a.value,2))[0],o=r[1];break}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}return[i,o]}():function(){var e,t,r,i,o;try{for(var s=d(n),a=s.next();!a.done;a=s.next())i=(r=h(a.value,2))[0],o=r[1]}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}return[i,o]}(),2),o=r[0],s=r[1],a=this.getKeyForItem(t,o,s),(c=a)?[4,this.storage.getItem(a)]:[3,2];case 1:c=f.sent(),f.label=2;case 2:return[2,(u=c)&&JSON.parse(u)||void 0]}}))}))},e.prototype.getAll=function(e,t){return f(this,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,p,v,g,m,b,y,w,_,S;return l(this,(function(l){switch(l.label){case 0:n=this.getCollectionIndex(e),i=(r=t||{}).page,o=void 0===i?0:i,s=r.limit,a=void 0===s?0:s,u=Math.max(0,o*a)||0,c=a>0?u+a:void 0,f=[],p=0;try{for(v=d(n),g=v.next();!g.done&&(m=h(g.value,2),b=m[0],y=m[1],++p<=u||(f.push(this.getKeyForItem(e,b,y)),p!==c));g=v.next());}catch(e){_={error:e}}finally{try{g&&!g.done&&(S=v.return)&&S.call(v)}finally{if(_)throw _.error}}return[4,this.storage.multiGet(f)];case 1:return w=l.sent(),[2,w.filter((function(e){return h(e,2)[1]})).map((function(e){var t=h(e,2)[1];return JSON.parse(t)}))]}}))}))},e.prototype.delete=function(e,t){return f(this,void 0,void 0,(function(){var n,r;return l(this,(function(i){switch(i.label){case 0:return n=this.getCollectionIndex(t).get(e),r=this.getKeyForItem(t,e,n),this.getCollectionIndex(t).delete(e),[4,this.storage.removeItem(r)];case 1:return i.sent(),[2]}}))}))},e.prototype.clear=function(){return f(this,void 0,void 0,(function(){var e,t;return l(this,(function(n){switch(n.label){case 0:return[4,this.storage.getAllKeys()];case 1:return e=n.sent(),t=e.filter((function(e){return e.startsWith(p)})),[4,this.storage.multiRemove(t)];case 2:return n.sent(),this._collectionInMemoryIndex.clear(),[2]}}))}))},e.prototype.getKeyForItem=function(e,t,n){return this.getKeyPrefixForStoreItems(e)+"::"+n+"::"+t},e.prototype.getLegacyKeyForItem=function(e,t){return this.getKeyPrefixForStoreItems(e)+"::"+t},e.prototype.getKeyPrefixForStoreItems=function(e){return p+"::"+e+"::Data"},e}(),m=n(9),b=n(245);function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var w=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},_=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},M=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},A=new r.a("DataStore"),I=function(){function e(){}return e.prototype.getStorenameForModel=function(e){var t=this.namespaceResolver(e),n=e.name;return this.getStorename(t,n)},e.prototype.getStorename=function(e,t){return e+"_"+t},e.prototype.setUp=function(e,t,n,r){return w(this,void 0,void 0,(function(){var i,o=this;return _(this,(function(s){switch(s.label){case 0:return this.initPromise?[3,1]:(this.initPromise=new Promise((function(e,t){o.resolve=e,o.reject=t})),[3,3]);case 1:return[4,this.initPromise];case 2:return s.sent(),[2];case 3:this.schema=e,this.namespaceResolver=t,this.modelInstanceCreator=n,this.getModelConstructorByModelName=r,s.label=4;case 4:return s.trys.push([4,7,,8]),this.db?[3,6]:(this.db=new g,[4,this.db.init()]);case 5:s.sent(),this.resolve(),s.label=6;case 6:return[3,8];case 7:return i=s.sent(),this.reject(i),[3,8];case 8:return[2]}}))}))},e.prototype.save=function(e,t){var n,r;return w(this,void 0,void 0,(function(){var s,a,u,c,f,l,d,h,p,v,g,b,y,w,E,M,I,k,O,x,C,T=this;return _(this,(function(_){switch(_.label){case 0:return s=Object.getPrototypeOf(e).constructor,a=this.getStorenameForModel(s),u=Object(o.x)(s.name,e,this.schema.namespaces[this.namespaceResolver(s)],this.modelInstanceCreator,this.getModelConstructorByModelName),c=this.namespaceResolver(s),f=new Set,l=Object.values(u).map((function(e){var t=e.modelName,n=e.item,r=e.instance,i=T.getStorename(c,t);return f.add(i),{storeName:i,item:n,instance:r}})),[4,this.db.get(e.id,a)];case 1:if(d=_.sent(),t&&d&&(h=m.a.getPredicates(t),p=h.predicates,v=h.type,!Object(o.y)(d,v,p)))throw g="Conditional update failed",A.error(g,{model:d,condition:p}),new Error(g);b=[],_.label=2;case 2:_.trys.push([2,11,12,17]),y=S(l),_.label=3;case 3:return[4,y.next()];case 4:return(w=_.sent()).done?[3,10]:(E=w.value,M=E.storeName,I=E.item,k=E.instance,O=I.id,[4,this.db.get(O,M)]);case 5:return x=_.sent()?i.c.UPDATE:i.c.INSERT,O!==e.id?[3,7]:[4,this.db.save(I,M)];case 6:return _.sent(),b.push([k,x]),[3,9];case 7:return x!==i.c.INSERT?[3,9]:[4,this.db.save(I,M)];case 8:_.sent(),b.push([k,x]),_.label=9;case 9:return[3,3];case 10:return[3,17];case 11:return C=_.sent(),n={error:C},[3,17];case 12:return _.trys.push([12,,15,16]),w&&!w.done&&(r=y.return)?[4,r.call(y)]:[3,14];case 13:_.sent(),_.label=14;case 14:return[3,16];case 15:if(n)throw n.error;return[7];case 16:return[7];case 17:return[2,b]}}))}))},e.prototype.load=function(e,t,n){var r,i,s,a,u,c,f,l,d,h;return w(this,void 0,void 0,(function(){var p,v,g,m,b,y,w,E,M,A,I,k,O,x,C,T,P,N,R=this;return _(this,(function(_){switch(_.label){case 0:if(p=this.schema.namespaces[e],v=p.relationships[t].relationTypes,g=v.map((function(t){var n=t.modelName;return R.getStorename(e,n)})),m=this.getModelConstructorByModelName(e,t),0===g.length)return[2,n.map((function(e){return R.modelInstanceCreator(m,e)}))];_.label=1;case 1:_.trys.push([1,34,35,40]),b=S(v),_.label=2;case 2:return[4,b.next()];case 3:if((y=_.sent()).done)return[3,33];switch(w=y.value,E=w.fieldName,M=w.modelName,A=w.targetName,I=w.relationType,k=this.getStorename(e,M),O=this.getModelConstructorByModelName(e,M),I){case"HAS_ONE":return[3,4];case"BELONGS_TO":return[3,17];case"HAS_MANY":return[3,30]}return[3,31];case 4:_.trys.push([4,10,11,16]),r=S(n),_.label=5;case 5:return[4,r.next()];case 6:return(i=_.sent()).done?[3,9]:(C=i.value)[E]?[4,this.db.get(C[E],k)]:[3,8];case 7:T=_.sent(),C[E]=T&&this.modelInstanceCreator(O,T),_.label=8;case 8:return[3,5];case 9:return[3,16];case 10:return x=_.sent(),f={error:x},[3,16];case 11:return _.trys.push([11,,14,15]),i&&!i.done&&(l=r.return)?[4,l.call(r)]:[3,13];case 12:_.sent(),_.label=13;case 13:return[3,15];case 14:if(f)throw f.error;return[7];case 15:return[7];case 16:return[3,32];case 17:_.trys.push([17,23,24,29]),s=S(n),_.label=18;case 18:return[4,s.next()];case 19:return(a=_.sent()).done?[3,22]:(C=a.value)[A]?[4,this.db.get(C[A],k)]:[3,21];case 20:T=_.sent(),C[E]=T&&this.modelInstanceCreator(O,T),delete C[A],_.label=21;case 21:return[3,18];case 22:return[3,29];case 23:return P=_.sent(),d={error:P},[3,29];case 24:return _.trys.push([24,,27,28]),a&&!a.done&&(h=s.return)?[4,h.call(s)]:[3,26];case 25:_.sent(),_.label=26;case 26:return[3,28];case 27:if(d)throw d.error;return[7];case 28:return[7];case 29:case 30:return[3,32];case 31:return Object(o.f)(I),[3,32];case 32:return[3,2];case 33:return[3,40];case 34:return N=_.sent(),u={error:N},[3,40];case 35:return _.trys.push([35,,38,39]),y&&!y.done&&(c=b.return)?[4,c.call(b)]:[3,37];case 36:_.sent(),_.label=37;case 37:return[3,39];case 38:if(u)throw u.error;return[7];case 39:return[7];case 40:return[2,n.map((function(e){return R.modelInstanceCreator(m,e)}))]}}))}))},e.prototype.query=function(e,t,n){return w(this,void 0,void 0,(function(){var r,s,a,u,c,f,l,d,h,p,v,g,b,y;return _(this,(function(w){switch(w.label){case 0:return r=this.getStorenameForModel(e),s=this.namespaceResolver(e),a=n&&n.sort,t?(u=m.a.getPredicates(t))?(c=u.predicates,f=u.type,(l=1===c.length&&c.find((function(e){return Object(i.k)(e)&&"id"===e.field&&"eq"===e.operator})))?(d=l.operand,[4,this.db.get(d,r)]):[3,4]):[3,7]:[3,7];case 1:return(h=w.sent())?[4,this.load(s,e.name,[h])]:[3,3];case 2:return p=E.apply(void 0,[w.sent(),1]),[2,[p[0]]];case 3:return[2,[]];case 4:return[4,this.db.getAll(r)];case 5:return v=w.sent(),g=c?v.filter((function(e){return Object(o.y)(e,f,c)})):v,[4,this.load(s,e.name,this.inMemoryPagination(g,n))];case 6:return[2,w.sent()];case 7:return a?[4,this.db.getAll(r)]:[3,10];case 8:return b=w.sent(),[4,this.load(s,e.name,this.inMemoryPagination(b,n))];case 9:return[2,w.sent()];case 10:return[4,this.db.getAll(r,n)];case 11:return y=w.sent(),[4,this.load(s,e.name,y)];case 12:return[2,w.sent()]}}))}))},e.prototype.inMemoryPagination=function(e,t){if(t){if(t.sort){var n=b.a.getPredicates(t.sort);if(n.length){var r=Object(o.w)(n);e.sort(r)}}var i=t.page,s=void 0===i?0:i,a=t.limit,u=void 0===a?0:a,c=Math.max(0,s*u)||0,f=u>0?c+u:e.length;return e.slice(c,f)}return e},e.prototype.queryOne=function(e,t){return void 0===t&&(t=i.d.FIRST),w(this,void 0,void 0,(function(){var n,r;return _(this,(function(i){switch(i.label){case 0:return n=this.getStorenameForModel(e),[4,this.db.getOne(t,n)];case 1:return[2,(r=i.sent())&&this.modelInstanceCreator(e,r)]}}))}))},e.prototype.delete=function(e,t){return w(this,void 0,void 0,(function(){var n,r,i,s,a,u,c,f,l,d,h,p,v;return _(this,(function(g){switch(g.label){case 0:return n=[],Object(o.s)(e)?(s=e,a=this.namespaceResolver(s),[4,this.query(s,t)]):[3,8];case 1:return r=g.sent(),p=this.schema.namespaces[a].relationships[s.name].relationTypes,void 0===t?[3,4]:[4,this.deleteTraverse(p,r,s.name,a,n)];case 2:return g.sent(),[4,this.deleteItem(n)];case 3:return g.sent(),v=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[r,v]];case 4:return[4,this.deleteTraverse(p,r,s.name,a,n)];case 5:return g.sent(),[4,this.deleteItem(n)];case 6:return g.sent(),v=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[r,v]];case 7:return[3,15];case 8:return i=e,s=Object.getPrototypeOf(i).constructor,a=this.namespaceResolver(s),u=this.getStorenameForModel(s),t?[4,this.db.get(i.id,u)]:[3,11];case 9:if(void 0===(c=g.sent()))return h="Model instance not found in storage",A.warn(h,{model:i}),[2,[[i],[]]];if(f=m.a.getPredicates(t),l=f.predicates,d=f.type,!Object(o.y)(c,d,l))throw h="Conditional update failed",A.error(h,{model:c,condition:l}),new Error(h);return p=this.schema.namespaces[a].relationships[s.name].relationTypes,[4,this.deleteTraverse(p,[i],s.name,a,n)];case 10:return g.sent(),[3,13];case 11:return p=this.schema.namespaces[a].relationships[s.name].relationTypes,[4,this.deleteTraverse(p,[i],s.name,a,n)];case 12:g.sent(),g.label=13;case 13:return[4,this.deleteItem(n)];case 14:return g.sent(),v=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[[i],v]];case 15:return[2]}}))}))},e.prototype.deleteItem=function(e){var t,n,r,i,o,s;return w(this,void 0,void 0,(function(){var a,u,c,f,l,d,h,p,v;return _(this,(function(g){switch(g.label){case 0:g.trys.push([0,17,18,23]),t=S(e),g.label=1;case 1:return[4,t.next()];case 2:if((n=g.sent()).done)return[3,16];a=n.value,u=a.storeName,c=a.items,g.label=3;case 3:g.trys.push([3,9,10,15]),f=S(c),g.label=4;case 4:return[4,f.next()];case 5:return(l=g.sent()).done?[3,8]:(d=l.value)?"object"!==y(d)?[3,7]:(h=d.id,[4,this.db.delete(h,u)]):[3,7];case 6:g.sent(),g.label=7;case 7:return[3,4];case 8:return[3,15];case 9:return p=g.sent(),o={error:p},[3,15];case 10:return g.trys.push([10,,13,14]),l&&!l.done&&(s=f.return)?[4,s.call(f)]:[3,12];case 11:g.sent(),g.label=12;case 12:return[3,14];case 13:if(o)throw o.error;return[7];case 14:return[7];case 15:return[3,1];case 16:return[3,23];case 17:return v=g.sent(),r={error:v},[3,23];case 18:return g.trys.push([18,,21,22]),n&&!n.done&&(i=t.return)?[4,i.call(t)]:[3,20];case 19:g.sent(),g.label=20;case 20:return[3,22];case 21:if(r)throw r.error;return[7];case 22:return[7];case 23:return[2]}}))}))},e.prototype.deleteTraverse=function(e,t,n,r,i){var s,a,u,c,f,l,d,h,p,v,g,m;return w(this,void 0,void 0,(function(){var b,y,w,E,M,A,I,k,O,x,C,T,P=this;return _(this,(function(_){switch(_.label){case 0:_.trys.push([0,35,36,41]),s=S(e),_.label=1;case 1:return[4,s.next()];case 2:if((a=_.sent()).done)return[3,34];switch(b=a.value,y=b.relationType,w=b.modelName,E=this.getStorename(r,w),M=Object(o.g)(this.schema.namespaces[r].relationships[w].relationTypes,n)||Object(o.h)(this.schema.namespaces[r].relationships[w].indexes,b.associatedWith),y){case"HAS_ONE":return[3,3];case"HAS_MANY":return[3,17];case"BELONGS_TO":return[3,31]}return[3,32];case 3:_.trys.push([3,10,11,16]),u=S(t),_.label=4;case 4:return[4,u.next()];case 5:return(c=_.sent()).done?[3,9]:(k=c.value,[4,this.db.getAll(E)]);case 6:return O=_.sent(),A=O.filter((function(e){return e[M]===k.id})),[4,this.deleteTraverse(this.schema.namespaces[r].relationships[w].relationTypes,A,w,r,i)];case 7:_.sent(),_.label=8;case 8:return[3,4];case 9:return[3,16];case 10:return I=_.sent(),p={error:I},[3,16];case 11:return _.trys.push([11,,14,15]),c&&!c.done&&(v=u.return)?[4,v.call(u)]:[3,13];case 12:_.sent(),_.label=13;case 13:return[3,15];case 14:if(p)throw p.error;return[7];case 15:return[7];case 16:return[3,33];case 17:_.trys.push([17,24,25,30]),f=S(t),_.label=18;case 18:return[4,f.next()];case 19:return(l=_.sent()).done?[3,23]:(k=l.value,[4,this.db.getAll(E)]);case 20:return O=_.sent(),x=O.filter((function(e){return e[M]===k.id})),[4,this.deleteTraverse(this.schema.namespaces[r].relationships[w].relationTypes,x,w,r,i)];case 21:_.sent(),_.label=22;case 22:return[3,18];case 23:return[3,30];case 24:return C=_.sent(),g={error:C},[3,30];case 25:return _.trys.push([25,,28,29]),l&&!l.done&&(m=f.return)?[4,m.call(f)]:[3,27];case 26:_.sent(),_.label=27;case 27:return[3,29];case 28:if(g)throw g.error;return[7];case 29:return[7];case 30:case 31:return[3,33];case 32:return Object(o.f)(y),[3,33];case 33:return[3,1];case 34:return[3,41];case 35:return T=_.sent(),d={error:T},[3,41];case 36:return _.trys.push([36,,39,40]),a&&!a.done&&(h=s.return)?[4,h.call(s)]:[3,38];case 37:_.sent(),_.label=38;case 38:return[3,40];case 39:if(d)throw d.error;return[7];case 40:return[7];case 41:return i.push({storeName:this.getStorename(r,n),items:t.map((function(e){return P.modelInstanceCreator(P.getModelConstructorByModelName(r,n),e)}))}),[2]}}))}))},e.prototype.clear=function(){return w(this,void 0,void 0,(function(){return _(this,(function(e){switch(e.label){case 0:return[4,this.db.clear()];case 1:return e.sent(),this.db=void 0,this.initPromise=void 0,[2]}}))}))},e.prototype.batchSave=function(e,t){return w(this,void 0,void 0,(function(){var n,r,i,s,a,u,c,f,l,d,h;return _(this,(function(p){switch(p.label){case 0:n=e.name,r=this.namespaceResolver(e),i=this.getStorename(r,n),s=[],a=function(t){var n=t.id,r=Object(o.x)(e.name,u.modelInstanceCreator(e,t),u.schema.namespaces[u.namespaceResolver(e)],u.modelInstanceCreator,u.getModelConstructorByModelName).find((function(e){return e.instance.id===n})).instance;s.push(r)},u=this;try{for(c=M(t),f=c.next();!f.done;f=c.next())l=f.value,a(l)}catch(e){d={error:e}}finally{try{f&&!f.done&&(h=c.return)&&h.call(c)}finally{if(d)throw d.error}}return[4,this.db.batchSave(i,s)];case 1:return[2,p.sent()]}}))}))},e}();t.default=new I},function(e,t,n){"use strict";n.r(t),n.d(t,"fromUtf8",(function(){return r})),n.d(t,"toUtf8",(function(){return i}));var r=function(e){return"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):function(e){for(var t=[],n=0,r=e.length;n>6|192,63&i|128);else if(n+1>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)}(e)},i=function(e){return"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):function(e){for(var t="",n=0,r=e.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},c=function(){for(var e=[],t=0;te)&&n}}(n))}}])})); - -// version: 3.3.18 diff --git a/docs/javascript/extra.js b/docs/javascript/extra.js deleted file mode 100644 index f6e6680bbb..0000000000 --- a/docs/javascript/extra.js +++ /dev/null @@ -1,91 +0,0 @@ -const Amplify = window.aws_amplify.Amplify -const Analytics = Amplify.Analytics -const KinesisFirehoseProvider = window.aws_amplify.AWSKinesisFirehoseProvider - -const awsconfig = { - "aws_project_region": "eu-west-1", - "aws_cognito_identity_pool_id": "eu-west-1:3df3caec-4bb6-4891-b154-ee940c8264b8", - "aws_cognito_region": "eu-west-1", - "aws_kinesis_firehose_stream_name": "ClickStreamKinesisFirehose-OGX7PQdrynUo", -}; - -const RUNTIME = "typescript" -const BASE_ORIGIN = "awslabs.github.io" - -function copyToClipboard(e) { - e.preventDefault() - navigator.clipboard.writeText(e.target.textContent) - alert$.next("Copied to clipboard") -} - -function enableSearchOnBlurElement() { - if (document.location.hostname != BASE_ORIGIN) return // prevent unnecessary data - /* Register handler to log search on blur */ - document.addEventListener("DOMContentLoaded", function () { - recordPageView({ - prevLocation: document.referrer - }) - if (document.forms.search) { - let query = document.forms.search.query - query.addEventListener("blur", function () { - // If Search result is ever actionable - // we should populate `value` - if (this.value) { - let path = document.location.pathname; - console.info(`Search value: ${this.value}`) - recordPageView({ - searchPattern: this.value - }) - } - }) - } - }) - - // Register handler for page sections when browser history is changed - window.onpopstate = function (event) { - recordPageView({ - prevLocation: document.referrer - }) - }; -} - -function enableClipboardElements() { - let copyElements = document.querySelectorAll('.copyMe'); - copyElements.forEach(element => { - element.addEventListener('click', copyToClipboard); - }) -} - -const attachListeners = () => { - enableSearchOnBlurElement() - enableClipboardElements() -} - -const init = () => { - Analytics.addPluggable(new KinesisFirehoseProvider()) - Amplify.configure(awsconfig); - - Analytics.configure({ - AWSKinesisFirehose: { - region: awsconfig.aws_project_region - } - }) - - attachListeners() -} - -const recordPageView = ({prevLocation, searchPattern}) => { - Analytics.record({ - data: { - // Do not count page view for search - url: searchPattern ? null : window.location.href, - section: searchPattern ? null : location.pathname, - previous: prevLocation || null, - search: searchPattern || null, - language: RUNTIME - }, - streamName: awsconfig.aws_kinesis_firehose_stream_name - }, 'AWSKinesisFirehose') -} - -init() diff --git a/docs/media/aws-logo-light.svg b/docs/media/aws-logo-light.svg deleted file mode 100644 index 982571b86e..0000000000 --- a/docs/media/aws-logo-light.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - diff --git a/docs/media/logger_utility_showcase.png b/docs/media/logger_utility_showcase.png deleted file mode 100644 index 2421690dec509b68d8a5ed0b186d3b31b418174b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309999 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 z 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

HeV2T8Ov!Q(|{xNTqd@I0x)>syAi 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 EUrXB3cmMzZ diff --git a/docs/media/logos/globaldatanet.png b/docs/media/logos/globaldatanet.png deleted file mode 100644 index d65d33ee35e628e499059bf539563fa0b259f4af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4083 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 diff --git a/docs/media/logos/hashnode.png b/docs/media/logos/hashnode.png deleted file mode 100644 index f2ed425ca9a15e8b7ddeeb14f49bf86ee5954a1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12638 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�i2)*gUI8^L%#*Lkm@9p!_Tse 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 TqWHlk^tZmQkxsf6{^I`u45E-! diff --git a/docs/media/logos/trek10.jpg b/docs/media/logos/trek10.jpg deleted file mode 100644 index 98bab568f64f952293342964a6313e0b2b4bd2df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362914 zcmeFZ3Hakw)j!_vY{0M%11QKc4y)9eCT-JYV8A5J+NN!iCTS~*X_K~T)+TA26qi?D zLzzyAC;CdS}o1sJjW4M*S zO)OsrESE?ufq&cnKJ|-znhcJgUKeU4Qy~CMBC!u$F&uZr0f~g|guXyw8=9^5hCS{` ztVryYSd)Mg3AGz|oJcm7AsGVS5P(9<=^fV--v{pi*LOG3^$i<#HZ@9(s`Lh`en;$&2}_UW|?MB zv$f^)Z6N*T$yf*Jl@*XaYhvhAkp3P>A7hPe1El{9(g)eP8YB{{_F2vk_3i+qA&}n3 zZwNR@pPWeSxlezmbZ4h@s7HX#L;`oc*f;uvaKj1Rmu!HG#li+!pIUktZmO$YQ}wkC zxNCc=6DJajHZRvo9JtKe4S>lxxR}drN^b`2fBJgPhfkM!?!>Ze7bX74&t))72yzs|6@{ajnBC-FOiNtl^-l;u@EbGf4481L> z)O0%CZ0Oz1%M5+``j-WsF8R+BJH2o7^823V-G-9hQ^!`gVVS92*K)`HhQL$1`i4!r zEAjuj;!b4kM8``7y{G%S170NqEi;@x5VxZlq2W3k4CkLo_rbIfCPn?u^S%OHgiCUtO zXeC~m=q3gUJK-m$iB~6HpExUV4j7x>mAE+ZfyCvBD-%~IKApHeadYBJiT_G`Bk`TY z-HCe=_a+`pJd$`U@kHWpVA$JZY2T&wONTBUwRG%Kaw)x3SUP2iSgI@uORc3>E%le2 zrSa0Mm;Q6oUzu3B z_sT<7zIf%Pm4%h~%G%2I%HB$UJHzEzK{`p4>hS0BDQxq8cLW_5FQ zfAw_rS*tHx{gKtzuKvpEyH`KB`iV7b)*Q0t_%-=8^qSV1;hHnnymig{)?BmZi)-#& zbN`yh_t;~PL-$DTv2~By9_k+99%t=w(H@Acqbe_Ok5?eS~3 zu5GLxu6_O5_pH5o?N`?RWbGgK-h1zjdl&cS_cr$akGr7 z@O@6(XS~nb_xb2PU)<+M`}}d=efK?X-B`{f9(F~{;%ABw*Q6ue`f!0@Bf$~g! zbN%J(zq0zI%Z?l#dBKriIP&46)*p4sQN~dh9Cgc4zus{0 z26Th9;XNB}+wj_dc$3A)7@y990z3I5?kNef}FFc+(es=uFj{nIC z`<`&>38ND(J>h#VS@V*@OU#$N?X=kJbzbVLseeESWI>lh_rM3jEc^!e zM)(iu6Vu)FCF$>F_RWx)*JVDJ`F%E-)wA!<{t#J@aLAjGTao|H<#T@S>fFQmWAd-c zzc>Gb!a;?4;jM+Q6;~Ir;_Hex7yq&)w+}%ND%KMbX^2Oy}R8Fk;l^eMg9Lv3v`$_fKs#CqbmZ&kcch-JdKfXSy-^8!s>-;7B zF9le5weVGOy?DBKmH0#hYn;_oOSj7V%csd#%1xktK@d#9K5&hqXZZ5h35^q61v zKN2hjuLwRD9t4c3Z;nqGzj1uu1U#KkrRD0J~4hv{LqY?efW%3XLQfF z_0=za_3K}K-)qp|{Nrrx?602#opa$i ze}8NDtzUl|{I>VJ?Wwo--hRiqxpUwDjy3Oa-tqnOPCf66^Vgj}JOBQ7a__wEf(;j( zeZimJb^5z*zc72@2j0E*-Q#!P`<}{sK6lYE7ro=6zh6AK`0h)vORjnE;qQIRd!Kxt z_P)E`|FZXA{edGsaLxz*`a$D^Kl~8&q3bR^?$Qe{TXWguvR_^P+pf%CdF54yUv=)sR(x#yv4=l?+Q+~1iP9%NclD;LKXlC@*PQdo z#3#p}{Pm|^^{MZFy8P)|KU4V3)t^1~v+uoj{k3Obw{%^6-DB4euD|zlt7zHl_~uJKfAHte{leNWocV>PZkgTk_!qq|{^m>lFWrCZ>9^kV<>r^a zcN>4(9bYMb%{@0hkihlK$uWkL>&9`s4{f4g>zJC2Ta^JY_o5(k>{TA}AYwyV2 zaoxA`-~QZpir=~M&Xe!_!d<7{^`-BYzWZO_W4`x|yQ_EK`F-j8Km5UIKe+dY+7EyA zBkM=M|MBFDezN)}XaDqopI-R0!+&<^&tLNMYwpe6`}zAy_kHsh;xF#GzkB~9 z4+IbV{lPPTx$iG8eCVi$uKZQ{S2sUQKKz|uzx>w^KH@#{x8I!g+jYNv@1rL?`q|&T z?04UMtohi3zxRLt)F0mZ$3y@4(LZJXbnD~w$A9*O{lwp%Jp0dw{`rc(6#nwnzbb!y z=x@`%@A3Ed{P#=#`^JBi|M8Qj?5Cc3>OS7vX6HGs@L`sS`{ry|u$!JDB};^b2! zV0oE(xS^x>4QK1d-`#Y}#tnwHb)$lC5a;3gz@TToF3zfr?#%2KwT-8qvi9U?OJsYt z9;zE6+j4>}(bkP~@GT&{oSoXZVO}IOw{Aq2-@2j6)q$<$>l^Z$;Z0o#f;Qxfn>$di z(9w%8-H?XTa0*VRpu#4&xCMr{q|+O=T^mnX3sNWhT5pR`BDcK{+-=>slL0%;Yo;jBj{zt8W=s?YQG`>&A`CFM9e~G)(J0 z{T^@ZTl2SQ-IQ+Ww(f)hU?QA)wt9d)Pgi_a&i|826l3?FyJA0O*!_R@PL6x-%C`Ni zHG>cs#?M_dXvChL67&FA>s=ibKl<5P5QM}8aPqlSZdV{;0@(PhP=;lVgV0w)*MD}v zoeIo#`Pu04cG8nw!~hEEf%p z(9-A1`Lxc=wG_3&U2~VAm(|QNmbG__r8+>w(I#!N3fg!|!`Dq1Ivw*>M?0NFPfjfg z?+UWW-4%OI+wNqX3{-Cm2l}9pr{q{D19ffwQj{7J{yMXH(b{`Wiga6J2YcM zI=30#Z~~`x4QJWe@{$EbbF^)Bc7tmS#&*Y14J+7F|<#hB8o96T1w@4G?1vlM5Br`l`2k|5;x{h zG|QV-6-`3u{K8OBe)%HMP)7kSAnQlb=*pdhG%av~9V z9lL-N;HIM>P}gE<-oRRl?Dnw&AgPbC3qZ7may*K*lB7a(m49=Dg1^X6kyaBt4< zgJn>h(Hz;D-$Tok;FM-tmIjiGCKu;#HaoN&s>{jL;>{gJ9&|w=3|+2-ni?e!Rgl0+ z%eN@kwFHr0eqLIB-sjq|AkG1I&TQ>g2!Leg%?H&w84T$HQ$eNqewpGtrbHmMM!zpo za;8JckcPwj91uv?Z#7wyA*z#36B~3K&~8ewx@n+s+b+VHOS``;`Rb5Bs>4>u8QEz2 z^KE|@6n5dcKCyztrMZTgt{PBW87@>}w+jFAcEQ7)i;+NL#`cWTOajV2zY{u~LR#vx zXe4;NQ10b&PXl&xplE3bgS?Wt3n*sTKu}>;0`-RKE}*!$EWP>w{DeW#Y&WaJrvX78 zr~vx1#PwBLfVw4jQpso;Ek?Yy!i`($x#Z`?o~!H}@L4PDsQSE8+dIe36prV8x73Pi zjaItSV8)z?5pAVC(3A*b$hqK#opdzOnoPf&!3M3g)USxxOfofm`&<8?0&aiF;_q&H zSRq-fZOd_6L56J+Q&dIHs0!lDb=MX=jj|>k1M}t-g2Z#{ARdXJ=~ma4fpDb0yxeco z*0>#m-jha5wJCU=bhfW5+5Q~xUugfXl+W+5^fHCp9yGjq7A48T81&Bi91sl2r92n~ zFpR69XtnFiHH4gx#EVK8hs!M#Xd;S|-5!#LtyXhKw*({o)7Q>I*_K(Z&l677YsZT$ z9%dzms={5TwY}oDekq}NAFZPpk5W9Uqd2$dDP^GOXo*3qQ#8LkstY_;Mu`F#gt0bC zX3^FZb5ROHyL~K!(o?k0;}psSsEOh-%DSjC#Z9zqqJAHb7Zg^y=mafcDAz*cX^BUx z5}KZt`e;o;b5k(b)mvzC3MMMPi{c?c%EquyXDrhL-S+wG#6A6sjK!8!J z#PD2*&iW;OTCJn7Tbcv5`_&lDWJ^ZBrl2{d&vs!joKER$0E?L6jAsX3s-s}n2$a^yQhY$DOvwA;qw zfUfge9ZM6mhUyfCn6!`TDXhrQ2;a-%Xu#0ZevA_>M(Gd6IKwbj-x$pS@k*9~`a=h= z2P}b_7T$2##?&(LrpXScwuyIKb~be^ycd)S-gWRHRF+Y1gu6u9Mn_{jkjfd zG6!V(0fNIsMdimRj`S-5I$`i6QAzSsv4p!EKaIL2TH=QN*eP)+m*!`)5)W0`K8%)R zx2mD(T1hpl(`iPZ1D1OI8Zpg|OQuO> zs+W>e9v4uXAUM7yU`c`v__0uG5_L(K0}>JVCl!Q_07R#{LM+fO(eH}vfF%i=7YA5* zNCcdijkppKa}7QM6KR%fcvzhzl9GfCc!wlRNgarbCX;1InhhFLQefmNCM#qUj8KtM zBz05)x@ME6sdO;4PWp@j4>~zAf||UbS!C91`h%WGrn)UE8lV&`{bBvWVcew3jlQSG zwpP~A5o)+_+3t_**sqtTj9)cEuZ%!GBu>dn$qeRz9V0d>)oxhAVXV?@g`+q#s0>=; z2A;z!es`QV3T6d%C#IO9E2-?X+Q0&?%umxZLgXYj>JOLvRNoyk{VSBf(NrEUhP5Y>Z~1CN7;0)(KV}SG~<+d%^JpMrINwb zxIQwc5NlX?tyw@OB?qYuTRE*XifiLSzS0Q&TF%YqN>is!Nd>Po8`edp*lMH)bsbGI zC8S>;p~-BiFsP@Alsilrb3h)iqHO}V`I?56C33{85tcWZDetg&C{;52%q#VzIx3)5 zLV(1wz#%}7Wm#x@WX5b6f~`>_s52F2GCc>>p&nSc$czXXf>_m9TC#?sYOw{v&4>vV#Ax6i*EQo@gJ-LvnQk<+sK!djxZ!JclqfFNDGj7r&&a4F(Ih{H2}+VN z!G>vD8j@mujnJYG@#a>HJ&RVG4 zm(%!SJZ#mYK_g8Wt)6U%O1aybU_(A#YqpZ1$%DmNyJlH+MG@P&X4e%}Y>x*{UC|ru zq~+GrhN9LYk5AjG+9MZ$A~ou%6U}d=$BvpR268%{bofEoqS8obz>d{)p6Eo#M5j_h z7Z0Zcr_}E@yvS97Cr8;a1G6b;)(HI+r|VUVj=-K1`!D&O%+irGjCBbE_NXC!8kYSqlE z62ppRt1ilOz$VgUf#xX=(k)vVrI}?1oLw>6ENk<2FIH97mu;xr@sVlQVeD=ZflWs% z>pYtqJ5jo4AgP>7+5L2xTqw5NQ4MxfR@|vN)JApNBULlXNm);|ZEB=eyh+;WjC%bM zS$3ncnHj0}h%S%nqiNaK)QRVlaR8NJ!tWU4IfWH9H}E5MV&qXYpp|LPC;Ne>#$vvL z2Qy>l`@9vhF-+u@a@eQRdZ#lD(?%v+8MMb$3K4w=9}ma5uoEl*$2q;gbmGoLP>RER zwmfmgWGY|GO;Sy?%awwu(!;U^wl@tYC55X4rvXjO0=W`(hm;U>N)bfUlS023S7wW@ zR|{+;9uCW4AxOvh4p;5Q@T}3ShTUv>=6CAVLNW`L9DW=U1*nr3>%|HNL5)Tf3M|Y` zAlR6$$^E$b4)9=SPf%cfklghDOwh88uD1X6Gp&$gHO7k_sJ+^KM?0Ngx$AIzIzSuiC8 z6lDaI=LEEuBGAP$oJN-$#_zoH=gB!BI%O!Zc%gCB1kD2lmW}b<3-c%rS_@dxWpLiD zfKoVk0WjKm9OMCx01PmUEdcwR0Q>+XBQOy!6BLmqjBbmNIFA}&krMGn9g{+Oz(sAN zfD3VdLRkDvXqcmN+{)DPs>C~Ht~RRu0NiSmRz`p|N6YGqImOHOXgJx+)QCY#r47a| z8`&5rdJ;DgQMNq2Ww%EihfV7aQXYC`#rATBHyVutU(HS2W&VQZGbN0dh9?bPn~2>GJta9>$cj~*lv$%YA!ckzDD?-bD8-7=0s{$_ zsW1FCRh=dJktUhb{=CWTuuW2iW@@CADU52fY25dqWPLVZMKk0Y5>gi|4XjnYPLqW7 zCMXMGnEWJqLmC!1bmbo_S|ZU=KMxZ)SFhE&j4YC zQC9E4TAUGjTs=1j6dXHj=S49dXJv(-#(7v64^fDQvbmv{q%ejM4N2`NIsob0w8GCuQ$ig+f%F1$H$qaGcu4?I$SZKDLs+JnK z^%|*(t?2k<3;aTNWI>!3fXC$t_;XjqlM@_+i{S30kxAwSQS%2ekit!oFPx- z{=lpR23q9(8mT%^&!16wKAKZV4~SW@$rLMHKS*|4Gmf#dPFGV4j+a&k>3pd^D;07x zy(xz-9Ck)Ztqbc)4Aw3%+6!F2hu7>p?KM4n3e5p^o5`d$us5lT3w@>y@-C)Swwvn6#a4$k6q)f(a51rDnNO)vJ)@#T3vWfF&M=aUmmT zN|aFJe7n@nBwcNmLxrSTF5)#F0}+sNvewNCf)3XBN~SO7$!2Rb|0x)7zTl@&F3Qg- zj0@x5h_<_F&8aehLsd+3$T@;z@-C98s%?qEbv-;6 z6k@fhO>ksriDX)sq9Q&ri-mBCQY{Qopj_WPAh6o6~!h@I^i6! z5xHi!t5U#K+8xAf&heXEN^UWcp)Ol(VEtauW`0PI*x0UE?P|Ktpi(c&1i?%mXLjoP zRb86{PG(NfsY|m~T<5}Jfi=TCC9&O*qSeW$)|%zoR&x*uEZJg2ajF`KlMTyaB{#0t zt7EHY(S=+{g&G(w`NfDG<#aRy8#Pqat*GS^7Fc~DWr`iSvy#y!Tbzv1G}{h2oq}40 z>DcCy`XmYLf3BfahK(u@mN!&c8LG|pBA(*pCR8+(SW=H80T+7^QtLGQ5=Z*ckmkDS zS+gd^V1d}1g;0J*`W=-lVO}OK{THWW`ADI2V#Q^b-Wk0Gcj3o+e9WH0nenWwSS;#;lm-nYy?6T!y&uC;Q3ii5; zYax;##B4=EGi=VxrVSgGWvT4qqiP=uus$2|<<4R}1mlJ>peYK$c*+x9s)(hhX-T3A z_|sjKRLZ%$OPdt%=H}rtJP_MpUZVWKA1f`>YQb$S-7@X|VorhCS$QhNv$T;N_o_x@ zAVkkgigY0WJqDZj{h6wH(;?_AL*1!Stv=o2$hISa5rzw31?)nnN3|$#Pej$9s|{&S z2FP$C)2VW^FwS%XjWn=&yJ^dOZHkXTz%Gw!+_YH}l7`Nw%C$kJ2hYS}br|MNbQFY5 z%_>Pqwurnai;D`iq9Dl2dkB)NlWdZ%BT}N3kBJ> zpKR70Ju1Lz4GOAJt{5%)ay7Cl<&j8InPD4hW@X)(hK-Ji^EI|v=90{`(iu7tX4z78 z7|1PTl(FlQ;@Ds}L`aRjtk^=ln92&VlwO!~9f{2q8;$Cq4*`!O_(p*CG6UFlVKdKl zC7l`CdcQnGIxsyeky@pb%g4o94y$@xZZs(J9jg@OWKu-a$p$c2dy@2Odg2NzDw(43m{hVy!R-9AbpPi=%vy zkqwfT%uT7+U1jK|r~>!~LG-7zHqAt1F=Eo*VjAs+Ld2VFOpJ45F!}JEmf9IOL^c}_GiFgJ z#Iav(<+XHq9Ldk|6VUK%!NWML0Bwhxd{Kamf-?xC4qt}K6|Q3Cv)qXHDRG=Hh-9W- z9^|A<%(QTxMTf~~WSJ<7m1Z5e+Db9Q+;p&r_&|K4)`@Gilr?7ADC+BcGy^Wf3KMZ1 zsY;=hl9xrSXlUn?L%uQ0+fq*OEzhMqWo+qkuM%hj+6RjU)>};UO%v+3j0TK=akM|9 zs-(!qBVff=8=@E6Qi*9YnMRA1R1}#A^>Q+#l~koT9C=0&%a55_p{h5@sa`?pac!

1+xiIAwm?+I= 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
M_IqaRQn3&(RyO4 zMZT?8xbOAsNT|y&iiTUH%&{mMF~KiVgMUm0s>d_g*@8~MU3b?d^n(n z|8L{^|LuW)!w5@_B2osL|vX>KC?R$(>17_BqKL3HF|JJ0po6wosy?o9gCuR z8cwE~PSths#ji5|@p<{5!|@#nA~_D6rv`{O(~rOSqpN4dCEE(!L|w#5H7xA)3RM-g zD38r;chisK1oFE zH9CRtxdF%6$HIIV*EY9^^3E3M5NE%IwfR{ps&X`bY^nD!gg;ghXIn_?;^IA2K-kfn zpqmq|sqJpMBj#TlIyt5YnVhnSHBY5PATYTmgG}Z|`q~_=%Zw0viV++O9*G(w{dXQ= zjeCtv*eEsSDL*+MW05LVDSGQT#DG8UMnU zJ;@^8pLtT^epD`~wJ*n-VfmhC-BAzG3C_}9M!j5WKaqh4lWOb=LW4)?oudq;LF%L= zY*5wkee1MH3cAw$$hFRC1|P)klB_2aJU(`}yyXCqT9rEHHpAqd@2@AcQ#kdy<`{wcIjm1I%k!IOxm56m zuFaUJvf`P&<6Kg(YEuJP7y(tDawHH@o3THRcA5Vw{@{ey!gI88}CRe>Rw4jpT7;`*`YRP&M^CMV0vVd#T3w`90y zSKhEFh?6>E4n*+`jLJDG=pveW3HE~@mOdi=H}LWcx}kIV&j;)kH9zb~;Em{>xOk`P z*hT-;4ZB?B7FGWPbnP<_FqM&Nz6|W#;8xSz^(Ct^=xbcfj$%rxzlr^%%zC@A&X!+7 zx`HF?y5~bSb-cZ(`MQ-jIR!t>Vh!cTFmt!MbhVi8KMQ0cUY)yQyx3~zVKY5*VPiv2 z-gsE4QyxTijf%&l=nS)46~5h>zqi!{`kb$sQs)PCxc61ysc;PCrv6M-JqQ#lP(Tq;Os;0P zv(|bYOMVp(7MQE5+6=2gnp}N_{Z%bh77Vt{Jxb2AR*kUob`LNQbRTCz^Z-}h18QM~ zc{$eZN*01Qt_PyS1m%dWM*!gFJ%#s$xDpaoz>| z{;wL$x$h*MvK?)tdHeyN9hZbtmroCLkVGj;jyV(fNh9s!07!Z5%XPVXn_f2p65V?B zYzg3-)XFO!eM2HFEECl1mZ-<+KJEPiJ1IMF-LfM?<|o?F=z&SJ=E6sd-uic9e`?~QRfrpD zTx8E+s5M$OFb2=(#iTj9fwjz~km}l=mn;a!gz?C!O$-y#YO?v09}!iQ9d*xC!hf_` zW964wH;KC|11u~iI!!0VR|ol#wg#p@CLQ3(R;$$Y;B0zA%f>n+0m0PG6(i8n-Kw6~ zVsP^ydoyy{X*V~aKv2;tD!&f}Fz26i~@T`#}|3 z!qnsP)=xwSQ6Aitvf^^MnjfUel@4xyZ83ShW$Cv+LGXX8@Ym#h{;jvS`&Y6KA4286 zxE?j{mGipV?2h;g9kJ@+TQ;|9%MAHGy#3Os==a(b{qx@$9EbC0mcthj;%jzP_%*DO zlXk3V@N!;0JsAA){cI z&Kr)-!PRgAd|ARHaZ?bTUwP|v#Brr-n20@tct4HnD z8>^bno5Rz%z)F78 z_%rGbqCO||>85X%FJjTz``|;y=OAl;!cK?CV^2%_%)A?Bk~$-$HIMR=md8n>5E6En zxvmqd8nt?j7bdk7bQxtl1*-~J4-y#R4{Lv@yKS?zG8u-6Csx@dhW1;+w7&JbOhc{Q|Q zj-PpI_3a$Y;acyV?>!?N(Gn#$?eA%O)^Bi!xwrV?z?(26ebQq{;e7Gt;HSP^)H;gF-J?Lw z0F_FO^Pjxa9N+R%)b8n*z7g~~P`fMBR%m_$mD=6S&-nbOzSIUYS5kpdOj<`dF~1eo zfMw8cH=!HaetmFE^4JaJ>l>o0Aur_q(7k4r);Rs_7AB;nR&Wz|R^M z{pmKFgS+e$<+i4Q%k!Scd`;p&^68yt9l-_lDxlZ87S^>t=r-k+4(Xb!*W11%nJxSN z$KL+!Ju)WM8YSE9a*ye5kHKrUlwDq;^E^d+wMU4WNx8ArYm4l-9cXi;Rzp5zO1+a@ zn>y%87t1N(^>+rP(p|-zrp>T+>cEj8Jj_0fScA_*(D|Knnuj0mPN^WT3TFp zV((7E-2-(;-8j0-bvU{iX%@V56>i*9vM=a93~q7qC#5;in{5{>D=Tv75hRv@{Y;-y z=r(K-irEa>4$iNN=*$fL?QcW+zc29JNsquROejIGMVHv4@~kV$aXaK3K~Y95o^5Q)M%+O04ol5hxc>MTLwFjCKrOA6c?A@3X=Ai*^m@p z`F4)PPEVY>zkRBHFx00O%)>3bP~RT8q^_$!O<|iS+r30;Oj3uvZo*+NLS;Geha}G>oG3TcU_rG{YiLuv zr|JlZQ&THvTkkS<5L!F z+fIvw-xL0W=0)iHaN>)RdEXQkvz{7{QsxZKP+X4nvs3Y_RP4G5EF%o{?rmnvbBuU_ zM@9NFXrFo=cdd82b}tE_erhvzkni{g;r{<=yvu(d!@tZeKj$S~=1jf3JhYuSH#3qS z9`80}(315T$R|AC@d1}35q%|Y=M%Zf?BVEd|NY+l`N;FN>-NTs^qge_ez5B|Y&zf1 zOf80SqpwM+@D(;Q|pw_qael_XvJg-cGZm znq<<=o`)&h20;j4Q%upKcQMj9?eW^wO^1zDy-{h|`UCdM>51`sYl-sU*x_~CL}mXx z%7R}6ZdN3wU-Ng&K&oh&M%xC^7oA`9{gTI$P=4d@gXOig@4{qp4_~&Oy{`_r28GPN z1$=5wF-TMy#d9@UJ&Hx{mgB!0av&$y4|}&XNIWjETA-_{E_k@7syf~VhB=~59IL8R zMQ_FydLq+^81{#ng@+9ODP>80&{~}i49;JYhA8)Suw#I*s#>x{p4}fQm&4HQ28{KA z>0|Dt_P!x$~n{c<M+OE( zLv;n(FQ!14kkv5m9`6bovHtD4Hk4an zK&A{FWXucnRsWlJi=W;7{7kX)2T8C^H=45>Ras&;R?dj+`a%2isM_GDr3p}NA83Iq zE_+K)GY|}F-)Ud{H?=qPEi_BJgq1%FD}gxbwuq=)oSBlFkHMr0tW@NPTh>9ng#7Y!Z8* z8dBpKdUPyD3B1{#8gMMSkYjbYy*XEKs#xlZv?a%dh77yF0BpBPAug-an+OxH{DSJT z?JYY6BEsnyHGtibmUX@%TUc^WhG+a9ow+#p6>7!1S+hHzApWj4AY8$ZpwjG}*Jw0N zY_(bGdEo1VcwEk7Rw%5Hx*!GSSf@EwgU~Q3usTnkKYam&ZToi4z%F4C2ogOvBL|b0 z;lu=R?5vpfAQ4<*3+2z9pA%K?J^^>WeScp#H;d)+4!D>5r(Pn{;)Q3)-ou>ag=UK} zV6g}cD{gBB9D@VL{L@oeLoKzaYh%xRfnI63Ye&!kFJL0V%{UECSc# zw}UEq4I~=WM+gFC8PsxhAdsTE+FF%vbZc)9C0kg?Sg7hDyKyGDLC1^7iunWQi(w*y zUy2@ocLcbm$e(tVSx4YA7H4@f|%1y3YwIR*?n$0e*^0BTBi=_O;RJ zfJbfortCV^HYD#0$6@M2|DaS8yiY3I?XDRo!yS@+A4Ut0rl z=-{K$+RiuB6AD!)6u(OM>W`P&!JGG2YOI3}bj7!iSL{=BDj3Ptx9THq71h;B4D>Ya z%DBS(u1l5q=gl;fT_GJHOwM)?tTW?`Y~>CBEl<$S&x; z)Q5hHaboLU(&%xg+dEw7ixUsTt}Itc8GnF;XVg4`Wlj{s#@kul99F$TS|tpeucZJ% zijq$_X9-__iFgxKCDvcclc3hsY1zBPNZFiUk$XRH*3#ao+giq~6{l04j4Tw?Q{LyY zusAQ2U?UVEr+efXvl+{{oyD2AU4!cN7vSH{u{}!G<1a226OVAPsaSBEz;i65GV&NZ zkSOB{6f-l68uqqQ(M-`hY5Jb_Uy=Qx13S;2Dc9<891 z3`MiD@4KdbsvGmiZgt<(utLXwDy`iZwcuB(!#^3dXnt;nkT7fZV4U20y7=?@Y=87U zo8npO?U>BE&hs=xgy;KzdLjOEr~k`x zxbV;rw@@i&U@ANsu7IC>i7=7Iu7%X9vkrQBqjne4e6sNDpC>4lWX9*H#l6PGX^jqk z$*c>G{(;!e*k?$aFA?tgO-gZa{PboehpXBep7QgOUV@zU^$B4wUjM4?fLO1w4>i;WPh+|yTupB&vEsfYFN1-uig}ARZ4-gM`(_<+@zueNb8vHxwxE@TQg>^`a-~Yp zJO5T8o(t0$?pFWFl#(~O8tVE>>eb`V^Ajs+7(UCvv`UzB*pNRt`p2^pcAj?&^9O_L z9lv+&+u7k{AxDtt=cPGiV@-2m>g%2O4%U%qy4Qv?DXuh!<}N$FaN-B8g|V#OAMa%MJcgvA!<5}E ztwjP#xUyQmohzA(@K^}U8%7QJX6EG2T*#AGm~LgEg`{_ zdhm=dfAKC25d&+ys%m9(@cp2|*=Cb>6mNSZPAbY<1$(k_pdi~HkS2*Y#s-ACfu^K3 zqAKehotuqoV9A-a=+7JD{4)d;2P9Epi_nr{dJVolB!nIQIX%n?}O6*3;+3n!nfyk3F6zQ38sbkcX(%SFa@^>M$~{tgiOE zRd|yQfNCpbO4ZIAvH03DH?$lKP_a9(Hi;fWg-#61HR_gX4J3X997S`? za@(?N#smVJS+ts?P9sAV+`_=kQL8>4pk@dYwSb~BI2x+^=pX)8+~G^HjdHeVH6Q|* zV6Z+>sN4C&PY=fpB#4Fr!>ET7lZ-TOmbxXdssl|_kKm5pEwfhJ(qOx81xC2kpd&Lg z3y>iysf)f}RdjnPHuE+JS zR}FK6a(qMMty4ml?8ct#q}6)QFydj#^ju-8{IF^Bjp!#pOTDJ*kTp#_sVyrIb3P-` z!}Eud;>sADPr%DQY~BfVNEsIcsI4f0hu7RMDYGs0j~6Bm#7X#@hN`^@4qFU;Qvt~~ zx?4Y0eXrJ>D6=v&j_LS7Df0>e)#%mdi2BT6exay79VsFY}XhvY8eUJUb7B;No`6Rk6>9$|ATbJpe%MLK3 z|H8VHakaImT?&D@H>FkrJhz~y;5bJ^o0-WYLeb-7f5=sxk&ID@xWfo>^x@v{FySgG z#dVulykJRE&QRHn!KBUJ;&r8v_)g_fFiNa--@CGgMQ0*Xri38*~ zzjAvPzcTBMw#Uf}e+Ay}EQd1qzVe3zp83&Ijx@P5Z~Tm_{y5`W`la$^oMKdYJ?xl~ zZ;!uFC*zLkpRdo8V$7gUU-Bazwrh!cU25`yv9b7)c0))t&2ba^0|ma_T;gVfpc3D4 zyahsz)y$0NN+ipyg$a{~f{u`pfr7drA9ppxV;!oT0%CYfYcyUFB-K8ReppNfK?Eii z*1!`Ry_=XIF5Om(r8W^u_4`{xrW`-iGHIB7+Jf;+DhP(uxr8bG(ipZ8nx=m!J_Daz zp`kW`!5PkQ$cQsTdEjVraf>|8@|CXO_I0^Q5tal2doXpYGow>W zNNOglFpb$|+8O?pmvPvye;(!kof7NVF+kHh?&ep;6Oq;6LW2_iNF@gbQ@ZR6Eh%Z& zdgSazr`z$BH28(OpZ|H4`r6`N|LI%x+h1iO>`yFGWF*2@lx}{xQnEmS99a{EQf5uR z+HooN-L-r5KOUOO;7rrnI9Sj&% z^&M*b)NBbLTD4o~tU3QumJ<>X9lLo`G=`#y4ODCH&g{Fjc_5c=Vu7wTd5BW`B-af*#G`TR-H|D3-MWSiWb^2q4 z+8pK=Kr?||9~R;#>5rfw$>?k76PV`Y!~5xY#{rd(!H<(I$<-iwA4OaoiH(xTjI=&Z zRWlrQ#cixAkOr62J9o3Gk78n=r^y-5I)Am2Ivc);bEYifbzhPgAMp&cBx5_+>|@8T z3ms_(tjQ*_IEPWa)0#+tjxp|pXZ@X{^_Q86^{Tgas5oh)Wp=wz+|Z4I_FI!DOoa)_ ziJrJ(L~iD1D)W;_4jiH}FG-Euw9ycXH^`=h!4v)Z@iUViVZLLA>S?Lm7083EdWMS} zPvx4y#^XpH4K_aZT5gTzWbZr@lOVIj$C;q}Hr>$=EVr+VemrXZeA*=OG2^IsMFdnf zYink2ijyQ-_6sH+P(nK!WIq4LKj2>{^jzoZ&yd-doaykqV(D#_yV#$(=+0U>ieM>6 zfe7*3@Pvyx+$k_h#TdG3N!sm@Np0Uk3jkoL5)*CIgUBp48NYPQ6Ql$h4b(G$vgcb-wAV>m1 zdWTU*qy_;KAhe-FLWltZB%z4(E*(NsdhZ=&Zsy$oU1$8(_nq^dIp@F5UF#m!VzGCU zU-IsEzrV2eyWi(|+_5gXo>KBNk+>s)pkYl?4Af?U(jGCCO&PzOuopX^(Va^vvmejG zc6g8LO%S&B6~gZIl@Q}H?4Y66>yVGLQtY<@V;5^Co2uxO?oLl>NI!n5cBbO@=3_kZ zq~Z3)b^P1Nz9}m{aPiaAFW#MFXY~fwqQ!@biApuw#Ga_y$H4mFrg#IsXXzyKDTjj4 zqAu{0pbGuPFPEd1*!B`vD63Xh=MP%W209cyV0-(mYtI{bkM=o>`Y5J{hzW6ZA_=H> zt-fLhvTdJ+Hrok~arhggvK~pSr5$&QZmEL0PVxye(e`wdB<|uYezhGDGhz#^tbbop56`o zi6Ns_*LA#Kdm^JQcI`NF@adhpw!R$tmVM~%x~4)p z9z+5qg1WMKEFCB<%?r(7$o}gPEb14 z(rH;ZKXhBUZTz$VS5jlu&otvF_mMa>BqiLn7+pqlSgd~*ZA(kYt3H;LH67^B#-XQ{ z?Q+(^OK}fo>7*$O?`X_W?S=RUKJ$rot&~Z3qN(8Uks_pvDo8QULmwk<)Gh(4vV-%x zqzV+@!CZ~+jxGli>)v7tmwtNKiFV@l2v6WuH`9}xj@YfVIPt&ejhDo-P zfD1|Tk4ivJY{w`$YIu%si6iJz(=J<7qZbX66$l??$HJ3ytn`fq?~;D`S7-gv+Aqlr z$WeXIQ(3Sb{sY~xihC_uF4_@)Bj`Li;Ce;SCAmILT-U>GQSm_FJ9>Cc=DA?82TJYl zG2^ZEe#HVFy&0A*)C?zs4g=6_U99iH@pV2wGFwToI7X~>xaff+1PR$zlzC7B9cAfP z=un}z!)mP26-zbD6|rA@k7b1MS2BiWxiD%fEuv!L-xaPU^KO_AS1LPv2~hTX+Ayww{Q>gg-U1in!f^)a9L~Dh*5~ zo5y-j4c$4FRg6R@=6?zv4AN5ew_+Qs%-&kZwLM|*L`4B?(g#g?KdWfSQ|nSQIUV5o z%2&!EFmzl=;lA~OaQ#`tF$$A<=nTRRMH)n1u_ zf~~Bi6_?xWbNqrlee!?UzJ?P5ac7UbJeNA;KgKInD?8jzruRb*eAZ)KQ$n(iE~Pke z&&-KA;c)W@4w5BXqR5-G@o(ALTf~~fiEL(N8WUiX**L#2R~fhbSn#xCk=#`|k)%lN zt*Hdnc2oA^kE8DFt94mPW}_~@#qPLn8V_0s5L1X-ZARlAL=#B`LC*EGwho(^CEl8C z$WfJ)7O(?sPcO65l?;$b%ppFS8&)$H|NV?TqaZPcF)eSA`azti!tdiD}BRB`tHPyn$tO9e5_l;(A@BQi=)}~+3xFm!*JU_;tC{9ec zcpc@e*u1njl;JEfwjGt)IF*m{aQL^#z>#uD0vrI%lQjhvKPo2>X#u zW-=3~8Wi@5+AgL6CkKbVPIqYQrGU(uGatr&EvK4Ts zU`3G0$OD=t^NjJp4%ev(#+kzfHxMWmbhvU|L-k`ke%Ge%0)t6wAMvWM->1~P3t0ok ziOF45d}h|b&ng{NpbNBaDYyYCmpFgB(Vw9{y|m#EIns(K9@HrYd9ytj?ANL1$db7h zj9jGPsES38S1+7h|NjE%ZrLD5k@}3vgV*7J=q2{0_JIPJ&y)Dto$#58_G5~icKS(^ zAf!Psiwh@WXI`sUmMU`B!yU*s=Zq}|3o6k1@Wq_6ngo^kT_LK7@z&GY>&7ILyf1;$ zViFesJ!;k&Iv4KAbaYZ)-`iY+YenzKa^%5DlaX3av_yR_&u-d!#S^pQ%qhftr!e~^ z)~L_i>N02l@%P?edFDGMMs=r7iQY}j5)ILcFR{;|m3gF9$nCG3D|ZEHN6gCZ8En2q04wvSk>nR?Nf<-ugY<;;)$sjS_D@ngKlq=A)=;&ZbK|uPz6CkUajMn)E#}tokknv-c7XKA)7%6t0bVtX2Zq?6b=KW8 z=dJIxOe9YbsHXVas~!6D*|beh^-NF0BP&Q5U8Im_ ztvf5#D+DiyoUhy%6{#I{oW3UT<6j!#fAK|s9T9Tg^VsR@$BdZY&v4d?eZAk3j8WQ6 zjSM|!yp2@+BC?dwvRN1=b~V-MhM4w$*k;a|!Qao&D|@C6O&Ow)^@Qu8x}hDT?q5i1 z+p9m_0@;x(l~hk)Ye%`SR1HQlKtKQE54hqO7#dO#%=h&|##ialt8$)+UsF8}KDg9L zy+cu#S^`r+mGMSt)-5 ziqRsgNQRhIEiRHlN=^i3jm&fEVjKKQWypKY0M5xJgKn#L)+Cn$Ax&`V@#CdsT7vQ* z^G2zKsbZ8cwtrh^XY}v~(Wl$_^|qbUHXmIH#UnNHqLSk6Z~a0tEISD~?k@$TMMj6x zM1FN+`uHa$fImihiF+|DOLWSZa?!7At#WVjW|OU^=oVnFH0W!)FN?VSv+MYHgo9-< zMv=mPps88|&+s(~xIe_iNN`+zh`G_zP!*I)nZdU1jZjrY5Vz7VM`5{Zl_7HQM1$6r6$67> z@04AP;lLiR^P^!&uF&+CEr`JG%emej@~*bN!+E+iCA2ZYz1b?0FE_!;(LztARE42H zc>&Ve7CVzEU?SakeasYk9~PjH#{J*Zik*#Z>hST-*iS{Cu;={khKi@DSH%RRugg0)czlX%>Ip*I@yA){$S{D@HQUM?e$ER0Km9o-F1#NF z6rZ1Y-o89$ew+6lf;dCih!i1<{4^33 zkxOf-gE!AXEA^O*3kVi%r6u_i9ZwN4fA$swa=#O(yLWyygWF+g%&`@?zj?K+YHO;x zy~M&^%*uUOvku&4%!MxXb*N!7*beHKU???Q`~;z|&ZS@?b!-uxE4EUyA_=8YOQgD5 z&Ys_v?FvFIEz5fX7l(Fa*4DI<4Xt%O7B+62FYkDqgV*LaC)m0w&Fl@KtXMmQImw>} zUgVpbH*xzZFIiZgGX09pj^y_L*1&(R_x?0^@7mJN%S^wkb^sxP^*s~IVT)d8d>}!@ z_4xkzFqqd6Mx?yhOAsXlrhT7%)OW(WDroEJ+*$qJP1*JB{a3En7uQ#-09!Syc9*e< z?%oEyW?nq|4QC?au=$*04saH%}B7$ZMn zYH=mCKX-YEn?f9@D_jSKbcT{JFCzd!x9In_ueltgf){Y!Au7O70nc5$Ci8m z>O}l?ox|1>72N>4mwlJ<&o|4599GX87)GlR9dwxA4Vv^*NZ1yF=7*QvuRhn zVmkV&*mkU+o14C9k^_yc@WzryCTM>|AxP? z1*vJK+2RF~3@n7-6gAvTu2Ik5e2ou1c6CcW3l{-iY3JkrCx3zf-idx3XNd&}X#+qGS9_(4~ zfe&oBW(rlmwLv)fh!GVYG+Or2Cs+>jpbptoNoszno@T1p9!hhC{N~6yU6%+ll)m#} zLT9t?G3Qk1%+;xzSlZe9vTES+1*mMbt{=i?6;%^*(+S;YaVU^HDxkwNxG&4^-k4Lh zA>uIv9`sWYYuNty{=kLJRGACq&H*sJwTNDxOlaJ5>~crSrrNiwJhsxxFyAZgNP`;r z7DuKoRCW*m-Dp6sdG-spL~_LXYnA3U{ex#w&U+c_PtJa1OcHZe^*Z%{XK76KpaOza z1P?wq*hz`j9Rh9*Wc@H744U>D+u(5W0^eY{dt@Nf8JRx0%V1pH=gzoSYyE5wn@L3` zMa~qwN?+SnL@v-!&C->k(Y;Wv1>*Ul7^sq+!+Uw7A7^ZgEZ?#-N$LQc%xaL@Sq?SU z&C3(ptyC>012gY3<@mDP{kNwJp$;RI1+*`NeuCeBo4V<{T9q$H<_u#>@8e?vJzP?r z@VJF`1UrY5COL5Hiu-K%@Y3`zzLZ{C0aGE?Jv>`ZB_ms<^G)l%ghsoKQ6x|fGH)o? zf20UP+x#{Osm|El2OcvX#6zh%_@%JCynb1fI@+9z_3@+9E|LubCX$2 z5tPk(pB`--b6#$6yUi^W3`$U^D$9&7$2rZExI zN)5}QuZ_KWwBuFh-_QJ*C{>yVtr;>E-W7I9+n`2ix}D;xtM7v@ZT^K({g+?zpP)ue zt4#^>7Rpg=mWU41^_UlkQx=@Idu|q-iej*tA3Ku12;c5dgN}JVW zi<<6FLu8QdFMAKWhL2y&PYfrx);cyp7{d0NG3~Q9u=EJ8UE1GET`x~P!zqndj3z8A{XBO~|Micn_-aU!o4+z^uV+m`u8#wx7sa^dBA~zn-DytWK#J2s2F!w`* z1v`{eFsof3C?%V>_6IjGA=PfqjX$=x^Ht%jPl!IE_8z)?lY(aT8rXMfuqP=@3UNPw zKjUJ*=^qFpRaHY|%R%>`g=UfOKt(3SR}nuEdGw*yjG9copgTC><>j$FH&F9ukbqB! zcN_yp5|qhbsyvo)P(!EmcqM^A$}Ds@S=zahDaTUq=kig)gBBwL10(J`1qB7KVjZ6~ zaB~ew$uc$|Lm@#XG&*cZB=7=_MDfgHkJ-_^5mCeXIE*vCq;g zc|Pmyvr;P;73UN`Tewi5VaS^!86}snZ7GwJ%`5NYrHGOe0S3v*T9VIp>elo{tk`rV zZ3u4a%7TCVqnVC3H&ubVc+YgTuE{UjxND6+3w~9wd@@9Ka$7k;USNASE#xUgwg$o< zPrOiMA$P2bk;+5_V=dZ&4#DoL^EfV*x>0dX_1-k86{QY33GjrhJl^#DK`aMXeG_HpG|Wt)>_2?mNfVv zEgtZtG3LUyU%qkBzu);TN?CI+{=)>oB%yXH^|*{dk1q=K-?0hi@CA#aBbJAxM6Iri z1#vMBX@F%D-l2oBfdix*&s?4P1{W`@ z$tAk_fdSliI+zWCA($c~o3}cVBpGW73|ldjQczi^W6&R!Xt>j#R_K1i`t{w#ryHt3 zcW2o^mD0XSz8>{nM-`Z#r(nn>2o3d|wZ(k+J3;sAmMylX<)M zKzp*FK}Ot>q+EMtWFP1E7A>AxV;-QTaljjvDygavH~{IsR-&M1!B#i3a+fc7HmT`t z#jmbU2N15Zc_|F4{Za|LY%`{|*`QxZ*Su}sU3E^mg5QJ8B?b?T@=j~+7UYhvSE`pi zYFsQ$$!{-}Ym@8@<{0-C{Zw%@XFpO=M*BQpM0_Kupg@_ptcYo@eCezUPvOBG;U{y) zHi^dLiUaK2%axo+Giiomv}4=KP&FylkgYxb0BLGhIpc88MC(u>VoXd2(xfe_JFxyZ zCIEdnC5A|dW4D~mLNQbx^_1CBIm9J^=#U)HSWeW?T)%m#TeIQWs9NTzafUBZbbEpQ zp)dA)4(=)c?v?c0&XA?7B-c&{ps#FJq=0CNmX~x#egT#9lGHC3h4$>14cu&+c876O zr(zl-UkeiF2qHASfK|5%3p3KESuG8wYp?Ia#aLD~V zOip@EIbW}WWHw$zgq!&50bkKwPhnvI+Re2m|^s50M;jEZ}2&B7Kh*9#BJI|$sUrTBN)}U(W}8v{Y1wr*Rk9X*x3EATrZuj zcEEk!AAG%FvQEtFJTO)69_;A(d9o8W6&yXjvwo%ar&h!s|k(aaV!p!pJriAqmPu*B_yC5fKKR; zE@|u3S+p5o6GbA{&fKT9)g+Z8-M2y38kFW{)$hmICOo?IXAj1AxQ~SMeUc2#r*Sey zmx0)gdf`)(JMSzD1WeU^2)emsl~ZKQ)Nlw+(e${ao`0$ zEFl;G;t~eFdK!z*2>9ij5w_jJ1bU7tVCP)TBO}3_tLGeHV82mlq#b(=;i2^P&MnHS zxen&tfou(@P4t>j%B|f4e^=#rm^`t-fz|@8ZE~OsMyGfLZ7UYJ zkif{DI|d~gSib(zb_=vV7vWAOR@s*HQC()kLTspRa33jIIZX|2mYX-+pqv9x<7-CA z(&s-{*M6uF<@nXjV{~(!x4;P?%2N5#vT^!=Mi%W?wiVscF2Mw39OVVg2Bp=!U+T>L z#%YYscbofSVV5eNlpZ&?MHi$F?~I&S7B>ssxo(*k-!c*T(FzX}l5mRMqO?tYDy-AN zF_yFQU~#`IfDfoOcyYpu1-JObhcbrr!&zvhmR$C`vG+5LyYI?Lk2><+Jns_?O^ z(=CB7bm3I%aK6ulFJL14v8#{@3de+DxtW=UZh=o`Uo$lC)G&$Fw!+pQiyV!~}YirP9 ztGS$3=Kwr)4ghZ>sM{W$R&MVqbXPA#vRkLJdF^?nf3FN|=X$;A z?)w-&(#CP{)b6UD?@kFyNl9?J@Ea$6_ry*|+|xE%gMP>d@anmr)gw4q&>~9oPFS|; zXivd`MiwNV7OrBrrE6QlO2TtY%We!!iLTadm;E@p!~BBxz9cJH%cd~>MsY#h$6IrI zpc{mdspphnzJO4Tc~8Q@c?VZCZ4g=YDTz7;>)-2KXzzr1DC~>eN$Z)DJhTxP&OIniaV59!N>(j{l9yb;HNN99Q3PMf z5)17EK&<8gNL^)D22iQc9uz`FSsx#_RLI-Eio;krGV=Rc+$=T+xXnMfCHK3jE52k) z0(m%kqWOw)_9*Lo5v~ZU5E$qW)$p3by7074$Hq=C)U*y2SZAHDVU$fww5keZd3VWF zeF-wR4iGn|7+b|tr=p#Zi80jfL;CWddESYK0D9YVi10%yTfr)aAmwgXP(>g14us-KG%=iu9HW{x=XdTU1f3(+e&AUPj zOmW&s7<|ou;%+N5kf#g6xT3(NBA3FVPdPdHC{zMEqBT1*qIDX|%0Qtqj<6(Ivxjnw z2?i`OfSY!9wmt+L#b!l-VuPOz9%N&?uHur9UZHGviK4t_(F_dmN3H&6>?>GZOAeGZ;pgE^-; z5d-K;7%|_^3KEE%6q4-n&8QbqRt+rKmQ7t}>@gJVYdy(}HE(a*`iGk|xqBlj%R=&S zUuSa44mF#z`6D$O2F-O!7)RS}qGY_`E6f}TcX0TDZHXR^a%ok!O)ulQe`Xw0bB!WMBbD?^8EkQ&v#G{L)CdA1UggP0%)lf zm1;@vC}q|JQ*u|x)|#!AsYz2W_$fSpUNX=^C@lG_*~-RmI)}JmqV#67AeaXVvyyP5 zqVG+}d-r4}JOHTp}e;!;Fa6QdTZ*ksAP^5l1+S<2L7%Jno zi3Z%yc74-xJG4*DK~wS50x!E@!_XItC)M_}^5DISBO?KsqR)Iz4wXS1hA}aoIWvC0 z?33G?e(ZQBD_t`;FV!Hwz-;CR*ttB^KWqx5d^toU!HQC z%Y8)LbmpsSJfMi}(4gZxRCgaDsoT1%?t7I$cAJO{*%j;ky?MhaP56fU4wpiczvs-a zk^(DCw&1)FRKB%~{L|rLWN&F1UAL>WteNpWvQQjc-MsJG_Wsb~mi>|(UDD~Qvgd=t^>N65Q6f`<-nK8LFiTbtk{XgZdZ(anFp3`C|kEHX2fdg_*ueAugY?Z)E z%8e9-2|L{B$}C#VI1OuyD2R8`{@Z2i_s${TsVprpg_%*J_rT@xsAqv{)UOGtI}x2T z;x&MeCvB%1^B<(Jn4iD-!2hPs|K#KUQ9fQcc6dWpLe@usGLhvY2FJ=ox6m_5sbgjs zOpVf((>8j%B?y?}<&Y$y^HEV0_qUeA91CGk5aC)DL+Ain!2BT+m6IZWOY z(+KB4^ug=(-!$$k;vCU*xxlP>Fy{1`_%qKJO=xdG`e6721f~Ts@^wpr>p~6LN7M}B zwqyZWE=mz$EzmD-EeTW~w7Dnrtzy#;nW&bjj@f$-9^M2;&lE73G(x{I9TJ^HoJdDA zuo4hK`~pcVGRM&sE|Rgt!csFZ12XIHH8mSDH>AUL29V@dCoHm7c=bOpNW z)UT9UgMTR5<7=c{;Dwo7rU0SG`22;uNXS=rw>+k<#@VsyVW0~ThOKF(XPETU6gi90 z(D(!u(|L^^5y|vQ*0BQv-NAW;OT4!(?j}##u99yhgD&5ar~0NMpI4={rzl6e5MQy) zZ=TenUx?iIky3J0H$aJjtvmHY%K^aXtc9rf|7L_X1rLt14icdH~_CwHMWM55fI@<~2M& z2VW2d2Yw19E#bT&Ey75YIl~MfKQyfgP6R8O^8Wej=={T7N@wDxgrdjqXZTO7tRk9W zd@XLz>L)tfjk^FIG$zDlA%s-RqejdVhXVJ2oGZ1_@g=T^)MPHD#*T5VSLj$DH=8SB z+)3{V&jXg7k(*pcoblQlpK=2|w1h=h+UjIsZTgGvN1u1sRNzCbO~*&NI=bmAD&a(f zOsaxBzxO6-s`k#S2@U{H(zzG@t_@eQWlb=0VNM1)g5UL{(b+E7cmpO<4Omn>wu?b} zVCJbvm4ND)Xz^dyxj~}d&-P*n?lHIyx@;M=7mVUyQ!Rjhb_V`Q23Mg&Q9hb{WA7?r zWFL5|g|tM8gO1^CS^(ArPoQxtwcv+0Vb|XM*%$v#`-gVQ%ap2}7v;s_Cv8@X&#J5u ztMFkB$5GdLoldWn&(Aogo(|7RCFJlBVxwZAe8D@l!o7OZQk|^NNwW4+MepX>E2-4l zoZJHs?I)4EWwlrC~(5ZOVX<2ur4MHU{^rDEQ~1(Mii4gi!6}F!3+0+eU?3K35Rp*B)lMt%oxN z;>;`T;ALEr(g7K*3|NQ>*@$E_o$@DzfK9SiR)r3a)bV z(vn{`6Cl1wN=9J}N>y>Z0BARV;oey8+v_!lc4CW86IzbpAam_`iAT64KHmc;I};L5 zdXL_q0he~Efh;>K_rw6#6-FyZErgc|KU5eArx0nj9dDkf=A0F8kZg zv1{?M#`Cgc+PE^rARUS3hn0t!iN*c5jKAc})Nc(v(Z6J#FkQs8xPpNC&W~BIGlz2s zogVbg{gPNmQg-oT(MsQ}!dqRsHst-(PwK-8A4A{>W=a^!jX z9mNfr^AgVj>|c6|I)8#5 ze?rIIHkqgruQXcPf?_njBLiaD7qzxrjStroG|@Htdi?!WBS4Y@(VHE6D+SGYidD+IToV%g{ySL7ADE7ov3T zCIB7cp;&+xBm7GcsZBVP;l09YW78;~0v4GEJxuS6SYa<S6jOr2Xy@kf{VA_c*mSKP3`J{Wxda|SkZ2nwfm9gNR5&kO@GG0w&^@}kI>>9^3LON9KxASt zXVw+TuO$oZ`?#qB=Yrzp{q#jG`n2aZ(*e?suSeWOwbOI_R5VIF6qa5~hH6jXD$VSZ z#HK$EE9Q*@Oez#(6}cy!0Eo{;1^^3{83mfU1MAPmUT*)K$={6YKT}I0UHeO>_fEJf z&Zg;@K-X@OSH3e5+GcRn2=hpSU>8FeEID^~>~9+A{q)U8{x@~Lvvq&lzaQZtG2@;c zS^%8IN(uG*^c*R;cRy|I0fb0={35IRrs&>B@b^Fbt%coo`gK&+-pm<}rn)@&o$D+YA5Q{trBXbtmRWCycTZKh;A(wo#kWXpq?N zXE66dZGZit9lu|(@cQ>Nt`l`KZwi)ZtnJ?>-@bYKzlwg9j4r+fHDp?viLb;BDNjA| z6`;@OOz)yV^nH+xp?K%Ty8XEP#F19znqFIGVRa3SRb7g}^Wg_x5?4Mi@hylEQmJ@< zczTP@;*R7bePg(X&XfnoXW;em8PMM?5U$I7CW+=^0<=F`P}2ak$7K|BO?y_BZ{ zuTJ}Nddmwi>@I|;dYvTMC_<&aes^GvWwk>k;8=>yY}vZadLD<^O?HHimBLoYxB1i( zPdt1jtDJoWvld)AnGNU5D%7>4vbXp7W{cpAj2rp=zB0kQy_ai1LcQOC%@cvtJY#T%(j2Zb0{<<*RIk@fa}Y2{UMWTXUJ??dka)4(xE` z(vx{NOVafvqXMVfj~4`>O4fHpvrF`tM$?TQXD_EuU%`SkCg|`C_&8rxI z-Jf9N=3H^b`cO(L+6=Dbfgqm#!W_0^@sxRsgq3g1`?ov(w~cw#pYqB+Wj{!tUm%kt zDvF8`Y=V&#LZ!?|@J#azG*F`Sd9AU^U;)4Z&lrTnph{}sl{DN@?#y4vf_FN%Dy z;laTg{P?cf@nUIv(a_xVn-5WODPP&w5Rm;x0Xv!Uw-e_t;F>Ml@o89tEwCF&xyZ_^ zSaaP?S<$v+NY0#KpiAyGRbSf}KhWYqJ1w&o)@m*51!Q_oc`E<*nm#nN7kFKNA_&y1 zJx?1a0R+$!3yGuZE9Q2SK_-%TzUrGy#%>E@QY}nQuv@66*DgK@21Ev9BKHI!QRuaF zFKhNh`-r`J)`uoDIMRzzPa=DBCDZ@pExS}E`%K{1cMTNGiK}?vWAObXI79JExuZWc z*2h5az`$e|k+BvNC0~6bUi&|eNBO&c|Gy|p2C}Dbs+n_&n1>4w;x%~K@DCY0yBB|Q z&|rGdaGlQ~GM-$>sEGn_G4iKsR((4Br8=UeqKVoJW}prRPQQu*>SzL4MB%m|>%9zX%R#Dob zLm9FLOq+&HQBPsvX67BNGhXpsW@e1#ys>q`K9E03doD@?^>mPD7~o4Oac9Q?<+HQ5 zGz{+#r5VM1Y*3P_S2Dm}!p5{4!2j}h zXmzU@6+h%7+HV&zGOf)@wL&N3F@n#dGOw`N2m0568^^!1lh=Z#L32$Xz5Q?R-->_w|6%|3zdgsMe`NgonQ0-d+e4F28OH`& zZBMqZEO#303){6PM|e3e2MN_>ZadtcwK8G**4Jmwq)h#6L=9-TJt*$*)qIVyp}zHI zz0NWJ%e1t72hqS=WjicB;9X39-kZO@@V}-1KXn6j-xE&vt8Tt|bdL0|Gw|b`<&%!+ z1bWrNuO1cgdw_OU_c0}7qcuKXcPWgd!URGxY>ylLY||;90p8|NE0df$durYUWc^e- zSMHD&0%A^_aCEDP??w);`^$Ej?JIt8?5DE($M2#HYY74Y!oY&LaDn$gMfbufgV&!z z)~B26%nzJk$MB1@?$5;le8MmTp9$Wk=z7J+)sP0`U;fpyGiO%0YRSpt6$U}Z!#I`G zAm=V9U{zVr&w}3WwBGROmA9G3mX;Oiy71TV>;qE*ZQ@?BFCM+TAob9#ydGenHvB%E zT{Hn0(hRU**zUjaZ1OgBx>F7MVPDv(q{e}P&*IWHEz!jmrJNPrr{xBLY4wHzjfc{a z&(gS?xQsZSm;goK$xnsHt4F@3mLAcVL&n!(u&|=)SVSS%AEv(rPo}3$~qFxE}2?|^s?Do0vcHaNMqPzupK`{NkmtdUg+b!{%Zn%cE-Q9eXefkzW0<(En5uIP^S>r zMwBoY#4hyiql)4Q0)Aa*QSg&1Bn5TMO%|nWEW7qpZlhwba!A$ZptT$pYk~D3G$va( z*>-Y@mA)mp{`QRrfQvHeUVx4EaI2>)Y{(PK+gbr!Qq?W6YJkzD$EKiGecUrex$hX!RF2y2~v(4o}r>OnD; z@2IY6v`UFAdeF@KidU(vHeiY|rLA@8_6v}eW&1(KY zfp#Ly2)TK?!q%1*1W+?+&9gyEyG0nmj|KJwm7^|N@%K?knsdU@J;4Wcdu(;Ha%(4d z)?i89`K*^f+xZ;kA971VT*cYT#%tSYO4WJjiMcZ2T9=H2>T!t8TsL=zsGPy;2XnHm zqy2@2q3OL=Dp-|($#f*-VzXdOWU6Izj&%UKdwi|s<{nCfR4Z39C9)TVLJ4>pj}`XX zEG{n2cruo@wtd=bP8k-W{URANjWN5gfBt)3`;R~N|7tdkS?7z&dxpDaEMIUx?y>Ha zv?9Rn|5Rq}KPn?#ugHEs3wzTTENT?ntpzYPZk^N6fM<@(G78`^_t}9t|026EPpP&p zoSlw}Zeo)!u=Y@qR%6=iIJ+hLR1lH8&yZ_SMrk0h`!sV(2^?=T{LJ&2Nwsar?j=<= zBlLVIXJZF6#4^VT&21yIe+)D5`=iAd)NJwDXxFW2b^i$6T)7dexQ}lVBketr# zQ$SDWh1=}noQpKvpu%jN=@C;LCc?Kc0q5omGF}Ub3h_D_dE0GXuDdq0?&)s+Q3~)| zA^|dAJ0`}>%U7GC7SUVzc?r82!y_{wJ^Y|9D=_1BMme(sO7eH9$CLu}zV= zuErWS46Fn(R=H-b9&z>rZIi+CN|eeptH@+ze4nX`pUp!;hh49 zO~XWs>DQRiQO{&VzSa@tM%d}EyAuG|?A7&>;P$$u{Ic`)hVMe|zea7L~P$!?;I zz#FujGd?+KY=q8{wrPSY_Cu^Vk6itwCY~?CM(tt*7KFY1bjokUAP4#h+B?f^K>k7b++D z90{q3YvK5F3$OB%G>4Y#t3_@WWJ{I~STEa=8F_oz!M+aZQuvcm zXMU($1Y;~v2eE3wAAnX#{l5C*9S@arvK=d)Q7#`{Txp-r#tp|mv7Cix=j6oyaTaM# z)QMR2_Q%!-HdL~&XV;qa=m=f)EzOqGEHOfMjg3^Zl^{TDYyhchmS}OyYn=8r2$*f9 z{{3e;RrP)5Ie9sSj%%^Y8D~>vb+JI67GMcH8^`hUpsWpK0lz{Ez3f=_EB&2idNhj@ z8-8sor8p!QeUnCNPoFUF)U82>3fHk}SVV)IP#a#QHqd#*8XK#revc_YsU%8sYfr)< zYvm==G&fAFAvuiA3br1t$)BA^%nM^q2RMpma6B7SFxDRSIZb?*9x(ZjX6n!WVYGiJ z*a&JSHdDhJYLO{VA7Gn_v8nfy+bq|M7y_pwGf|w_3}0lI{bmE?JYQZ$5K9BAEq@Gr z|1hxLugQXj~p7_;W3u_dQUQzK17N&d|Rf!=lI}Jqm^LFRs*-q0U2+`j6Y7JQ?q7iK@f|v z86Txb^yWo{oQx@_U*1#AX>_`)k(W>pc>i%%prcp3BjQfvw8tp$?S4$|hj*ie zy<`h)R|10wW65k_X`suP?S9sHaRGx$pO&$^;1q8=ul9EMUbSAk;)7+9a!W`Zll72p zkO09Z^=TpKD}{xvGsMTdSU z&44`AeqNDn?8lx~(+?Z>N`ahd5sT#&+5=ngeH(0LQ(fbibXf9s+}!P3*HC5OKhZ5u zV$&Yh0)x3LW$DAuydO~H#R9W;(@%y!-`1h4-ep$5KCfRM@J28&l>n~EtA-anjXv-HOYnWyOgbx@l|fE+D6{S~c?c`tDt+qw z!dKK(O-3ra!ZMRP4aK-07Urxy#F+Y~0qw#t|j#VOTyL z3=6;c8FOjc^`ri<@W-7@Dfu+}DbJsJvUojII8&tai)19Gg>w|6 zH-^m9l`~Mi)gz7WoAu}gu=Opu$9K#QtXDPpMb||hQY$(GM(q2Fn>+j|&ncGW8r8kA%) z&@TzFu;#&2Rt?eQsd-hC#v-p+o4>jL{$5ugsZR@?WHBF$kCw37Z1D^&U#TjzlklyB z_azMdFZSL$uBmO?7iSmS26ZD+q;9Fw1q>JGk-uJwF-|v0ieZTuV{IkZKi?!BRW0tHr#~9!5 zy|Zsax<*P8Evm{?G!>SVmYpRL;^rjTl+E6z35y5XD$@C{0!%KUN93YaeMze!oeQXY zm4?~OJ|c=cx&UMEUjMM}?k!+yb(AC=2CQMiS9uI}L%d5&A`$N*ppa)C3Hz=WP^tY$ zj~1dj+`#Ow)BeXlQ}dtJ{lCfn={fj5V4#QNq|k$Xxyng^`^)w#uR|e)1?J>7D?j)< zTI^96;W<4K;mJSM;Q!FcQ(g^5`lDA{8Y3D)4$>B49<^ucl2m7x8iCmY%EawPwe{hX z+d0{{oX;}-gGN6917uGY^)-URZP-rYX1cX`{d8Lzzc1KV;5lL4?ttzYt0uf8l!dbW zA*JFUZuG|@ll$^l28zW3^+=TN>i9AgqAH|nzgl%-`flI*=Zj*cqhlF-$K~Ef{kJpo zR`tc+{_zfft2tE$QdJpfU_J@%4NP8rnTpdoAygku-Iz=^%t+s7Iw4A=@3FekDn52U z`&sh!->&-Z)v-4MRh^kTVMrimlDDoL-F{TfUeTikxr)1+WMMeu2Lz?3?7^?VosoeQ zZ`B&4@g1}L*r7{0(9|T2XOH$r#hp(~2M;n}FMzuO0}UM_&eze9XE`q*bJ*Q15%J69ez zM$bO{Fe5mo1Yg$gy+A&|N}MC4X@hjuDJj}nx*9uM-3pv1BCQ198i6yR;B7d{ys zB6VHA*Fw_J*GhBJP3CS1G^2Iub4GS%fg4s<#AoNbcDxwNH5}-Hg%DWU!)Aj?#cF)d z1?g=$+L6i~QnVx_#A#@tsy>R=Dbedo5|l81@;k+TEAU<&w7Cpf;ANhTyqN~W`!(2T&?&9>H?pO^-G{i<0w%oWR#FbHN!PA*eD5~t7 zBi?|DzkAxhomwNg3Lc#k?RBWzUez}oH-uD}IKjocZb{@lfx?~`LkpJhYS z`z)s2z6U}xZqA1+2^s-Pp(!;L1cX4!ERu&lQL~Q>ZU!6ZgKli~4}M(sOL4@-$Sh(| zyse|VAoegzqB=das{+q)kaqt!128a{%?$hy3kh5bW-hfzFPp2bRZZxpbDtuH1BKS2 zR7*{xOAvb`7p9v2uqwNaPhvr$tPmq*%=N_N?y(YFGjFGamF{_zkLM*j^}IrOKv~B{ z6*{OxklnWZEW$x-CQ#3$mQ|-iXh3oWhPg-_ZU0c>0WYwgrOLb~Vg$_}_eU6EN(?oA z>a=^(iSsO+3ewh3jeA4;^7C6X?E8h3hK$SmV6_@X2t$~Efk+dxtotNL_jXk>T=j~>+U zCTlUuVRB(0@hgKEn9vOshCHZ!Rx5QKpgpGCr)pZt?gQS?HjH#TcWrSe0K^+QuXEyu zDM1P5nNIIjwpBm*Cz}5!PW}IVyXh~cx&Zi(MsgJ%|I<(|mYM&Kv0Oj&?Y(+a>aKrn zkvk&NGX$zLx{h1oe^nLVd84G|CH$ME7A2zRkf1h{;5aVY;D!BRE~$-S}&HP zfwgno+lzDSf-!)*_SB6~tC*^1+eu*+ej#VXWm+A~=2gz%w=W>{pRaj(bq;xTG0Dlm z9<2KTE+4I4)HO1>yCzza+v7g+lbOF4cZqzn08^6WM95U_2SO1@E@<7XAk8~=#`^w)p=zs^($!+-9>G*nuqquBg;P|^pzB2&KZee<^R@Zza*e%#*grgzw!fMzkKGt-JvSe`UVnbor zajWmgKw?Qx@ zlagHE)wrJG_w!-@j@y1nbLP(M;eN|BwZw$lZ2Xm>BU2Tm13D40*t@AZe`Ze?bT(kg zuj;5}s`p@1dDH@HAif4%7ySvT%BvYFSxgFyN6f~VhU0H_!IWUNw{y7tsS72{Gk5r17s10#d7OAxVd0sQ>aa!7?wFn!Q ztn|jQOIOzpsD=6Y4gG_bj%MkK;I$F@rg+)mtW8giXxWO;y^!v25<k zhY3b+DkNX5#XH!YUmK{!b?)Wh0+u?fgI)|GrI#%HvYrjvvxSW+s5z8iSLJ$pZW+ z2iG8wl`Z1l9-VWt7D&-A%Xid*)b^#{~A_|;CYpnnkb&omb=Lwpay{#sr;BK7J?2Wo)$x?l)DztFfR4CoJF z5yleL4M15jn@Gp<`Kl?M@x)QM)%h=4yGT{o<&PD@96F51`i zx(?S@s1r6_HAIH^mEx|wFR(@EZgW$w!@EEK+K zY*`69bLQydSB7)>?=IF$)A@pu(tuwXtTog0qz>j>j{y2dNn3->lha;}!NDgF7G@d@ z7k;G`=de{T6cyibjaakr<@q5jw}_lnW2aIVr#KekD;ow>Ux>&aJxEGj|f)w;psYb|6@CHQ*})s9OCnhW6PyCWWIC7m^K$|+NLW-Pg+%J-qeB%O41DqHe*B26h6C$lN(qs>ZCYRU*zgZLvHML%xkNDg^@xcRJ zl!=(BvxkD^o2b7Zjfl2?TJC;VisfwBTyR%w%et;n$Z`wMq&S}|9Tadz-IJ*@b6 ztZWV*Qn0DIU4!E7I3AUj~a>Sff{FCS5BV-NwllMLRnRWz!cTo^U$< z{jqf6w7O?z>p6ne?F}T~a8cs*{qr#m5XTS#eA*jRf)_?TcF$MMh~F^`m-(30eqoc&t?hX{=@bccs$EI;`dy5Uq7M6UIEeKQVPGm{K}~GOg${NK=t1no|jopW+|_~ve&Rb0~Y;AoP018YErCMX>4X{BIb0%@lS#9A-d0(tuSTZGFA8{g{n z@5?{h`^9_RTVtEiaF0xny>}Gdc>_a?@!PDBf^#bF4|Y3n76+wk)9kmh)lWc&@;k3{ z?1&s_*uMDOPtZD(RWtwGg~yf5(NP-p^*`0VI@A39`sm)$Sg!hQ_=z+fAS_uIxqp>A zhaBhYGhXv4@q*)Z58f*R9y17!$}!os(4taf@4ba$t3gkDAkgExD6UC3NJGzXrI!9J9w#j#t*BawvS!XZX)~ z2wPaY&Qma-=T@bhhtS3p4;z0J#Kd?I>uEB|S%?d_j_;svl!HyZ>wYG_{E7H3v;x+r zc?$Mfqy6EtvmDWCOxIgp4`jrWJ>{#uC`ZHX|!elc7RV$CCMO$vL3`O)UlTw4_;pTCFFe*qd6TylTI536EGhF)BrGW1I`Gy)A>IFMb;00Gt|G9 z_`liWPo(dMCNhrV>QehNxy-Ptb@rY$LwgHS8G3%L!r201Q|2@fszwu54&TJFuPT13 zntmPXG!|FMx+R)sns;qxeo4B=zMpp&Q{sB?VxT2HqRoiq1%Y^41nf zS%5p?rxK+~490?oU#yg;r&8tV+HS9r{Oez;zWj+s|Fr7=A}_>ax7lmcg=Xz@u7hne zOScc%rDr9Y^y2SrRMjO&n!n%0|9CB(Xh{<=s%q6=;n?RMp0;hLNxdG*o3nBM`3OjX zf_shO7DMPh{Uw2*v;doWC7*My#-oaH1M=fL5JjP(>cmN)g@{lkz)DEe)d@hEaW@$o zA)wqQ3&K$WvEw6wA*rK?G0q9*l6-8JE@Pcyy69Mb(U{Z-cg9AfOxR1gW^ba0LyfGH z#TT{W9vZ-*Sii>OZv6bkxc!!-D$~M`WI4p?#kGkZCXy&6ax)(&w5-;u`eqnI|7_)BL(sssM}0xXMH0 z*h4uGHh&a;$trOFZ1bFIoc;3ox|$Yq>FxzaI-;oL+qqi@j0{gGL3kSh4T(9L z-kT08XX80DKkoYiM<|Vg>n{8N*kRt{?8<_}aPNmWN=W-;E#gpE6q1}2lZ`Oix-3a` zjzTqNID#4n^&dxBYwk#{(Bda$*8;3O(uk|ri1P5Es=AWk;P*pX6w{ISoJ>ibasu`m zIA$VgNu%{pLT@CU?R3-boEzd{kuG5w@@XU^6Dd#o%AgeiwoOwvD^>L?xP$bKDRwy= zu2eW+y4mZT%0_$>X!EGop;G5V@!i>ug|fu0D_5YJAPSUfClaHHu?or)%4i*9KYk0`Nxv9 zMxRbi0p@6*Vl1|hC3%5s9ldMtAQa`*`K5i?W%cb#r^J+k@l;!A=HXQA=2I*0h&5mQWcAr+tZ9a_I=Z^=dePuXyKU!i_E?prl8+B}s zILIXe8U$L+VHJDU*Jdb=?3W+aA4)p!jzHv6ie{Yuhqd)!f6$V+3%YuP7rA7d*k$S%2FD!hg#? zGSu86O2id)T4A`cDvsH9(=1uM$qW@Vf@d+CJc1HuY+l04gjK) zuG*Oa?4#lLx`t7YJ4Xb}?A8%VwE@|+-ka`i1v$CJjsUPWk8xn027t2UwQWsw+Ig1c zhjhzJ-llF~d!P;b+?hwz#8bsvXycj$Xqgr*3W zyZUZbk2u`1$r^SCn-=u4`$M`vy85y{Oy^z!kLHmDYWuUr1oZtfp3%2C<8?~H08&_& zdx!pjV(UZJ^+rl*Z z`*t#;mYF?5#t|2qeL0|R-gHXy-taUfrn=!N_W|p(Efz%_4v6!lZVL~S1JL$}QWW@$ zgZEKaGZAG0?itHLq8)Yvj!-0h`);=_cVUYV;KBA5w+8NCKbxXZjw~a$znwU0tCCF> z{g2Z3*~yktBDPsizG`EJF{2d-6#8@}JEaT^svxnt1;nUbX4}o)CUzG^M#74E7@O#pEWc zn0;YtB>bf4>7~a~tqm_m8Rd^7@9qx^Mo%^w4H@L<=v8*uG~Mus7vFY%)0gzEa-fAg zl{%lbN5{cd#72RosPape&A@6EzTB2&cA5(Wi2&#*=K3W%}{&} z0bpIh!?{LL2T5(XwJ$`YD{ZEg_$Tj6uC^s5lvfvXSjYH{;uOc4+3CG2_IvDKsiI^ zw1HdZ$LVJAq2+wcKmvUm>VoIxzYxfTN~>kR3-N?|8yRJDEM#Bl)$Y;TUJ&*xeRHMo z5BZ9Ju-|{E;$Lg~e>2k$5w>St)Ijj-bUdP@oM!~58N1KDKdzeQy?kV^?u=DY0CLk~ zQUu~zS&M?8F?Vw!O><1=BMb;05IV@p1}r-^R80D^@pQUV%N~JAu33VmW#nyg37v)^ zJ82h44-Forn9t*iFdkM-9ZmN(yl9^VkH9LBB5~UV{=vcemDO=N&MwF{1l_rqEx{pT+HjFSwd5HNP#nKUZ>Tykt>1Z=O?1o|Uh(D!`%9VRgch6Bmd7f0De2bihb>By?im+nCCB3W za6K@f8RPhbgh{D7L48F=!sT&s#nf_9=edN8JcT<$^~~rh&j@u2fF8Xx7>7STkTz=k z)a82gd78Q=>UgwzoewkIc+Oxe=j!|d>#^uBG)dCxMDSJUPH4U;e^_9W*A|Yxr zYe(rwqLNCuAaybwrNne*#asH5vH#+hN9akND)s6<_Hf%eKj=jQdH-GOt$n&H*VG*hARJE-E2aS_yL`TyYAIIp4#V^e!^yf zoPWh0Z{X`kE2I9mqcInY>8O_U7 zw%P@9c^p){YWxd*AEKg;RVdjZj9r~Orug+F(kF5r4Hlv&?5#Svj$s1JlZ$ zwOS;2QtFS>twweVmy5&49+%;vX^dW}gqE~*o`}y)eb}NwEb08@} z(QVdJUt&FD4taZ4nbk5^LXQxY8`5r`4*^D$zwZ3hiL3J}qS6yHi|@?+rT=8;nAEls zR$MDnz1Bjty@uk&ujLtoq4DjJCP3~q(}K0129ajnZ>vqrm!ZXPlbx2Knt)P`><{DQ zk`+ybP^H1--ru#B(dFOFn0)5HZL9xlEd1G6_}^re1eJZ2<3~FnB6Y3mxNp2XagHx_ zGRdZRvZy-3hINN=1?!u+@@iPP>RB%3c+M-0FR^mBLDgt%wJ$?|>$zMkA@UPZRhZZFy;woL?Tvb7yZmR&rU4_yX zGlu6K%D*35XEqn)<#AL50HaRN383#d!NkyM==D3RnXC+97YYLGYtAg$?{ll565q|~ zuJD$ti|{>u4)8srz*;SM*V(9J0X-S~T`BpcBfqZsiFHM#Ph(s8kb;cd%4sv(qg#Zo z^H`U`sN>O6(<}MD=B@BN6r{;Rzym_$h#2FV8q=89HY3NMKkmtNj-;`U#mJXNur5*` zl(HN0iCPp!%+cPH0UHU?O*ete8$+Y=o>6hW7t0L@kz|M2rJ;}0eeF~cNG5aKx`zRm z(;{h~z@`(9HFSyDx00N2J<>Vg<@2MIn5D1fU{U>m8i)A)Y?P!Yc5G(HZQCh;rp3h- zfR{O0I(0-Qx*4WxS<_Cu7cOYeUA$rga&{$F*h|5OM+BpVf(8SuV#~RnJEj2qVa6}& zM>91SKP0%A`r)AtUAlRUK}DVhfKp^*VkMnhq38iCEiAWhtc3j>to~I!IAromPjleF zef$7U@yqW`|8J#ueRUO?{r(-vrM&QUi9G^+KXo%uPu&(I=06F$LVoqb!;Y~sLL0lZ&zTozjTf1qQ9S#bG(kdQa}|*oMZRod@piTc9l_+?2|V{bi2*2;uw@= zTi-|;c6JuMPyyAIN-TiQrntt4gJsEI)M z{FDQ8eFdl@52A^a$^#YLKpfZsc2CN)y~k&i&v>_0!#ko_O;OTJ*})Y{_OK#)MHaQU%rre>P55)C-A#lc|$q zL1gsn-3E$BjcP!EXGJ8{%@1usH5=B)X=E^YFIfMcM8SEbbe_Hmd@mVgMrO0XkR*?+^7fWO*)Fi#+6a{G}VbpKZ#@5i@i){jC`KJJL;f=z8xc{%};M##`` zID4v0TI>^Nh)_Ea3j{3yPJ2|?l!rh1+xTStuISZU(zIHziY_Oj38B|hthPFU%10amh95H zhUcZ`Mq>9Kt&itwe`T<*Omo|SX{G3J_ZLU(f-^TZf;ZRe;AVJZ9Y=?S97vDjB zH$Cbd@~V0-KXP1a$iMl$<*ufI*yys=7s4=UI9ZVsB|T3X7S2lVOcskra2$fE_v@`0 z<4OiH#KDq-6)X-I7$(Vb-V`G!t3gK_qk|`E0y>HO3xIBqq+K*UD1E**IAwN4U2pSU z8kT~hf68-{gbNA>3p~F2#zXjRd;OQeF>{<>KDT_Xc_Pyvq;lM-&l}`FEKsW%TAdd$ zj9%s1Z88_8QvrxuSG(w?&KDi!8EmL1VhP;W@eao+o~!oN3a7`h@g3I|2a>a2!3K@R z!DfuCL8an*Tkb39#83*9QJ#|(uBpcQRh$7^Oe!Cy zsxTwyVUHusOFD6=XkK=oJKe>@X254ng6;c?6%Vsu#+MG7M&%EyYp|gA5L&9dgv5QU zv;K{OeLmPPopp?KSMCZIjEBph1T~k6B68)?miUDiyyue~r^tbul*K(%Y-#?d^_Wr;5z5KuF8{xm%D&qf`Rmy*< zdARfaPRcSZ$*bhjlvFkn6zn=Iw7W|o6l~;hp5#9%y&=&_8S^$v`7xpy?m40iztKtR zkceqEES7gO!LN5MKVJ*4^$38B6sijD9JpX(e#Z5;uFN z7Srh+GoDkY`Zje%EGjj#xh7Gh)J1ILJ5CaiplPj?UvhI+N_;xqnj)ydof=VI^~{{HwL#) z2_bV74lgu9jfnMY5YXBR#M5XnOW`TVqOi#6+DvFAj>MU;JMRYwo!jMT(Wof=lFz!M z2L@HI=zaXlEO(*2YT11E7`@7=HxhM#E~ap#R_o9S3aIyKtJb&KAvmxr)VbNVG))@e z+bn@lX!HgZWoX(%>n+#kCdLBG!ARE80XZ?zxe@NP@xEFQzA_UP1quRQsR4{!Pbq*7 zqnS*xm0S%Ene=bXW$?7bl^YBVY?Z6^8tJu0n(is zEx!G*&aVuUS*~9ha)nWT2VWTmBqk4i!HvsDvmr-@K`XZ|%3C!qA$OJAGA zZPg{MjERQE?Jk9r3Dtl7-+zH!`11!zc@u0))Or2+V4Z{hgSGvRgXymfi(&BIr*PDTz5@B1JTj)>L_WnfQw`*S+ve)A4zA`-C*BWo6 z#k)8H2uOSVeqYSdLKcL?1PdW@F_uhB>A1f~D*!d-3|Wvhrf`td%_%HP%!|4YL7>_3s^IM^Aif&~y=tso zWohc2R09B5?bwn?rxdc;o!Bv&OKbie=iey|NO_NZb0(J;@Y3&u8cPMoDuvFbN4JOMXBh5f6ZG6|^YJ1;t%n|xZ#GCUgDShF4ZLwF zwpMLG;VSoc3qc);(zYqQ4m06b00;Rm$!oaAwCupl4(GRy<>iRSRxAoJR-DzX30fhJTdUqe@s@~2FI8}-Y@-)_4Ep%8r|8V^IdlO1RZAzU@r4o$|IAL;MEB~T;d}(Ql$m0B#{JzmU(Nm{C5u~2{xrYDA z+JCt>{%){;pmE=3a2TD@vl4C$&kxe$kz_RCd;}+gF|GpmQv#l%CAfGo zobxYyeEp!K6)!uLx} zi@hyiUPFToHn{vKU6q4(=-oGQn?SW3N?*6P&Q2o7fpVYxy+uBGYhV5h9Z75_C8#pq zxT?OTrNlU=BGO_ZCU$i*VRTJ-m16Bq*ubATQ`;69B##%d?|eWS53ny^dwE6q1IFzs zW2~)oRbm(yC561^7Jw0p8oG#Kx2U(&PHfU@==kIheq;7aRCu*tD;dG%LqpxIpL8N$ zQ6*vu?TdFS$1hm~vnr*|cN_CspL)@3X7l3l7&Ni^=tH#vtySCnnCC=KHCHoh*Q&x! zf9mpUH`D23Uo(NV$f+FU+WqC8sHz~BlMw|0o@LHEIR2!^|6qmRia#hHsP2d^Q?n#q zI6TG+lT$TZa?7Kqbw?yzEN$X;VS6$Ni)fuh7Fr!@m?iqeI<&VJa+$rHoO^kBsJL^te#ruO{-(e# z)+AWu&HGvP64P=K?5PMrG(FV|Lm&p6t1-qlOz7(Lt=TqdkqSIh{z&hg#=Zxl^*1LlGC3j(;=ZZ_0Vkk0B$z0x-;vh9wHTrO*McXGN7o+VP!QTwm~{a=y=4 zZvv@2Dl zac}LAL;+y>3I^|J!MkAoK~%6oy+}LF8yb;LE1jq)C@Oj#X}n5d^IMs7 zHoo!mR!nWqg0y%z>lv5r^=t>ZMDcc5-ut%78w$4AA8jqtR z1en}zwOQ#r;hs%_&3#EV9g?ZkzVNV90(fT>=CBppk)4;^(H}jzhHdykX`(A0>@nLC z9{x95d~>|jSWMlo3M%2-H+TNwP2-;7R|dnNR)V~*WW9gpaktrVl5?=fgVQNbzPW~h z;eUzQ`r(;^1nN#yzvi_D(SQg_36n;2l-`NT*h-?LNrSc2apLNVyF+5t)}hMeg%d5% zrd{*NBe~486&q{$=suCQkL)XIMG$uUNYspzp8{- zw!M)mdnGm?{f1bY>*X!^Z6dTc?)UQdsR5cBo9;Hsh@N0>UW&fegvV!F+YNf; z!=m3Des%}%Q{?TI@Y5QI9Q!51<`jbKQ|FQPe52I5tAJl}|-F!wI%t?lVk61VaI$h&V0;p2Sa-=sp~hFW97Qw2mYa*a(NOl0V;4Ow-B^Df__de29E8QP z8hJ;I&k{Yqkc}5*^aMV9Syc#ZO z7hTm^hxCaF-?aTq;(%X$3L^mf3{8t{Z{X($eh`RWpDRhGJGS# z30hwWgFrpyHZQN&c1lEQi0~^)O2z<`&Fd3|F&l0hsv>52%Gvvx_~4o1k4cv>Lal~? zzM-Ku3Zb%MoQFwDkI}lIULFY09%U>)#*~2nXao{{`t=EgBKVm zM_aaO8-N)D=Ol9uRTM;MR0SJ7B+$zWh*XI&`=_6v> zdP7c4Ox!+X1J^!ZBnIRzD8LvUa>u9(B3k+JH(-(Qlv+!YLKv7k&A`AXEC2F}o=DrH zhZ$EMWC#;}BzW-RE4cC4c8rHL2}UOe1jAF-F6jLP2`g=QDl%QTS=Zalk?iaqk!)9A zxon*6Ik2(11+e|;i8qNK|Irw~FDvQAez5FEf;2tw;;~l?orlk-gjRGCUAj-3 zp!k=t(OP}gm< z0G*01QUA(tJB6z-FC```D<%&RnH5cqShcRKrw2EoSF=+J{Alkmxz&9JNxCF=T~^O*t(zkjnoFR5KDT^MhfcUwVTIQig((Chfhpr25R9XxTn z8aywZdyg7)rt3PX#xkqw$)Dfg->W@Ut)eZmzY|202|BnP->dqS;ehT&=KIR99uh06 zdJs$pRrt!Vsr{I>JNcVid@pivxD&J#^o~PTF;9)ZuC|x?W0?L+&$M`x@s?f*Er63R z%Og`q%sWF**N~3O(dM1)T`~k4Rsd4P`|eFuNw+fni2hqg$d3LR4 z<@j@l30O5fUR95fycxjrLpnL};^_>bC6N)EerG4r1Y|F%uq8Ljg15lRY-b>*LO-r5 z1ki9@I|R!7>40VJi_co(`*^`z6^F$7hJaq_OBJOqbsu)gOeN8Sw)rf_VJ>W}A8&e` z!GH!4l19lEV-t0E*DU84WwNCZK|qVv0b?ktw`60!@M->Sq)w(* z*G|)W3U*J-+ZLi((OCxMGTs_$%xoDNJ)IZvHb+xwk|00~Dro=8kU1=pR-7|mToDf+ zD=IKPe4RAtwv(}mpB2{n^1J71idd=?q>Fi84avwCav_Z3%>Ars&!(&{!F&Vg$mNxe zeu;8@#T_-#TuzyO?0g|FuZ zK{Rf7hvm^^*p1j5r@J)xA_zsP85rZmrc2p5Hpse`U7NgypMXA>+g1{XEYKMr=DJ}W zSi+|?A>V-}b{6*rL(1iDsE}hB&Gpte|E@w+)HTu`toL5^D_k+kT_^taX759tvgRZ+ zfr7h+OI~i&n1*Ko0W_mm#Fn``D@hV7myr2!i4T+Q01mt^mlu}68U^pAa( zLMiA@ai3EW?R{T1(rOlu1x2q(b@_wBxPdumb$xAWOL{R!-oR^qO#=d9uma$Jaj~

%;m8zLL-}GrIQU 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≥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 C`I-LgxN+@Yc=hz2+YGGAV-?pSOnVCJ1h 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 z%0A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 Fe*o0EI-CFi diff --git a/docs/media/metrics_terminology.png b/docs/media/metrics_terminology.png deleted file mode 100644 index a20fafd6a55744229df85c227e3342884c864764..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147817 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 z 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 z%0D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%0A?uR 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⪙CvEyy3PAg|x2q#jNEPq;{C}va0 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 KR4SAeY|cL+U1P(i6Gy@T`;LJPf$(wme3 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ΜNntynl~eEpNDFv$Jd2}=DEwt- zvD<2wtZ$kII|z3`S9I!&A^LJFcN07S+Mio2o5M!^f%Z3&mRDR~t}Z-r1UjI$yx8j& zhRA(yfY?ps;yn!x<#=$=X?5Jb+>idmupVqTbikG5_2YHrGEdmIX(W@79!S3|~j zHmO!!D0Zq4G3dQEvi^CuugpA@0aOvbO_aOpaNOvq*s!4unOm0RSP>e-srMNPF2%C! z$IwQ=kpkII$M08=gfw#d94+`)n$F#_8%}TZZJgMo^S>if{AyH?XucT2uofPd z>aw{B!hI3sLw|0H8=GL+E45;QHMgn8+nd9ZF8QdEMO+HPT@rd*e1(4W7xLB(G_W*P zJ!R;wv0oP8@S)??t@zReL#8IRjeH18>zQV(VEI$ketJ%2#Xyv*XaYY87!Cgs=QyKfU=>u2l-Vw_P{)F8Nqirktk~Oy>YAG zPITHol2iw+OIz9k{OU>*#jvs#l1v%Mpo(DnYE|uceD<#{nFHlCj@oT>CG+oadUonuDyP`K*SF7R{@bqdA!7YM;OMe(_ z>R9G)a>i97LA%VX_3^>VJxE{T4H(CJclqh&(YGDy`O=xL^WqLDdFuh zX^RT-=zv9S@zo=#4d3C-p}lCRVY3r1*&DZYR5L@Fsp%Y=FFdx^6fQPtcx|e!%ORN zV?%s|N{%u7?v}~=mz;1vR*no2>4U8!zq(f@G}oq`4f<#EHtB* zH{$Pm7c}gmX|+oqiurCMt4MClCH7xAkNi(@jxUsLUt}8Xij_zVp{y`c#aJM4KK-PY zW=fcy+Y;Z_=G2R?A^Z5Ozz!c4yDkGNd@E7o9{ZN0%g!dCFRN}37iI}|yj96!ZrMJE z!=C1E|1&GxLi<<_XK#_z9rHt-xW!y_GPvQLm;L|5r zgt)aU-a@xXRxRNva*IQ4PM+L!9jFI8(gufXHdcIz(J zg;m;WaZYGNO3$Vhk~bUItaOZB<(xxcnzB!_6KJ2~Tp^e%R3iN{#4}Azn3a^n#*+{` z;>*$Z0Z@29(TTuu9@1RBO%JU!D)C3R;;|J@)O*{@cd=XNK&(6fr!9Bc-#fa+HxPmKe+N;l$Pu92@yfY6ySnec^U@Ia-+Q27ILby!x^7-jG z6F-)X5*t86sXv+VEM-w#kimG-69wximkH$X1eK@J~Na_;EdZIT}Plx;s#I<@DdAf#ub?+9051Uaa~ zRwB(RZdeE*?Evn44&GD7UP8%;w?b4*Tdg$Rr+m;VA5zJoJL;Zl zg?pMwnVd$>y4`ns${6 z2sTA|usiYUsE%tmXwZ?fBfDE?e;F_|POq!3E4GZuK7Zu{S)ZrvJEx_wzW=mRQse;x zI-x`H#Z?s=Z7gZafw;Xq=MPr|Jw~&Ow5n@SEw60P-Amgwc{1rWrB&%M}5pCX=Vx|*MKKDoB)&VPUzo?t37GJ@@r6bXO!N2z*Rf<-h%<{81I*RUNNR7%I+yU)vpUko0lm-o;}w_gm+%z_P19{TPz^i0d_DS0&>id z0i^6x{mESO=t|tp0uBuZ3YPm`Z|{t>ZHd2H2sAa>($5HdbC{D;q4ll$`8RY}OZC)z z&d^BpTNZ9wV^wQI;?syvCcd~eq#2tcQG%w-?bXCYl@qKa;rqgedTK3~o1z<<>Vp1< z?+%|LUp6*7jFn_G94sZ}7qh9~v*j87mTBH*nN|ED(I>O_DJ*#?w|}mDMZ*p8*r#u8 zygafZL`cd6cKw0_DVOPRyPaidPkN}J%(}d5lbnPDJZF`{3FUI1SY9Jrjk~HU<%Ge4 zPu3WjsnK+~SA(m#!HQJtGVxiItrHMMNStPgx%pCdj}{;Rk)=Pq`D>hWE_hYpb9t{+ zbagT7py2Y=t%{M6dR2&_{PiOB16P0OLlBGDcVb44@Qn6RIcl{A+YH!-OQTT+vnY=G z)u4^aDds5jV1=4IF>8j=5n3-M;$yFrmQmS5bvN{~^lpikw)48SnkmhhkNcgcm#P+d>s*#2j5fTV;U?HcK?P-B#4GH~sn4-f#7{lF#J5q7 zc^Fe2PQy!7$E%3W!Qo+{(>U3yv4R1s(Uy(S-ibV~E-vNz?1Fn!iPtS$SHo}llTScE$3F<{Zkp;4u zA&`N*4|%S>Q2WsSq@x#;zyeM^ZV{hnV4!ZNb~53qs4*<2DQ2FRUPED%ANoytel+Wq zsJKk_rW`C_%w)B7I3jJ!XH2E$C1tSZw6|54>i08$xnY1U_=G;-XsJ;tYBle~UzQDR5x?(OM9*5>tlK{R8yu}&O-m?Z;g7&j zApTk&RN9h~EJjb3sIng~_g=Cee?fK=F&K-E=<36G^e&RI8BJk(a$mkV`h08Py~60G zJujs>Omz=k8F3J*4`#3>bZnKm>|Q3?j5*6JW(Nl8XBI2$wxL$P+?5_!c=c&xx~j%k ze4#?cv9|I!ZkQG^2AphaEi5fI5>FK16J}VVlMgEe7hOc>~Ra2~v8>tGyNmY=ErkrPeLpCToN^*ahMQY zHRC6rY(RGFlO#gypUEoOUA>`GSwXikJ-L33rJh;LCz*EEVXLKmL)3_IdGdAY8sw_e zLYrzC-Uq);%5cfY^3vOxABwvh)69#6ox*Ed~8Cws&6O4`gkM0;)27sSa}L5!RCGZ#4n2C5Jf?+uqiHDm~E zx)@YAz;c7#SEq%T6_OJHTJgPKFFlfm-ljLE1A=J(pccwn(sxw)FSNbdog{Dpa8j4O zLvF+0DIT+?zf1`U^tI8etb>R}XJ`$8azxsE#cuw((fc2SeXZM=nm`ZW#D&MzmtuaXjIyJT1{IbmfeAI{qnc-ARM!m} zUt}W${fs1-%SWh!X)bf0PqcJRq78JIDQ#t8GJagr0Pfb7VX)frE2n+7;W_T{HMFhB zg>h}vTz&Mc3@=Y5o3O~oArUYRZd{I{xzw?VO6R^I{?)+IGd5c}2nT7Hb!ACrIvjtT zVxkjxpDRw$$)?Zz)n7)87n<(IF|3fN0Yzg4Z5{g>CS4d@Vw(LVrPUl~h*~WDB z^b3~F2$nNB{Od?>z;{{zG3uTEV~n`20}o3o`1rAr@|%dr#X90vv)OdL_eF^?k`4QNy*9;b(*jyz#|SBZ zab!MRo^2An#q*4G>bfz&e7!4)ADZi5KJ}03Jg7OlA>o9)>gZ5@r#sf5MgY79?6G&P z<8wYgHUTF#x{hv0#R^(QWNt21v;8CAA8}Rz;E=1?$#gfRza9k0Q=#iv-}|$lx~-G` z7@rj7%ijKPM>FWFM-C3CclGn6p6}1cyeh zFeT(y4Hm=qe9?O9^#7{+Hg_}3>Gs-Z;}Zf80ed*?`Euglljpy^dXxaT)$Ew_iLd_I z)_+ebtN4>mdJ6Iv^!V>d{wP2;`ZTZ`mz~QH`yUegS&hYOpyL0p8>qBLQ2p~=06_cx z&u;AhB@MKY0cc>ru`kxHLtM@f4An3t7fV*ApX{5Y3F#UI!3V${ot_wWD5N^1j({6+4Ed`0j*ngsB`}wOZzX) zw~z{m*K95FoSEeR&9ZgsH87#iw3_~ohF`=9khBYNlK9^(Z}Gsqzkf#LHv;G=`02gb z_PfpeMzsHLnpd=Z?-^lAdX@O5*QA==-f7RVc&55jno!ZibLiW7GyJ-gW1!UD7dKpM ze=D6g58RVmuePUdCGnfC$NIDb0NOvP%IPKA1wap1mI1CH>IA|YU@M-$vw(o0&Ll)= z>Ky(*Ls0*ex@_$Ej)WVYHKyNQOprGt9`VIA$x0V$XS;qvV5q2W6<3pE2l%~rzL%nS zR4W8kBu2Voc<9lv+f145Bun!))skCpX!OGiwA778io|y9NrbZ~z^<|w*>>Dib=dDv z%kf>^B^$)DJ>HqGkvZH4AgU!_gA(g^QpEk^F2z`-Ccd>aB&GkF4@;@#7aP!y=sp_3JJ50`QEM4VgqYy$sn0-?7uc!yrfai$R}J^ShSYHf3WNKB!92c5h_GOgks zhUD>S8T^G7(Rfe{Kd^!$rSh`@>LE|(U3Q}V*p>-M&xM8^lq@--kF<{cF4huiB<@)< zLuYv9}=O2XDknr zrK}ozFCk|{~pb@ z66ZK-Xhwe*gw&WwTjN8zkJHp0^!dui@fhSpuaA`u-31*?;fZsU!5mjrGeRwz+mZlq zXu}s+PIa3TYh9{PRK+@Q{Y8UM+oVZlCtdH+$jydr^^+A5%D*_n(>!XgMmYROvU z9^(=1)kS522fIY`!THhqao+jr%_I3?O5oKPKF?&NHTnw}9O07S$3N83mnb;Ol50|K z)sGF32VE!_>_<>*k~!2t;AJXPc)dnCA#E7W{Qpxv6t!;(6JwanBwYvzs&~s71xOpvrM?&ZX^SwxJyVg-=wN?YF*$A za9D9zX69!&&w91fv$)@)V0UM+9}}3F0>v#czG@V+kTe2fOO>7BL?9@)L2Ptf*GFY* zP#4ZlKVDU)x>IN5Tf@MoKWs!~BjRV)QJF*#IT2Bv?xDi?s9`av5PlRlGiE}28668Z zfZMMOdaNick6XrVi+!eYvP0!rTBUs(Ps{942Gbiu#^2yZ-m}m{k|eR7Fo4ZIX>)e6 z;iQ6I7I0!0uR3~I-k0i@@Ck0@T<@A40_czvl*I|~)>elLz&eJmjiN&>Y>y+|7F^;1 zR^pI~J?cyNoC5G#5j&PMaZ^8Iubahu03&^l&;*2|T7-Xf$|4||_K~D>-d!7js>94l ze)R0BIYMr;LVJGccz z7dwV%z>jh{q_nhaX43@7pS#&bA^A_wKRAS}c^w%7PRv=SYIrWJ*aXI-Yk{=W#%p-2 zigN;iU<-_>=C+22EzM)lly0^2P2wO3bM?eI7{wnK-Bco_zgI#B-VwR)kJp z%5dM+z|E#bk@;eo$^Jb41JVv zPEp&wW8+87L-p9D9fm?bZT+FP@U=pxCeMIjHPrfQ_uA_qtY0{dy~9k+&{9v*Cgszb zN%R}yx@r}CJ6&2+Ep~D6W4nG6-^qh!G&5e>VmWpEtBURTWSLd}M(zia*$+PQ81T}a z-kG>Sk1oSAIf|eH6N?LB$XPN&eJ>^_v0*m3Sfm9U&RLz;{DMdHE?NJIpjLsv1qPur zCP#dp8}`yy3b!-Vzl76KjgQEHn1r7=OQyhZS3MTi@%t`t4*e$LwiOZlg`H{gh;7Ix z$~GE{FeNKC~8vC^c6%_p0|biRLjtqlyhS+or8$ z90~(d}%EhnrOGW{;W+C^BfKVV5OgEQ=9b3q<^fT;qxrK}#RR9p2{>{-1CA z9>L>=?9ne^{Qm#u+x}&!zW;jSV^#e0g-_O`hj8rW8$y~fKEJ2aA$uA@h5 z^~wnBRi8VCIcEDluW7 z)mVDJw5#1+5j-(!xA2JZ70FD0bQ6dJRRSTbWx+3+s?USYtYOgG)pP>3CW2MK!B(AA zZ2Rg#s+6z8&gPI`NtVLyU1@r?WA*$C_f{95s}Y-+2igg^jYWKKs$e@60T*mcH*;l~ zl3hUE`Nsps{M+9-8Q9NltlMe3kwc_k1z-Nt7EgVO4WwKmuE7^p@? zYI@4kp#_iezU@3yp9__+xciKU>Nb!UJGn|b7e%Kv@Er5V|Ia9>o6sWPuU>tk&i9`8YOw9}NSw)9F5TI*GR+p+ zbyb`3%5@ViwNKTwyvT}(+=@`QS^)yO{iLdY(iQsGc_z7)bdo7!MWt9*4N+Sk4Jw}H zYKrKmQHofSInKT_GLzTnf*{s5xYEIIs(`f=d#0{7JvcC0E;do1t+;0XB9o{~8J!0Q zJI*YP%uDZ(>(oAAqDbJ-BGKcytoq^|2Zy6*V)ICDhUwfHpYoZtYOBM#_7yZV3xvco z8pE#(_T{J$*`g2ffR`FnVC8^-=wW^?S^tg^>ytb2Pa!ow;p*M|yc-N)w;YA5mzf@D z;->qI>Yy=+janM-InR$xf^_mn{XN<_n)U0nK{JswXU^T&c_kz52Wqz~uKz+!-9*@U z{0B0Owb_(Tn^>TmG9RtsZcD$!sd-G*rw$A`1k1d$Gpsd{i| z5^q(y(OOP%3W4aJro~uc7T;Z@c`|)Nl-(D@A?`ShBb8 zgx~}S9-QD#f;+*2>%m=uyE_DTcMt9m+#%?}3GVLhZeQol+_^K~%zx%(^@x?=Sl@SvNzTaPIBvElsw;j~7LZZIIua2-WhzE|P6273o1896`9`EHYR6YABU4zJ_tX3Qr$z z3omBRHFrpEXK1_6PxW-PF%E-K?e4gbuU%wrrCvKJ!=TY;l(^z;Sgkq`xU!u6K~*#S z-*VV^kpHZ4YAnkvOg{MG2M@lMXb;xNV6Z0X*V z8h)GdT{Mjm{fh?3id+$O;Fw0``!_x^*mY9-XCS}h$x;et{-&$`sELN*YKCBQ8anNh zTLcugJp4T6g(Uwc3@Mf(hn;mSs63x1vJfz&cW0y=>uRRm&co*^DhnBSFRGEcd`Lwq ztrq9Br;gZ8e}sD}O^KPw$m#DOs&xqMJN+4E4Ttw^UIL6>d&?NG^2zHyru^g?8OY)3 zBenhrc!1-cj=Z|Ub4hLbyVj7JD}R(q$J%LjEtA!rW9^c|f|TdY;@zi?b;MNGJ-j%HxDp`H?@Goq{>Zd zd99kIM~9#I#|-!;URe{_igKQZZo#Zf%we3nB5N8&+LP*!1<%icQ+6}JhY^|2_H_v4 z#dPq{C3Gp|3aUl*&0%s<(KvCSrTHXy$LDQ`g=!7V97ZkQ($(BW`?h=^#ntB{<;)vz zqoaw-pZsvhrEQmL417>URisvq9_U)83ZZcCpO5mj!nNTsBV0~QQl?HH+Q-W}ME@CC@N=hG(# zq*&ZSR|xoYtF&)y!UlCF>4Xz$dOE$Hn# zss`bJ7M5^)`NtG0C|J$*XAmdbCO9+JwZ#XdCW5csSLLw2(i-MP@JuT;T#;kID!r<5 z2sPyGl8Y}@X`ElSRc%-EwOMHYbaOPrZ+{YbYAauYCN)>B=49tHh^JLaO+F|OR^OBjZpDH$={nHE{i|#J+gS`nR5|eeiODDTxF34}u?U;U*I#Pi z?zZQk7dAI8u<$y6vb|)_^v_!b-K6T}v$f1X6{6S3eiQ5{LZx5LilK9pv;YXk%}kmu zi@ozL-lT1(25loJo?)0qbo;TIOg=}E3KOGZl?Sv)ge>F@abAxAZAJJ>@$|S~U`Y7=|7fg&#Z7Fvr(7B~&CBq9CF(05>}0ZvcXNODSv? zhX-=a@K_=JN}zA_wFWf^mqj&}E_!_eW&*%)N0)X2SrkL^Ya8@!+3{CB(o^P#vBv|P zq(9@c?beV90_M|^uLJz&BU@0WDdHdi()6wP`h-z)9>2#5Qvhbg3Vpr#=rqqUwV;)! z+iDBz4v<0ob;HpYZJ9@Hct*a}=`~QQ0|Sl>4vbo6wQ2lDnXWIV($%dvug>G<1;fK< zEob~QaBTV1QA*O)dkpKR-(hpLv6V;W9L|dL!BqtDSTvm5&sL``OZ{|DhBFgf_q>Xy z7qwa^P2UWbSKqz75A)#RDAONemwO@K&fjo6Ufep7n&>sF-aKnwHau=DSV!_8CCf=6(hh2nSXp+#fk% zJHa25DJax4c86e60a(Xf_ zz@U`ZVQ9QT^R#p|r|FWOs48ZtdDe2C1J-#5Xiy0Hj7%8z)KTr<+A~i#Q0I^NPH7Hq zdWa4-r)OHunrJ-uD45GpIhDP;$}C$joIu0Wu$Wq3(`O7qOw)Q9fM=$K-0N_C$nn@9 zubo>%36kr$xbU=xNwNuLd{Nr} z#hn|K`}4MFqSP>cAfX%-Pd=9o+gA8Z{LU6k=IY<6d(hm&R~Uo~{S&FudL;HzBBSp{Vk14tSqC`tst(YZz2cWQNT@SjX0|U}2Ejqq2*UjE z{>Oss-vfeFsC}s3UFg9=V;#Z>Sl4rk2I2%w8M=>#0I|!FpXoOc3@Aj_?uaMS$Nw5U zl*sz5h-ITZotpoJXFkNoW~x}Ba>>oHnM$0i;b;KcHk74Uu`(4%xqnXLSSW*Onk!Z= zF$GM0&niX%rrZt<^naT*{|tzD=X@rTkW_RNoi`M-(jxs%2J zCG2AZq&@bot-}3}rUmNzQ+N8%>G*#sBe4U|bi?}eFG%PA7u)*VpWdavAF0_jm(%}> z7~ui!V#DtIe}`87=zyQ60bQgdmWTA_|0RqR0kjJ{9`}E-V1Ex7A~X2Sp_KYz&A+;^ zkebe1e*01DnbmyZU5#qkz8k zWc}3%`q6H!1sL4S`nV{vn+X*#FsV3wXuG2-K zld#DLnT&?>eEcP3%Qz9khHsw{VQ;6|rpuRfJPnyLR+LILo^WgMr2gLiK&yFwBRjp_ z1G#RVC1spj*+{rOuS2!E-FTelw=j6!Ut+gztZc?C-=8q?&0udkUU3da4j{s&`>H&EpQI7*lf)sTHOpHHTFK{9NenR zzBFD$A}QVr*KWy|>@}gMuK3VTV&gF{z5UI8QW?%Lok`IC}BEX z6I}rn^3HXCl1i%H;Q^^wrLDBWg_Qr!)_~IaR40yz-(6-;xlAkPpw?93q6VMl?_C?{ z-K+TCONovp6j>-43Vxl1YuRSDs^#2e%$jXpf!UAv!aT@iUyC-gLbN0f>xvQS*lSYe zG0g;oL5bP8krm^s4qZh*lOF9oe+t9nQscG0Tt;YJbRB?Y2vrRq#jgyN^U!8AO`iBl zC>^^Sv=Dj{UXfVeU#fCC-@=9yaHJ87gb2NXLC$&h4fs_zd{8Tm&*_lo^}-_+ibeNb zxk5`W5GkEfe6x?)_VykAY$BDJv=kPVo{+8ADbde)?>8^*5N%iC563rq6JQx;%R}Rf zj_R)?U$uH6{_Lzkm;D)uVm#Y|FC6yHTbLmul~;p(f4-8=U^vd(^@{LIo&;u&Y5agm z2UsQ}%La`CbU}`2JiRCk2Qb^_G zBks%B6w2+Ay=-T)dLTKRJif?iR+=nGmw_6rb%z7h>ueG8#FBm7iz7MC>is8-H2ZDl z?bX=LQm*Jz4+10bjOam>T8r%VD^ITxk5)p*^Q5GfEeJUWG9ohA`%l&dWiO58`c2kV z;D@7~^CdH-4%jU6WU~b1{7%=5tDY!BdLKL(Uup&mY(0D16c1SCVuau*-KK~5a@ZLR zO6PtgXYhDQdo(#*RxuEh4njciPJFr~qHuGTpokBxXmNoxIx zY=tF$q4jf%*7)N-qF0Tz@lSdcqV|j$0M8p=%K;m&b@ou>afUhNW(y-s^n+evxB|}) z7YZnXv6geGCUzh15YXAQG}=^Ivw`L_kz+j91M+z6f$%E-q8wF56O334>e5gMn7OC!vD!7p!4zw<^D$&*nDgK@ z(2}!|FSoJN;jaiQ$*esffzW<1KzYM`TeeOTI|PLU8dxPIw0S-iv;8DlY;!(am!lXV zjKuEii|dcgm+yimkCZA>Zsn{s21jVt*bb|?Ufd&Y4abJ|jP|--#13TedIVt7YvnWC z4J6PPU4dc#?0BDlQCM$`y%~u5n9TZhM2-Td$rF;!tT8R7M^qORk;aIIzehfPjJar? zJpaO}+|A@R9IULse5ldHaz)D_dV?h`=VMDcB1LvMIDX5MQ>ZL9YNu1HxtMgV$t@bHXBr*2X!~T@nJm8Q;+NBw3Z||YkX!tyl z&oL3j|3oDe^p4r4g(sd;E6(+LPX-*B`HT7XmIwBBlC3ikxnflD%q2>Hjxn!=`4&BN z_yHL&Tk_GzjLhu=&_*dK=S*s+Ivpl=#Z#C2TQr^##e%}{7?Uk#Ggg~zb@2ih63Oer zq4HY;7%g$Zh=0v7rxYkZaCyJQRDJ*CaSf5utOI9&&(giHok*jYwkgxH#OZhG{5keG0?ZW6$K&PeOe0^9zi_Ih-@-=vG`>44llO!sRS2+yz!m9P=gip5cV-_&< zJl)RLF$_kGU3chDa%D1`zqcPSp4F{(_?j(;?Tsfzw%QCj7OR&uxoC1zj%qfDYR=bh zQ#x609}z2QHQR)a=Zf=Z2?XfTt+E?PW+o7Dy9x#0r8_1_?iqi!ns{)lH=ChCnUUaL z60lW6aVH2-CTdq7O=W6sQ`T;tYWl z$#$21Jg8euqTTn=&QN@A*FN~`*%SR`2mhzgq4MnnjKL%hs6B(KdcRr$mPcTSZr()HG&?k1yw*GbI%aU+tZhPA-(6JgQ~5;tbgm@-)>|> zc>W8+txw$Jc_OJ8Dkh?t-F)q2l>?VlW)hdli?{C{q?6i?Nh~v|X}l>5rPAT7LYXOs zZPG`vgCOKT%}Vc;$e$%nCq?;oh#`b@39dLH#=9C$-W7;Ewg=zyP0}8$WK5X4hsDpb zg$uf7Bp<@l->_Y0`zFf7O5{)}kdi@@VQWB4)CYMb0G6n2L_E+SOh+o^c2V2^2=oTJn^w9vzbDh4Z}^xJ#LGowpg{tr4X3Ubp<+)oqLzb zOz)85iFpBQ{_n>(O2aT?ErEn*N-Q{o`8tpcJyR3BbEpy5*ia(^3-=BVL0>$XJ~XH6 zdE6IF)rPMe2v+gNC(nX-S)1<>2!dxNPI*JIgN-kLy=K-)!gsNDfm5Yz99|APr`LoW z*+MWhy&{z?bk4zG(8Hl5$7Qov%F+{EWUn0V%nAy?Z@MzbqQD^2&#K|CW<}3T*HbD- z5H81BG7jmYwDsEM-H0-b@;K2>tHLH`hO^xmCl z_w?Euw=vR!Icz8oKS5K5V>? zgf}Z`z#oa&xLmy2=ZiDsk|IUXrjrurQLDGuoDJ4e!S?uk-(P#cRw(Q3zIc6D6A42f zGE;WBM4&lurtLC30wRVDwLbjV-!HL18)?I5MCRShT*UgMZ-Nc5xriA`XL0< zP!cZ>;_-r%|KaK3(R_oA#}dq1)F<|^%)WgmQY1xJ6`n_ODQj8wb2-4s!eIi)1=9ug z#~p+EK^$JOF9M<2>C{rtwvNeSjwFFa#+1le9+{L^06!1`=y2?Y#>1ykNGAPCaoh?~r2WV` zVQ{zGNvu;ruw>7J)GTAQ_(RTL&<-NhUpO?OSVt|}S?*%G#l?1FekxyDF{Yl)crxyI zvDs+(q;Ju5ra0?>Ogymw(5xK0ucdL|kxEhE%+~l4#-Pv2kU*iEU&_yxonSaJS5u(u6FsR@0tsmE+S8;D{KcxyJ3daih}C&2cx#`CeZNRLCZklLA`a+fY_*be+3Q5o)2?BCJmPZ9 zFT;aSCN2;~k848283QC6mf%>}Rbh7bEfGfh}?!C=6UrNajL!*Aw| zywu1?7h1+n@AEsZETuD6l1L2ZBMxU+=Y?QI)0!SkTj^Sr;8C|>FLb}D^u(WVGo2$R zP)~QeHj?RzqrH3-M4e~moUvJ-MM=q%ms+qZd>IDQ%6}vb$Jr76;6jueWXN?xpo3zV zu}!01oD^Vi)V-Xzjxv)IOLbUWcC?N{F_Bk$Jew|`FPfiWOU&H6Z84VPg)D&+Id{19 z5+jaIBedj-tngYg8$D#H(J8a*JAr<5O;ovr3y5NN&$bKmsAg#0A7QuYZ5vnr7)QSJ z`>q`}_FD55Md8us)+YH-N6p>UtenX<2d1)#Vh3EYdFqTLlHRZa5AM7LgJWbD+wD`9 zIP*8#?okH{5jpTm)XE`_p9s%H4`=J3LM`e=AoQ*+eeQ22Y~}vEL0My;~C0ImTRRP#Z!3*k~6%7!6-Hh zY$eJiI8#M({>xPtDixlB3f2*Q5U%!)IH~I&)u0ycY5hjiIQetbS&f$yMye@Qs*FF_ z;<3rMIww}BiGXDuB`^l!Cat^O=FG;A1{|&jEP672P$;~_xDv8^%9p$WM!zWdwhzA2 z4y<|j!MN3++r1JN6>YJX0s)Ay*2-Y z@Da%K48Byo9VJg9GkG6Kzy9{xL-DglpMZ90Ql&9msIA`mUA^@gs!V5=L1UvcWPNOG zHO1QKEJH>-0w!Jle63mXg5@Doo876D;Nj0_-$O;?bzKgTb;auj^U2!>Q6Fv&I}=x3 z=V&gAe92@5=E?Bef4E3)Env~5KyikLnnDxE9Q$|y0nW~=`&tYc0WsT0fsv#xrF6oF zlTG~_!-65$%NNLd;EGK7DitwqgQCoe;sDm8*19+0rQBl^yrq!z5U958GAqxMt!7v; zRByV!dLmcORA}$j)3-Cz4R*ad93|2zu@W6LIL-O=3Xl~^j3aUKOkwl-fVjH?Mo6NR z%XXeOg#CpYBD!s<-M=P*fJr}sVgPUQUPFH#PA2&W#2+rYKOA*l@4O!y?TU8NgH*l* ziQgqqItR3RUJPiT*pj6c>gqZdmsT92>=4E_j*uO0(_y9pMzc6tK0B!F3tgc@C^@zJ z`zv%X0ZQXnOa3m>w0u7s+H0xLu}2jRbmub_Mp#mg@q%A_H~9@cSvZzOJRLC*z{}pi zCPv&L&_4oI4Ut|`U7%m%P!hN!Z7w;Ud2-o4q62QF2tn;8P}*!IB{d%c&$+W6dJ%-W z0s%Y41ycY5ZiEm~Xh%jWuuR#OMn4fjQ6@t#$?J*43beF+uXI0cdDi_1823_+DS7?f z)wDu=?~2KC^?~HG!NYt=fKF~5yZGbqqm$(A8QJ~0*?EV@)=#AmhOxIN@@Op|XH z!>uZReSJ`V=YFqJZ$m?;bJA;!hYiAOY;!+z=LrTE=k;IOch970Aas4Vy?seKkTl8AHcJpk%euHf)erAK%>~)ftoVbi)oX62V`>@T9!z%_XEk z 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

$xOA#sN@aqEX#D!-hb+|$cg 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

|KF@+M z54cx*e$Z2JA+!4(#UOzDSf;vu3E2FAK)O)^2XLxeC8+-N%wJFZr5q1XAz!oH_{Yqm z{+jgT^?lSpw-6X;MhCYV3B_W6i#ES!5BJ(DyqoWjul{z1-IMg7!aRN+A`hAuewUCY zQxU%o)#F+J{lMdj`w>69I~=*E{lC8Z@vA8<(a!;AhRE@g=$|6@54{g;h#`JUi#7vm z7zf-R()r)M3I^l+1@Ol;)4Hnu!~gymIWXMP<}-^9bCvT-yPn%W&*#6c^$T%GaN;q) zETPW!G@eo9i)|0SH}-VFZmZJ!g)KOL1dRT5`b~vAM@3?SS5?c-j4+?6T2e*Y&z2Pa z*HgK90e&AH*pB-y80!7+MS79dvJ#E>c4LTTr>P9vbUvxBsIV5bSGUmp)weo)fp-D4 zGgiMZ!9PdRQjMzBxm10+p8spA9=Pwcjx+UgIEr5A@5aMc3n6MHv3$7;(^Dpy$w2rw z#?oI4$g}!Vt5bWG6>SIl*Rk_^1zulN$ahZEyruI|s)AYtW!K;Oy~*jZldEZrl|5Dz zmPQe%!x#xykKW34$IxQg;l;20!TSok(^LgkUu@>T+NgWphV)v&#Yic>Ht4St*W~%I zpJ0c^yUVw}=LfDQ&!eIgk{d*;XR1p~j`bPL=AJ#s?A0?~Oto5PbST6fzIa<~&!W5S zK3~K=-!4wXQInw;3)_s%SG?xFk3R~5d~m-QvV?iPZNp~_FSP4i=xGxDWVwahjUZmn z6i#VQbAsxlCTgjU&u!_+_v;BiG*BPc3IynRGOz?;GA#@D*x+)5%N@bUWY=91e=R4^ zD4LSZCzDZbKirGwz_s*{k_$XBExm?f_8-xy44 zHB_7!VsfiIWv||EnN==7xoa9TcC8$+5_+6n3`&gM361>~7q1t-4Hpas1_p=ADZg1b zn~dUg3^^FNGwlae#0czoY=>u=LT4Vi!=EGsIGkM7Q3DE%jm7wlcUJcDz){ z4P)5EF=p!=Ut9`7(i?=~>%purwZEJ4M_rKa)*JGTg5asbS0A+C z(bP_A{K;4Rmn-in)Nh0CF&mtZpP6wBN69>yrYiVCZ&$3Pb~`0}7_Qf?e#8p+Ezpp< ztC2pHMy(rR%ABJ-2*$TxvFm z)7YH)6soPgosR|)cgJ&lmtCu&7b0ReDk^GoCY?PPmore2oMM>EN*{$y_+%4GVp^*GZ7*`Z|T zZFk#9wxs+u8F`EYvUdQgz-b)g;ZCw!iSsai?@ ziaxtk{~OH3)m571SYD1=VOy6GUgRbeQZMdTkJ^J;{jKk_jD|uxO!NUR2W+ zW+7`va?!8`gKw;=3Jk}~BAYCZTU`(fG-{EeY1H_~cc!GWU0sw^4m-sNh|zv2tG`vj zXM&c%c5`?9GSNXSI27C#*W$nT4-b+NaD)$ za%;u7zve%CW4CwBrdvnQbz^_ zs*Ngx(CFI|HNWfwGx7roz1v2|>sRlQAcD(i?bGS?_hN%gDKPmweY_?Re(<)}7AkC} zq*_aCi^PYn^*6RV%5(ZMwKC~dc0cXY?J;kodO#Gqsa#4f`w?!&4C(x*qnQ6j6d)m} z6FBqDd;(um5RVsWcsDxPg0^ts)HP}C5aO6~LISo01&-y`V;D`yVe*Z`R(wNR+Io?Y zyMn&;>h)Ql+ES@#EfmdltKv1+DL6hiGsA5+{f|Cgr#3`rTfR)1F4>MEy0?N+%#Y6R zaVwjt?cIso#RIG1Rg7}ui$fkyhpN(%aX3%f7IeB&Os<2Mb`{K$)4)9i{9ldqeXX=# zAAK)ZEdBI&qhBzo;j)wmevN=gXitqTl(bJnBZ*w~0HtbY-V4qaT{=U_f}u!Nb+DGj za+XDoO!e96D3@ve;+(#XG&Y4k<;OE=)->uxy_q?7J3Nm%E2F)37*vX-{T|sMn?m`l z55?5YOW$XhJ8iP2Bgs@>1+0G;U?(xK291eMz(0T9GTh$Ud_upY+t&%dnYYboILp7! z9_=ECoe{ATcGNX#aj`Zr?X&Hi@zcb?Lwerv1sw`{x$|4OqNI)4Gx>OTV~w@awH=9D zf>Oh;};;|bmXg~FHYwh5&8EvAo{_D_4$j|04)<)+Q*O}m+?QndtpycIazXbxpE zx819xbKJ!r-(YK;xA1jIWy!A3_r4hcKD!#@XwGPO)ly{2u_K|p-Gpd~xIf%*_{5v$ zp7m?n{c#ZJ{s|jx;8gUCT~Jf>cdpvG~9V6QIU^in*GW#Ss&dc6p?IHQMvC zZXKqI{!dQdffsDYU2DjF0OEZk2C;RY4?Nq8XgqE3PipnA5al};=4MQ5TzBK@+~J4# zjN)R6#!ibgYCm5o$q-y*G}lWmF0-hm6C21gnGNFz$9w`updb$YAMznIvhT`8W#Q9FOr zvf`>Vc2ZSi@pK<fR`2FkJ)|FCbtm9|64k@l4wk5(} zF_7)V1pSj`+HzNUbTFy;5j+Ow>T{PaR593fKI-YIt+$0x;Sp4KGme53i%*^R=$cd2 ziXj>;Xw%-&p*dcPM3z`y(uv8W7dE(^<6tKw5={Eg8T z;n_LtYEWBiACK3!QyJU}Wuf$XBl#dv2@^Q1vf|KaakrU1krDHEfk*|p+;U_yjgtOd3WfGQFemM$)9^)Z|C@2 zKGz)RY6!PEgK4(l!qF8v-`d=alYfbj*?o`=7->G&iR@Pn_RYF}Z_rH*x6-^>9BxaG_;#+hX-TrN{N6R5WMM_q-I5^D*ZMjZR!`8Np zj5Hs>M`?zbbdj+sKPeR?A>dH6zGNY96N;=^u7_Ujj)fHnh^D>kHsE*#K@&x2hGM5p(uqiOefT`HE0(LR*v z;)d(K!)ldgOhPi6BL^mV3%-HmpSw<2A$^Qc2WR)~=v#nvp0GB`KsY9W58SseI$gAO z<6>~PIvF@=){{BXO4(&d=R4E6>v|j+AnwD%x7JJPU9U?&ym1OnAXRNj8(^bM_l!R0 z?fo9NJlce>iRXkN@M z!vyL%<@uEN1`h1bwD*n3?)Fs#XmkIP{)^Wz9l_|BxA{RsiLXoQnsL}pl6sLCP?V#V z`1RsZaw$y2B0mO=rzsIb-89wF_=j|Rb&ePjXzbW4jp{$`ccV)zWJ)>G%!$k9@F~Cy z+*MSFpQf4sjOH*gp7po5EV{49i#3A$GexwnR(m$b>qC-?IV*}f{Vo@5c>81CzL4c~ zJ6tBZ%IR0|-I)qyHh$G1&1}S^FoFFa&^3?OT#`u;YK?0?9}t!XInl!AI?YvlNmh*b zGsr>CkYL>0+}Q5n{av8~do_(4dqv=uQNl3?*`e{=j(0MUr$|0AG^^<%_eJ(clR}NA z?@(#QU#mn)O*lC@5jgm-cGkXtN7cLQJm0?sl+U76=Fu!*9d-nuNy66}ndWo~J^Jiv z?k(%0eT!vP%y-g!h$3$#KV;!HCPU8eM6mEW*NkF)A)f+mooe4Y;vV2k;HtZeTe1@d zhO-pp%>r>ter>Q?*V^JNrjn{sUL|H?A3HzEWUet;hVG!mpHuco0k1DMaUbzy;#IU@ z^@mnNUq}7s*uN*pkLNI9^E{>_<{f{5k}vqZqz4~~BtbwTmDs}k?Y*=-y&Pl<@zq^AOD9d{&T=L z+`vF@+;S|Ff4y%J3N6M#7fEfrzU}_jiO>%dYHDQKC=63$FQ(EBdL3H@AsXX$sIFuL zk@{QvKhD&J0{BdkX-gGFeA8Ipq0Jp4xQ-jZex0PS`x}De1QYa~}qdO0XKDAqIHc>IA@4fD=0X!E%f5?4)5l;=-W(4e{P zFV=63I|5L-Ctd$aA$A4dpKs)Izp{H%RJY{*^UxmLzff}4-M!bTp50(Z0#+E4_gL=% zqE>OY!g5_1(QM#XR;zc#rqOKT-*bjMJlUexL3~A}>;vSeY;UA@1$Oy`r3cMq1XV<*MhPd}NT4huBy&G}ZFCnzXXJDkk+DTM$wG0*BN`-_9H zrg>qVM6i!0beqP>=j1xE|8{qq3ISkgVQ8kS3u?klO{lKo z@{ISVR?1A0v28WG06W$XjXTNJb*YVr@O{GM!`uPh1C(r*1oPhB=?wG1$q9dP(%f64 z3<}HjZUi6^xkPUUK__v)aj4RXW@ox`!^zI8Sn}ubZ)pan%T9%poGvz^S(Q{=B|!Uw z& zTJ_dI!SYb@u*}>!OKbp(>Ve>LzHm2UG+GL)W>zRx^Ko&qO*2L_0I(>6ucr}nf27^K zxP@eq+hS(x0@`l^A#@M0BCgwKi%Gt|u4}GO)rO{WpQ_zo$U?PH7E%t^irQguIVscIL>@QCOM7%1O(oAj`hVov0H&^Iic*5rdU$#?(;Pcu(eie z9cGD%qf*=!7AKn)k%jh88s+h%dI75UTentx>&x%xm_T-C7|^@H)fdi2pfpY3#r49H zhd&wx3?|4rN2)1duM6OrE-4kltX7Idl7m58iY#26gMthO?^-*0WPv71dflZJM)N3B zWqM=9B(eTKfYTeCe~ac_43mH%qU0j_mGG@bqoa3h`Nq${^^*l zem?Xvx#<*@1J`*6XXJoUTABZ=^#Ay3Q(xyIZrh6|pG-zT!TRzOygv97*a!%h<~JAb z6WHB&-PZS4M{!`IDZj;zY=o+-n?2MHS%@H;Q0|K=?6`zQ3nOr1atR70u8h=H{AHXy z%1{q;2q0>YFf=ipFyE=N@HW1O3)wPPYu?Gt?KXzdia7B-DX77vLHcN8xjTWCUL%i3 zIkrqMltYu*AnyDMR zK+--H->-HQhr?#V+LwEkG5f`NV-LF#ajF$okHEz>y$t?WJo=&u+^zw)ZT^Rf-G}+Z zkLIt#&v@C=8B-kK>#R2Aod0D9T4wC+jb$*i3y2dzj-*5G-BS<^`tLo3_@)<$gl zcnQItz_p*OATW>eZ9#q@A+RG59l1}jplu+r{&W<M`StJr3HrGLswST77FJWEVq z9LvFcbMd88ZanH*oKTia=#QNDusf5Ls+#N$oQ@D?HoGnV$&={R?kH@^(T}CewC>ba zVHEoaiu!JGu&BK{n2acn!903hsCun<0^)v>n3%Y@wdO6IE(j9ipCUzf8p#^u-<__M zDik4t!(8`&MIKHgxu;fV(ycjHcjp6S-fxb*ih4EK@R454x9)SntDVahuv7rTyP+9fY5}s9&if#KBg0Xk+1@t02gx0yL~*nxJm%;`drapSWGHsqy&rs~)aqr= z_2h`tbYD*!3|ezY^QY^z_Q-j33PRF+ByRRlS1$fyoNE+9!zp!^RhTAK)*%aP>4Wwtt13J@zRMZcZ^rV>K{y!(%~We9#yYW+kMv66!z-FG%Sj zg;)K5mcrYz;*s4nK&o7a^&?9>yO@kHw8o(wBPKo`Gyv7uIh8JGN%lZ_$=^cBNZ_!+ z0NOaedEvrBj|)SSu%-ZxDQ|@ zeY?Fz9DTutX1=sc)E~>Ox$ktI)TmVFOtjn?kPUjTkW$g;cuHQB+u!(2G#d1&!;0K# zsE^_TO+SlG5l@qglQOT%3o46A$Z&2Xd(c`T4Gz(9ebfS=z_m;c$UqXqqpen()o-18 z!?JA(DJL^)YShd%1p%@GWJA|6lpQr=>Tyja-7uNWr04QD>ZVd2!0wqnu$(BKF3@5R zEZ}^N#PJZa213VwW$DQ1{m6IL;DV`z4$-{8cj;{@5Nz)h6fj!8X;j^;Zz|VD#U+U4 zY47|V#>GdxGFa%w%`RAGTE@P>i;vZo|7`0x(XwlHt#wD zy5ug~$gyZClNmtc0yHal=vi-hprdCtNL3kPJp7FmcV!LSl{#QBYOrrLql8?ahxN>B z(A4L@ku5hE42~cJ-(afSu+S`KKBcH=LSGkd$POl|$Eb>Yv>iOUDWu4)$oi+7A?Sm} zhOAzT97y%1s$O&VGDNTy&o_AiK_q}(Gf!KwK5JQ-EYbOW&(+jivAurc|0KQe<^cBN zNXGDl5CHoNa@ai0>^CEw;Nap4;hqu{w9b{Oq zO%C9NxO&mkpf!(VOMI>@FNGt33f(-@e86IyK)Dut! zon&r2mYfx0mWW<(C5ZXij5nODqx$Je(KRQb)bR^fBQlwcP*b|Q{r8S6KRC&2$k4+j zu-P}?_~_Q8Ivk_nJB=3{xb24kb^S0j@e7(z$<&0Q$W6UMM3TWWthj)*XK!Es!;YG_OQ)| z{K0n*+0D#@p3AYvZF-3mNL`YFbZ4kbXBWf?QB^=j8rD#S)=a3lb;;1VcL)Mb)(shv z3d;6@G(aSVV)a1?$p!?C6 zD{F8fhghh>Am7?fWPggzEaCbipp5QUWc#nP?qNs_cumd2(2cvcLJI)BGfV`2#sStA zo$j@l&kt`*X0ui<9l^PHRdVFv&{7f#)47I^&aR@nU3UwgxYVaQXx!Y~PPXR|gPU*i zs3SBn_Dg`4eUyauiutyjC^XW~?sMJdtq9*ldjQ9k4JrtE>zF2xw!_rum^HOgRlaJAA$wk{ULf{fo2x zg%F_ZPpWV!5{uTu(sL6GzEtaUIA4~1n=)$Mr|Y)Ps4KOI|DBlG7HqI z0qy&gMx)`gRkUe$3@hf389l*-8jE3(?=*w|L8tmH9k0G`8B;YSJwvw|6u8k-ItH4n z4#pw^cn5#72IuGy7ng7>9c>@&CTOA7O3?uHo>;dVDaA+J<@Tx)hn#V>%8x6W-DPgy zfd|lgO<|#H!vtny#VFg$cg+DVe2E8FX9r6Jk&Q8QN<*i+Gu4h<$n9zYJ}!rkges4H z658WU!bGag`#VmgoXfr)s;3)-5v=e;TBNZ)NLruNJIH1wT%TXKQy>nu6FUeJ`eQnq zmYZXi1N80}dJwB@ZG7S;p*0cJf_pSKdpKQ)Ja>Lr*Yp+k*!gq z(_`Exk~O3Yx^}36)98^yV7|HfQMa@l(w97lZDS|g$%x#Llsydga7YBsrn;!V_<{&1 z@?wkriEqvuE*wJzy4Wmh-8wLTk5K>7X~46DuAtue3=>PCGo1f0+OvBl_T$*xJVNcL5>fA7#pE=ArEVz(f{>PyygH zF7eXQ#+X1;!?pC)cL@r_2U-*WTmW@M329jxrdd){B6hgg#eV|{FW@0XbbD~&L;QXD z|NivC@qsDGHVpeuZqrY_^eATjb)3$*50nJ* z?z8`mm;bLhQokg3OEi!yagpiy>Cs92pP)5{cn>@#mMcLT8e&THr3dSd37OL*c9rV3o~9B<=n2^Cnp`L>!F6}>g%jZs5=Nu% z1<#8O&V$Cz=Vqbn!I)~UHq$iD_u5riBq;J{I2`x%3c9@aX%2uiA|U+$E4FN%AIQSK zk*UW4xV5G`G06+E0H+oFV*x!LUnk|}<}4(TQvcRev(mBf4vWlWt$f|X%QtYQ=EW%_ zxq=0Q21z$#m>R`DXw-u*FE)}l4$d43+`z%Xxg5~AB%KfMTrQZIU5|pN9;68m3IJ5n zA|>Wbm@TvbM(SMsolh8nPr7w3Aor|Z<;fMJ6Wtk{?rg~ds8V}PY5H5kmVE%J7X%!G z;p%&y^sVwWa=DXs-NtuV4Ht^w zKNXB@o#x5{?HNkbt~QP$je*LR@Pcsn`=SK@$dvK>3LcF+%P-i+AgmK50R=^}gBt{f zs(xD94-}pYxBcEKxqa+8v!dD^U*%pzVe&2t$YuI499FrhlFI2AZ8aP(IvFY8Y8?56 zp$e&U|N5y*FFe9{!O9PP7V}evs7m#mGj-BQCa%jna7b7-t(o=H&S13$OZ0Z%d$1mU z=erxoD$|)PGah>9s0QatI-mw|@Ehu(zIoD51uI(MA!dwSuIwS))QwZ%uC?SXfru4_8Pm_HH02^-2Utvd@%q2JQiT3UA-{ zF$v1SUTdl>lErNa-%@wb2OzWK1=ZbYJz5ltT}X!GCDcY^IsWw9>y;kuf@vyiF!rk} zUM!_L?f8+b8aabFKn0o>Vs$nw7H5TUnAly#?~DRRLK{~VB5{jg~{C_ z8XbhDPG*4n$N;6beJ3rJ@igZ-Cd&f^G)2SP1Hm@45?t-~)uLu+DM`TIb!d1iKYZohQCFK66>%6ZR&Svz4xDF7ri_At(GQ zr5l|Y$QkycOt+^AdFtFn^KK*IkVC(7GD}*2-Abc4)@gq#$!XzSdXT=^X#lz%e8N;? z|g^Q`Qoi7m-xVQjwkX|qDC*j+L=hu)`TI1f_kGzhjZZ&)|k@dD+! zrxx}7d}d5jgLz4Ev~I3wVrBFSJF}&Hmq+tt0qFEumTSG4*wr%*(si^i9sP?joKd{4A;V1T!41*sbTh(N#E9C5{< zbFQFPtH}x8Kb0D(p80rHz?yfjFWNYkmnawm`X z968@51Qg|y&X1xRJ-r<$YR0HEGG0t+oqzdd9<8=fwn0g{+OGQq^xoCgwTwFn_zrcF zdevX+1dP@PGEE>jOG#3InE?Ja`)EtuC8Y|>QDS8LZrOE5xZRzX&ndU6$OM_egtMVX zFVioY%`i-+Lo|)gAQ+(huuIoEeUqC_&8sF=mheZl2!irtGyk;03hbu_Bq=RjS9z8qq(}Vj{cM~ z#Y&CBOnoy(CPZFAtF@bVPrx8v@I3MGBcWZ%u2sy1y-kmR(yoG|7PgJ>E;C^

o3@R5cwGw^bR}M6Ou(`ReRmMYSK)d~#!zL_LKMoIdS$?k|0{7nu?{t;RW(jU_9! zZ|hWQ48t%>H#V5X9gbElM&cZ)2^NRWKSLwO(G1?fJ{i1pNZMxpl=gwBw}vOV5O)^8 z`EaH4)OxMz?4xP?P8=^#t9JKnR}Q#Mqhh{w6V9yF?MGgs*@HRhseW49!roH@mq zXk%&2_Uf-HMFkyx$i7Yb@qNZE{&cle0C>F3^NB}0$qlv1bj4KRNEnHtgk6@ccq;@n zQn%T*wRkd@>}h`-HlherKQjF(W>aeRNQNx|qVeeSsql+KvwL2H`#Z1s=vgztcb#;t z-@3!R+$e6Xo$^MpSj!w{ChN|&G_RpNJA*K4ZoaK=eL(tKCO!Y`;z3@kVUG6JT-vO< zvXu{$_NG7(asMPEDgR{ju;Ora#w4ubj-K?QFdl_g^;%+oxM`(Jj&?T@D)y7Nk3d|W z`dSo5sqWXSn`wF}OoSvXF!nLs#;c%N!!m^38GFfolE#pkg_2gcj9kvi8ohwNa#`uC zm{^*fIGZHv(``nevbH+c*3HDw*=jjFE_jl%XcU#^VK5NNNqap0C7*8vU}vX`t0y*}aR4U38iq-jkeR>#ZX_v&Iy5 zTTcFXf0X|0&EfR;urIqO?}0pl$vVBEJS+m>QY^i5&lO2-nW?ec=bEc=<%?%B8y0Hh zVgzeuaJ;QloQs`yS52JI91+5GTON1LJ?!m6Z16-T39e_$6p56ZwYR7=7}P}kgskQ* zMDf7c|M!EUlxtIWYvd5J=D<2 zBF+P4N%yo7C1H__W zH@G=v`yKt~pFS(li@U}96zUE4Iligw{Zx{aaOaV!@ocX<3XUw|iU#RjNCA1P5}&@H zIdDrsr%E|rzD@*G=Y&~>cce-rc}kZxwM7tSxEnVgrKr>WdM*N+pjdiEvvs%M5)ZV& zHL~0S*m~w|cMgC+JKh`VcjjKCzw=h+>!G?iZ%*@AGaF>x>$OL1dMHFryoG@2 z>JZ0pqY{~;)Y^&4{U-aO`5Uzx`%U?6f|MqB=W>+_hgPn(LWNNVc=D##E(qm1RH7#z zc$)G<$~M1l(PP*~qukMWzLM)wM@~l!XRSt1mCK6ev2nBgxWpvK=9y2Awo7p9eI>)` z8q_h|#{G@36i&Ehgo6XJi(>xxg;wTn#fFI4oAWlvs<4Fc${7FJ1E$tcp=3$3T%2rs z#@ipY0Ll`~JEQxBWlnRLz1f`+`*pCunJ7I*^OjyTSTg_k9eub}!5%eoFqarL)S%6f zqq0mO9Qs1{tTw;%PJNN~jychPhV)3M0{Za$dkc*oaS8G8&MZfSZ-NM7ByN8UAZFMKE zZKvNSzI;fzO0q<&zsW0mfu~=7ah%lcruWAFx@$f~N@oLQ4`(LoY$Fuo2~Lrp-Zbwq zfwarrM7!fRpf_HhliXEc5q5QI4`(t+bth-3GkqTnnSKb8wRYogkn-FH+0vfQZ@d2c z`S{Qzz?y+AzlD;?eJ_#_E%kM-)q`HXC)IiK`8~5dwXm6jSk%XxZ4NVa`P}j&T;NRQ zU}_0f65X(?aen)o7iGifWfdZ)5_CIU7XVCS_!K`McUZzpSIV%y{18&)ypTS3)WuLE1+ zSIvvPRC?;;_m$3?{@1R;y~90OL54b@r=?H#f*meD9T4%zC9Bhu5|VPs{?hT`1{z>cYoLxqF+3cR)Bwq_=Cn z4#O_l+5{m%T`?ykzo-Ws);BjAmpcBu?svueL#BTF=X=Y7fiI6w_Wy4K`CosLT=1m) zU%&mh^Tip)ZMHv#^^dOuekBTOAp2jxofv#4D=7`Uj{0Y>`z1hThWN+3|JV3UNFL9< zuRisYuRB8}GB5GdISBo~xk&CB=efTOO8i2AFBD?CJP`1t#y;a%4Dz}0mD<2OCr(*k zkh@>en%d$yBd=20U+(zhv#(#i=5+OeNa7!ocxKALWUT!Ds$^pv3|W&A-=D=HpSTO# z4sXE;995$QZB}l%myF1&1Xne9ut)##oL`?Ep`TuCT%qp&+K-p=EJkvL3Yg~oYLYXI zl9{{1g?cm+Uc2&kn9boJUt!H!*CowwFG-o3`frXfV(||F{jJy=%Yk{zoge;Vp2Z)V zjBVfdLY6?uuR;nZ6dbSE(&Y75cb+a7Et>K2S5#Yx9m*aH3=Gn9FdWg+cuKMwMEqlQ ze_i6)v~z}aUJ8DN{>RX15*xMIyHsRkfIHJhawDj02d}1z1$y_a;ynFhN*>Ev512=* zy}4s^WWmn_g4`MET?*lC8Y)5XoWb}JLqwi$3McYgIyB$e`yuTC>K97~qabM`oum~0 zR$?o#^bFsN438?!A-6J_Vyq@f;v5q4zLQl<6wX?T#=t5fG(8kqk)|!$Rfk87DwiE7LM4ur>#XTto==< z1Dx(i&u(6KaOjPY)Ic|-p>k+bM?+Wq4jUXDi=Q;g(Qr0i!;!|l`Z1l?W_e9U1uB6d zduC*v69=#H#16)(+N>Tbz`A}l?PoQ;5sQZw{f~9J@tJIbOi(qSdfVxlV$ObO4UcjC ze4=5kpFVBZQW)DtKHvl=_gBI&Nk+xS?vR}VH1z+s}^;Q)I93V6&M_5jUbTaMWLYw|c;)MY+TE|k7_x}Go) zlG`0qNCILykNAC6t__i1aWGhxyX2M24iET5a*w)pv<#;cq&>7JgQFpI?>o$Aq?8X; z^@jwgEtF7$1Rch;;rV0AXx-(Fb4r$XN{Fn<3w;nBtB7SS_kzBg>RDH)>8-X#1QYj1 z9xo_q-BPCmgm-iP+{1U5WR3UGP@tRO>NF1+ZZo_p&5n~L1aLmSi_nD`=D4GTZv%GB zp>d}LJq}M&46aZWEw>yra1_!#+TVJHK&T||2aY(73NaLOV<8X3v zJSE3CGuakXgm-P69P!EVN>3EJ9oOP>5pHY~#jdpYGNeLzvxf}?w~oWstu%iO+}Ov| zQ3xz8dFJ{Fh0$Rf6NRyqRL9S9$$hi7k~U5%PS@Fus8w1o_cpR9R~NZZ9w{fT;y60W)5fgNCnPZ0Stfik-|2I?H-ix~@Erp*sd;Qeo#^p)B) zZF>p1vg);u!0lh=(%}3&^eN8aq-qv8dOzGK(PUH3UZ}@+N*qjEctj!-Yw2|fwlQC| zKSp%}>i^RVX~2%ssU2_)wrJ`liF-rAlA&kQlneKVX_e1^6|mZ*GVe^#Q;NHz1ypDl zTH5g|N7YPfLyc~BClLxgYbw%#^38{jW8=r)Fh0RMg$ zmdK%%Es%ANk^?*e)yaJ5j2AI4Fe=t*kvQwUwtsK91Xp)~NvsGsS8Z1u$)iPG*!|Z)Iw$7vQwh4DGlS&4xu}XOF@kkvrSksM;2jhxCOln zwLIi{ayJpr=8533Cb+@9DHSHWzb_-9CB3SC}HiuNR17EOf^8 zs?dm`;|^d)uM2p&l&TDEHsz>2eD195A*MO7i#mfp^ zOAwT29v!{L|9TbZ@@QDg)c+V^N=?J1AxGR@nI|-T*Y>pibY1s4E$4fr{lV)WC#|^Z zskH2`@VQM%>?MkG!o!w=USCdAuJ2}_;HKb7Hmi>KJ0YE7ep^<3H&SYx6eSgoi-@-azMA~;IuL?z9n0kyltO)bByyrKyhtBwoWOfJDoy6-G<%L2{( zB&610z`!}=H;xVme0a-I?2&&{6Q@X+jR2^Lva};kIHGVX>TK7rA3V2u4~T}@ z;T5r$K$dTFCGT5z1&AUbR!N7Ik$)d9*eXX|uRFU6#K5$sy?2LzOgZHwTCiW)r`J=E5yrp^+lv>Z zlE^o?Px$c0_s}oHK6m3X!dlF0ZG#;vf%z38{B@9ohw0Yubc5+xgT1;}i--MrUBTnC zrhO|4_6fyis0pF_T8r8GI@<|8tCGcWY(-2tSxc0*tuw6KOox%*+e7mYUn9>=d?qDF z-o_M=GlxHRwxq|_b4G5Zotgg{Wniupw|xvmLgu7IDUAe<&W-iI?u;wZuDq==T%+Mz zacruH_9)%-9yX-=n{`W7M?`Xg<cv7J3 z>AS7Z!YVYFHo^A;Mmx~}fZeN(EdWnF`a~~dTl)bh_0$qB09a?0rdS&=AZBrG!pQ}E z`s4-EpL;s+rbapp+A{YtkN|C| zZIid=vz_TS9<0;1PqJ{EY2Ad>uRLj?y|)t+@Htxy6cWQ@zq?d_90{-f;s#GKC+tz# z->{2G5_Ys%f`NIi(hiER9N+#biLVBrAR4lE zXJE{~+iT2<=?9-rZyVruWQKjm6ob53{Kg7~P83+`)qtGBk=wRyyHCSf>@<)I^ znoc(vMQ({d47sBe2~R&8Ag{L?z3Kw7BBf+ycvEw#X|Rp|-N3LI7e?c9CY zR!TZPi=GrzcdGu0v^ZMTlzou_;o74t&K1~da!MLC`uyHNAfp2^!X7{PQ{hyN4%f7 zPA1Xx;frR|tF;=*|MA=(D+##C%jeGfxoa;&9ytQpQUoiiz;7l_c*n>%0t&_ zHkD*Pm9nR8>Z7XmU_37w<)|YN7dxsjA1ZS84Z8}`02)FKe#mOS%&Pb-M!r5kfp;TxFPxxnlkVdCbP>+B;72=Mih~@RQiBcb{gT{nyd)r}$no zJafbq(DK!f-)-wtj`z#fchpKH+WuRq3stj+7*ySJ?`H;HX_XULtY0y*W*pxz_+3SZ zF92Tp9&mr>U^i9Q#(0{mMh%1T`gL}%<$U@3NM*$GS{ez`^r$MSXfr&U5uSz70c`irk`R2TSceIq?gbKpypJ0GFrG zwO*Ifj&MtRb1I9lDk*vPbTaY3tv7E#JF|$m&pzO@9~=kRum)ez4Zi%9`EjrA)giPN zxXDGfMLuk_NOVWQZQn{l4;I?QD6R~Y57dZ~bC0>D@xXqnT!r7VSLe;{N;F4c#A1(e zwu`xvO)HCSC4e^oh=2mdxFmmnYtFhm4JGKk;lm{AqAlz&qy6=%?57q{Vdz2C8U z!0IS$f!lwG2~@t>i(xPi1TU$iJAQLi8Y&oP*q|q;?J7y@!Z`9-@ap8}bz7hmP{Q^a zE8k_^*Y?lG>C{LYxf8M@CabeZka@z zW~{m|r)D!)klViUZ59y(4Qp_gvCp0 zK7=1^&kF?f3_gKd6xaH1>ELvX&3oP(kzHUOxy7$J5N_4rw3X@dtTWfEWYp=@*rp4M zgrD6Hu( z*Ufx&R)q>3-Ige=_hwg;^T};QY<$0mLDhzn{rXS}WPUCcu~)0L#YlNK0Ct0I{|cAx z9f0l8NZvKR0s^Y8t@Nw_rLetL4wl5B=;;X)z3YQLst4Bc>Zi{$Zs2e)fF#>oDaVMT z&JXK!j`i=?j%dFKvtn~(P~_L@=2x4{v77dVR_!{uy8?47Wtt3_!kA62N| zQ(P6PbhkIDQvUjsZ6BlvRcUq(^yJ1J?n&zN8~C>tz&AvoXZccvZeEta_E%xAp4gYh zd+X*eKNSk1M`af!+4@>T;sh)SK6=mvgRoECzLldYzcVQQX?aeOJTSQCV&!qw(4S&; zNK>qW+0^OlBB5l3;UkU2UEZ>@+vCkCD)QZ8-or*kYkP6=)>8IQ;El9x1|TP{OT2FDiZs06<+LY=K?`{*wXPN(r-bT_zKz&}44Zdksh2AQYJsyT zfyE#C@?fX-P^bG*3(>)LjW4L%rk-aSa~zabhq-aY(m z5yNBOjBWR4k9i!&&k^=gt4#5dUa&y!e>wQBQ6&<6kg2Hf#?T0>GQxf9Yq_d!cG;Cr z0=)d^JK)8e$70@l$sUbOK;zAPrvM+G_g3<>8)NWx(#^Hof*_iF_E!F^g*97t)#NWx z3sqHq6&_-F6NMB4&&F=Yd0-CV((b9j%-u}wLRshRgB|2}CN6gtQCdaO-G(B%Z{JUH zS^B~Q;w-oNMzk@eD(h8JIZeW7ulNjh-K1de`_AE77Ns`KO`-aDmW;*sO6mTGJ+*`t zt@S4_g}C*r212WjI@c%DC&Cznr*3z3(ec-aBNC))?KccXmEQ}%_gF;c<%lM_zO&u7 zifV*P)Hk7edc!L#zp7%zMnm^PXnA2`3Gj0gH}9+`z6FEef*-%y!Hk>`kVI>+y`s%V z2oqfY%aju6$snwvW+c?GGV9^`ZdvMXbXgd)L|r7?Sv$x`sOH)L{^m)9Tc!JpTGHBK z{3)%+O%bO`0)79@e!eC^dK}Z7A@Qw?Zm>|JadcWBdT&fs{vc6brf)Gwz*DYsT*DbC zPUv>(qhfE2$F%POM%cj?df!*Qd}#o_1hoJ+1UfWIsDI+Oy2LvYLBS@o@GI= zmSjhDujbjPjG^_2VI{{Te*%$?LJH?=1LD#i+vA& zh+y!wqAV(*=$gn^3{(lVkgGE67{LrjnN8$dbw=M=HA2$NEa@SS1C`&q z7Iwt)WGp%gHK=vtXeIKoTgR3v9RDhvE&=ULZKlmy6(}q>!7Rprp~U34Az);O{4x4I zPC{xOs$x*Jx>mabvuPZ)O-R?gTy0#eD0`riwlKn5nKiUlnM|n&X>0+!XP_b0z~^_< zPXZ}zTuWR)tNo|zh3v<3n~0nC!iOqQXHF}JbVcVv5{JT)s_X1P3pQb^yr+vYkzI#x zAeBhP3ZrxtPnU)B+Q+xafSvC&y#A$k+agRR>GTCUn5ad;K-vO8@rZ3WQuJa|r;qSfPDYX2Zvw>(sCC^8hq68-Z4_Z^cpQGN&egPZmN+U!!HJ<0;IH@K$`W$-kG#3@-dPbUM=!a_)|o{N^5-%x$p z-jO@ugYSnM@-EX4gXeo`S0H!0EpnBT+CtrI=U=`@@I1*hvzY!Ax-yurQ_&V+G_g3D zoYTANn2ARAMA!LiARZR7UeSI*!$AER@u&Sk&FzqE5GJ#=QcY_KY zbk&bW_^u%tJB1?fK$j3;M5@ zsz>w5!&C{Kl53Um+)ofFB2DAnjeJW7vSjAPw%*pIn3OQ+`422(^54#MEz)GZ_>|X>Cpt3p9h$u&K=J4%j>$II; z(ODYS`*b}0E?tjG>b{RFrLQuTFwDp|=Mbz_Bd30ahvA>Ch~Ipi=S4){90~^73uKr6 zZJmG_dBuOKS3BoJ%ecF<=ua-aMnwd01+GhHo&A^ZI1z(yDgY?-ygtj2@+TKwrvd`% zL;{I_m7RZBC8`;c%r|?aDfQ1aXn73JtUIhw{>#UIN|0U~E29zCEpmeB7+xSU)w?!C z90X`W!k3l}hL`;Ee|mlY@YmaTAkIpE4-L`_`-hSI#bcJf224hPh{!(xSAX?0uRT3S zB@!BsO(~T7hqwLZ=4^!4*=}sx^O)@|L(qDqk04^!nF$*{yLa{7y`KanPqOTgN{4g5O?;lBrX zBNv#Kx1Pvan}0JVfcuEf0x00;k3S=pT-3T|^SQweM*oKd%{r4ag8Ux_()wrACN0@4 z^~-E5@Ubf82aj_Vc;*W!(z74TNs=D^lh`~b0X{b3g{;mWV+#nPj;}I}6g%qEu;c|p zC?eZK&{d!a#-W~@Hw7UFB$)hugJG9pubK<_e+0m;y=bPsb@yrOEc>$Ejh=h~&H?f7 zhIjOWfyq6R2Udr0^SRNlbgGltIa5O9TBWQtc+auE(^k7YmH`|uWa{P7fF5ENKIi;7 zQUTVZ6_%>GU^o1Ui*)qQcTlO43NcNjmm$>7LiMooMppp3E_TMr0zk6;07lN;qbViW zA4urXZp6YcjE&lW016MVeg-BpP zrI=poM!+w0m}&6r-NwNiEpMLtFUgzDAi3c->(m-770vE%itY{3@x?fo^tu7jprB8< z5-wj1Mjc&C3&b+uMumm<%-YGsisizRyim~q<0K8skPZZyNDEs2SYoOtM98BV;~>=( z?UqPEooeYhlX?l?m29pGcRL_(SmUNtz5B6fk8@vNH3zkpHI$|MF9EeA=~6^}pBV3=3LU^my$Lt#VOUH3>d_3@ zOf?d)8g`Xq@6ZdBBIt(-voequw2)24&;Ow20^X*U$=(}%SiP>f*y&08-ZW6*>igjG zk1}dZYDwu76F9+9;gGfhn+;mQ{1p-3?~`EEo`cRi$yWD+L_(mE9?W=zl-jTkf=@il zKcl(+VHob!d&SqlvL>=s;bNsyI6)@B9VN7kUErEp+CaC5kCbJ#55sXmGyGol?jZcZ zl9C*r=1ZcZ z%j_%_gq`GC8zc<=v^Ch=MiD3#)AvzEUb}FFi+*?5WVq-cm`&|i188C-gukpCB}~7Z z4^15airENwY=~pq&olH@9O&~|LbC97^>IdC_oKRP*Cy-LdUb9?%gq&0^%`cCmRM$; z+k~Rkq-$v^ki^^%S#35eXap+%>OJj+0|2p7G}p86mlZAn+P7PK7{XV{VaJA4op@BYTClFCD^tpzD3#w!6ia#b-Cc$fqeYoLLG6FgrLs z%d_iDB)yODSicA1-`Xnll=(3vNn^bH+4ch_k>`)euW)OmCX2?1We}`wR@SMCb$Ww9rcn6w#&-a!xmGPvqKW&%gl#iziP~_v$jO1@T-{^@P=cAmb0GVK*p(=XVvn;7s`Bq^gkE42&#PEepf=d^iHWNO+C{P6 zCCDsqnW}a3osvlcm{+-Z{h1v8O$|>3D+Dlferhw z$7)|@kOgoobjwc!%DS})3Dyn#9DNu^ZQVtU+ zb%k{+OQFC)5QhhM@m;(9Gs2(Tis?Qi-tpw4pcj8Q?y@*Mz}l%SE&BSuK!S=~3H6!fi6$?Z+dI&`cWGAN#~o{xXGy7hG_QFMvc(f?OQy{RlfM7h5a z?W-slGs0EU=dJaYk%q5SM3O=s{H6zdc==vGHyK&vqsOA$<{ZP!w07&Mz&oexB^wJVhhk-VttTdory`iFuimw?G9LStMOGXnTw4T?oyfQ~ zgP$w7Eq8s8K0r7cL#Na%heAYsi5FZqpPf68bI6Y6!GpE@HYxWQ`6+A1FY_9SqtCVr zrghqjIgCI>{f@GMnpG(73J_4NMR+jf(&clnF3C{>c8h81W^X3)3U5D9i_vYu$HQi% zC|`1IuL&DGk+{Gr=5B`$r#-5Z?oA|<#3iEDg^Kx*gSsU~#Rk=h@pRz5f{{Y_&{}cZ zVn&x0EcwSlO0`8|aU`H;+x0~ngnRPZB?kZtlT9uHuxomlLC5m!N14@;Rzk%a=u;qi zrPEqnRafa)e3>KC`lF)~SPETfl{xLbmrqE~DA4L8;M!j_HC~<+pVF<@;BV9&)LT%D zQ%4>f+lF}J<5K;523ZYG>;UC6cfa3_pLE;n(#PH^6X)%$`wtq09b(-Y;MjT4oA@+vcS1>6SJf9CW6 zhJ(^I?*ios&;1t{k`E?B0SX{p_foCKn<_&3eHnw_h=QSC%WI0}Xd_N@54h+n-1YA1wD~Kdoz6 zz3Z}E1K6AK&|0)O-oCRpVH|XcRn^Wz!PM|tS#7(LUs6e$h3fDgH^b1ubht(0M247I zQygjBQ?i2=W5b=4)x~ZD2l~=f7Rcx$YM-tTAViY@rJ+$hgu904%kPB304JVJpgO4B~j8hcQrwfk2(56JiGR)u#b!yRAF6? zc_i;*IXiL=c}(1Kj3;a4twn~u3N?Qj^5G_#KgzF8LdPbYalFCa4vecT#y^;;(IAdP zjEQ$E{SiBOV34i|qcw~pro})E7{n`2we;HTZmO!Sda3}%8-rTY^c4k^R8}CePT^Dq z9K8!v0q|2M9h~tj?a;M)oSi?RI1w0TP*o!iqREL!c-I2cUs3?jslo8|$%UvMe-%eH$;r*@vk9{13b21!_?}btT#iy)PtoYT`?B46GN9Lk4W2tX84o-iF@+Wm>j0~LwZW6f z`&~jr{gOOO=jiCDGA3%=VCm>!$AYO1(M??s6}0Jk9%tO-Bl>4f=nHA9vkf{8@FuXh z;mtT@-JT&&z%MbQz1tPX=9KQZWXH6{xbDoRGFO+zu7Q&*jJcwAZ6Ma#6f z*#)$GcBpjlpBzc;GcPREtq#4OJM`(f#`-ShVOX#LqVNJ8A*I=3M;~X7OzcP!j?U5d(p(!7d0u~>;ZT%6inO2z~T4pSVU{mM=0&CbL44CCN|`%j^J*R z=|;r?%EE#|bBuQ1b=qrP7Nu zd{N2P9Ku8CzPKj4_U~{;fD@N`o%TK7U45x)Rnv~kUmHjD8y;U*Nw}xfR3fZNn5kxY z5IS#c*kE-XzOkRGn6QvBQSERY6uC8g=*W>vrxGvbuIP>)_&7;o?1@V9KZ@AIXpST z>_zW?oy$EBd*{_CAkEI3ti8nIecO6%zR2@x(SU!HHFO(cl{#|lJMN;B_qf&jQYsvE z+V9}C&8YRYUP}XzEFnlj(g_oMh1+iA$WLv$4(lW(5mI#lB?l~O)w zLc;444m;NDThkKE`hSl2ka z!=kFWNi^xPrv7zcLBOmoE%-9$Ri7Lamxv_M5`g{4-COtiqqb+>oqC7NluUs-I@L7s zgA_P9OToREKiq19w8_L9h1E?N`IN?asRgy|=UdbIjH2Fc_H(VF8Ipotg->8)5m)Oy zQMpx&`Xz4f_&8K|MF<~s*pe8SO-GH&$JA?x~5DPW=SOD~Hf zP>rFbsTpuYFL#SKC-mK+*-{%=8MJh3?dtmE0rk&(bfT?)2_QRLnKtpj%s*{A-6lGy zy!qQqkW8(7-LINv^UNJETu#5c1g*E9jk^mmvszi<&Tm98 zVZDlR3zHv$A&1(3vNLr_?4(PdAM!c4eVgibh3_n1_gIB|Hfdd>nZErw+j&Eo(hY$M z{*CYFjo^%aeKX+lsob!0UiuJ~gxwY2mlm#!sw9!DO7xt1k=FtUf#)&?=u-X;G+tB& zl1+UbYQQ(mT7zRc;&{_08g>x4q3kn%0A<(mUQnF(+dP79uv^i!|8Ot?x8Rj|z`S!* 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 z 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 diff --git a/docs/media/tracer_utility_showcase_2.png b/docs/media/tracer_utility_showcase_2.png deleted file mode 100644 index 5e78e760a2aeadc5e8d24bf39e5f0d06fc08dc39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140818 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 - Click here to go to latest. - -{% endblock %} \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index 9332acafa3..0000000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -mike==1.1.2 -mkdocs-material==9.0.2 -mkdocs-git-revision-date-plugin==0.3.2 -mkdocs-exclude==1.0.2 \ No newline at end of file diff --git a/docs/roadmap.md b/docs/roadmap.md deleted file mode 100644 index f449979f2e..0000000000 --- a/docs/roadmap.md +++ /dev/null @@ -1,102 +0,0 @@ -## Overview - -This is our public roadmap that outlines the high level direction we are working towards, namely [Themes](#themes). We update this document when our priorities change: security and stability is our top priority. - -[See our latest list of activities »](https://github.com/orgs/awslabs/projects/76/views/2){target="_blank"} - -## Themes - -!!! info "Operational Excellence is priority number 1." - -Themes are key activities maintainers are focusing on, besides bug reports. These are updated periodically and you can get an idea of the overall progress in the [Milestones section](https://github.com/awslabs/aws-lambda-powertools-typescript/milestones){target="_blank"}. - -### New utilities - -After going GA, we want to start working on new utilities, specifically but not limited to the most commonly asked: **(1)** [Idempotency](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/447) and **(2)** [Parameters](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/846). - -### Lambda Layers - -We want to publish and maintain public Lambda Layers. - -Work on this area is mostly complete and layers are already available in all commercial regions, however we still have some [work to do around automation](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1124). - -### ES Modules support - -Another one of the most requested features is [ES Modules support](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/521). This topic requires some in-depth investigation to understand how to move forward and how to deal with some of our upstream dependencies. - -When the time comes, we might open a RFC to discuss options. - -### Improve operational excellence - -We continue to work on increasing operational excellence to remove as much undifferentiated heavylifting for maintainers, so that we can focus on delivering features that help you. - -This means improving our automation workflows, and project management, and test coverage. - -## Roadmap status definition - -

-```mermaid -graph LR - Ideas --> Backlog --> Work["Working on it"] --> Merged["Coming soon"] --> Shipped -``` -Visual representation -
- -Within our [public board](https://github.com/orgs/awslabs/projects/76/views/3){target="_blank"}, you'll see the following values in the `Status` column: - -* **Ideas**. Incoming and existing feature requests that are not being actively considered yet. These will be reviewed when bandwidth permits and based on demand. -* **Backlog**. Accepted feature requests or enhancements that we want to work on. -* **Working on it**. Features or enhancements we're currently either researching or implementing it. -* **Coming soon**. Any feature, enhancement, or bug fixes that have been merged and are coming in the next release. -* **Shipped**. Features or enhancements that are now available in the most recent release. -* **On hold**. Features or items that are currently blocked until further notice. -* **Pending review**. Features which implementation is mostly completed, but need review and some additional iterations. - -> Tasks or issues with empty `Status` will be categorized in upcoming review cycles. - -## Process - -
-```mermaid -graph LR - PFR[Feature request] --> Triage{Need RFC?} - Triage --> |Complex/major change or new utility?| RFC[Ask or write RFC] --> Approval{Approved?} - Triage --> |Minor feature or enhancement?| NoRFC[No RFC required] --> Approval - Approval --> |Yes| Backlog - Approval --> |No | Reject["Inform next steps"] - Backlog --> |Prioritized| Implementation - Backlog --> |Defer| WelcomeContributions["help-wanted label"] -``` -Visual representation -
- -Our end-to-end mechanism follows four major steps: - -* **Feature Request**. Ideas start with a [feature request](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=type/feature-request%2Ctriage&template=feature_request.yml&title=Feature+request%3A+TITLE){target="_blank"} to outline their use case at a high level. For complex use cases, maintainers might ask for/write a RFC. - * Maintainers review requests based on [project tenets](index.md#tenets){target="_blank"}, customers reaction (👍), and use cases. -* **Request-for-comments (RFC)**. Design proposals use our [RFC issue template](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=type/RFC%2Ctriage&template=rfc.yml&title=RFC%3A+TITLE){target="_blank"} to describe its implementation, challenges, developer experience, dependencies, and alternative solutions. - * This helps refine the initial idea with community feedback before a decision is made. -* **Decision**. After carefully reviewing and discussing them, maintainers make a final decision on whether to start implementation, defer or reject it, and update everyone with the next steps. -* **Implementation**. For approved features, maintainers give priority to the original authors for implementation unless it is a sensitive task that is best handled by maintainers. - -??? info "See [Maintainers](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/develop/MAINTAINERS.md) document to understand how we triage issues and pull requests, labels and governance." - -## Disclaimer - -The AWS Lambda Powertools team values feedback and guidance from its community of users, although final decisions on inclusion into the project will be made by AWS. - -We determine the high-level direction for our open roadmap based on customer feedback and popularity (👍🏽 and comments), security and operational impacts, and business value. Where features don’t meet our goals and longer-term strategy, we will communicate that clearly and openly as quickly as possible with an explanation of why the decision was made. - -## FAQs - -**Q: Why did you build this?** - -A: We know that our customers are making decisions and plans based on what we are developing, and we want to provide our customers the insights they need to plan. - -**Q: Why are there no dates on your roadmap?** - -A: Because job zero is security and operational stability, we can't provide specific target dates for features. The roadmap is subject to change at any time, and roadmap issues in this repository do not guarantee a feature will be launched as proposed. - -**Q: How can I provide feedback or ask for more information?** - -A: For existing features, you can directly comment on issues. For anything else, please open an issue. \ No newline at end of file diff --git a/docs/shared/.gitignore b/docs/shared/.gitignore deleted file mode 100644 index b722e9e13e..0000000000 --- a/docs/shared/.gitignore +++ /dev/null @@ -1 +0,0 @@ -!.gitignore \ No newline at end of file diff --git a/docs/snippets/logger/appendKeys.ts b/docs/snippets/logger/appendKeys.ts deleted file mode 100644 index ed779dab77..0000000000 --- a/docs/snippets/logger/appendKeys.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; - -// Add persistent log keys via the constructor -const logger = new Logger({ - persistentLogAttributes: { - aws_account_id: '123456789012', - aws_region: 'eu-west-1', - logger: { - name: '@aws-lambda-powertools/logger', - version: '0.0.1', - }, - extra_key: 'some-value', - }, -}); - -// OR add persistent log keys to an existing Logger instance with the appendKeys method: -// logger.appendKeys({ -// aws_account_id: '123456789012', -// aws_region: 'eu-west-1', -// logger: { -// name: '@aws-lambda-powertools/logger', -// version: '0.0.1', -// }, -// extra_key: "some-value" -// }); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - // If you don't want to log the "extra_key" attribute in your logs, you can remove it - logger.removeKeys(['extra_key']); - - // This info log will print all extra custom attributes added above - // Extra attributes: logger object with name and version of the logger library, awsAccountId, awsRegion - logger.info('This is an INFO log'); - logger.info('This is another INFO log'); - - return { - foo: 'bar', - }; -}; diff --git a/docs/snippets/logger/basicUsage.ts b/docs/snippets/logger/basicUsage.ts deleted file mode 100644 index 0d96caaf00..0000000000 --- a/docs/snippets/logger/basicUsage.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; - -const logger = new Logger({ serviceName: 'serverlessAirline' }); - -export const handler = async (_event, _context): Promise => { - logger.info('Hello World'); -}; diff --git a/docs/snippets/logger/bringYourOwnFormatterClass.ts b/docs/snippets/logger/bringYourOwnFormatterClass.ts deleted file mode 100644 index ab7e207cb9..0000000000 --- a/docs/snippets/logger/bringYourOwnFormatterClass.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { LogFormatter } from '@aws-lambda-powertools/logger'; -import { - LogAttributes, - UnformattedAttributes, -} from '@aws-lambda-powertools/logger/lib/types'; - -// Replace this line with your own type -type MyCompanyLog = LogAttributes; - -class MyCompanyLogFormatter extends LogFormatter { - public formatAttributes(attributes: UnformattedAttributes): MyCompanyLog { - return { - message: attributes.message, - service: attributes.serviceName, - environment: attributes.environment, - awsRegion: attributes.awsRegion, - correlationIds: { - awsRequestId: attributes.lambdaContext?.awsRequestId, - xRayTraceId: attributes.xRayTraceId, - }, - lambdaFunction: { - name: attributes.lambdaContext?.functionName, - arn: attributes.lambdaContext?.invokedFunctionArn, - memoryLimitInMB: attributes.lambdaContext?.memoryLimitInMB, - version: attributes.lambdaContext?.functionVersion, - coldStart: attributes.lambdaContext?.coldStart, - }, - logLevel: attributes.logLevel, - timestamp: this.formatTimestamp(attributes.timestamp), // You can extend this function - logger: { - sampleRateValue: attributes.sampleRateValue, - }, - }; - } -} - -export { MyCompanyLogFormatter }; diff --git a/docs/snippets/logger/bringYourOwnFormatterHandler.ts b/docs/snippets/logger/bringYourOwnFormatterHandler.ts deleted file mode 100644 index c374c4a255..0000000000 --- a/docs/snippets/logger/bringYourOwnFormatterHandler.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; -import { MyCompanyLogFormatter } from './utils/formatters/MyCompanyLogFormatter'; - -const logger = new Logger({ - logFormatter: new MyCompanyLogFormatter(), - logLevel: 'DEBUG', - serviceName: 'serverlessAirline', - sampleRateValue: 0.5, - persistentLogAttributes: { - awsAccountId: process.env.AWS_ACCOUNT_ID, - logger: { - name: '@aws-lambda-powertools/logger', - version: '0.0.1', - }, - }, -}); - -export const handler = async (event, context): Promise => { - logger.addContext(context); - - logger.info('This is an INFO log', { - correlationIds: { myCustomCorrelationId: 'foo-bar-baz' }, - }); -}; diff --git a/docs/snippets/logger/clearStateDecorator.ts b/docs/snippets/logger/clearStateDecorator.ts deleted file mode 100644 index e31d66b190..0000000000 --- a/docs/snippets/logger/clearStateDecorator.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -// Persistent attributes added outside the handler will be -// cached across invocations -const logger = new Logger({ - logLevel: 'DEBUG', - persistentLogAttributes: { - foo: 'bar', - biz: 'baz', - }, -}); - -class Lambda implements LambdaInterface { - // Enable the clear state flag - @logger.injectLambdaContext({ clearState: true }) - public async handler(event: unknown, _context: unknown): Promise { - // Persistent attributes added inside the handler will NOT be cached - // across invocations - if (event['special_key'] === '123456') { - logger.appendKeys({ - details: { special_key: '123456' }, - }); - } - logger.debug('This is a DEBUG log'); - } -} - -const myFunction = new Lambda(); -export const handler = myFunction.handler.bind(myFunction); // (1) diff --git a/docs/snippets/logger/clearStateMiddy.ts b/docs/snippets/logger/clearStateMiddy.ts deleted file mode 100644 index 7696c75b63..0000000000 --- a/docs/snippets/logger/clearStateMiddy.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger'; -import middy from '@middy/core'; - -// Persistent attributes added outside the handler will be -// cached across invocations -const logger = new Logger({ - logLevel: 'DEBUG', - persistentLogAttributes: { - foo: 'bar', - biz: 'baz', - }, -}); - -const lambdaHandler = async ( - event: { special_key: string }, - _context: unknown -): Promise => { - // Persistent attributes added inside the handler will NOT be cached - // across invocations - if (event['special_key'] === '123456') { - logger.appendKeys({ - details: { special_key: event['special_key'] }, - }); - } - logger.debug('This is a DEBUG log'); -}; - -// Enable the clear state flag -export const handler = middy(lambdaHandler).use( - injectLambdaContext(logger, { clearState: true }) -); diff --git a/docs/snippets/logger/createChild.ts b/docs/snippets/logger/createChild.ts deleted file mode 100644 index 351406c77b..0000000000 --- a/docs/snippets/logger/createChild.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; - -// This logger has a service name, some persistent attributes -// and log level set to INFO -const logger = new Logger({ - serviceName: 'serverlessAirline', - logLevel: 'INFO', - persistentLogAttributes: { - aws_account_id: '123456789012', - aws_region: 'eu-west-1', - }, -}); - -// This other logger inherits all the parent's attributes -// but the log level, which is now set to ERROR -const childLogger = logger.createChild({ - logLevel: 'ERROR', -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - logger.info('This is an INFO log, from the parent logger'); - logger.error('This is an ERROR log, from the parent logger'); - - childLogger.info('This is an INFO log, from the child logger'); - childLogger.error('This is an ERROR log, from the child logger'); -}; diff --git a/docs/snippets/logger/decorator.ts b/docs/snippets/logger/decorator.ts deleted file mode 100644 index 0cd9be0cf4..0000000000 --- a/docs/snippets/logger/decorator.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const logger = new Logger(); - -class Lambda implements LambdaInterface { - // Decorate your handler class method - @logger.injectLambdaContext() - public async handler(_event: unknown, _context: unknown): Promise { - logger.info('This is an INFO log with some context'); - } -} - -const myFunction = new Lambda(); -export const handler = myFunction.handler.bind(myFunction); // (1) diff --git a/docs/snippets/logger/eventDecorator.ts b/docs/snippets/logger/eventDecorator.ts deleted file mode 100644 index 9adf1518f1..0000000000 --- a/docs/snippets/logger/eventDecorator.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const logger = new Logger(); - -class Lambda implements LambdaInterface { - // Set the log event flag to true - @logger.injectLambdaContext({ logEvent: true }) - public async handler(_event: unknown, _context: unknown): Promise { - logger.info('This is an INFO log with some context'); - } -} - -const myFunction = new Lambda(); -export const handler = myFunction.handler.bind(myFunction); // (1) diff --git a/docs/snippets/logger/eventMiddy.ts b/docs/snippets/logger/eventMiddy.ts deleted file mode 100644 index a3648c734a..0000000000 --- a/docs/snippets/logger/eventMiddy.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger'; -import middy from '@middy/core'; - -const logger = new Logger(); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - logger.info('This is an INFO log with some context'); -}; - -export const handler = middy(lambdaHandler).use( - injectLambdaContext(logger, { logEvent: true }) -); diff --git a/docs/snippets/logger/extraData.ts b/docs/snippets/logger/extraData.ts deleted file mode 100644 index fbc6ea1771..0000000000 --- a/docs/snippets/logger/extraData.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; - -const logger = new Logger(); - -export const handler = async ( - event: unknown, - _context: unknown -): Promise => { - const myImportantVariable = { - foo: 'bar', - }; - - // Log additional data in single log items - - // As second parameter - logger.info('This is a log with an extra variable', { - data: myImportantVariable, - }); - - // You can also pass multiple parameters containing arbitrary objects - logger.info( - 'This is a log with 3 extra objects', - { data: myImportantVariable }, - { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }, - { lambdaEvent: event } - ); - - // Simply pass a string for logging additional data - logger.info('This is a log with additional string value', 'string value'); - - // Directly passing an object containing both the message and the additional info - const logObject = { - message: 'This is a log message', - additionalValue: 42, - }; - - logger.info(logObject); - - return { - foo: 'bar', - }; -}; diff --git a/docs/snippets/logger/logError.ts b/docs/snippets/logger/logError.ts deleted file mode 100644 index 68ad60bbc4..0000000000 --- a/docs/snippets/logger/logError.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; - -const logger = new Logger(); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - try { - throw new Error('Unexpected error #1'); - } catch (error) { - // Log information about the error using the default "error" key - logger.error('This is the first error', error as Error); - } - - try { - throw new Error('Unexpected error #2'); - } catch (error) { - // Log information about the error using a custom "myCustomErrorKey" key - logger.error('This is the second error', { - myCustomErrorKey: error as Error, - }); - } -}; diff --git a/docs/snippets/logger/logSampling.ts b/docs/snippets/logger/logSampling.ts deleted file mode 100644 index ea808f18ca..0000000000 --- a/docs/snippets/logger/logSampling.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; - -// Notice the log level set to 'ERROR' -const logger = new Logger({ - logLevel: 'ERROR', - sampleRateValue: 0.5, -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - // This log item (equal to log level 'ERROR') will be printed to standard output - // in all Lambda invocations - logger.error('This is an ERROR log'); - - // These log items (below the log level 'ERROR') have ~50% chance - // of being printed in a Lambda invocation - logger.debug('This is a DEBUG log that has 50% chance of being printed'); - logger.info('This is an INFO log that has 50% chance of being printed'); - logger.warn('This is a WARN log that has 50% chance of being printed'); - - // Optional: refresh sample rate calculation on runtime - // logger.refreshSampleRateCalculation(); -}; diff --git a/docs/snippets/logger/manual.ts b/docs/snippets/logger/manual.ts deleted file mode 100644 index 00eaa38ac5..0000000000 --- a/docs/snippets/logger/manual.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; - -const logger = new Logger(); - -export const handler = async (_event, context): Promise => { - logger.addContext(context); - - logger.info('This is an INFO log with some context'); -}; diff --git a/docs/snippets/logger/middy.ts b/docs/snippets/logger/middy.ts deleted file mode 100644 index f0dcbaa5aa..0000000000 --- a/docs/snippets/logger/middy.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger'; -import middy from '@middy/core'; - -const logger = new Logger(); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - logger.info('This is an INFO log with some context'); -}; - -export const handler = middy(lambdaHandler).use(injectLambdaContext(logger)); diff --git a/docs/snippets/logger/sam.ts b/docs/snippets/logger/sam.ts deleted file mode 100644 index 74247f5ad3..0000000000 --- a/docs/snippets/logger/sam.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; - -// Logger parameters fetched from the environment variables (see template.yaml tab) -const logger = new Logger(); -logger.info('Hello World'); - -// You can also pass the parameters in the constructor -// const logger = new Logger({ -// logLevel: 'WARN', -// serviceName: 'serverlessAirline' -// }); diff --git a/docs/snippets/logger/unitTesting.ts b/docs/snippets/logger/unitTesting.ts deleted file mode 100644 index d120be2858..0000000000 --- a/docs/snippets/logger/unitTesting.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ContextExamples as dummyContext } from '@aws-lambda-powertools/commons'; - -describe('MyUnitTest', () => { - test('Lambda invoked successfully', async () => { - const testEvent = { test: 'test' }; - await handler(testEvent, dummyContext); - }); -}); diff --git a/docs/snippets/metrics/addHighResolutionMetric.ts b/docs/snippets/metrics/addHighResolutionMetric.ts deleted file mode 100644 index f2981b8514..0000000000 --- a/docs/snippets/metrics/addHighResolutionMetric.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { - Metrics, - MetricUnits, - MetricResolution, -} from '@aws-lambda-powertools/metrics'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric( - 'successfulBooking', - MetricUnits.Count, - 1, - MetricResolution.High - ); -}; diff --git a/docs/snippets/metrics/addMetadata.ts b/docs/snippets/metrics/addMetadata.ts deleted file mode 100644 index 6836191b91..0000000000 --- a/docs/snippets/metrics/addMetadata.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { - Metrics, - MetricUnits, - logMetrics, -} from '@aws-lambda-powertools/metrics'; -import middy from '@middy/core'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); - metrics.addMetadata('bookingId', '7051cd10-6283-11ec-90d6-0242ac120003'); -}; - -export const handler = middy(lambdaHandler).use(logMetrics(metrics)); diff --git a/docs/snippets/metrics/basicUsage.ts b/docs/snippets/metrics/basicUsage.ts deleted file mode 100644 index 868f5b67af..0000000000 --- a/docs/snippets/metrics/basicUsage.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); -}; diff --git a/docs/snippets/metrics/captureColdStartMetricDecorator.ts b/docs/snippets/metrics/captureColdStartMetricDecorator.ts deleted file mode 100644 index d2e050224e..0000000000 --- a/docs/snippets/metrics/captureColdStartMetricDecorator.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -export class MyFunction implements LambdaInterface { - @metrics.logMetrics({ captureColdStartMetric: true }) - public async handler(_event: unknown, _context: unknown): Promise { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); - } -} diff --git a/docs/snippets/metrics/captureColdStartMetricMiddy.ts b/docs/snippets/metrics/captureColdStartMetricMiddy.ts deleted file mode 100644 index c598a09e03..0000000000 --- a/docs/snippets/metrics/captureColdStartMetricMiddy.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { - Metrics, - MetricUnits, - logMetrics, -} from '@aws-lambda-powertools/metrics'; -import middy from '@middy/core'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); -}; - -export const handler = middy(lambdaHandler).use( - logMetrics(metrics, { captureColdStartMetric: true }) -); diff --git a/docs/snippets/metrics/createMetrics.ts b/docs/snippets/metrics/createMetrics.ts deleted file mode 100644 index e7065e8f29..0000000000 --- a/docs/snippets/metrics/createMetrics.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); - metrics.publishStoredMetrics(); -}; diff --git a/docs/snippets/metrics/customDimensions.ts b/docs/snippets/metrics/customDimensions.ts deleted file mode 100644 index 8eeaebebda..0000000000 --- a/docs/snippets/metrics/customDimensions.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addDimension('environment', 'prod'); - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); - metrics.publishStoredMetrics(); -}; diff --git a/docs/snippets/metrics/decorator.ts b/docs/snippets/metrics/decorator.ts deleted file mode 100644 index 9d69c5fa56..0000000000 --- a/docs/snippets/metrics/decorator.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -class Lambda implements LambdaInterface { - @metrics.logMetrics() - public async handler(_event: unknown, _context: unknown): Promise { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); - } -} - -const handlerClass = new Lambda(); -export const handler = handlerClass.handler.bind(handlerClass); // (1) diff --git a/docs/snippets/metrics/defaultDimensions.ts b/docs/snippets/metrics/defaultDimensions.ts deleted file mode 100644 index c0bc92b99b..0000000000 --- a/docs/snippets/metrics/defaultDimensions.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', - defaultDimensions: { environment: 'prod', foo: 'bar' }, -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); -}; diff --git a/docs/snippets/metrics/defaultDimensionsDecorator.ts b/docs/snippets/metrics/defaultDimensionsDecorator.ts deleted file mode 100644 index 23796a16fc..0000000000 --- a/docs/snippets/metrics/defaultDimensionsDecorator.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); -const DEFAULT_DIMENSIONS = { environment: 'prod', foo: 'bar' }; - -export class Lambda implements LambdaInterface { - // Decorate your handler class method - @metrics.logMetrics({ defaultDimensions: DEFAULT_DIMENSIONS }) - public async handler(_event: unknown, _context: unknown): Promise { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); - } -} - -const handlerClass = new Lambda(); -export const handler = handlerClass.handler.bind(handlerClass); // (1) diff --git a/docs/snippets/metrics/defaultDimensionsMiddy.ts b/docs/snippets/metrics/defaultDimensionsMiddy.ts deleted file mode 100644 index b75ed56a6b..0000000000 --- a/docs/snippets/metrics/defaultDimensionsMiddy.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { - Metrics, - MetricUnits, - logMetrics, -} from '@aws-lambda-powertools/metrics'; -import middy from '@middy/core'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); -}; - -// Wrap the handler with middy -export const handler = middy(lambdaHandler) - // Use the middleware by passing the Metrics instance as a parameter - .use( - logMetrics(metrics, { - defaultDimensions: { environment: 'prod', foo: 'bar' }, - }) - ); diff --git a/docs/snippets/metrics/manual.ts b/docs/snippets/metrics/manual.ts deleted file mode 100644 index d64a3b5393..0000000000 --- a/docs/snippets/metrics/manual.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 10); - metrics.publishStoredMetrics(); -}; diff --git a/docs/snippets/metrics/middy.ts b/docs/snippets/metrics/middy.ts deleted file mode 100644 index 0a8330e931..0000000000 --- a/docs/snippets/metrics/middy.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { - Metrics, - MetricUnits, - logMetrics, -} from '@aws-lambda-powertools/metrics'; -import middy from '@middy/core'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); -}; - -export const handler = middy(lambdaHandler).use(logMetrics(metrics)); diff --git a/docs/snippets/metrics/multiValueMetrics.ts b/docs/snippets/metrics/multiValueMetrics.ts deleted file mode 100644 index 6614e39409..0000000000 --- a/docs/snippets/metrics/multiValueMetrics.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('performedActionA', MetricUnits.Count, 2); - // do something else... - metrics.addMetric('performedActionA', MetricUnits.Count, 1); -}; diff --git a/docs/snippets/metrics/sam.ts b/docs/snippets/metrics/sam.ts deleted file mode 100644 index 79cb23e522..0000000000 --- a/docs/snippets/metrics/sam.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; - -// Metrics parameters fetched from the environment variables (see template.yaml tab) -const metrics = new Metrics(); -metrics.addMetric('successfulBooking', MetricUnits.Count, 1); - -// You can also pass the parameters in the constructor -// const metrics = new Metrics({ -// namespace: 'serverlessAirline', -// serviceName: 'orders' -// }); diff --git a/docs/snippets/metrics/setDefaultDimensions.ts b/docs/snippets/metrics/setDefaultDimensions.ts deleted file mode 100644 index ddb54f7691..0000000000 --- a/docs/snippets/metrics/setDefaultDimensions.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); -metrics.setDefaultDimensions({ environment: 'prod', foo: 'bar' }); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); -}; diff --git a/docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts b/docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts deleted file mode 100644 index d7b811aa3b..0000000000 --- a/docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -class Lambda implements LambdaInterface { - @metrics.logMetrics() - public async handler(_event: unknown, _context: unknown): Promise { - metrics.addDimension('metricUnit', 'milliseconds'); - // This metric will have the "metricUnit" dimension, and no "metricType" dimension: - metrics.addMetric('latency', MetricUnits.Milliseconds, 56); - - const singleMetric = metrics.singleMetric(); - // This metric will have the "metricType" dimension, and no "metricUnit" dimension: - singleMetric.addDimension('metricType', 'business'); - singleMetric.addMetric('orderSubmitted', MetricUnits.Count, 1); - } -} - -const handlerClass = new Lambda(); -export const handler = handlerClass.handler.bind(handlerClass); // (1) diff --git a/docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts b/docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts deleted file mode 100644 index 66642078df..0000000000 --- a/docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { - Metrics, - MetricUnits, - logMetrics, -} from '@aws-lambda-powertools/metrics'; -import middy from '@middy/core'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addDimension('metricUnit', 'milliseconds'); - // This metric will have the "metricUnit" dimension, and no "metricType" dimension: - metrics.addMetric('latency', MetricUnits.Milliseconds, 56); - - const singleMetric = metrics.singleMetric(); - // This metric will have the "metricType" dimension, and no "metricUnit" dimension: - singleMetric.addDimension('metricType', 'business'); - singleMetric.addMetric('orderSubmitted', MetricUnits.Count, 1); -}; - -export const handler = middy(lambdaHandler).use(logMetrics(metrics)); diff --git a/docs/snippets/metrics/throwOnEmptyMetrics.ts b/docs/snippets/metrics/throwOnEmptyMetrics.ts deleted file mode 100644 index 8fc01ae4b3..0000000000 --- a/docs/snippets/metrics/throwOnEmptyMetrics.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { - Metrics, - MetricUnits, - logMetrics, -} from '@aws-lambda-powertools/metrics'; -import middy from '@middy/core'; - -const metrics = new Metrics({ - namespace: 'serverlessAirline', - serviceName: 'orders', -}); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - metrics.addMetric('successfulBooking', MetricUnits.Count, 1); -}; - -export const handler = middy(lambdaHandler).use( - logMetrics(metrics, { throwOnEmptyMetrics: true }) -); diff --git a/docs/snippets/package.json b/docs/snippets/package.json deleted file mode 100644 index 15b880f94e..0000000000 --- a/docs/snippets/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "docs", - "version": "0.0.1", - "description": "A collection code snippets for the AWS Lambda Powertools for TypeScript docs", - "author": { - "name": "Amazon Web Services", - "url": "https://aws.amazon.com" - }, - "scripts": { - "test": "echo 'Not Applicable'", - "test:e2e": "echo 'Not Applicable'", - "package": "echo 'Not applicable'", - "build": "echo 'Not Applicable'", - "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", - "lint-fix": "eslint --fix --ext .ts,.js --no-error-on-unmatched-pattern ." - }, - "lint-staged": { - "*.ts": "npm run lint-fix" - }, - "license": "MIT-0", - "repository": { - "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" - }, - "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" - }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript#readme", - "devDependencies": { - "@aws-sdk/client-appconfigdata": "^3.245.0", - "@aws-sdk/client-dynamodb": "^3.245.0", - "@aws-sdk/client-secrets-manager": "^3.250.0", - "@aws-sdk/client-ssm": "^3.245.0", - "@aws-sdk/util-dynamodb": "^3.245.0", - "aws-sdk": "^2.1354.0", - "aws-sdk-client-mock": "^2.0.1", - "aws-sdk-client-mock-jest": "^2.0.1", - "axios": "^1.2.4" - } -} \ No newline at end of file diff --git a/docs/snippets/parameters/adjustingCacheTTL.ts b/docs/snippets/parameters/adjustingCacheTTL.ts deleted file mode 100644 index 50f89e1537..0000000000 --- a/docs/snippets/parameters/adjustingCacheTTL.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; - -const parametersProvider = new SSMProvider(); - -export const handler = async (): Promise => { - // Retrieve a single parameter and cache it for 1 minute - const parameter = await parametersProvider.get('/my/parameter', { - maxAge: 60, - }); // (1) - console.log(parameter); - - // Retrieve multiple parameters from a path prefix and cache them for 2 minutes - const parameters = await parametersProvider.getMultiple('/my/path/prefix', { - maxAge: 120, - }); - for (const [key, value] of Object.entries(parameters || {})) { - console.log(`${key}: ${value}`); - } -}; diff --git a/docs/snippets/parameters/appConfigProvider.ts b/docs/snippets/parameters/appConfigProvider.ts deleted file mode 100644 index 32ef2a2b1e..0000000000 --- a/docs/snippets/parameters/appConfigProvider.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; -import type { AppConfigDataClientConfig } from '@aws-sdk/client-appconfigdata'; - -const clientConfig: AppConfigDataClientConfig = { region: 'us-east-1' }; -const configsProvider = new AppConfigProvider({ - application: 'my-app', - environment: 'my-env', - clientConfig, -}); - -export const handler = async (): Promise => { - // Retrieve a config - const config = await configsProvider.get('my-config'); - console.log(config); -}; diff --git a/docs/snippets/parameters/appConfigProviderCustomClient.ts b/docs/snippets/parameters/appConfigProviderCustomClient.ts deleted file mode 100644 index d4315fb58c..0000000000 --- a/docs/snippets/parameters/appConfigProviderCustomClient.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; -import { AppConfigDataClient } from '@aws-sdk/client-appconfigdata'; - -// construct your clients with any custom configuration -const appConfigClient = new AppConfigDataClient({ region: 'us-east-1' }); -// pass the client to the provider -const configsProvider = new AppConfigProvider({ - awsSdkV3Client: appConfigClient, -}); - -export const handler = async (): Promise => { - const config = await configsProvider.get('my-config'); - console.log(config); -}; diff --git a/docs/snippets/parameters/clientConfig.ts b/docs/snippets/parameters/clientConfig.ts deleted file mode 100644 index da2353bf3d..0000000000 --- a/docs/snippets/parameters/clientConfig.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; -import type { SSMClientConfig } from '@aws-sdk/client-ssm'; - -const clientConfig: SSMClientConfig = { region: 'us-east-1' }; -const parametersProvider = new SSMProvider({ clientConfig }); - -export const handler = async (): Promise => { - // Retrieve a single parameter - const value = await parametersProvider.get('/my/parameter'); - console.log(value); -}; diff --git a/docs/snippets/parameters/dynamoDBProvider.ts b/docs/snippets/parameters/dynamoDBProvider.ts deleted file mode 100644 index da4516e139..0000000000 --- a/docs/snippets/parameters/dynamoDBProvider.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; - -const dynamoDBProvider = new DynamoDBProvider({ tableName: 'my-table' }); - -export const handler = async (): Promise => { - // Retrieve a value from DynamoDB - const value = await dynamoDBProvider.get('my-parameter'); - console.log(value); -}; diff --git a/docs/snippets/parameters/dynamoDBProviderCustomClient.ts b/docs/snippets/parameters/dynamoDBProviderCustomClient.ts deleted file mode 100644 index 2eb94ef190..0000000000 --- a/docs/snippets/parameters/dynamoDBProviderCustomClient.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; -import { DynamoDBClient } from '@aws-sdk/client-dynamodb'; - -// construct your clients with any custom configuration -const dynamoDBClient = new DynamoDBClient({ region: 'us-east-1' }); -// pass the client to the provider -const valuesProvider = new DynamoDBProvider({ awsSdkV3Client: dynamoDBClient }); - -export const handler = async (): Promise => { - // Retrieve a single value - const value = await valuesProvider.get('my-value'); - console.log(value); -}; diff --git a/docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts b/docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts deleted file mode 100644 index 2f58806c44..0000000000 --- a/docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; - -const dynamoDBProvider = new DynamoDBProvider({ - tableName: 'my-table', - keyAttr: 'key', - sortAttr: 'sort', - valueAttr: 'val', -}); - -export const handler = async (): Promise => { - const value = await dynamoDBProvider.get('my-parameter'); - console.log(value); -}; diff --git a/docs/snippets/parameters/dynamoDBProviderLocal.ts b/docs/snippets/parameters/dynamoDBProviderLocal.ts deleted file mode 100644 index 963b0fcc6a..0000000000 --- a/docs/snippets/parameters/dynamoDBProviderLocal.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; - -const dynamoDBProvider = new DynamoDBProvider({ - tableName: 'my-table', - clientConfig: { - endpoint: 'http://localhost:8000', - }, -}); - -export const handler = async (): Promise => { - // Retrieve a value from DynamoDB - const value = await dynamoDBProvider.get('my-parameter'); - console.log(value); -}; diff --git a/docs/snippets/parameters/dynamoDBProviderMultiple.ts b/docs/snippets/parameters/dynamoDBProviderMultiple.ts deleted file mode 100644 index 53c48868ba..0000000000 --- a/docs/snippets/parameters/dynamoDBProviderMultiple.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; - -const dynamoDBProvider = new DynamoDBProvider({ tableName: 'my-table' }); - -export const handler = async (): Promise => { - /** - * Retrieve multiple values by performing a Query on the DynamoDB table. - * This returns a dict with the sort key attribute as dict key. - */ - const values = await dynamoDBProvider.getMultiple('my-hash-key'); - for (const [key, value] of Object.entries(values || {})) { - // key: param-a - // value: my-value-a - console.log(`${key}: ${value}`); - } -}; diff --git a/docs/snippets/parameters/forceFetch.ts b/docs/snippets/parameters/forceFetch.ts deleted file mode 100644 index 26188d1033..0000000000 --- a/docs/snippets/parameters/forceFetch.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; - -export const handler = async (): Promise => { - // Retrieve a single parameter - const parameter = await getParameter('/my/parameter', { forceFetch: true }); - console.log(parameter); -}; diff --git a/docs/snippets/parameters/getAppConfig.ts b/docs/snippets/parameters/getAppConfig.ts deleted file mode 100644 index b71bc196e3..0000000000 --- a/docs/snippets/parameters/getAppConfig.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig'; - -export const handler = async (): Promise => { - // Retrieve a configuration, latest version - const config = await getAppConfig('my-configuration', { - environment: 'my-env', - application: 'my-app', - }); - console.log(config); -}; diff --git a/docs/snippets/parameters/getParameter.ts b/docs/snippets/parameters/getParameter.ts deleted file mode 100644 index 4a2d1c8cc4..0000000000 --- a/docs/snippets/parameters/getParameter.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; - -export const handler = async (): Promise => { - // Retrieve a single parameter - const parameter = await getParameter('/my/parameter'); - console.log(parameter); -}; diff --git a/docs/snippets/parameters/getParameters.ts b/docs/snippets/parameters/getParameters.ts deleted file mode 100644 index bf38cdc31c..0000000000 --- a/docs/snippets/parameters/getParameters.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { getParameters } from '@aws-lambda-powertools/parameters/ssm'; - -export const handler = async (): Promise => { - /** - * Retrieve multiple parameters from a path prefix recursively. - * This returns an object with the parameter name as key - */ - const parameters = await getParameters('/my/path/prefix'); - for (const [key, value] of Object.entries(parameters || {})) { - console.log(`${key}: ${value}`); - } -}; diff --git a/docs/snippets/parameters/getParametersByName.ts b/docs/snippets/parameters/getParametersByName.ts deleted file mode 100644 index 17679aedfb..0000000000 --- a/docs/snippets/parameters/getParametersByName.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm'; -import type { SSMGetParametersByNameOptionsInterface } from '@aws-lambda-powertools/parameters/ssm'; - -const props: Record = { - '/develop/service/commons/telemetry/config': { - maxAge: 300, - transform: 'json', - }, - '/no_cache_param': { maxAge: 0 }, - '/develop/service/payment/api/capture/url': {}, // When empty or undefined, it uses default values -}; - -export const handler = async (): Promise => { - // This returns an object with the parameter name as key - const parameters = await getParametersByName(props, { maxAge: 60 }); - for (const [key, value] of Object.entries(parameters)) { - console.log(`${key}: ${value}`); - } -}; diff --git a/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts b/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts deleted file mode 100644 index a44a4e1db8..0000000000 --- a/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm'; -import type { SSMGetParametersByNameOptionsInterface } from '@aws-lambda-powertools/parameters/ssm'; - -const props: Record = { - '/develop/service/commons/telemetry/config': { - maxAge: 300, - transform: 'json', - }, - '/this/param/does/not/exist': {}, // <- Example of non-existent parameter -}; - -export const handler = async (): Promise => { - const { _errors: errors, ...parameters } = await getParametersByName(props, { - throwOnError: false, - }); - - // Handle gracefully, since `/this/param/does/not/exist` will only be available in `_errors` - if (errors && errors.length) { - console.error(`Unable to retrieve parameters: ${errors.join(',')}`); - } - - for (const [key, value] of Object.entries(parameters)) { - console.log(`${key}: ${value}`); - } -}; diff --git a/docs/snippets/parameters/getSecret.ts b/docs/snippets/parameters/getSecret.ts deleted file mode 100644 index 58ce012ced..0000000000 --- a/docs/snippets/parameters/getSecret.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { getSecret } from '@aws-lambda-powertools/parameters/secrets'; - -export const handler = async (): Promise => { - // Retrieve a single secret - const secret = await getSecret('my-secret'); - console.log(secret); -}; diff --git a/docs/snippets/parameters/sdkOptions.ts b/docs/snippets/parameters/sdkOptions.ts deleted file mode 100644 index 87eba09c1a..0000000000 --- a/docs/snippets/parameters/sdkOptions.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets'; -import type { GetSecretValueCommandInput } from '@aws-sdk/client-secrets-manager'; - -const secretsProvider = new SecretsProvider(); - -export const handler = async (): Promise => { - const sdkOptions: Partial = { - VersionId: 'e62ec170-6b01-48c7-94f3-d7497851a8d2', - }; - /** - * The 'VersionId' argument will be passed to the underlying - * `GetSecretValueCommand` call. - */ - const secret = await secretsProvider.get('my-secret', { sdkOptions }); - console.log(secret); -}; diff --git a/docs/snippets/parameters/secretsProvider.ts b/docs/snippets/parameters/secretsProvider.ts deleted file mode 100644 index ca15e1ef08..0000000000 --- a/docs/snippets/parameters/secretsProvider.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets'; -import type { SecretsManagerClientConfig } from '@aws-sdk/client-secrets-manager'; - -const clientConfig: SecretsManagerClientConfig = { region: 'us-east-1' }; -const secretsProvider = new SecretsProvider({ clientConfig }); - -export const handler = async (): Promise => { - // Retrieve a single secret - const secret = await secretsProvider.get('my-secret'); - console.log(secret); -}; diff --git a/docs/snippets/parameters/secretsProviderCustomClient.ts b/docs/snippets/parameters/secretsProviderCustomClient.ts deleted file mode 100644 index 4fb008eb2b..0000000000 --- a/docs/snippets/parameters/secretsProviderCustomClient.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets'; -import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager'; - -// construct your clients with any custom configuration -const secretsManagerClient = new SecretsManagerClient({ region: 'us-east-1' }); -// pass the client to the provider -const secretsProvider = new SecretsProvider({ - awsSdkV3Client: secretsManagerClient, -}); - -export const handler = async (): Promise => { - // Retrieve a single secret - const secret = await secretsProvider.get('my-secret'); - console.log(secret); -}; diff --git a/docs/snippets/parameters/ssmProvider.ts b/docs/snippets/parameters/ssmProvider.ts deleted file mode 100644 index 172bc39d3e..0000000000 --- a/docs/snippets/parameters/ssmProvider.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; -import type { SSMClientConfig } from '@aws-sdk/client-ssm'; - -const clientConfig: SSMClientConfig = { region: 'us-east-1' }; -const parametersProvider = new SSMProvider({ clientConfig }); - -export const handler = async (): Promise => { - // Retrieve a single parameter - const parameter = await parametersProvider.get('/my/parameter'); - console.log(parameter); - - // Retrieve multiple parameters from a path prefix - const parameters = await parametersProvider.getMultiple('/my/path/prefix'); - for (const [key, value] of Object.entries(parameters || {})) { - console.log(`${key}: ${value}`); - } -}; diff --git a/docs/snippets/parameters/ssmProviderCustomClient.ts b/docs/snippets/parameters/ssmProviderCustomClient.ts deleted file mode 100644 index ee30b13931..0000000000 --- a/docs/snippets/parameters/ssmProviderCustomClient.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; -import { SSMClient } from '@aws-sdk/client-ssm'; - -// construct your clients with any custom configuration -const ssmClient = new SSMClient({ region: 'us-east-1' }); -// pass the client to the provider -const parametersProvider = new SSMProvider({ awsSdkV3Client: ssmClient }); - -export const handler = async (): Promise => { - // Retrieve a single parameter - const parameter = await parametersProvider.get('/my/parameter'); - console.log(parameter); -}; diff --git a/docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts b/docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts deleted file mode 100644 index 9ffdb95f10..0000000000 --- a/docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; - -const parametersProvider = new SSMProvider(); - -export const handler = async (): Promise => { - const decryptedValue = await parametersProvider.get( - '/my/encrypted/parameter', - { decrypt: true } - ); // (1) - console.log(decryptedValue); - - const noRecursiveValues = await parametersProvider.getMultiple( - '/my/path/prefix', - { recursive: false } - ); - for (const [key, value] of Object.entries(noRecursiveValues || {})) { - console.log(`${key}: ${value}`); - } -}; diff --git a/docs/snippets/parameters/testingYourCodeClearCache.ts b/docs/snippets/parameters/testingYourCodeClearCache.ts deleted file mode 100644 index beb2d1f53a..0000000000 --- a/docs/snippets/parameters/testingYourCodeClearCache.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { clearCaches } from '@aws-lambda-powertools/parameters'; - -describe('Function tests', () => { - beforeEach(() => { - jest.clearAllMocks(); - }); - - afterEach(() => { - clearCaches(); - }); - - // ... -}); diff --git a/docs/snippets/parameters/testingYourCodeClientHandler.ts b/docs/snippets/parameters/testingYourCodeClientHandler.ts deleted file mode 100644 index 9264d5eff3..0000000000 --- a/docs/snippets/parameters/testingYourCodeClientHandler.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { getSecret } from '@aws-lambda-powertools/parameters/secrets'; - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise> => { - try { - const parameter = await getSecret('my-secret'); - - return { - value: parameter, - }; - } catch (error) { - return { - message: 'Unable to retrieve secret', - }; - } -}; diff --git a/docs/snippets/parameters/testingYourCodeClientJestMock.ts b/docs/snippets/parameters/testingYourCodeClientJestMock.ts deleted file mode 100644 index 3fe93a696f..0000000000 --- a/docs/snippets/parameters/testingYourCodeClientJestMock.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { handler } from './testingYourCodeFunctionsHandler'; -import { - SecretsManagerClient, - GetSecretValueCommand, - ResourceNotFoundException, -} from '@aws-sdk/client-secrets-manager'; -import { mockClient } from 'aws-sdk-client-mock'; -import 'aws-sdk-client-mock-jest'; - -describe('Function tests', () => { - const client = mockClient(SecretsManagerClient); - - beforeEach(() => { - jest.clearAllMocks(); - }); - - afterEach(() => { - client.reset(); - }); - - test('it returns the correct error message', async () => { - // Prepare - client.on(GetSecretValueCommand).rejectsOnce( - new ResourceNotFoundException({ - $metadata: { - httpStatusCode: 404, - }, - message: 'Unable to retrieve secret', - }) - ); - - // Act - const result = await handler({}, {}); - - // Assess - expect(result).toStrictEqual({ message: 'Unable to retrieve secret' }); - }); -}); diff --git a/docs/snippets/parameters/testingYourCodeFunctionsHandler.ts b/docs/snippets/parameters/testingYourCodeFunctionsHandler.ts deleted file mode 100644 index 1b33075e1f..0000000000 --- a/docs/snippets/parameters/testingYourCodeFunctionsHandler.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise> => { - const parameter = await getParameter('my/param'); - - return { - value: parameter, - }; -}; diff --git a/docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts b/docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts deleted file mode 100644 index 3b42aa9596..0000000000 --- a/docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { handler } from './testingYourCodeFunctionsHandler'; -import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; - -jest.mock('@aws-lambda-powertools/parameters/ssm', () => ({ - getParameter: jest.fn(), -})); -const mockedGetParameter = getParameter as jest.MockedFunction< - typeof getParameter ->; - -describe('Function tests', () => { - beforeEach(() => { - mockedGetParameter.mockClear(); - }); - - test('it returns the correct response', async () => { - // Prepare - mockedGetParameter.mockResolvedValue('my/param'); - - // Act - const result = await handler({}, {}); - - // Assess - expect(result).toEqual({ - value: 'my/param', - }); - }); -}); diff --git a/docs/snippets/parameters/testingYourCodeProvidersHandler.ts b/docs/snippets/parameters/testingYourCodeProvidersHandler.ts deleted file mode 100644 index 3c631ba78f..0000000000 --- a/docs/snippets/parameters/testingYourCodeProvidersHandler.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; - -const provider = new AppConfigProvider({ - environment: 'dev', - application: 'my-app', -}); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise> => { - const config = await provider.get('my-config'); - - return { - value: config, - }; -}; diff --git a/docs/snippets/parameters/testingYourCodeProvidersJestMock.ts b/docs/snippets/parameters/testingYourCodeProvidersJestMock.ts deleted file mode 100644 index 96d4d025d9..0000000000 --- a/docs/snippets/parameters/testingYourCodeProvidersJestMock.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { handler } from './testingYourCodeFunctionsHandler'; -import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; - -describe('Function tests', () => { - const providerSpy = jest.spyOn(AppConfigProvider.prototype, 'get'); - - beforeEach(() => { - jest.clearAllMocks(); - }); - - test('it retrieves the config once and uses the correct name', async () => { - // Prepare - const expectedConfig = { - feature: { - enabled: true, - name: 'paywall', - }, - }; - providerSpy.mockResolvedValueOnce(expectedConfig); - - // Act - const result = await handler({}, {}); - - // Assess - expect(result).toStrictEqual({ value: expectedConfig }); - expect(providerSpy).toHaveBeenCalledTimes(1); - expect(providerSpy).toHaveBeenCalledWith('my-config'); - }); -}); diff --git a/docs/snippets/parameters/transform.ts b/docs/snippets/parameters/transform.ts deleted file mode 100644 index 1eb2288f5e..0000000000 --- a/docs/snippets/parameters/transform.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; - -export const handler = async (): Promise => { - const valueFromJson = await getParameter('/my/json/parameter', { - transform: 'json', - }); - console.log(valueFromJson); -}; diff --git a/docs/snippets/parameters/transformAuto.ts b/docs/snippets/parameters/transformAuto.ts deleted file mode 100644 index f40a9f2f09..0000000000 --- a/docs/snippets/parameters/transformAuto.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; - -const parametersProvider = new SSMProvider(); - -export const handler = async (): Promise => { - const values = await parametersProvider.getMultiple('/param', { - transform: 'auto', - }); - for (const [key, value] of Object.entries(values || {})) { - console.log(`${key}: ${value}`); - } -}; diff --git a/docs/snippets/parameters/transformPartialFailures.ts b/docs/snippets/parameters/transformPartialFailures.ts deleted file mode 100644 index 81a6a27815..0000000000 --- a/docs/snippets/parameters/transformPartialFailures.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; - -const parametersProvider = new SSMProvider(); - -export const handler = async (): Promise => { - /** - * This will display: - * /param/a: [some value] - * /param/b: [some value] - * /param/c: undefined - */ - const parameters = await parametersProvider.getMultiple('/param', { - transform: 'json', - }); - for (const [key, value] of Object.entries(parameters || {})) { - console.log(`${key}: ${value}`); - } - - try { - // This will throw a TransformParameterError - const parameters2 = await parametersProvider.getMultiple('/param', { - transform: 'json', - throwOnTransformError: true, - }); - for (const [key, value] of Object.entries(parameters2 || {})) { - console.log(`${key}: ${value}`); - } - } catch (err) { - console.error(err); - } -}; diff --git a/docs/snippets/parameters/transformProvider.ts b/docs/snippets/parameters/transformProvider.ts deleted file mode 100644 index 39e2e5b5be..0000000000 --- a/docs/snippets/parameters/transformProvider.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets'; - -const secretsProvider = new SecretsProvider(); - -export const handler = async (): Promise => { - // Transform a JSON string - const json = await secretsProvider.get('my-secret-json', { - transform: 'json', - }); - console.log(json); - - // Transform a Base64 encoded string (e.g. binary) - const binary = await secretsProvider.getMultiple('my-secret-binary', { - transform: 'binary', - }); - console.log(binary); -}; diff --git a/docs/snippets/tracer/accessRootTraceId.ts b/docs/snippets/tracer/accessRootTraceId.ts deleted file mode 100644 index f868d8b5e2..0000000000 --- a/docs/snippets/tracer/accessRootTraceId.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - try { - } catch (err) { - const rootTraceId = tracer.getRootXrayTraceId(); - - // Example of returning an error response - return { - statusCode: 500, - body: `Internal Error - Please contact support and quote the following id: ${rootTraceId}`, - headers: { _X_AMZN_TRACE_ID: rootTraceId }, - }; - } -}; diff --git a/docs/snippets/tracer/basicUsage.ts b/docs/snippets/tracer/basicUsage.ts deleted file mode 100644 index 8f00dc4c7c..0000000000 --- a/docs/snippets/tracer/basicUsage.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -export const handler = async (_event, _context): Promise => { - tracer.getSegment(); -}; diff --git a/docs/snippets/tracer/captureAWS.ts b/docs/snippets/tracer/captureAWS.ts deleted file mode 100644 index 0f86993e15..0000000000 --- a/docs/snippets/tracer/captureAWS.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { S3 } from 'aws-sdk'; -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); -tracer.captureAWSClient(new S3()); diff --git a/docs/snippets/tracer/captureAWSAll.ts b/docs/snippets/tracer/captureAWSAll.ts deleted file mode 100644 index bc4d4875e7..0000000000 --- a/docs/snippets/tracer/captureAWSAll.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; -import AWS from 'aws-sdk'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); -tracer.captureAWS(AWS); diff --git a/docs/snippets/tracer/captureAWSv3.ts b/docs/snippets/tracer/captureAWSv3.ts deleted file mode 100644 index f6f0d59a8f..0000000000 --- a/docs/snippets/tracer/captureAWSv3.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager'; -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); -tracer.captureAWSv3Client(new SecretsManagerClient({})); diff --git a/docs/snippets/tracer/captureHTTP.ts b/docs/snippets/tracer/captureHTTP.ts deleted file mode 100644 index 506fbb0778..0000000000 --- a/docs/snippets/tracer/captureHTTP.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; -import axios from 'axios'; // (1) - -new Tracer({ serviceName: 'serverlessAirline' }); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - await axios.get('https://httpbin.org/status/200'); -}; diff --git a/docs/snippets/tracer/captureMethodDecorator.ts b/docs/snippets/tracer/captureMethodDecorator.ts deleted file mode 100644 index 1b15cf44c7..0000000000 --- a/docs/snippets/tracer/captureMethodDecorator.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -class Lambda implements LambdaInterface { - // Decorate your class method - @tracer.captureMethod() // (1) - public async getChargeId(): Promise { - /* ... */ - return 'foo bar'; - } - - public async handler(_event: unknown, _context: unknown): Promise { - await this.getChargeId(); - } -} - -const handlerClass = new Lambda(); -export const handler = handlerClass.handler.bind(handlerClass); // (2) diff --git a/docs/snippets/tracer/captureMethodManual.ts b/docs/snippets/tracer/captureMethodManual.ts deleted file mode 100644 index d4ad79a86b..0000000000 --- a/docs/snippets/tracer/captureMethodManual.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -const getChargeId = async (): Promise => { - const parentSubsegment = tracer.getSegment(); // This is the subsegment currently active - let subsegment; - if (parentSubsegment) { - // Create subsegment for the function & set it as active - subsegment = parentSubsegment.addNewSubsegment(`### chargeId`); - tracer.setSegment(subsegment); - } - - let res; - try { - /* ... */ - // Add the response as metadata - tracer.addResponseAsMetadata(res, 'chargeId'); - } catch (err) { - // Add the error as metadata - tracer.addErrorAsMetadata(err as Error); - throw err; - } - - if (parentSubsegment && subsegment) { - // Close subsegment (the AWS Lambda one is closed automatically) - subsegment.close(); - // Set the facade segment as active again - tracer.setSegment(parentSubsegment); - } - - return res; -}; - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - await getChargeId(); -}; diff --git a/docs/snippets/tracer/decorator.ts b/docs/snippets/tracer/decorator.ts deleted file mode 100644 index 616c3eb63d..0000000000 --- a/docs/snippets/tracer/decorator.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -class Lambda implements LambdaInterface { - // Decorate your handler class method - @tracer.captureLambdaHandler() - public async handler(_event: unknown, _context: unknown): Promise { - tracer.getSegment(); - } -} - -const handlerClass = new Lambda(); -export const handler = handlerClass.handler.bind(handlerClass); // (1) diff --git a/docs/snippets/tracer/disableCaptureResponseHandler.ts b/docs/snippets/tracer/disableCaptureResponseHandler.ts deleted file mode 100644 index 9a08a31dcc..0000000000 --- a/docs/snippets/tracer/disableCaptureResponseHandler.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; -import { LambdaInterface } from '@aws-lambda-powertools/commons'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -class Lambda implements LambdaInterface { - @tracer.captureLambdaHandler({ captureResponse: false }) - public async handler(_event: unknown, _context: unknown): Promise { - tracer.getSegment(); - } -} - -const handlerClass = new Lambda(); -export const handler = handlerClass.handler.bind(handlerClass); diff --git a/docs/snippets/tracer/disableCaptureResponseMethod.ts b/docs/snippets/tracer/disableCaptureResponseMethod.ts deleted file mode 100644 index 26b6e2519a..0000000000 --- a/docs/snippets/tracer/disableCaptureResponseMethod.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { LambdaInterface } from '@aws-lambda-powertools/commons'; -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -class Lambda implements LambdaInterface { - @tracer.captureMethod({ captureResponse: false }) - public async getChargeId(): Promise { - /* ... */ - return 'foo bar'; - } - - public async handler(_event: unknown, _context: unknown): Promise { - /* ... */ - } -} - -const handlerClass = new Lambda(); -export const handler = handlerClass.handler.bind(handlerClass); diff --git a/docs/snippets/tracer/disableCaptureResponseMiddy.ts b/docs/snippets/tracer/disableCaptureResponseMiddy.ts deleted file mode 100644 index 82aa1b345c..0000000000 --- a/docs/snippets/tracer/disableCaptureResponseMiddy.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer'; -import middy from '@middy/core'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - /* ... */ -}; - -// Wrap the handler with middy -export const handler = middy(lambdaHandler) - // Use the middleware by passing the Tracer instance as a parameter, - // but specify the captureResponse option as false. - .use(captureLambdaHandler(tracer, { captureResponse: false })); diff --git a/docs/snippets/tracer/escapeHatch.ts b/docs/snippets/tracer/escapeHatch.ts deleted file mode 100644 index b4b169cdec..0000000000 --- a/docs/snippets/tracer/escapeHatch.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const serviceName = 'serverlessAirline'; -const logger = new Logger({ serviceName: serviceName }); -const tracer = new Tracer({ serviceName: serviceName }); -tracer.provider.setLogger(logger); diff --git a/docs/snippets/tracer/manual.ts b/docs/snippets/tracer/manual.ts deleted file mode 100644 index af56f12cff..0000000000 --- a/docs/snippets/tracer/manual.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - const segment = tracer.getSegment(); // This is the facade segment (the one that is created by AWS Lambda) - let subsegment; - if (segment) { - // Create subsegment for the function & set it as active - subsegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`); - tracer.setSegment(subsegment); - } - - // Annotate the subsegment with the cold start & serviceName - tracer.annotateColdStart(); - tracer.addServiceNameAnnotation(); - - try { - // Add the response as metadata - tracer.addResponseAsMetadata({}, process.env._HANDLER); - } catch (err) { - // Add the error as metadata - tracer.addErrorAsMetadata(err as Error); - throw err; - } finally { - if (segment && subsegment) { - // Close subsegment (the AWS Lambda one is closed automatically) - subsegment.close(); - // Set back the facade segment as active again - tracer.setSegment(segment); - } - } - - return {}; -}; diff --git a/docs/snippets/tracer/middy.ts b/docs/snippets/tracer/middy.ts deleted file mode 100644 index e3b4f95df6..0000000000 --- a/docs/snippets/tracer/middy.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer'; -import middy from '@middy/core'; // (1) - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -const lambdaHandler = async ( - _event: unknown, - _context: unknown -): Promise => { - tracer.putAnnotation('successfulBooking', true); -}; - -// Wrap the handler with middy -export const handler = middy(lambdaHandler) - // Use the middleware by passing the Tracer instance as a parameter - .use(captureLambdaHandler(tracer)); diff --git a/docs/snippets/tracer/putAnnotation.ts b/docs/snippets/tracer/putAnnotation.ts deleted file mode 100644 index c83363417f..0000000000 --- a/docs/snippets/tracer/putAnnotation.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - tracer.putAnnotation('successfulBooking', true); -}; diff --git a/docs/snippets/tracer/putMetadata.ts b/docs/snippets/tracer/putMetadata.ts deleted file mode 100644 index 4458907925..0000000000 --- a/docs/snippets/tracer/putMetadata.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; - -const tracer = new Tracer({ serviceName: 'serverlessAirline' }); - -export const handler = async ( - _event: unknown, - _context: unknown -): Promise => { - tracer.putMetadata('paymentResponse', { - foo: 'bar', - }); -}; diff --git a/docs/snippets/tracer/sam.ts b/docs/snippets/tracer/sam.ts deleted file mode 100644 index 9d84200b26..0000000000 --- a/docs/snippets/tracer/sam.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Tracer } from '@aws-lambda-powertools/tracer'; - -// Tracer parameter fetched from the environment variables (see template.yaml tab) -const tracer = new Tracer(); -tracer.getSegment(); - -// You can also pass the parameter in the constructor -// const tracer = new Tracer({ -// serviceName: 'serverlessAirline' -// }); diff --git a/docs/snippets/tsconfig.json b/docs/snippets/tsconfig.json deleted file mode 100644 index 6f72111cb7..0000000000 --- a/docs/snippets/tsconfig.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "compilerOptions": { - "experimentalDecorators": true, - "noImplicitAny": true, - "target": "ES2020", - "module": "commonjs", - "declaration": true, - "declarationMap": true, - "outDir": "lib", - "removeComments": false, - "strict": true, - "inlineSourceMap": true, - "moduleResolution": "node", - "resolveJsonModule": true, - "pretty": true, - "esModuleInterop": true, - "allowJs": true, - "baseUrl": ".", - "paths": { - "@aws-lambda-powertools/parameters/ssm": [ - "../../packages/parameters/lib/ssm" - ], - "@aws-lambda-powertools/parameters/secrets": [ - "../../packages/parameters/lib/secrets" - ], - "@aws-lambda-powertools/parameters/appconfig": [ - "../../packages/parameters/lib/appconfig" - ], - "@aws-lambda-powertools/parameters/dynamodb": [ - "../../packages/parameters/lib/dynamodb" - ], - }, - }, - "exclude": [ - "./node_modules" - ], - "watchOptions": { - "watchFile": "useFsEvents", - "watchDirectory": "useFsEvents", - "fallbackPolling": "dynamicPriority" - }, - "lib": [ - "ES2020" - ], - "types": [ - "node" - ] -} \ No newline at end of file diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css deleted file mode 100644 index 1e7d781b9b..0000000000 --- a/docs/stylesheets/extra.css +++ /dev/null @@ -1,32 +0,0 @@ -@font-face { - font-size: 0.65rem; -} - -.md-grid { - max-width: 81vw; -} - -.md-typeset a { - border-bottom: 0.1px dashed black; -} - -.md-nav__link--active { - font-weight: bold; -} - -.md-typeset .admonition, .md-typeset details { - font-size: 0.70rem; -} - -[data-md-color-scheme="slate"] { - --md-typeset-a-color: rgb(28, 152, 152); -} - -.copyMe { - cursor: pointer; - border-bottom: 0.1px dashed black; -} - -p code { - font-weight: bolder; -} \ No newline at end of file diff --git a/docs/utilities/.gitignore b/docs/utilities/.gitignore deleted file mode 100644 index b722e9e13e..0000000000 --- a/docs/utilities/.gitignore +++ /dev/null @@ -1 +0,0 @@ -!.gitignore \ No newline at end of file diff --git a/docs/utilities/parameters.md b/docs/utilities/parameters.md deleted file mode 100644 index b66a71a286..0000000000 --- a/docs/utilities/parameters.md +++ /dev/null @@ -1,462 +0,0 @@ ---- -title: Parameters -description: Utility ---- - -???+ warning - **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/awslabs/aws-lambda-powertools-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. - -The Parameters utility provides high-level functions to retrieve one or multiple parameter values from [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html){target="_blank"}, [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html){target="_blank"}, [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html){target="_blank"}, [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html){target="_blank"}, or your own parameter store. - -## Key features - -* Retrieve one or multiple parameters from the underlying provider -* Cache parameter values for a given amount of time (defaults to 5 seconds) -* Transform parameter values from JSON or base64 encoded strings -* Bring Your Own Parameter Store Provider - -## Getting started - -The Parameters Utility helps to retrieve parameters from the System Manager Parameter Store (SSM), secrets from the Secrets Manager, and application configuration from AppConfig. Additionally, the utility also offers support for a DynamoDB provider, enabling the retrieval of arbitrary parameters from specified tables. - -### Installation - -???+ note - This utility supports **[AWS SDK for JavaScript v3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) only**. This allows the utility to be modular, and you to install only the SDK packages you need and keep your bundle size small. - -Depending on the provider you want to use, install the library and the corresponding AWS SDK package: - -=== "SSMProvider" - ```bash - npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm - ``` - -=== "SecretsProvider" - ```bash - npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager - ``` - -=== "AppConfigProvider" - ```bash - npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata - ``` - -=== "DynamoDBProvider" - ```bash - npm install @aws-lambda-powertools/parameters @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb - ``` - -???+ tip - If you are using the `nodejs18.x` runtime, the AWS SDK for JavaScript v3 is already installed and you can install the utility only. - -### IAM Permissions - -This utility requires additional permissions to work as expected. - -???+ note - Different parameter providers require different permissions. - -| Provider | Function/Method | IAM Permission | -| --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -| SSM | **`getParameter`**, **`SSMProvider.get`** | **`ssm:GetParameter`** | -| SSM | **`getParameters`**, **`SSMProvider.getMultiple`** | **`ssm:GetParametersByPath`** | -| SSM | **`getParametersByName`**, **`SSMProvider.getParametersByName`** | **`ssm:GetParameter`** and **`ssm:GetParameters`** | -| SSM | If using **`decrypt: true`** | You must add an additional permission **`kms:Decrypt`** | -| Secrets | **`getSecret`**, **`SecretsProvider.get`** | **`secretsmanager:GetSecretValue`** | -| DynamoDB | **`DynamoDBProvider.get`** | **`dynamodb:GetItem`** | -| DynamoDB | **`DynamoDBProvider.getMultiple`** | **`dynamodb:Query`** | -| AppConfig | **`getAppConfig`**, **`AppConfigProvider.getAppConfig`** | **`appconfig:GetLatestConfiguration`** and **`appconfig:StartConfigurationSession`** | - -### Fetching parameters - -You can retrieve a single parameter using the `getParameter` high-level function. - -```typescript hl_lines="1 5" title="Fetching a single parameter from SSM" ---8<-- "docs/snippets/parameters/getParameter.ts" -``` - -For multiple parameters, you can use either: - -* `getParameters` to recursively fetch all parameters by path. -* `getParametersByName` to fetch distinct parameters by their full name. It also accepts custom caching, transform, decrypt per parameter. - -=== "getParameters" - - ```typescript hl_lines="1 8" title="Fetching multiple parameters by path from SSM" - --8<-- "docs/snippets/parameters/getParameters.ts" - ``` - -=== "getParametersByName" - - ```typescript hl_lines="1-2 4-11 15" title="Fetching multiple parameters by names from SSM" - --8<-- "docs/snippets/parameters/getParametersByName.ts" - ``` - -???+ tip "`getParametersByName` supports graceful error handling" - By default, the provider will throw a `GetParameterError` when any parameter fails to be fetched. You can override it by setting `throwOnError: false`. - - When disabled, instead the provider will take the following actions: - - * Add failed parameter name in the `_errors` key, _e.g._, `{ _errors: [ '/param1', '/param2' ] }` - * Keep only successful parameter names and their values in the response - * Throw `GetParameterError` if any of your parameters is named `_errors` - -```typescript hl_lines="9 13-15 18" ---8<-- "docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts" -``` - -### Fetching secrets - -You can fetch secrets stored in Secrets Manager using `getSecrets`. - -```typescript hl_lines="1 5" title="Fetching secrets" ---8<-- "docs/snippets/parameters/getSecret.ts" -``` - -### Fetching app configurations - -You can fetch application configurations in AWS AppConfig using `getAppConfig`. - -The following will retrieve the latest version and store it in the cache. - -```typescript hl_lines="1 5-8" title="Fetching latest config from AppConfig" ---8<-- "docs/snippets/parameters/getAppConfig.ts" -``` - -## Advanced - -### Adjusting cache TTL - -By default, the provider will cache parameters retrieved in-memory for 5 seconds. - -You can adjust how long values should be kept in cache by using the param `maxAge`, when using `get()` or `getMultiple()` methods across all providers. - -???+ tip - If you want to set the same TTL for all parameters, you can set the `POWERTOOLS_PARAMETERS_MAX_AGE` environment variable. **This will override the default TTL of 5 seconds but can be overridden by the `maxAge` parameter**. - -```typescript hl_lines="8 14" title="Caching parameters values in memory for longer than 5 seconds" ---8<-- "docs/snippets/parameters/adjustingCacheTTL.ts" -``` - -1. Options passed to `get()`, `getMultiple()`, and `getParametersByName()` will override the values set in `POWERTOOLS_PARAMETERS_MAX_AGE` environment variable. - -???+ info - The `maxAge` parameter is also available in high level functions like `getParameter`, `getSecret`, etc. - -### Always fetching the latest - -If you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the `forceFetch` parameter. - -```typescript hl_lines="5" title="Forcefully fetching the latest parameter whether TTL has expired or not" ---8<-- "docs/snippets/parameters/forceFetch.ts" -``` - -### Built-in provider class - -For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use their respective Provider Classes directly. - -???+ tip - This can be used to retrieve values from other regions, change the retry behavior, etc. - -#### SSMProvider - -```typescript hl_lines="4-5" title="Example with SSMProvider for further extensibility" ---8<-- "docs/snippets/parameters/ssmProvider.ts" -``` - -The AWS Systems Manager Parameter Store provider supports two additional arguments for the `get()` and `getMultiple()` methods: - -| Parameter | Default | Description | -| ------------- | ------- | --------------------------------------------------------------------------------------------- | -| **decrypt** | `false` | Will automatically decrypt the parameter (see required [IAM Permissions](#iam-permissions)). | -| **recursive** | `true` | For `getMultiple()` only, will fetch all parameter values recursively based on a path prefix. | - -???+ tip - If you want to always decrypt parameters, you can set the `POWERTOOLS_PARAMETERS_SSM_DECRYPT=true` environment variable. **This will override the default value of `false` but can be overridden by the `decrypt` parameter**. - -```typescript hl_lines="6 12" title="Example with get() and getMultiple()" ---8<-- "docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts" -``` - -1. Options passed to `get()`, `getMultiple()`, and `getParametersByName()` will override the values set in `POWERTOOLS_PARAMETERS_SSM_DECRYPT` environment variable. - -#### SecretsProvider - -```typescript hl_lines="4-5" title="Example with SecretsProvider for further extensibility" ---8<-- "docs/snippets/parameters/secretsProvider.ts" -``` - -#### AppConfigProvider - -The AWS AppConfig provider requires two arguments when initialized: - -| Parameter | Mandatory in constructor | Alternative | Description | -| --------------- | ------------------------ | -------------------------------------- | -------------------------------------------------------- | -| **application** | No | `POWERTOOLS_SERVICE_NAME` env variable | The application in which your config resides. | -| **environment** | Yes | _(N/A)_ | The environment that corresponds to your current config. | - -```typescript hl_lines="4 8" title="Example with AppConfigProvider for further extensibility" ---8<-- "docs/snippets/parameters/appConfigProvider.ts" -``` - -#### DynamoDBProvider - -The DynamoDB Provider does not have any high-level functions and needs to know the name of the DynamoDB table containing the parameters. - -**DynamoDB table structure for single parameters** - -For single parameters, you must use `id` as the [partition key](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey) for that table. - -???+ example - - DynamoDB table with `id` partition key and `value` as attribute - - | id | value | - | ------------ | -------- | - | my-parameter | my-value | - -With this table, `await dynamoDBProvider.get('my-param')` will return `my-value`. - -=== "handler.ts" - ```typescript hl_lines="3 7" - --8<-- "docs/snippets/parameters/dynamoDBProvider.ts" - ``` - -=== "DynamoDB Local example" - You can initialize the DynamoDB provider pointing to [DynamoDB Local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html) using the `endpoint` field in the `clientConfig` parameter: - - ```typescript hl_lines="5-7" - --8<-- "docs/snippets/parameters/dynamoDBProviderLocal.ts" - ``` - -**DynamoDB table structure for multiple values parameters** - -You can retrieve multiple parameters sharing the same `id` by having a sort key named `sk`. - -???+ example - - DynamoDB table with `id` primary key, `sk` as sort key and `value` as attribute - - | id | sk | value | - | ----------- | ------- | ---------- | - | my-hash-key | param-a | my-value-a | - | my-hash-key | param-b | my-value-b | - | my-hash-key | param-c | my-value-c | - -With this table, `await dynamoDBProvider.getMultiple('my-hash-key')` will return a dictionary response in the shape of `sk:value`. - -=== "handler.ts" - ```typescript hl_lines="3 10" - --8<-- "docs/snippets/parameters/dynamoDBProviderMultiple.ts" - ``` - -=== "values response object" - - ```json - { - "param-a": "my-value-a", - "param-b": "my-value-b", - "param-c": "my-value-c" - } - ``` - -**Customizing DynamoDBProvider** - -DynamoDB provider can be customized at initialization to match your table structure: - -| Parameter | Mandatory | Default | Description | -| ------------- | --------- | ------- | --------------------------------------------------------------------------------------------------------- | -| **tableName** | **Yes** | *(N/A)* | Name of the DynamoDB table containing the parameter values. | -| **keyAttr** | No | `id` | Hash key for the DynamoDB table. | -| **sortAttr** | No | `sk` | Range key for the DynamoDB table. You don't need to set this if you don't use the `getMultiple()` method. | -| **valueAttr** | No | `value` | Name of the attribute containing the parameter value. | - -```typescript hl_lines="3-8" title="Customizing DynamoDBProvider to suit your table design" ---8<-- "docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts" -``` - -### Deserializing values with transform parameter - -For parameters stored in JSON or Base64 format, you can use the `transform` argument for deserialization. - -???+ info - The `transform` argument is available across all providers, including the high level functions. - -=== "High level functions" - ```typescript hl_lines="4" - --8<-- "docs/snippets/parameters/transform.ts" - ``` - -=== "Providers" - ```typescript hl_lines="7 10" - --8<-- "docs/snippets/parameters/transformProvider.ts" - ``` - -#### Partial transform failures with `getMultiple()` - -If you use `transform` with `getMultiple()`, you can have a single malformed parameter value. To prevent failing the entire request, the method will return an `undefined` value for the parameters that failed to transform. - -You can override this by setting the `throwOnTransformError` argument to `true`. If you do so, a single transform error will throw a **`TransformParameterError`** error. - -For example, if you have three parameters, */param/a*, */param/b* and */param/c*, but */param/c* is malformed: - -```typescript hl_lines="23" title="Throwing TransformParameterError at first malformed parameter" ---8<-- "docs/snippets/parameters/transformPartialFailures.ts" -``` - -#### Auto-transform values on suffix - -If you use `transform` with `getMultiple()`, you might want to retrieve and transform parameters encoded in different formats. - -You can do this with a single request by using `transform: 'auto'`. This will instruct any provider to to infer its type based on the suffix and transform it accordingly. - -???+ info - `transform: 'auto'` feature is available across all providers, including the high level functions. - -```typescript hl_lines="7" title="Deserializing parameter values based on their suffix" ---8<-- "docs/snippets/parameters/transformAuto.ts" -``` - -For example, if you have three parameters: two with the following suffixes `.json` and `.binary` and one without any suffix: - -| Parameter name | Parameter value | -| --------------- | -------------------- | -| /param/a | [some encoded value] | -| /param/a.json | [some encoded value] | -| /param/a.binary | [some encoded value] | - -The return of `await parametersProvider.getMultiple('/param', transform: 'auto');` call will be an object like: - -```json -{ - "a": [some encoded value], - "a.json": [some decoded value], - "b.binary": [some decoded value] -} -``` - -The two parameters with a suffix will be decoded, while the one without a suffix will be returned as is. - -### Passing additional SDK arguments - -You can use a special `sdkOptions` object argument to pass any supported option directly to the underlying SDK method. - -```typescript hl_lines="8 14" title="Specify a VersionId for a secret" ---8<-- "docs/snippets/parameters/sdkOptions.ts" -``` - -Here is the mapping between this utility's functions and methods and the underlying SDK: - -| Provider | Function/Method | Client name | Function name | -| ------------------- | ------------------------------ | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| SSM Parameter Store | `getParameter` | `@aws-sdk/client-ssm` | [GetParameterCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparametercommand.html) | -| SSM Parameter Store | `getParameters` | `@aws-sdk/client-ssm` | [GetParametersByPathCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparametersbypathcommand.html) | -| SSM Parameter Store | `SSMProvider.get` | `@aws-sdk/client-ssm` | [GetParameterCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparametercommand.html) | -| SSM Parameter Store | `SSMProvider.getMultiple` | `@aws-sdk/client-ssm` | [GetParametersByPathCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparametersbypathcommand.html) | -| Secrets Manager | `getSecret` | `@aws-sdk/client-secrets-manager` | [GetSecretValueCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/getsecretvaluecommand.html) | -| Secrets Manager | `SecretsProvider.get` | `@aws-sdk/client-secrets-manager` | [GetSecretValueCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/getsecretvaluecommand.html) | -| AppConfig | `AppConfigProvider.get` | `@aws-sdk/client-appconfigdata` | [StartConfigurationSessionCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/startconfigurationsessioncommand.html) & [GetLatestConfigurationCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/getlatestconfigurationcommand.html) | -| AppConfig | `getAppConfig` | `@aws-sdk/client-appconfigdata` | [StartConfigurationSessionCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/startconfigurationsessioncommand.html) & [GetLatestConfigurationCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/getlatestconfigurationcommand.html) | -| DynamoDB | `DynamoDBProvider.get` | `@aws-sdk/client-dynamodb` | [GetItemCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/classes/getitemcommand.html) | -| DynamoDB | `DynamoDBProvider.getMultiple` | `@aws-sdk/client-dynamodb` | [QueryCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/classes/querycommand.html) | - -### Bring your own AWS SDK v3 client - -You can use the `awsSdkV3Client` parameter via any of the available [Provider Classes](#built-in-provider-class). - -| Provider | Client | -| --------------------------------------- | ----------------------------- | -| [SSMProvider](#ssmprovider) | `new SSMClient();` | -| [SecretsProvider](#secretsprovider) | `new SecretsManagerClient();` | -| [AppConfigProvider](#appconfigprovider) | `new AppConfigDataClient();` | -| [DynamoDBProvider](#dynamodbprovider) | `new DynamoDBClient();` | - -???+ question "When is this useful?" - Injecting a custom AWS SDK v3 client allows you to [apply tracing](/core/tracer/#patching-aws-sdk-clients) or make unit/snapshot testing easier, including SDK customizations. - -=== "SSMProvider" - ```typescript hl_lines="5 7" - --8<-- "docs/snippets/parameters/ssmProviderCustomClient.ts" - ``` - -=== "SecretsProvider" - ```typescript hl_lines="5 8" - --8<-- "docs/snippets/parameters/secretsProviderCustomClient.ts" - ``` - -=== "AppConfigProvider" - ```typescript hl_lines="5 8" - --8<-- "docs/snippets/parameters/appConfigProviderCustomClient.ts" - ``` - -=== "DynamoDBProvider" - ```typescript hl_lines="5 7" - --8<-- "docs/snippets/parameters/dynamoDBProviderCustomClient.ts" - ``` - -### Customizing AWS SDK v3 configuration - -The **`clientConfig`** parameter enables you to pass in a custom [config object](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/configuring-the-jssdk.html) when constructing any of the built-in provider classes. - -???+ tip - You can use a custom session for retrieving parameters cross-account/region and for snapshot testing. - - When using VPC private endpoints, you can pass a custom client altogether. It's also useful for testing when injecting fake instances. - - -```typescript hl_lines="2 4-5" ---8<-- "docs/snippets/parameters/clientConfig.ts" -``` - -## Testing your code - -### Mocking parameter values - -For unit testing your applications, you can mock the calls to the parameters utility to avoid calling AWS APIs. This can be achieved in a number of ways - in this example, we use [Jest mock functions](https://jestjs.io/docs/es6-class-mocks#the-4-ways-to-create-an-es6-class-mock) to patch the `getParameters` function. - -=== "handler.test.ts" - ```typescript hl_lines="2 4-9 13 18" - --8<-- "docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts" - ``` - -=== "handler.ts" - ```typescript - --8<-- "docs/snippets/parameters/testingYourCodeFunctionsHandler.ts" - ``` - -With this pattern in place, you can customize the return values of the mocked function to test different scenarios without calling AWS APIs. - -A similar pattern can be applied also to any of the built-in provider classes - in this other example, we use [Jest spyOn method](https://jestjs.io/docs/es6-class-mocks#mocking-a-specific-method-of-a-class) to patch the `get` function of the `AppConfigProvider` class. This is useful also when you want to test that the correct arguments are being passed to the Parameters utility. - -=== "handler.test.ts" - ```typescript hl_lines="2 5 8 19 26-27" - --8<-- "docs/snippets/parameters/testingYourCodeProvidersJestMock.ts" - ``` - -=== "handler.ts" - ```typescript - --8<-- "docs/snippets/parameters/testingYourCodeProvidersHandler.ts" - ``` - -In some other cases, you might want to mock the AWS SDK v3 client itself, in these cases we recommend using the [`aws-sdk-client-mock`](https://www.npmjs.com/package/aws-sdk-client-mock) and [`aws-sdk-client-mock-jest`](https://www.npmjs.com/package/aws-sdk-client-mock-jest) libraries. This is useful when you want to test how your code behaves when the AWS SDK v3 client throws an error or a specific response. - -=== "handler.test.ts" - ```typescript hl_lines="2-8 11 14 18 23-30" - --8<-- "docs/snippets/parameters/testingYourCodeClientJestMock.ts" - ``` - -=== "handler.ts" - ```typescript - --8<-- "docs/snippets/parameters/testingYourCodeClientHandler.ts" - ``` - -### Clearing cache - -Parameters utility caches all parameter values for performance and cost reasons. However, this can have unintended interference in tests using the same parameter name. - -Within your tests, you can use `clearCache` method available in [every provider](#built-in-provider-class). When using multiple providers or higher level functions like `getParameter`, use the `clearCaches` standalone function to clear cache globally. - -=== "handler.test.ts" - ```typescript hl_lines="1 9" - --8<-- "docs/snippets/parameters/testingYourCodeClearCache.ts" - ``` \ No newline at end of file diff --git a/docs/we_made_this.md b/docs/we_made_this.md deleted file mode 100644 index 0fabec73cd..0000000000 --- a/docs/we_made_this.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: We Made This (Community) -description: Blog posts, tutorials, and videos about AWS Lambda Powertools created by the Powertools Community. ---- - -This space is dedicated to highlight our awesome community content featuring Powertools 🙏! - -!!! info "[Get your content featured here](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=community-content&template=share_your_work.yml&title=%5BI+Made+This%5D%3A+%3CTITLE%3E){target="_blank"}!" - -## Connect - -[![Join our Discord](https://dcbadge.vercel.app/api/server/B8zZKbbyET)](https://discord.gg/B8zZKbbyET){target="_blank"} - -Join us on [Discord](https://discord.gg/B8zZKbbyET){target="_blank"} to connect with the Powertools community 👋. Ask questions, learn from each other, contribute, hang out with key contributors, and more! - -## Blog posts - -### Lambda Powertools - great defaults for batteries that aren't quite (but should be) included - -> **Author: [Mike Roberts](mailto:mike@symphonia.io) [:material-twitter:](https://twitter.com/mikebroberts){target="_blank"}** - -This article discusses why you should consider using Powertools in your Lambda functions. - -* [https://blog.symphonia.io/posts/2022-10-24_lambda-powertools](https://blog.symphonia.io/posts/2022-10-24_lambda-powertools){target="_blank"} - -### Test Drive AWS Lambda Powertools for Typescript - -> **Author: [Matt Lewis](https://twitter.com/m_lewis){target="_blank"} :material-twitter:** - -This article gives an overview Powertools' core utilities: Logger, Metrics, and Tracer. - -* [https://dev.to/aws-heroes/test-drive-aws-lambda-powertools-for-typescript-h3p](https://dev.to/aws-heroes/test-drive-aws-lambda-powertools-for-typescript-h3p){target="_blank"} - -### Power-up Lambda functions with AWS Lambda Powertools for TypeScript - -> **Author: [Ryan Toler](https://www.linkedin.com/in/ryantoler/){target="_blank"} :material-linkedin:** - -Discover how easy it is to quickly “power-up” your Node.js Lambda functions with utilities from AWS Lambda Powertools for TypeScript. - -* [https://www.trek10.com/blog/power-up-lambda-functions-with-aws-lambda-powertools-for-typescript](https://www.trek10.com/blog/power-up-lambda-functions-with-aws-lambda-powertools-for-typescript){target="_blank"} - -### Getting to Well Architected Faster with AWS Lambda Powertools - -> **Author: [Eoin Shanaghy](https://twitter.com/eoins){target="_blank"} :material-twitter:** - -This post shows how to use AWS Lambda Powertools to quickly build Well-Architected serverless applications. - -* [https://fourtheorem.com/aws-lambda-powertools/](https://fourtheorem.com/aws-lambda-powertools/){target="_blank"} - -### AWS Lambda Powertools TypeScript - -> **Author: [Matt Morgan](https://twitter.com/NullishCoalesce){target="_blank"} :material-twitter:** - -A two parts series that gives an overview of Powertools and its features starting from the beta phase to the General Availability release. - -* [First Look at Lambda Powertools TypeScript](https://dev.to/aws-builders/first-look-at-lambda-powertools-typescript-2k3p){target="_blank"} - -* [Lambda Powertools TypeScript is Generally Available](https://dev.to/aws-builders/lambda-powertools-typescript-is-generally-available-1dm8){target="_blank"} diff --git a/packages/idempotency/src/persistence/BasePersistenceLayer.ts b/packages/idempotency/src/persistence/BasePersistenceLayer.ts index b247d83025..708f458756 100644 --- a/packages/idempotency/src/persistence/BasePersistenceLayer.ts +++ b/packages/idempotency/src/persistence/BasePersistenceLayer.ts @@ -11,6 +11,14 @@ import { } from '../Exceptions'; import { LRUCache } from './LRUCache'; +/** + * Base class for all persistence layers. This class provides the basic functionality for + * saving, retrieving, and deleting idempotency records. It also provides the ability to + * configure the persistence layer from the idempotency config. + * @abstract + * @class + * @implements {BasePersistenceLayerInterface} + */ abstract class BasePersistenceLayer implements BasePersistenceLayerInterface { public idempotencyKeyPrefix: string; private cache?: LRUCache; From d93da3c26389f52d32a945867bdb42296c59a306 Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 5 Jun 2023 16:44:47 +0200 Subject: [PATCH 06/16] change readme to focus only on specifics of the package --- packages/idempotency/README.md | 148 +++++++++++++++++++++++---------- 1 file changed, 104 insertions(+), 44 deletions(-) diff --git a/packages/idempotency/README.md b/packages/idempotency/README.md index 9b4d427858..f026a79ec1 100644 --- a/packages/idempotency/README.md +++ b/packages/idempotency/README.md @@ -1,71 +1,131 @@ -# AWS Lambda Powertools for TypeScript +# Powertools for AWS Lambda (TypeScript) - Idempotency Utility -Powertools is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). -You can use the library in both TypeScript and JavaScript code bases. +## Intro -AWS Lambda Powertools for [Python](https://github.com/awslabs/aws-lambda-powertools-python) and AWS Lambda Powertools for [Java](https://github.com/awslabs/aws-lambda-powertools-java) are also available. +This package provides a utility to implement idempotency in your Lambda functions. +You can either use it as a decorator on your Lambda handler or as a wrapper on any other function. +The current implementation provides a persistance layer for Amazon DynamoDB, which offers a variety of configuration options. +You can also bring your own persistance layer by implementing the `IdempotencyPersistanceLayer` interface. -**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** +## Key features +* Prevent Lambda handler from executing more than once on the same event payload during a time window +* Ensure Lambda handler returns the same result when called with the same payload +* Select a subset of the event as the idempotency key using JMESPath expressions +* Set a time window in which records with the same payload should be considered duplicates +* Expires in-progress executions if the Lambda function times out halfway through -## Table of contents +## Usage -- [Features](#features) -- [Getting started](#getting-started) - - [Installation](#installation) - - [Examples](#examples) - - [Serverless TypeScript Demo application](#serverless-typescript-demo-application) -- [Contribute](#contribute) -- [Roadmap](#roadmap) -- [Connect](#connect) -- [How to support AWS Lambda Powertools for TypeScript?](#how-to-support-aws-lambda-powertools-for-typescript) - - [Becoming a reference customer](#becoming-a-reference-customer) - - [Sharing your work](#sharing-your-work) - - [Using Lambda Layer](#using-lambda-layer) -- [Credits](#credits) -- [License](#license) +### Decorators +If you use classes to define your Lambda handlers, you can use the decorators to make your handler idempotent or a specific function idempotent. +We offer two decorators: +* `@idempotentLambdaHandler`: makes the handler idempotent. +* `@idempotentFunction`: makes any function within your class idempotent -## Features +The first can only be applied to the handler function with the specific signature of a Lambda handler. +The second can be applied to any function within your class. In this case you need to pass a `Record` object and provide the `dataKeywordArgument` parameter to specify the name of the argument that contains the data to be used as the idempotency key. +In any of both cases yoiu need to pass the persistance layer where we will store the idempotency information. -* **[Tracer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB -## Getting started +### Function wrapper -Find the complete project's [documentation here](https://awslabs.github.io/aws-lambda-powertools-typescript). +A more common approach is to use the function wrapper. +Similar to `@idempotentFunction` decorator you need to pass keyword argument to indicate which part of the payload will be hashed. -### Installation +### Middy middleware -The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official [AWS SDK v3 for JavaScript](https://github.com/aws/aws-sdk-js-v3). -Each TypeScript utility is installed as standalone NPM package. +### DynamoDB peristance layer +To store the idempotency information offer a DynamoDB persistance layer. +This enables you to store the hash key, payload, status for progress and expiration and much more. +You can customise most of the configuration options of the DynamoDB table, i.e the names of the attributes. +See the [API documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/modules/.index.DynamoDBPersistenceLayer.html) for more details. -Install all three core utilities at once with this single command: -```shell -npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics +## Examples + +### Decorator Lambda handler + +```ts + +const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); + +class MyLambdaHandler implements LambdaInterface { + @idempotentLambdaHandler({ persistenceStore: dynamoDBPersistenceLayer }) + public async handler(_event: Record, _context: Context): Promise { + // your lambda code here + return "Hello World"; + } +} + +const lambdaClass = new MyLambdaHandler(); +export const handler = lambdaClass.handler.bind(lambdaClass); ``` -Or refer to the installation guide of each utility: +### Decorator function + +```ts +import { makeFunctionIdempotent, DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency"; + +const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); + +class MyLambdaHandler implements LambdaInterface { + + public async handler(_event: Event, _context: Context): Promise { + for(const record of _event.Records) { + await this.processRecord(record); + } + } + + @idempotentFunction({ persistenceStore: dynamoDBPersistenceLayer, dataKeywordArgument: "payload" }) + public async process(payload: Record): Promise { + // your lambda code here + } +} +``` + +The `dataKeywordArgument` parameter is optional. If not provided, the whole event will be used as the idempotency key. +Otherwise, you need to specify the string name of the argument that contains the data to be used as the idempotency key. +For example if you have an input like this: -👉 [Installation guide for the **Tracer** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer#getting-started) -👉 [Installation guide for the **Logger** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger#getting-started) +```json +{ + "transactionId": 1235, + "product": "book", + "quantity": 1, + "price": 10 +} +``` -👉 [Installation guide for the **Metrics** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics#getting-started) +You can use `transactionId` as the idempotency key. This will ensure that the same transaction is not processed twice. -👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +### Function wrapper -### Examples +In case where you don't use classes and decorators you can wrap your function to make it idempotent. -* [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) +```ts +import { makeFunctionIdempotent, DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency"; -### Serverless TypeScript Demo application +const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); +const processingFunction = async (payload: Record): Promise => { + // your lambda code here +}; -The [Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo) shows how to use Lambda Powertools for TypeScript. -You can find instructions on how to deploy and load test this application in the [repository](https://github.com/aws-samples/serverless-typescript-demo). +const processIdempotently = makeFunctionIdempotent(proccessingFunction, { + persistenceStore: dynamoDBPersistenceLayer, + dataKeywordArgument: "transactionId" +}); + +export const handler = async ( + _event: Event, + _context: Context +): Promise => { + for (const record of _event.Records) { + await processIdempotently(record); + } +}; +``` ## Contribute From e7e49a4412fec53a1ffde8ce218f29529c7236b2 Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Tue, 6 Jun 2023 16:04:08 +0200 Subject: [PATCH 07/16] fix broken commit on docs by checking latest 5d6ed1a commit --- docs/Dockerfile | 2 + docs/assets/highlight.css | 127 ++ docs/assets/main.js | 58 + docs/assets/search.js | 1 + docs/assets/style.css | 1367 +++++++++++++++++ docs/changelog.md | 2 + ...mbda_powertools_commons.ConfigService.html | 227 +++ ...s_commons.EnvironmentVariablesService.html | 268 ++++ ...aws_lambda_powertools_commons.Utility.html | 247 +++ ...ools_idempotency.BasePersistenceLayer.html | 357 +++++ ..._idempotency.DynamoDBPersistenceLayer.html | 363 +++++ ...empotency.EnvironmentVariablesService.html | 288 ++++ ...ertools_idempotency.IdempotencyRecord.html | 236 +++ ...lambda_powertools_logger.LogFormatter.html | 238 +++ .../_aws_lambda_powertools_logger.Logger.html | 637 ++++++++ ...wertools_logger.PowertoolLogFormatter.html | 235 +++ ...aws_lambda_powertools_metrics.Metrics.html | 591 +++++++ ...wertools_parameters.AppConfigProvider.html | 438 ++++++ ...owertools_parameters.DynamoDBProvider.html | 480 ++++++ ...bda_powertools_parameters.SSMProvider.html | 776 ++++++++++ ...powertools_parameters.SecretsProvider.html | 429 ++++++ .../_aws_lambda_powertools_tracer.Tracer.html | 694 +++++++++ docs/core/logger.md | 45 +- docs/core/metrics.md | 447 ++++++ docs/core/tracer.md | 325 ++++ docs/diagram_src/.gitignore | 0 ...lambda_powertools_metrics.MetricUnits.html | 321 ++++ ...rtools_idempotency.idempotentFunction.html | 150 ++ ...s_idempotency.idempotentLambdaHandler.html | 150 ++ ...ls_idempotency.makeFunctionIdempotent.html | 148 ++ ...lambda_powertools_logger.createLogger.html | 135 ++ ...powertools_logger.injectLambdaContext.html | 150 ++ ..._lambda_powertools_metrics.logMetrics.html | 154 ++ ...da_powertools_parameters.getAppConfig.html | 195 +++ ...da_powertools_parameters.getParameter.html | 216 +++ ...a_powertools_parameters.getParameters.html | 217 +++ ...rtools_parameters.getParametersByName.html | 217 +++ ...ambda_powertools_parameters.getSecret.html | 198 +++ ...owertools_tracer.captureLambdaHandler.html | 154 ++ ...lambda_powertools_tracer.createTracer.html | 135 ++ ...da_powertools_commons.LambdaInterface.html | 150 ++ ...potency.BasePersistenceLayerInterface.html | 235 +++ ...wertools_logger.LogFormatterInterface.html | 182 +++ ...a_powertools_metrics.MetricsInterface.html | 321 ++++ ...bda_powertools_tracer.TracerInterface.html | 398 +++++ docs/javascript/aws-amplify.min.js | 108 ++ docs/javascript/extra.js | 91 ++ docs/media/aws-logo-light.svg | 38 + docs/media/logger_utility_showcase.png | Bin 0 -> 309999 bytes docs/media/logos/elva.png | Bin 0 -> 203485 bytes docs/media/logos/globaldatanet.png | Bin 0 -> 4083 bytes docs/media/logos/hashnode.png | Bin 0 -> 12638 bytes docs/media/logos/perfect-post.png | Bin 0 -> 26268 bytes docs/media/logos/sennder.png | Bin 0 -> 109907 bytes docs/media/logos/trek10.jpg | Bin 0 -> 362914 bytes docs/media/metrics_terminology.png | Bin 0 -> 147817 bytes docs/media/metrics_utility_showcase.png | Bin 0 -> 168465 bytes docs/media/tracer_utility_showcase.png | Bin 0 -> 141292 bytes docs/media/tracer_utility_showcase_2.png | Bin 0 -> 140818 bytes ...da_powertools_commons.ContextExamples.html | 132 ++ ...mbda_powertools_commons.Events.Custom.html | 133 ++ ..._aws_lambda_powertools_commons.Events.html | 132 ++ .../_aws_lambda_powertools_commons.html | 246 +++ .../_aws_lambda_powertools_idempotency.html | 237 +++ .../_aws_lambda_powertools_logger.html | 238 +++ .../_aws_lambda_powertools_metrics.html | 246 +++ .../_aws_lambda_powertools_parameters.html | 251 +++ .../_aws_lambda_powertools_tracer.html | 235 +++ docs/modules/cdk_sample.html | 181 +++ docs/modules/docs.html | 235 +++ docs/modules/layers.html | 176 +++ docs/modules/sam_example.html | 231 +++ docs/overrides/main.html | 8 + docs/requirements.txt | 4 + docs/shared/.gitignore | 1 + docs/snippets/logger/appendKeys.ts | 42 + docs/snippets/logger/basicUsage.ts | 7 + .../logger/bringYourOwnFormatterClass.ts | 37 + .../logger/bringYourOwnFormatterHandler.ts | 24 + docs/snippets/logger/clearStateDecorator.ts | 30 + docs/snippets/logger/clearStateMiddy.ts | 31 + docs/snippets/logger/createChild.ts | 29 + docs/snippets/logger/decorator.ts | 15 + docs/snippets/logger/eventDecorator.ts | 15 + docs/snippets/logger/eventMiddy.ts | 15 + docs/snippets/logger/extraData.ts | 42 + docs/snippets/logger/logError.ts | 24 + docs/snippets/logger/logSampling.ts | 25 + docs/snippets/logger/manual.ts | 9 + docs/snippets/logger/middy.ts | 13 + docs/snippets/logger/sam.ts | 11 + docs/snippets/logger/unitTesting.ts | 8 + .../metrics/addHighResolutionMetric.ts | 22 + docs/snippets/metrics/addMetadata.ts | 21 + docs/snippets/metrics/basicUsage.ts | 13 + .../captureColdStartMetricDecorator.ts | 14 + .../metrics/captureColdStartMetricMiddy.ts | 22 + docs/snippets/metrics/createMetrics.ts | 14 + docs/snippets/metrics/customDimensions.ts | 15 + docs/snippets/metrics/decorator.ts | 17 + docs/snippets/metrics/defaultDimensions.ts | 14 + .../metrics/defaultDimensionsDecorator.ts | 19 + .../metrics/defaultDimensionsMiddy.ts | 27 + docs/snippets/metrics/manual.ts | 14 + docs/snippets/metrics/middy.ts | 20 + docs/snippets/metrics/multiValueMetrics.ts | 15 + docs/snippets/metrics/sam.ts | 11 + docs/snippets/metrics/setDefaultDimensions.ts | 14 + .../singleMetricDifferentDimsDecorator.ts | 24 + .../metrics/singleMetricDifferentDimsMiddy.ts | 27 + docs/snippets/metrics/throwOnEmptyMetrics.ts | 22 + docs/snippets/parameters/adjustingCacheTTL.ts | 19 + docs/snippets/parameters/appConfigProvider.ts | 15 + .../appConfigProviderCustomClient.ts | 14 + docs/snippets/parameters/clientConfig.ts | 11 + docs/snippets/parameters/dynamoDBProvider.ts | 9 + .../dynamoDBProviderCustomClient.ts | 13 + .../dynamoDBProviderCustomizeTable.ts | 13 + .../parameters/dynamoDBProviderLocal.ts | 14 + .../parameters/dynamoDBProviderMultiple.ts | 16 + docs/snippets/parameters/forceFetch.ts | 7 + docs/snippets/parameters/getAppConfig.ts | 10 + docs/snippets/parameters/getParameter.ts | 7 + docs/snippets/parameters/getParameters.ts | 12 + .../parameters/getParametersByName.ts | 19 + ...etParametersByNameGracefulErrorHandling.ts | 25 + docs/snippets/parameters/getSecret.ts | 7 + docs/snippets/parameters/sdkOptions.ts | 16 + docs/snippets/parameters/secretsProvider.ts | 11 + .../parameters/secretsProviderCustomClient.ts | 15 + docs/snippets/parameters/ssmProvider.ts | 17 + .../parameters/ssmProviderCustomClient.ts | 13 + .../ssmProviderDecryptAndRecursive.ts | 19 + .../parameters/testingYourCodeClearCache.ts | 13 + .../testingYourCodeClientHandler.ts | 18 + .../testingYourCodeClientJestMock.ts | 38 + .../testingYourCodeFunctionsHandler.ts | 12 + .../testingYourCodeFunctionsJestMock.ts | 28 + .../testingYourCodeProvidersHandler.ts | 17 + .../testingYourCodeProvidersJestMock.ts | 29 + docs/snippets/parameters/transform.ts | 8 + docs/snippets/parameters/transformAuto.ts | 12 + .../parameters/transformPartialFailures.ts | 31 + docs/snippets/parameters/transformProvider.ts | 17 + docs/snippets/tracer/accessRootTraceId.ts | 20 + docs/snippets/tracer/basicUsage.ts | 7 + docs/snippets/tracer/captureAWS.ts | 5 + docs/snippets/tracer/captureAWSAll.ts | 5 + docs/snippets/tracer/captureAWSv3.ts | 5 + docs/snippets/tracer/captureHTTP.ts | 11 + .../snippets/tracer/captureMethodDecorator.ts | 20 + docs/snippets/tracer/captureMethodManual.ts | 40 + docs/snippets/tracer/decorator.ts | 15 + .../tracer/disableCaptureResponseHandler.ts | 14 + .../tracer/disableCaptureResponseMethod.ts | 19 + .../tracer/disableCaptureResponseMiddy.ts | 17 + docs/snippets/tracer/escapeHatch.ts | 7 + docs/snippets/tracer/manual.ts | 38 + docs/snippets/tracer/middy.ts | 16 + docs/snippets/tracer/putAnnotation.ts | 10 + docs/snippets/tracer/putMetadata.ts | 12 + docs/snippets/tracer/sam.ts | 10 + docs/snippets/tsconfig.json | 48 + docs/stylesheets/extra.css | 32 + ...ambda_powertools_commons.AsyncHandler.html | 146 ++ ..._powertools_commons.MiddlewareLikeObj.html | 146 ++ ...a_powertools_commons.MiddyLikeRequest.html | 137 ++ ...lambda_powertools_commons.SyncHandler.html | 148 ++ ...a_powertools_metrics.MetricResolution.html | 127 ++ docs/utilities/.gitignore | 1 + docs/utilities/parameters.md | 462 ++++++ ...ons.ContextExamples.helloworldContext.html | 127 ++ ...ols_commons.Events.Custom.CustomEvent.html | 137 ++ ...powertools_metrics.MetricResolution-1.html | 134 ++ ...wertools_parameters.DEFAULT_PROVIDERS.html | 126 ++ 175 files changed, 18882 insertions(+), 34 deletions(-) create mode 100644 docs/Dockerfile create mode 100644 docs/assets/highlight.css create mode 100644 docs/assets/main.js create mode 100644 docs/assets/search.js create mode 100644 docs/assets/style.css create mode 100644 docs/changelog.md create mode 100644 docs/classes/_aws_lambda_powertools_commons.ConfigService.html create mode 100644 docs/classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html create mode 100644 docs/classes/_aws_lambda_powertools_commons.Utility.html create mode 100644 docs/classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html create mode 100644 docs/classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html create mode 100644 docs/classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html create mode 100644 docs/classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html create mode 100644 docs/classes/_aws_lambda_powertools_logger.LogFormatter.html create mode 100644 docs/classes/_aws_lambda_powertools_logger.Logger.html create mode 100644 docs/classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html create mode 100644 docs/classes/_aws_lambda_powertools_metrics.Metrics.html create mode 100644 docs/classes/_aws_lambda_powertools_parameters.AppConfigProvider.html create mode 100644 docs/classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html create mode 100644 docs/classes/_aws_lambda_powertools_parameters.SSMProvider.html create mode 100644 docs/classes/_aws_lambda_powertools_parameters.SecretsProvider.html create mode 100644 docs/classes/_aws_lambda_powertools_tracer.Tracer.html create mode 100644 docs/core/metrics.md create mode 100644 docs/core/tracer.md create mode 100644 docs/diagram_src/.gitignore create mode 100644 docs/enums/_aws_lambda_powertools_metrics.MetricUnits.html create mode 100644 docs/functions/_aws_lambda_powertools_idempotency.idempotentFunction.html create mode 100644 docs/functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html create mode 100644 docs/functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html create mode 100644 docs/functions/_aws_lambda_powertools_logger.createLogger.html create mode 100644 docs/functions/_aws_lambda_powertools_logger.injectLambdaContext.html create mode 100644 docs/functions/_aws_lambda_powertools_metrics.logMetrics.html create mode 100644 docs/functions/_aws_lambda_powertools_parameters.getAppConfig.html create mode 100644 docs/functions/_aws_lambda_powertools_parameters.getParameter.html create mode 100644 docs/functions/_aws_lambda_powertools_parameters.getParameters.html create mode 100644 docs/functions/_aws_lambda_powertools_parameters.getParametersByName.html create mode 100644 docs/functions/_aws_lambda_powertools_parameters.getSecret.html create mode 100644 docs/functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html create mode 100644 docs/functions/_aws_lambda_powertools_tracer.createTracer.html create mode 100644 docs/interfaces/_aws_lambda_powertools_commons.LambdaInterface.html create mode 100644 docs/interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html create mode 100644 docs/interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html create mode 100644 docs/interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html create mode 100644 docs/interfaces/_aws_lambda_powertools_tracer.TracerInterface.html create mode 100644 docs/javascript/aws-amplify.min.js create mode 100644 docs/javascript/extra.js create mode 100644 docs/media/aws-logo-light.svg create mode 100644 docs/media/logger_utility_showcase.png create mode 100644 docs/media/logos/elva.png create mode 100644 docs/media/logos/globaldatanet.png create mode 100644 docs/media/logos/hashnode.png create mode 100644 docs/media/logos/perfect-post.png create mode 100644 docs/media/logos/sennder.png create mode 100644 docs/media/logos/trek10.jpg create mode 100644 docs/media/metrics_terminology.png create mode 100644 docs/media/metrics_utility_showcase.png create mode 100644 docs/media/tracer_utility_showcase.png create mode 100644 docs/media/tracer_utility_showcase_2.png create mode 100644 docs/modules/_aws_lambda_powertools_commons.ContextExamples.html create mode 100644 docs/modules/_aws_lambda_powertools_commons.Events.Custom.html create mode 100644 docs/modules/_aws_lambda_powertools_commons.Events.html create mode 100644 docs/modules/_aws_lambda_powertools_commons.html create mode 100644 docs/modules/_aws_lambda_powertools_idempotency.html create mode 100644 docs/modules/_aws_lambda_powertools_logger.html create mode 100644 docs/modules/_aws_lambda_powertools_metrics.html create mode 100644 docs/modules/_aws_lambda_powertools_parameters.html create mode 100644 docs/modules/_aws_lambda_powertools_tracer.html create mode 100644 docs/modules/cdk_sample.html create mode 100644 docs/modules/docs.html create mode 100644 docs/modules/layers.html create mode 100644 docs/modules/sam_example.html create mode 100644 docs/overrides/main.html create mode 100644 docs/requirements.txt create mode 100644 docs/shared/.gitignore create mode 100644 docs/snippets/logger/appendKeys.ts create mode 100644 docs/snippets/logger/basicUsage.ts create mode 100644 docs/snippets/logger/bringYourOwnFormatterClass.ts create mode 100644 docs/snippets/logger/bringYourOwnFormatterHandler.ts create mode 100644 docs/snippets/logger/clearStateDecorator.ts create mode 100644 docs/snippets/logger/clearStateMiddy.ts create mode 100644 docs/snippets/logger/createChild.ts create mode 100644 docs/snippets/logger/decorator.ts create mode 100644 docs/snippets/logger/eventDecorator.ts create mode 100644 docs/snippets/logger/eventMiddy.ts create mode 100644 docs/snippets/logger/extraData.ts create mode 100644 docs/snippets/logger/logError.ts create mode 100644 docs/snippets/logger/logSampling.ts create mode 100644 docs/snippets/logger/manual.ts create mode 100644 docs/snippets/logger/middy.ts create mode 100644 docs/snippets/logger/sam.ts create mode 100644 docs/snippets/logger/unitTesting.ts create mode 100644 docs/snippets/metrics/addHighResolutionMetric.ts create mode 100644 docs/snippets/metrics/addMetadata.ts create mode 100644 docs/snippets/metrics/basicUsage.ts create mode 100644 docs/snippets/metrics/captureColdStartMetricDecorator.ts create mode 100644 docs/snippets/metrics/captureColdStartMetricMiddy.ts create mode 100644 docs/snippets/metrics/createMetrics.ts create mode 100644 docs/snippets/metrics/customDimensions.ts create mode 100644 docs/snippets/metrics/decorator.ts create mode 100644 docs/snippets/metrics/defaultDimensions.ts create mode 100644 docs/snippets/metrics/defaultDimensionsDecorator.ts create mode 100644 docs/snippets/metrics/defaultDimensionsMiddy.ts create mode 100644 docs/snippets/metrics/manual.ts create mode 100644 docs/snippets/metrics/middy.ts create mode 100644 docs/snippets/metrics/multiValueMetrics.ts create mode 100644 docs/snippets/metrics/sam.ts create mode 100644 docs/snippets/metrics/setDefaultDimensions.ts create mode 100644 docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts create mode 100644 docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts create mode 100644 docs/snippets/metrics/throwOnEmptyMetrics.ts create mode 100644 docs/snippets/parameters/adjustingCacheTTL.ts create mode 100644 docs/snippets/parameters/appConfigProvider.ts create mode 100644 docs/snippets/parameters/appConfigProviderCustomClient.ts create mode 100644 docs/snippets/parameters/clientConfig.ts create mode 100644 docs/snippets/parameters/dynamoDBProvider.ts create mode 100644 docs/snippets/parameters/dynamoDBProviderCustomClient.ts create mode 100644 docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts create mode 100644 docs/snippets/parameters/dynamoDBProviderLocal.ts create mode 100644 docs/snippets/parameters/dynamoDBProviderMultiple.ts create mode 100644 docs/snippets/parameters/forceFetch.ts create mode 100644 docs/snippets/parameters/getAppConfig.ts create mode 100644 docs/snippets/parameters/getParameter.ts create mode 100644 docs/snippets/parameters/getParameters.ts create mode 100644 docs/snippets/parameters/getParametersByName.ts create mode 100644 docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts create mode 100644 docs/snippets/parameters/getSecret.ts create mode 100644 docs/snippets/parameters/sdkOptions.ts create mode 100644 docs/snippets/parameters/secretsProvider.ts create mode 100644 docs/snippets/parameters/secretsProviderCustomClient.ts create mode 100644 docs/snippets/parameters/ssmProvider.ts create mode 100644 docs/snippets/parameters/ssmProviderCustomClient.ts create mode 100644 docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts create mode 100644 docs/snippets/parameters/testingYourCodeClearCache.ts create mode 100644 docs/snippets/parameters/testingYourCodeClientHandler.ts create mode 100644 docs/snippets/parameters/testingYourCodeClientJestMock.ts create mode 100644 docs/snippets/parameters/testingYourCodeFunctionsHandler.ts create mode 100644 docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts create mode 100644 docs/snippets/parameters/testingYourCodeProvidersHandler.ts create mode 100644 docs/snippets/parameters/testingYourCodeProvidersJestMock.ts create mode 100644 docs/snippets/parameters/transform.ts create mode 100644 docs/snippets/parameters/transformAuto.ts create mode 100644 docs/snippets/parameters/transformPartialFailures.ts create mode 100644 docs/snippets/parameters/transformProvider.ts create mode 100644 docs/snippets/tracer/accessRootTraceId.ts create mode 100644 docs/snippets/tracer/basicUsage.ts create mode 100644 docs/snippets/tracer/captureAWS.ts create mode 100644 docs/snippets/tracer/captureAWSAll.ts create mode 100644 docs/snippets/tracer/captureAWSv3.ts create mode 100644 docs/snippets/tracer/captureHTTP.ts create mode 100644 docs/snippets/tracer/captureMethodDecorator.ts create mode 100644 docs/snippets/tracer/captureMethodManual.ts create mode 100644 docs/snippets/tracer/decorator.ts create mode 100644 docs/snippets/tracer/disableCaptureResponseHandler.ts create mode 100644 docs/snippets/tracer/disableCaptureResponseMethod.ts create mode 100644 docs/snippets/tracer/disableCaptureResponseMiddy.ts create mode 100644 docs/snippets/tracer/escapeHatch.ts create mode 100644 docs/snippets/tracer/manual.ts create mode 100644 docs/snippets/tracer/middy.ts create mode 100644 docs/snippets/tracer/putAnnotation.ts create mode 100644 docs/snippets/tracer/putMetadata.ts create mode 100644 docs/snippets/tracer/sam.ts create mode 100644 docs/snippets/tsconfig.json create mode 100644 docs/stylesheets/extra.css create mode 100644 docs/types/_aws_lambda_powertools_commons.AsyncHandler.html create mode 100644 docs/types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html create mode 100644 docs/types/_aws_lambda_powertools_commons.MiddyLikeRequest.html create mode 100644 docs/types/_aws_lambda_powertools_commons.SyncHandler.html create mode 100644 docs/types/_aws_lambda_powertools_metrics.MetricResolution.html create mode 100644 docs/utilities/.gitignore create mode 100644 docs/utilities/parameters.md create mode 100644 docs/variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html create mode 100644 docs/variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html create mode 100644 docs/variables/_aws_lambda_powertools_metrics.MetricResolution-1.html create mode 100644 docs/variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100644 index 0000000000..40c4a3e4b4 --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,2 @@ +FROM squidfunk/mkdocs-material +RUN pip install mkdocs-git-revision-date-plugin==0.3.2 mkdocs-exclude==1.0.2 diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 0000000000..0c638d1618 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,127 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #AF00DB; + --dark-hl-3: #C586C0; + --light-hl-4: #001080; + --dark-hl-4: #9CDCFE; + --light-hl-5: #0000FF; + --dark-hl-5: #569CD6; + --light-hl-6: #0070C1; + --dark-hl-6: #4FC1FF; + --light-hl-7: #267F99; + --dark-hl-7: #4EC9B0; + --light-hl-8: #008000; + --dark-hl-8: #6A9955; + --light-hl-9: #098658; + --dark-hl-9: #B5CEA8; + --light-hl-10: #000000FF; + --dark-hl-10: #D4D4D4; + --light-hl-11: #CD3131; + --dark-hl-11: #F44747; + --light-hl-12: #000000; + --dark-hl-12: #C8C8C8; + --light-hl-13: #800000; + --dark-hl-13: #569CD6; + --light-hl-14: #0000FF; + --dark-hl-14: #CE9178; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +.hl-14 { color: var(--hl-14); } +pre, code { background: var(--code-background); } diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 0000000000..4c8fa615a1 --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 0000000000..25f3237d37 --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"rows\":[{\"kind\":2,\"name\":\"@aws-lambda-powertools/commons\",\"url\":\"modules/_aws_lambda_powertools_commons.html\",\"classes\":\"\"},{\"kind\":4,\"name\":\"ContextExamples\",\"url\":\"modules/_aws_lambda_powertools_commons.ContextExamples.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":32,\"name\":\"helloworldContext\",\"url\":\"variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ContextExamples\"},{\"kind\":4,\"name\":\"Events\",\"url\":\"modules/_aws_lambda_powertools_commons.Events.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":4,\"name\":\"Custom\",\"url\":\"modules/_aws_lambda_powertools_commons.Events.Custom.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events\"},{\"kind\":32,\"name\":\"CustomEvent\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom.CustomEvent\"},{\"kind\":1024,\"name\":\"key1\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html#__type.key1\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom.CustomEvent.__type\"},{\"kind\":1024,\"name\":\"key2\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html#__type.key2\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom.CustomEvent.__type\"},{\"kind\":1024,\"name\":\"key3\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html#__type.key3\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom.CustomEvent.__type\"},{\"kind\":128,\"name\":\"ConfigService\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":2048,\"name\":\"getServiceName\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#getServiceName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":2048,\"name\":\"getXrayTraceId\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#getXrayTraceId\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":2048,\"name\":\"isValueTrue\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#isValueTrue\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":128,\"name\":\"EnvironmentVariablesService\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#constructor\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":1024,\"name\":\"serviceNameVariable\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#serviceNameVariable\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getServiceName\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#getServiceName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getXrayTraceId\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#getXrayTraceId\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getXrayTraceSampled\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#getXrayTraceSampled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"isValueTrue\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#isValueTrue\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":128,\"name\":\"Utility\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":2048,\"name\":\"getColdStart\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#getColdStart\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":2048,\"name\":\"getDefaultServiceName\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#getDefaultServiceName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":2048,\"name\":\"isColdStart\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#isColdStart\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":2048,\"name\":\"isValidServiceName\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#isValidServiceName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":256,\"name\":\"LambdaInterface\",\"url\":\"interfaces/_aws_lambda_powertools_commons.LambdaInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":1024,\"name\":\"handler\",\"url\":\"interfaces/_aws_lambda_powertools_commons.LambdaInterface.html#handler\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.LambdaInterface\"},{\"kind\":4194304,\"name\":\"AsyncHandler\",\"url\":\"types/_aws_lambda_powertools_commons.AsyncHandler.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_aws_lambda_powertools_commons.AsyncHandler.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.AsyncHandler\"},{\"kind\":4194304,\"name\":\"MiddlewareLikeObj\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddlewareLikeObj\"},{\"kind\":1024,\"name\":\"after\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html#__type.after\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddlewareLikeObj.__type\"},{\"kind\":1024,\"name\":\"before\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html#__type.before\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddlewareLikeObj.__type\"},{\"kind\":1024,\"name\":\"onError\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html#__type.onError\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddlewareLikeObj.__type\"},{\"kind\":4194304,\"name\":\"MiddyLikeRequest\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest\"},{\"kind\":1024,\"name\":\"context\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type.context\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest.__type\"},{\"kind\":1024,\"name\":\"error\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type.error\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest.__type\"},{\"kind\":1024,\"name\":\"event\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type.event\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest.__type\"},{\"kind\":1024,\"name\":\"response\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type.response\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest.__type\"},{\"kind\":4194304,\"name\":\"SyncHandler\",\"url\":\"types/_aws_lambda_powertools_commons.SyncHandler.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_aws_lambda_powertools_commons.SyncHandler.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.SyncHandler\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/logger\",\"url\":\"modules/_aws_lambda_powertools_logger.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"LogFormatter\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":2048,\"name\":\"formatAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#formatAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":2048,\"name\":\"formatError\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#formatError\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":2048,\"name\":\"formatTimestamp\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#formatTimestamp\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":2048,\"name\":\"getCodeLocation\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#getCodeLocation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":128,\"name\":\"Logger\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"addContext\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#addContext\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"addPersistentLogAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#addPersistentLogAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"appendKeys\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#appendKeys\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"createChild\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#createChild\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"critical\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#critical\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"debug\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#debug\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"error\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#error\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"getColdStart\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#getColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"getDefaultServiceName\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#getDefaultServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"getLogEvent\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#getLogEvent\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"getLogsSampled\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#getLogsSampled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"info\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#info\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"injectLambdaContext\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#injectLambdaContext\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"isColdStart\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#isColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"isValidServiceName\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#isValidServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"logEventIfEnabled\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#logEventIfEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"refreshSampleRateCalculation\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#refreshSampleRateCalculation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"removeKeys\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#removeKeys\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"removePersistentLogAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#removePersistentLogAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"setPersistentLogAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#setPersistentLogAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"setSampleRateValue\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#setSampleRateValue\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"warn\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#warn\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"injectLambdaContextAfterOrOnError\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#injectLambdaContextAfterOrOnError\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"injectLambdaContextBefore\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#injectLambdaContextBefore\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":128,\"name\":\"PowertoolLogFormatter\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#constructor\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":2048,\"name\":\"formatAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#formatAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":2048,\"name\":\"formatError\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#formatError\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":2048,\"name\":\"formatTimestamp\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#formatTimestamp\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":2048,\"name\":\"getCodeLocation\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#getCodeLocation\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":256,\"name\":\"LogFormatterInterface\",\"url\":\"interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":2048,\"name\":\"formatAttributes\",\"url\":\"interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html#formatAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatterInterface\"},{\"kind\":2048,\"name\":\"formatError\",\"url\":\"interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html#formatError\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatterInterface\"},{\"kind\":64,\"name\":\"createLogger\",\"url\":\"functions/_aws_lambda_powertools_logger.createLogger.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":64,\"name\":\"injectLambdaContext\",\"url\":\"functions/_aws_lambda_powertools_logger.injectLambdaContext.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/metrics\",\"url\":\"modules/_aws_lambda_powertools_metrics.html\",\"classes\":\"\"},{\"kind\":8,\"name\":\"MetricUnits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":16,\"name\":\"Bits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Bits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"BitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#BitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Bytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Bytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"BytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#BytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Count\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Count\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"CountPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#CountPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Gigabits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Gigabits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"GigabitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#GigabitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Gigabytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Gigabytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"GigabytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#GigabytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Kilobits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Kilobits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"KilobitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#KilobitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Kilobytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Kilobytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"KilobytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#KilobytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Megabits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Megabits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"MegabitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#MegabitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Megabytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Megabytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"MegabytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#MegabytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Microseconds\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Microseconds\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Milliseconds\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Milliseconds\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Percent\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Percent\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Seconds\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Seconds\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Terabits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Terabits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"TerabitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#TerabitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Terabytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Terabytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"TerabytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#TerabytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":128,\"name\":\"Metrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"addDimension\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#addDimension\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"addDimensions\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#addDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"addMetadata\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#addMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"addMetric\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#addMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"captureColdStartMetric\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#captureColdStartMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"clearDefaultDimensions\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#clearDefaultDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"clearDimensions\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#clearDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"clearMetadata\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#clearMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"clearMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#clearMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"getColdStart\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#getColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"getDefaultServiceName\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#getDefaultServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"isColdStart\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#isColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"isValidServiceName\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#isValidServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"logMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#logMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"publishStoredMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#publishStoredMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"serializeMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#serializeMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"setDefaultDimensions\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#setDefaultDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"setFunctionName\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#setFunctionName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"singleMetric\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#singleMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"throwOnEmptyMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#throwOnEmptyMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":256,\"name\":\"MetricsInterface\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":2048,\"name\":\"addDimension\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#addDimension\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"addDimensions\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#addDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"addMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#addMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"addMetric\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#addMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"clearDefaultDimensions\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#clearDefaultDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"clearDimensions\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#clearDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"clearMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#clearMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"clearMetrics\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#clearMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"logMetrics\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#logMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"publishStoredMetrics\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#publishStoredMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"serializeMetrics\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#serializeMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"setDefaultDimensions\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#setDefaultDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"singleMetric\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#singleMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":4194304,\"name\":\"MetricResolution\",\"url\":\"types/_aws_lambda_powertools_metrics.MetricResolution.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":32,\"name\":\"MetricResolution\",\"url\":\"variables/_aws_lambda_powertools_metrics.MetricResolution-1.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"variables/_aws_lambda_powertools_metrics.MetricResolution-1.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricResolution\"},{\"kind\":1024,\"name\":\"High\",\"url\":\"variables/_aws_lambda_powertools_metrics.MetricResolution-1.html#__type.High\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricResolution.__type\"},{\"kind\":1024,\"name\":\"Standard\",\"url\":\"variables/_aws_lambda_powertools_metrics.MetricResolution-1.html#__type.Standard\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricResolution.__type\"},{\"kind\":64,\"name\":\"logMetrics\",\"url\":\"functions/_aws_lambda_powertools_metrics.logMetrics.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/tracer\",\"url\":\"modules/_aws_lambda_powertools_tracer.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"Tracer\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":1024,\"name\":\"provider\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#provider\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"addErrorAsMetadata\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#addErrorAsMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"addResponseAsMetadata\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#addResponseAsMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"addServiceNameAnnotation\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#addServiceNameAnnotation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"annotateColdStart\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#annotateColdStart\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureAWS\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureAWS\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureAWSClient\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureAWSClient\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureAWSv3Client\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureAWSv3Client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureLambdaHandler\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureLambdaHandler\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureMethod\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureMethod\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"getColdStart\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#getColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"getDefaultServiceName\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#getDefaultServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"getRootXrayTraceId\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#getRootXrayTraceId\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"getSegment\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#getSegment\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"isColdStart\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#isColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"isTraceSampled\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#isTraceSampled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"isTracingEnabled\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#isTracingEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"isValidServiceName\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#isValidServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"putAnnotation\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#putAnnotation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"putMetadata\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#putMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"setSegment\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#setSegment\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":256,\"name\":\"TracerInterface\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer\"},{\"kind\":1024,\"name\":\"putAnnotation\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#putAnnotation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#putAnnotation.__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface.putAnnotation\"},{\"kind\":1024,\"name\":\"putMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#putMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#putMetadata.__type-2\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface.putMetadata\"},{\"kind\":2048,\"name\":\"addErrorAsMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#addErrorAsMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"addResponseAsMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#addResponseAsMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"addServiceNameAnnotation\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#addServiceNameAnnotation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"annotateColdStart\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#annotateColdStart\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureAWS\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureAWS\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureAWSClient\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureAWSClient\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureAWSv3Client\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureAWSv3Client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureLambdaHandler\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureLambdaHandler\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureMethod\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureMethod\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"getRootXrayTraceId\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#getRootXrayTraceId\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"getSegment\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#getSegment\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"isTraceSampled\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#isTraceSampled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"isTracingEnabled\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#isTracingEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"setSegment\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#setSegment\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":64,\"name\":\"captureLambdaHandler\",\"url\":\"functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer\"},{\"kind\":64,\"name\":\"createTracer\",\"url\":\"functions/_aws_lambda_powertools_tracer.createTracer.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/parameters\",\"url\":\"modules/_aws_lambda_powertools_parameters.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"AppConfigProvider\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"client\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"configurationTokenStore\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#configurationTokenStore\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"envVarsService\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#envVarsService\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#store\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"valueStore\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#valueStore\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"_get\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#_get\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"_getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#_getMultiple\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"addToCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#addToCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"clearCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#clearCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#getMultiple\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"hasKeyExpiredInCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#hasKeyExpiredInCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":128,\"name\":\"DynamoDBProvider\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"client\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"envVarsService\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#envVarsService\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"keyAttr\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#keyAttr\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"sortAttr\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#sortAttr\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#store\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"tableName\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#tableName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"valueAttr\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#valueAttr\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"_get\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#_get\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"_getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#_getMultiple\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"addToCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#addToCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"clearCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#clearCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#getMultiple\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"hasKeyExpiredInCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#hasKeyExpiredInCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":128,\"name\":\"SSMProvider\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"client\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"envVarsService\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#envVarsService\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"errorsKey\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#errorsKey\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"maxGetParametersItems\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#maxGetParametersItems\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#store\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"_get\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#_get\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"_getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#_getMultiple\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"_getParametersByName\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#_getParametersByName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"addToCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#addToCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"clearCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#clearCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getMultiple\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersBatchByName\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersBatchByName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersByName\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersByName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersByNameFromCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersByNameFromCache\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersByNameInChunks\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersByNameInChunks\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersByNameWithDecryptOption\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersByNameWithDecryptOption\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"hasKeyExpiredInCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#hasKeyExpiredInCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"resolveDecryptionConfigValue\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#resolveDecryptionConfigValue\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"transformAndCacheGetParametersResponse\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#transformAndCacheGetParametersResponse\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"handleAnyInvalidGetParameterErrors\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#handleAnyInvalidGetParameterErrors\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"splitBatchAndDecryptParameters\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#splitBatchAndDecryptParameters\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"throwIfErrorsKeyIsPresent\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#throwIfErrorsKeyIsPresent\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":128,\"name\":\"SecretsProvider\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":1024,\"name\":\"client\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":1024,\"name\":\"envVarsService\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#envVarsService\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#store\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"_get\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#_get\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"_getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#_getMultiple\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"addToCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#addToCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"clearCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#clearCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#getMultiple\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"hasKeyExpiredInCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#hasKeyExpiredInCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":32,\"name\":\"DEFAULT_PROVIDERS\",\"url\":\"variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getAppConfig\",\"url\":\"functions/_aws_lambda_powertools_parameters.getAppConfig.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getParameter\",\"url\":\"functions/_aws_lambda_powertools_parameters.getParameter.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getParameters\",\"url\":\"functions/_aws_lambda_powertools_parameters.getParameters.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getParametersByName\",\"url\":\"functions/_aws_lambda_powertools_parameters.getParametersByName.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getSecret\",\"url\":\"functions/_aws_lambda_powertools_parameters.getSecret.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/idempotency\",\"url\":\"modules/_aws_lambda_powertools_idempotency.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"BasePersistenceLayer\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":1024,\"name\":\"idempotencyKeyPrefix\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#idempotencyKeyPrefix\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"_deleteRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#_deleteRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"_getRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#_getRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"_putRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#_putRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"_updateRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#_updateRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"configure\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#configure\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"deleteRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#deleteRecord\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"getRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#getRecord\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"isPayloadValidationEnabled\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#isPayloadValidationEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"saveInProgress\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#saveInProgress\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"saveSuccess\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#saveSuccess\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":128,\"name\":\"DynamoDBPersistenceLayer\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":1024,\"name\":\"idempotencyKeyPrefix\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#idempotencyKeyPrefix\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"_deleteRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#_deleteRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"_getRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#_getRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"_putRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#_putRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"_updateRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#_updateRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"configure\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#configure\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"deleteRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#deleteRecord\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"getRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#getRecord\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"isPayloadValidationEnabled\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#isPayloadValidationEnabled\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"saveInProgress\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#saveInProgress\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"saveSuccess\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#saveSuccess\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":128,\"name\":\"EnvironmentVariablesService\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#constructor\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":1024,\"name\":\"serviceNameVariable\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#serviceNameVariable\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#get\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getFunctionName\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#getFunctionName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getServiceName\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#getServiceName\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getXrayTraceId\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#getXrayTraceId\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getXrayTraceSampled\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#getXrayTraceSampled\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"isValueTrue\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#isValueTrue\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":128,\"name\":\"IdempotencyRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"expiryTimestamp\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#expiryTimestamp\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"idempotencyKey\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#idempotencyKey\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"inProgressExpiryTimestamp\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#inProgressExpiryTimestamp\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"payloadHash\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#payloadHash\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"responseData\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#responseData\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":2048,\"name\":\"getResponse\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#getResponse\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":2048,\"name\":\"getStatus\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#getStatus\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":2048,\"name\":\"isExpired\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#isExpired\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":256,\"name\":\"BasePersistenceLayerInterface\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":2048,\"name\":\"configure\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#configure\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"deleteRecord\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#deleteRecord\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"getRecord\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#getRecord\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"isPayloadValidationEnabled\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#isPayloadValidationEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"saveInProgress\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#saveInProgress\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"saveSuccess\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#saveSuccess\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":64,\"name\":\"idempotentFunction\",\"url\":\"functions/_aws_lambda_powertools_idempotency.idempotentFunction.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/_aws_lambda_powertools_idempotency.idempotentFunction.html#idempotentFunction.__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.idempotentFunction.idempotentFunction\"},{\"kind\":64,\"name\":\"idempotentLambdaHandler\",\"url\":\"functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html#idempotentLambdaHandler.__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.idempotentLambdaHandler.idempotentLambdaHandler\"},{\"kind\":64,\"name\":\"makeFunctionIdempotent\",\"url\":\"functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":2,\"name\":\"docs\",\"url\":\"modules/docs.html\",\"classes\":\"\"},{\"kind\":2,\"name\":\"layers\",\"url\":\"modules/layers.html\",\"classes\":\"\"},{\"kind\":2,\"name\":\"cdk-sample\",\"url\":\"modules/cdk_sample.html\",\"classes\":\"\"},{\"kind\":2,\"name\":\"sam-example\",\"url\":\"modules/sam_example.html\",\"classes\":\"\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,22.407,1,22.407,2,30.692]],[\"comment/0\",[]],[\"name/1\",[3,55.211]],[\"comment/1\",[]],[\"name/2\",[4,55.211]],[\"comment/2\",[]],[\"name/3\",[5,55.211]],[\"comment/3\",[]],[\"name/4\",[6,55.211]],[\"comment/4\",[]],[\"name/5\",[7,55.211]],[\"comment/5\",[]],[\"name/6\",[8,35.434]],[\"comment/6\",[]],[\"name/7\",[9,55.211]],[\"comment/7\",[]],[\"name/8\",[10,55.211]],[\"comment/8\",[]],[\"name/9\",[11,55.211]],[\"comment/9\",[]],[\"name/10\",[12,55.211]],[\"comment/10\",[]],[\"name/11\",[13,30.84]],[\"comment/11\",[]],[\"name/12\",[14,38.853]],[\"comment/12\",[]],[\"name/13\",[15,46.599]],[\"comment/13\",[]],[\"name/14\",[16,46.599]],[\"comment/14\",[]],[\"name/15\",[17,46.599]],[\"comment/15\",[]],[\"name/16\",[18,50.019]],[\"comment/16\",[]],[\"name/17\",[13,30.84]],[\"comment/17\",[]],[\"name/18\",[19,50.019]],[\"comment/18\",[]],[\"name/19\",[14,38.853]],[\"comment/19\",[]],[\"name/20\",[15,46.599]],[\"comment/20\",[]],[\"name/21\",[16,46.599]],[\"comment/21\",[]],[\"name/22\",[20,50.019]],[\"comment/22\",[]],[\"name/23\",[17,46.599]],[\"comment/23\",[]],[\"name/24\",[21,55.211]],[\"comment/24\",[]],[\"name/25\",[13,30.84]],[\"comment/25\",[]],[\"name/26\",[22,44.045]],[\"comment/26\",[]],[\"name/27\",[23,44.045]],[\"comment/27\",[]],[\"name/28\",[24,44.045]],[\"comment/28\",[]],[\"name/29\",[25,44.045]],[\"comment/29\",[]],[\"name/30\",[26,55.211]],[\"comment/30\",[]],[\"name/31\",[27,55.211]],[\"comment/31\",[]],[\"name/32\",[28,55.211]],[\"comment/32\",[]],[\"name/33\",[8,35.434]],[\"comment/33\",[]],[\"name/34\",[29,55.211]],[\"comment/34\",[]],[\"name/35\",[8,35.434]],[\"comment/35\",[]],[\"name/36\",[30,55.211]],[\"comment/36\",[]],[\"name/37\",[31,55.211]],[\"comment/37\",[]],[\"name/38\",[32,55.211]],[\"comment/38\",[]],[\"name/39\",[33,55.211]],[\"comment/39\",[]],[\"name/40\",[8,35.434]],[\"comment/40\",[]],[\"name/41\",[34,55.211]],[\"comment/41\",[]],[\"name/42\",[35,50.019]],[\"comment/42\",[]],[\"name/43\",[36,55.211]],[\"comment/43\",[]],[\"name/44\",[37,55.211]],[\"comment/44\",[]],[\"name/45\",[38,55.211]],[\"comment/45\",[]],[\"name/46\",[8,35.434]],[\"comment/46\",[]],[\"name/47\",[0,22.407,1,22.407,39,30.692]],[\"comment/47\",[]],[\"name/48\",[40,55.211]],[\"comment/48\",[]],[\"name/49\",[13,30.84]],[\"comment/49\",[]],[\"name/50\",[41,46.599]],[\"comment/50\",[]],[\"name/51\",[42,46.599]],[\"comment/51\",[]],[\"name/52\",[43,50.019]],[\"comment/52\",[]],[\"name/53\",[44,50.019]],[\"comment/53\",[]],[\"name/54\",[45,55.211]],[\"comment/54\",[]],[\"name/55\",[13,30.84]],[\"comment/55\",[]],[\"name/56\",[46,55.211]],[\"comment/56\",[]],[\"name/57\",[47,55.211]],[\"comment/57\",[]],[\"name/58\",[48,55.211]],[\"comment/58\",[]],[\"name/59\",[49,55.211]],[\"comment/59\",[]],[\"name/60\",[50,55.211]],[\"comment/60\",[]],[\"name/61\",[51,55.211]],[\"comment/61\",[]],[\"name/62\",[35,50.019]],[\"comment/62\",[]],[\"name/63\",[22,44.045]],[\"comment/63\",[]],[\"name/64\",[23,44.045]],[\"comment/64\",[]],[\"name/65\",[52,55.211]],[\"comment/65\",[]],[\"name/66\",[53,55.211]],[\"comment/66\",[]],[\"name/67\",[54,55.211]],[\"comment/67\",[]],[\"name/68\",[55,50.019]],[\"comment/68\",[]],[\"name/69\",[24,44.045]],[\"comment/69\",[]],[\"name/70\",[25,44.045]],[\"comment/70\",[]],[\"name/71\",[56,55.211]],[\"comment/71\",[]],[\"name/72\",[57,55.211]],[\"comment/72\",[]],[\"name/73\",[58,55.211]],[\"comment/73\",[]],[\"name/74\",[59,55.211]],[\"comment/74\",[]],[\"name/75\",[60,55.211]],[\"comment/75\",[]],[\"name/76\",[61,55.211]],[\"comment/76\",[]],[\"name/77\",[62,55.211]],[\"comment/77\",[]],[\"name/78\",[63,55.211]],[\"comment/78\",[]],[\"name/79\",[64,55.211]],[\"comment/79\",[]],[\"name/80\",[65,55.211]],[\"comment/80\",[]],[\"name/81\",[13,30.84]],[\"comment/81\",[]],[\"name/82\",[41,46.599]],[\"comment/82\",[]],[\"name/83\",[42,46.599]],[\"comment/83\",[]],[\"name/84\",[43,50.019]],[\"comment/84\",[]],[\"name/85\",[44,50.019]],[\"comment/85\",[]],[\"name/86\",[66,55.211]],[\"comment/86\",[]],[\"name/87\",[41,46.599]],[\"comment/87\",[]],[\"name/88\",[42,46.599]],[\"comment/88\",[]],[\"name/89\",[67,55.211]],[\"comment/89\",[]],[\"name/90\",[55,50.019]],[\"comment/90\",[]],[\"name/91\",[0,22.407,1,22.407,68,30.692]],[\"comment/91\",[]],[\"name/92\",[69,55.211]],[\"comment/92\",[]],[\"name/93\",[70,55.211]],[\"comment/93\",[]],[\"name/94\",[71,55.211]],[\"comment/94\",[]],[\"name/95\",[72,55.211]],[\"comment/95\",[]],[\"name/96\",[73,55.211]],[\"comment/96\",[]],[\"name/97\",[74,55.211]],[\"comment/97\",[]],[\"name/98\",[75,55.211]],[\"comment/98\",[]],[\"name/99\",[76,55.211]],[\"comment/99\",[]],[\"name/100\",[77,55.211]],[\"comment/100\",[]],[\"name/101\",[78,55.211]],[\"comment/101\",[]],[\"name/102\",[79,55.211]],[\"comment/102\",[]],[\"name/103\",[80,55.211]],[\"comment/103\",[]],[\"name/104\",[81,55.211]],[\"comment/104\",[]],[\"name/105\",[82,55.211]],[\"comment/105\",[]],[\"name/106\",[83,55.211]],[\"comment/106\",[]],[\"name/107\",[84,55.211]],[\"comment/107\",[]],[\"name/108\",[85,55.211]],[\"comment/108\",[]],[\"name/109\",[86,55.211]],[\"comment/109\",[]],[\"name/110\",[87,55.211]],[\"comment/110\",[]],[\"name/111\",[88,55.211]],[\"comment/111\",[]],[\"name/112\",[89,55.211]],[\"comment/112\",[]],[\"name/113\",[90,55.211]],[\"comment/113\",[]],[\"name/114\",[91,55.211]],[\"comment/114\",[]],[\"name/115\",[92,55.211]],[\"comment/115\",[]],[\"name/116\",[93,55.211]],[\"comment/116\",[]],[\"name/117\",[94,55.211]],[\"comment/117\",[]],[\"name/118\",[95,55.211]],[\"comment/118\",[]],[\"name/119\",[96,55.211]],[\"comment/119\",[]],[\"name/120\",[13,30.84]],[\"comment/120\",[]],[\"name/121\",[97,50.019]],[\"comment/121\",[]],[\"name/122\",[98,50.019]],[\"comment/122\",[]],[\"name/123\",[99,50.019]],[\"comment/123\",[]],[\"name/124\",[100,50.019]],[\"comment/124\",[]],[\"name/125\",[101,55.211]],[\"comment/125\",[]],[\"name/126\",[102,50.019]],[\"comment/126\",[]],[\"name/127\",[103,50.019]],[\"comment/127\",[]],[\"name/128\",[104,50.019]],[\"comment/128\",[]],[\"name/129\",[105,50.019]],[\"comment/129\",[]],[\"name/130\",[22,44.045]],[\"comment/130\",[]],[\"name/131\",[23,44.045]],[\"comment/131\",[]],[\"name/132\",[24,44.045]],[\"comment/132\",[]],[\"name/133\",[25,44.045]],[\"comment/133\",[]],[\"name/134\",[106,46.599]],[\"comment/134\",[]],[\"name/135\",[107,50.019]],[\"comment/135\",[]],[\"name/136\",[108,50.019]],[\"comment/136\",[]],[\"name/137\",[109,50.019]],[\"comment/137\",[]],[\"name/138\",[110,55.211]],[\"comment/138\",[]],[\"name/139\",[111,50.019]],[\"comment/139\",[]],[\"name/140\",[112,55.211]],[\"comment/140\",[]],[\"name/141\",[113,55.211]],[\"comment/141\",[]],[\"name/142\",[97,50.019]],[\"comment/142\",[]],[\"name/143\",[98,50.019]],[\"comment/143\",[]],[\"name/144\",[99,50.019]],[\"comment/144\",[]],[\"name/145\",[100,50.019]],[\"comment/145\",[]],[\"name/146\",[102,50.019]],[\"comment/146\",[]],[\"name/147\",[103,50.019]],[\"comment/147\",[]],[\"name/148\",[104,50.019]],[\"comment/148\",[]],[\"name/149\",[105,50.019]],[\"comment/149\",[]],[\"name/150\",[106,46.599]],[\"comment/150\",[]],[\"name/151\",[107,50.019]],[\"comment/151\",[]],[\"name/152\",[108,50.019]],[\"comment/152\",[]],[\"name/153\",[109,50.019]],[\"comment/153\",[]],[\"name/154\",[111,50.019]],[\"comment/154\",[]],[\"name/155\",[114,50.019]],[\"comment/155\",[]],[\"name/156\",[114,50.019]],[\"comment/156\",[]],[\"name/157\",[8,35.434]],[\"comment/157\",[]],[\"name/158\",[115,55.211]],[\"comment/158\",[]],[\"name/159\",[116,55.211]],[\"comment/159\",[]],[\"name/160\",[106,46.599]],[\"comment/160\",[]],[\"name/161\",[0,22.407,1,22.407,117,30.692]],[\"comment/161\",[]],[\"name/162\",[118,55.211]],[\"comment/162\",[]],[\"name/163\",[13,30.84]],[\"comment/163\",[]],[\"name/164\",[119,55.211]],[\"comment/164\",[]],[\"name/165\",[120,50.019]],[\"comment/165\",[]],[\"name/166\",[121,50.019]],[\"comment/166\",[]],[\"name/167\",[122,50.019]],[\"comment/167\",[]],[\"name/168\",[123,50.019]],[\"comment/168\",[]],[\"name/169\",[124,50.019]],[\"comment/169\",[]],[\"name/170\",[125,50.019]],[\"comment/170\",[]],[\"name/171\",[126,50.019]],[\"comment/171\",[]],[\"name/172\",[127,46.599]],[\"comment/172\",[]],[\"name/173\",[128,50.019]],[\"comment/173\",[]],[\"name/174\",[22,44.045]],[\"comment/174\",[]],[\"name/175\",[23,44.045]],[\"comment/175\",[]],[\"name/176\",[129,50.019]],[\"comment/176\",[]],[\"name/177\",[130,50.019]],[\"comment/177\",[]],[\"name/178\",[24,44.045]],[\"comment/178\",[]],[\"name/179\",[131,50.019]],[\"comment/179\",[]],[\"name/180\",[132,50.019]],[\"comment/180\",[]],[\"name/181\",[25,44.045]],[\"comment/181\",[]],[\"name/182\",[133,50.019]],[\"comment/182\",[]],[\"name/183\",[134,50.019]],[\"comment/183\",[]],[\"name/184\",[135,50.019]],[\"comment/184\",[]],[\"name/185\",[136,55.211]],[\"comment/185\",[]],[\"name/186\",[133,50.019]],[\"comment/186\",[]],[\"name/187\",[8,35.434]],[\"comment/187\",[]],[\"name/188\",[134,50.019]],[\"comment/188\",[]],[\"name/189\",[8,35.434]],[\"comment/189\",[]],[\"name/190\",[120,50.019]],[\"comment/190\",[]],[\"name/191\",[121,50.019]],[\"comment/191\",[]],[\"name/192\",[122,50.019]],[\"comment/192\",[]],[\"name/193\",[123,50.019]],[\"comment/193\",[]],[\"name/194\",[124,50.019]],[\"comment/194\",[]],[\"name/195\",[125,50.019]],[\"comment/195\",[]],[\"name/196\",[126,50.019]],[\"comment/196\",[]],[\"name/197\",[127,46.599]],[\"comment/197\",[]],[\"name/198\",[128,50.019]],[\"comment/198\",[]],[\"name/199\",[129,50.019]],[\"comment/199\",[]],[\"name/200\",[130,50.019]],[\"comment/200\",[]],[\"name/201\",[131,50.019]],[\"comment/201\",[]],[\"name/202\",[132,50.019]],[\"comment/202\",[]],[\"name/203\",[135,50.019]],[\"comment/203\",[]],[\"name/204\",[127,46.599]],[\"comment/204\",[]],[\"name/205\",[137,55.211]],[\"comment/205\",[]],[\"name/206\",[0,22.407,1,22.407,138,30.692]],[\"comment/206\",[]],[\"name/207\",[139,55.211]],[\"comment/207\",[]],[\"name/208\",[13,30.84]],[\"comment/208\",[]],[\"name/209\",[140,44.045]],[\"comment/209\",[]],[\"name/210\",[141,55.211]],[\"comment/210\",[]],[\"name/211\",[142,44.045]],[\"comment/211\",[]],[\"name/212\",[143,44.045]],[\"comment/212\",[]],[\"name/213\",[144,55.211]],[\"comment/213\",[]],[\"name/214\",[145,44.045]],[\"comment/214\",[]],[\"name/215\",[146,44.045]],[\"comment/215\",[]],[\"name/216\",[147,44.045]],[\"comment/216\",[]],[\"name/217\",[148,44.045]],[\"comment/217\",[]],[\"name/218\",[14,38.853]],[\"comment/218\",[]],[\"name/219\",[149,44.045]],[\"comment/219\",[]],[\"name/220\",[150,44.045]],[\"comment/220\",[]],[\"name/221\",[151,55.211]],[\"comment/221\",[]],[\"name/222\",[13,30.84]],[\"comment/222\",[]],[\"name/223\",[140,44.045]],[\"comment/223\",[]],[\"name/224\",[142,44.045]],[\"comment/224\",[]],[\"name/225\",[152,55.211]],[\"comment/225\",[]],[\"name/226\",[153,55.211]],[\"comment/226\",[]],[\"name/227\",[143,44.045]],[\"comment/227\",[]],[\"name/228\",[154,55.211]],[\"comment/228\",[]],[\"name/229\",[155,55.211]],[\"comment/229\",[]],[\"name/230\",[145,44.045]],[\"comment/230\",[]],[\"name/231\",[146,44.045]],[\"comment/231\",[]],[\"name/232\",[147,44.045]],[\"comment/232\",[]],[\"name/233\",[148,44.045]],[\"comment/233\",[]],[\"name/234\",[14,38.853]],[\"comment/234\",[]],[\"name/235\",[149,44.045]],[\"comment/235\",[]],[\"name/236\",[150,44.045]],[\"comment/236\",[]],[\"name/237\",[156,55.211]],[\"comment/237\",[]],[\"name/238\",[13,30.84]],[\"comment/238\",[]],[\"name/239\",[140,44.045]],[\"comment/239\",[]],[\"name/240\",[142,44.045]],[\"comment/240\",[]],[\"name/241\",[157,55.211]],[\"comment/241\",[]],[\"name/242\",[158,55.211]],[\"comment/242\",[]],[\"name/243\",[143,44.045]],[\"comment/243\",[]],[\"name/244\",[145,44.045]],[\"comment/244\",[]],[\"name/245\",[146,44.045]],[\"comment/245\",[]],[\"name/246\",[159,55.211]],[\"comment/246\",[]],[\"name/247\",[147,44.045]],[\"comment/247\",[]],[\"name/248\",[148,44.045]],[\"comment/248\",[]],[\"name/249\",[14,38.853]],[\"comment/249\",[]],[\"name/250\",[149,44.045]],[\"comment/250\",[]],[\"name/251\",[160,55.211]],[\"comment/251\",[]],[\"name/252\",[161,50.019]],[\"comment/252\",[]],[\"name/253\",[162,55.211]],[\"comment/253\",[]],[\"name/254\",[163,55.211]],[\"comment/254\",[]],[\"name/255\",[164,55.211]],[\"comment/255\",[]],[\"name/256\",[150,44.045]],[\"comment/256\",[]],[\"name/257\",[165,55.211]],[\"comment/257\",[]],[\"name/258\",[166,55.211]],[\"comment/258\",[]],[\"name/259\",[167,55.211]],[\"comment/259\",[]],[\"name/260\",[168,55.211]],[\"comment/260\",[]],[\"name/261\",[169,55.211]],[\"comment/261\",[]],[\"name/262\",[170,55.211]],[\"comment/262\",[]],[\"name/263\",[13,30.84]],[\"comment/263\",[]],[\"name/264\",[140,44.045]],[\"comment/264\",[]],[\"name/265\",[142,44.045]],[\"comment/265\",[]],[\"name/266\",[143,44.045]],[\"comment/266\",[]],[\"name/267\",[145,44.045]],[\"comment/267\",[]],[\"name/268\",[146,44.045]],[\"comment/268\",[]],[\"name/269\",[147,44.045]],[\"comment/269\",[]],[\"name/270\",[148,44.045]],[\"comment/270\",[]],[\"name/271\",[14,38.853]],[\"comment/271\",[]],[\"name/272\",[149,44.045]],[\"comment/272\",[]],[\"name/273\",[150,44.045]],[\"comment/273\",[]],[\"name/274\",[171,55.211]],[\"comment/274\",[]],[\"name/275\",[172,55.211]],[\"comment/275\",[]],[\"name/276\",[173,55.211]],[\"comment/276\",[]],[\"name/277\",[174,55.211]],[\"comment/277\",[]],[\"name/278\",[161,50.019]],[\"comment/278\",[]],[\"name/279\",[175,55.211]],[\"comment/279\",[]],[\"name/280\",[0,22.407,1,22.407,176,30.692]],[\"comment/280\",[]],[\"name/281\",[177,55.211]],[\"comment/281\",[]],[\"name/282\",[13,30.84]],[\"comment/282\",[]],[\"name/283\",[178,50.019]],[\"comment/283\",[]],[\"name/284\",[179,50.019]],[\"comment/284\",[]],[\"name/285\",[180,50.019]],[\"comment/285\",[]],[\"name/286\",[181,50.019]],[\"comment/286\",[]],[\"name/287\",[182,50.019]],[\"comment/287\",[]],[\"name/288\",[183,46.599]],[\"comment/288\",[]],[\"name/289\",[184,46.599]],[\"comment/289\",[]],[\"name/290\",[185,46.599]],[\"comment/290\",[]],[\"name/291\",[186,46.599]],[\"comment/291\",[]],[\"name/292\",[187,46.599]],[\"comment/292\",[]],[\"name/293\",[188,46.599]],[\"comment/293\",[]],[\"name/294\",[189,55.211]],[\"comment/294\",[]],[\"name/295\",[13,30.84]],[\"comment/295\",[]],[\"name/296\",[178,50.019]],[\"comment/296\",[]],[\"name/297\",[179,50.019]],[\"comment/297\",[]],[\"name/298\",[180,50.019]],[\"comment/298\",[]],[\"name/299\",[181,50.019]],[\"comment/299\",[]],[\"name/300\",[182,50.019]],[\"comment/300\",[]],[\"name/301\",[183,46.599]],[\"comment/301\",[]],[\"name/302\",[184,46.599]],[\"comment/302\",[]],[\"name/303\",[185,46.599]],[\"comment/303\",[]],[\"name/304\",[186,46.599]],[\"comment/304\",[]],[\"name/305\",[187,46.599]],[\"comment/305\",[]],[\"name/306\",[188,46.599]],[\"comment/306\",[]],[\"name/307\",[18,50.019]],[\"comment/307\",[]],[\"name/308\",[13,30.84]],[\"comment/308\",[]],[\"name/309\",[19,50.019]],[\"comment/309\",[]],[\"name/310\",[14,38.853]],[\"comment/310\",[]],[\"name/311\",[190,55.211]],[\"comment/311\",[]],[\"name/312\",[15,46.599]],[\"comment/312\",[]],[\"name/313\",[16,46.599]],[\"comment/313\",[]],[\"name/314\",[20,50.019]],[\"comment/314\",[]],[\"name/315\",[17,46.599]],[\"comment/315\",[]],[\"name/316\",[191,55.211]],[\"comment/316\",[]],[\"name/317\",[13,30.84]],[\"comment/317\",[]],[\"name/318\",[192,55.211]],[\"comment/318\",[]],[\"name/319\",[193,55.211]],[\"comment/319\",[]],[\"name/320\",[194,55.211]],[\"comment/320\",[]],[\"name/321\",[195,55.211]],[\"comment/321\",[]],[\"name/322\",[196,55.211]],[\"comment/322\",[]],[\"name/323\",[197,55.211]],[\"comment/323\",[]],[\"name/324\",[198,55.211]],[\"comment/324\",[]],[\"name/325\",[199,55.211]],[\"comment/325\",[]],[\"name/326\",[200,55.211]],[\"comment/326\",[]],[\"name/327\",[183,46.599]],[\"comment/327\",[]],[\"name/328\",[184,46.599]],[\"comment/328\",[]],[\"name/329\",[185,46.599]],[\"comment/329\",[]],[\"name/330\",[186,46.599]],[\"comment/330\",[]],[\"name/331\",[187,46.599]],[\"comment/331\",[]],[\"name/332\",[188,46.599]],[\"comment/332\",[]],[\"name/333\",[201,55.211]],[\"comment/333\",[]],[\"name/334\",[8,35.434]],[\"comment/334\",[]],[\"name/335\",[202,55.211]],[\"comment/335\",[]],[\"name/336\",[8,35.434]],[\"comment/336\",[]],[\"name/337\",[203,55.211]],[\"comment/337\",[]],[\"name/338\",[204,55.211]],[\"comment/338\",[]],[\"name/339\",[205,55.211]],[\"comment/339\",[]],[\"name/340\",[206,39.452,207,39.452]],[\"comment/340\",[]],[\"name/341\",[208,39.452,209,39.452]],[\"comment/341\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":8,\"name\":{\"6\":{},\"33\":{},\"35\":{},\"40\":{},\"46\":{},\"157\":{},\"187\":{},\"189\":{},\"334\":{},\"336\":{}},\"comment\":{}}],[\"_deleterecord\",{\"_index\":179,\"name\":{\"284\":{},\"297\":{}},\"comment\":{}}],[\"_get\",{\"_index\":145,\"name\":{\"214\":{},\"230\":{},\"244\":{},\"267\":{}},\"comment\":{}}],[\"_getmultiple\",{\"_index\":146,\"name\":{\"215\":{},\"231\":{},\"245\":{},\"268\":{}},\"comment\":{}}],[\"_getparametersbyname\",{\"_index\":159,\"name\":{\"246\":{}},\"comment\":{}}],[\"_getrecord\",{\"_index\":180,\"name\":{\"285\":{},\"298\":{}},\"comment\":{}}],[\"_putrecord\",{\"_index\":181,\"name\":{\"286\":{},\"299\":{}},\"comment\":{}}],[\"_updaterecord\",{\"_index\":182,\"name\":{\"287\":{},\"300\":{}},\"comment\":{}}],[\"addcontext\",{\"_index\":46,\"name\":{\"56\":{}},\"comment\":{}}],[\"adddimension\",{\"_index\":97,\"name\":{\"121\":{},\"142\":{}},\"comment\":{}}],[\"adddimensions\",{\"_index\":98,\"name\":{\"122\":{},\"143\":{}},\"comment\":{}}],[\"adderrorasmetadata\",{\"_index\":120,\"name\":{\"165\":{},\"190\":{}},\"comment\":{}}],[\"addmetadata\",{\"_index\":99,\"name\":{\"123\":{},\"144\":{}},\"comment\":{}}],[\"addmetric\",{\"_index\":100,\"name\":{\"124\":{},\"145\":{}},\"comment\":{}}],[\"addpersistentlogattributes\",{\"_index\":47,\"name\":{\"57\":{}},\"comment\":{}}],[\"addresponseasmetadata\",{\"_index\":121,\"name\":{\"166\":{},\"191\":{}},\"comment\":{}}],[\"addservicenameannotation\",{\"_index\":122,\"name\":{\"167\":{},\"192\":{}},\"comment\":{}}],[\"addtocache\",{\"_index\":147,\"name\":{\"216\":{},\"232\":{},\"247\":{},\"269\":{}},\"comment\":{}}],[\"after\",{\"_index\":30,\"name\":{\"36\":{}},\"comment\":{}}],[\"annotatecoldstart\",{\"_index\":123,\"name\":{\"168\":{},\"193\":{}},\"comment\":{}}],[\"appconfigprovider\",{\"_index\":139,\"name\":{\"207\":{}},\"comment\":{}}],[\"appendkeys\",{\"_index\":48,\"name\":{\"58\":{}},\"comment\":{}}],[\"asynchandler\",{\"_index\":28,\"name\":{\"32\":{}},\"comment\":{}}],[\"aws\",{\"_index\":0,\"name\":{\"0\":{},\"47\":{},\"91\":{},\"161\":{},\"206\":{},\"280\":{}},\"comment\":{}}],[\"basepersistencelayer\",{\"_index\":177,\"name\":{\"281\":{}},\"comment\":{}}],[\"basepersistencelayerinterface\",{\"_index\":200,\"name\":{\"326\":{}},\"comment\":{}}],[\"before\",{\"_index\":31,\"name\":{\"37\":{}},\"comment\":{}}],[\"bits\",{\"_index\":70,\"name\":{\"93\":{}},\"comment\":{}}],[\"bitspersecond\",{\"_index\":71,\"name\":{\"94\":{}},\"comment\":{}}],[\"bytes\",{\"_index\":72,\"name\":{\"95\":{}},\"comment\":{}}],[\"bytespersecond\",{\"_index\":73,\"name\":{\"96\":{}},\"comment\":{}}],[\"captureaws\",{\"_index\":124,\"name\":{\"169\":{},\"194\":{}},\"comment\":{}}],[\"captureawsclient\",{\"_index\":125,\"name\":{\"170\":{},\"195\":{}},\"comment\":{}}],[\"captureawsv3client\",{\"_index\":126,\"name\":{\"171\":{},\"196\":{}},\"comment\":{}}],[\"capturecoldstartmetric\",{\"_index\":101,\"name\":{\"125\":{}},\"comment\":{}}],[\"capturelambdahandler\",{\"_index\":127,\"name\":{\"172\":{},\"197\":{},\"204\":{}},\"comment\":{}}],[\"capturemethod\",{\"_index\":128,\"name\":{\"173\":{},\"198\":{}},\"comment\":{}}],[\"cdk\",{\"_index\":206,\"name\":{\"340\":{}},\"comment\":{}}],[\"clearcache\",{\"_index\":148,\"name\":{\"217\":{},\"233\":{},\"248\":{},\"270\":{}},\"comment\":{}}],[\"cleardefaultdimensions\",{\"_index\":102,\"name\":{\"126\":{},\"146\":{}},\"comment\":{}}],[\"cleardimensions\",{\"_index\":103,\"name\":{\"127\":{},\"147\":{}},\"comment\":{}}],[\"clearmetadata\",{\"_index\":104,\"name\":{\"128\":{},\"148\":{}},\"comment\":{}}],[\"clearmetrics\",{\"_index\":105,\"name\":{\"129\":{},\"149\":{}},\"comment\":{}}],[\"client\",{\"_index\":140,\"name\":{\"209\":{},\"223\":{},\"239\":{},\"264\":{}},\"comment\":{}}],[\"configservice\",{\"_index\":12,\"name\":{\"10\":{}},\"comment\":{}}],[\"configurationtokenstore\",{\"_index\":141,\"name\":{\"210\":{}},\"comment\":{}}],[\"configure\",{\"_index\":183,\"name\":{\"288\":{},\"301\":{},\"327\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":13,\"name\":{\"11\":{},\"17\":{},\"25\":{},\"49\":{},\"55\":{},\"81\":{},\"120\":{},\"163\":{},\"208\":{},\"222\":{},\"238\":{},\"263\":{},\"282\":{},\"295\":{},\"308\":{},\"317\":{}},\"comment\":{}}],[\"context\",{\"_index\":34,\"name\":{\"41\":{}},\"comment\":{}}],[\"contextexamples\",{\"_index\":3,\"name\":{\"1\":{}},\"comment\":{}}],[\"count\",{\"_index\":74,\"name\":{\"97\":{}},\"comment\":{}}],[\"countpersecond\",{\"_index\":75,\"name\":{\"98\":{}},\"comment\":{}}],[\"createchild\",{\"_index\":49,\"name\":{\"59\":{}},\"comment\":{}}],[\"createlogger\",{\"_index\":67,\"name\":{\"89\":{}},\"comment\":{}}],[\"createtracer\",{\"_index\":137,\"name\":{\"205\":{}},\"comment\":{}}],[\"critical\",{\"_index\":50,\"name\":{\"60\":{}},\"comment\":{}}],[\"custom\",{\"_index\":6,\"name\":{\"4\":{}},\"comment\":{}}],[\"customevent\",{\"_index\":7,\"name\":{\"5\":{}},\"comment\":{}}],[\"debug\",{\"_index\":51,\"name\":{\"61\":{}},\"comment\":{}}],[\"default_providers\",{\"_index\":171,\"name\":{\"274\":{}},\"comment\":{}}],[\"deleterecord\",{\"_index\":184,\"name\":{\"289\":{},\"302\":{},\"328\":{}},\"comment\":{}}],[\"docs\",{\"_index\":204,\"name\":{\"338\":{}},\"comment\":{}}],[\"dynamodbpersistencelayer\",{\"_index\":189,\"name\":{\"294\":{}},\"comment\":{}}],[\"dynamodbprovider\",{\"_index\":151,\"name\":{\"221\":{}},\"comment\":{}}],[\"environmentvariablesservice\",{\"_index\":18,\"name\":{\"16\":{},\"307\":{}},\"comment\":{}}],[\"envvarsservice\",{\"_index\":142,\"name\":{\"211\":{},\"224\":{},\"240\":{},\"265\":{}},\"comment\":{}}],[\"error\",{\"_index\":35,\"name\":{\"42\":{},\"62\":{}},\"comment\":{}}],[\"errorskey\",{\"_index\":157,\"name\":{\"241\":{}},\"comment\":{}}],[\"event\",{\"_index\":36,\"name\":{\"43\":{}},\"comment\":{}}],[\"events\",{\"_index\":5,\"name\":{\"3\":{}},\"comment\":{}}],[\"example\",{\"_index\":209,\"name\":{\"341\":{}},\"comment\":{}}],[\"expirytimestamp\",{\"_index\":192,\"name\":{\"318\":{}},\"comment\":{}}],[\"formatattributes\",{\"_index\":41,\"name\":{\"50\":{},\"82\":{},\"87\":{}},\"comment\":{}}],[\"formaterror\",{\"_index\":42,\"name\":{\"51\":{},\"83\":{},\"88\":{}},\"comment\":{}}],[\"formattimestamp\",{\"_index\":43,\"name\":{\"52\":{},\"84\":{}},\"comment\":{}}],[\"get\",{\"_index\":14,\"name\":{\"12\":{},\"19\":{},\"218\":{},\"234\":{},\"249\":{},\"271\":{},\"310\":{}},\"comment\":{}}],[\"getappconfig\",{\"_index\":172,\"name\":{\"275\":{}},\"comment\":{}}],[\"getcodelocation\",{\"_index\":44,\"name\":{\"53\":{},\"85\":{}},\"comment\":{}}],[\"getcoldstart\",{\"_index\":22,\"name\":{\"26\":{},\"63\":{},\"130\":{},\"174\":{}},\"comment\":{}}],[\"getdefaultservicename\",{\"_index\":23,\"name\":{\"27\":{},\"64\":{},\"131\":{},\"175\":{}},\"comment\":{}}],[\"getfunctionname\",{\"_index\":190,\"name\":{\"311\":{}},\"comment\":{}}],[\"getlogevent\",{\"_index\":52,\"name\":{\"65\":{}},\"comment\":{}}],[\"getlogssampled\",{\"_index\":53,\"name\":{\"66\":{}},\"comment\":{}}],[\"getmultiple\",{\"_index\":149,\"name\":{\"219\":{},\"235\":{},\"250\":{},\"272\":{}},\"comment\":{}}],[\"getparameter\",{\"_index\":173,\"name\":{\"276\":{}},\"comment\":{}}],[\"getparameters\",{\"_index\":174,\"name\":{\"277\":{}},\"comment\":{}}],[\"getparametersbatchbyname\",{\"_index\":160,\"name\":{\"251\":{}},\"comment\":{}}],[\"getparametersbyname\",{\"_index\":161,\"name\":{\"252\":{},\"278\":{}},\"comment\":{}}],[\"getparametersbynamefromcache\",{\"_index\":162,\"name\":{\"253\":{}},\"comment\":{}}],[\"getparametersbynameinchunks\",{\"_index\":163,\"name\":{\"254\":{}},\"comment\":{}}],[\"getparametersbynamewithdecryptoption\",{\"_index\":164,\"name\":{\"255\":{}},\"comment\":{}}],[\"getrecord\",{\"_index\":185,\"name\":{\"290\":{},\"303\":{},\"329\":{}},\"comment\":{}}],[\"getresponse\",{\"_index\":197,\"name\":{\"323\":{}},\"comment\":{}}],[\"getrootxraytraceid\",{\"_index\":129,\"name\":{\"176\":{},\"199\":{}},\"comment\":{}}],[\"getsecret\",{\"_index\":175,\"name\":{\"279\":{}},\"comment\":{}}],[\"getsegment\",{\"_index\":130,\"name\":{\"177\":{},\"200\":{}},\"comment\":{}}],[\"getservicename\",{\"_index\":15,\"name\":{\"13\":{},\"20\":{},\"312\":{}},\"comment\":{}}],[\"getstatus\",{\"_index\":198,\"name\":{\"324\":{}},\"comment\":{}}],[\"getxraytraceid\",{\"_index\":16,\"name\":{\"14\":{},\"21\":{},\"313\":{}},\"comment\":{}}],[\"getxraytracesampled\",{\"_index\":20,\"name\":{\"22\":{},\"314\":{}},\"comment\":{}}],[\"gigabits\",{\"_index\":76,\"name\":{\"99\":{}},\"comment\":{}}],[\"gigabitspersecond\",{\"_index\":77,\"name\":{\"100\":{}},\"comment\":{}}],[\"gigabytes\",{\"_index\":78,\"name\":{\"101\":{}},\"comment\":{}}],[\"gigabytespersecond\",{\"_index\":79,\"name\":{\"102\":{}},\"comment\":{}}],[\"handleanyinvalidgetparametererrors\",{\"_index\":167,\"name\":{\"259\":{}},\"comment\":{}}],[\"handler\",{\"_index\":27,\"name\":{\"31\":{}},\"comment\":{}}],[\"haskeyexpiredincache\",{\"_index\":150,\"name\":{\"220\":{},\"236\":{},\"256\":{},\"273\":{}},\"comment\":{}}],[\"helloworldcontext\",{\"_index\":4,\"name\":{\"2\":{}},\"comment\":{}}],[\"high\",{\"_index\":115,\"name\":{\"158\":{}},\"comment\":{}}],[\"idempotencykey\",{\"_index\":193,\"name\":{\"319\":{}},\"comment\":{}}],[\"idempotencykeyprefix\",{\"_index\":178,\"name\":{\"283\":{},\"296\":{}},\"comment\":{}}],[\"idempotencyrecord\",{\"_index\":191,\"name\":{\"316\":{}},\"comment\":{}}],[\"idempotentfunction\",{\"_index\":201,\"name\":{\"333\":{}},\"comment\":{}}],[\"idempotentlambdahandler\",{\"_index\":202,\"name\":{\"335\":{}},\"comment\":{}}],[\"info\",{\"_index\":54,\"name\":{\"67\":{}},\"comment\":{}}],[\"injectlambdacontext\",{\"_index\":55,\"name\":{\"68\":{},\"90\":{}},\"comment\":{}}],[\"injectlambdacontextafteroronerror\",{\"_index\":63,\"name\":{\"78\":{}},\"comment\":{}}],[\"injectlambdacontextbefore\",{\"_index\":64,\"name\":{\"79\":{}},\"comment\":{}}],[\"inprogressexpirytimestamp\",{\"_index\":194,\"name\":{\"320\":{}},\"comment\":{}}],[\"iscoldstart\",{\"_index\":24,\"name\":{\"28\":{},\"69\":{},\"132\":{},\"178\":{}},\"comment\":{}}],[\"isexpired\",{\"_index\":199,\"name\":{\"325\":{}},\"comment\":{}}],[\"ispayloadvalidationenabled\",{\"_index\":186,\"name\":{\"291\":{},\"304\":{},\"330\":{}},\"comment\":{}}],[\"istracesampled\",{\"_index\":131,\"name\":{\"179\":{},\"201\":{}},\"comment\":{}}],[\"istracingenabled\",{\"_index\":132,\"name\":{\"180\":{},\"202\":{}},\"comment\":{}}],[\"isvalidservicename\",{\"_index\":25,\"name\":{\"29\":{},\"70\":{},\"133\":{},\"181\":{}},\"comment\":{}}],[\"isvaluetrue\",{\"_index\":17,\"name\":{\"15\":{},\"23\":{},\"315\":{}},\"comment\":{}}],[\"key1\",{\"_index\":9,\"name\":{\"7\":{}},\"comment\":{}}],[\"key2\",{\"_index\":10,\"name\":{\"8\":{}},\"comment\":{}}],[\"key3\",{\"_index\":11,\"name\":{\"9\":{}},\"comment\":{}}],[\"keyattr\",{\"_index\":152,\"name\":{\"225\":{}},\"comment\":{}}],[\"kilobits\",{\"_index\":80,\"name\":{\"103\":{}},\"comment\":{}}],[\"kilobitspersecond\",{\"_index\":81,\"name\":{\"104\":{}},\"comment\":{}}],[\"kilobytes\",{\"_index\":82,\"name\":{\"105\":{}},\"comment\":{}}],[\"kilobytespersecond\",{\"_index\":83,\"name\":{\"106\":{}},\"comment\":{}}],[\"lambda\",{\"_index\":1,\"name\":{\"0\":{},\"47\":{},\"91\":{},\"161\":{},\"206\":{},\"280\":{}},\"comment\":{}}],[\"lambdainterface\",{\"_index\":26,\"name\":{\"30\":{}},\"comment\":{}}],[\"layers\",{\"_index\":205,\"name\":{\"339\":{}},\"comment\":{}}],[\"logeventifenabled\",{\"_index\":56,\"name\":{\"71\":{}},\"comment\":{}}],[\"logformatter\",{\"_index\":40,\"name\":{\"48\":{}},\"comment\":{}}],[\"logformatterinterface\",{\"_index\":66,\"name\":{\"86\":{}},\"comment\":{}}],[\"logger\",{\"_index\":45,\"name\":{\"54\":{}},\"comment\":{}}],[\"logmetrics\",{\"_index\":106,\"name\":{\"134\":{},\"150\":{},\"160\":{}},\"comment\":{}}],[\"makefunctionidempotent\",{\"_index\":203,\"name\":{\"337\":{}},\"comment\":{}}],[\"maxgetparametersitems\",{\"_index\":158,\"name\":{\"242\":{}},\"comment\":{}}],[\"megabits\",{\"_index\":84,\"name\":{\"107\":{}},\"comment\":{}}],[\"megabitspersecond\",{\"_index\":85,\"name\":{\"108\":{}},\"comment\":{}}],[\"megabytes\",{\"_index\":86,\"name\":{\"109\":{}},\"comment\":{}}],[\"megabytespersecond\",{\"_index\":87,\"name\":{\"110\":{}},\"comment\":{}}],[\"metricresolution\",{\"_index\":114,\"name\":{\"155\":{},\"156\":{}},\"comment\":{}}],[\"metrics\",{\"_index\":96,\"name\":{\"119\":{}},\"comment\":{}}],[\"metricsinterface\",{\"_index\":113,\"name\":{\"141\":{}},\"comment\":{}}],[\"metricunits\",{\"_index\":69,\"name\":{\"92\":{}},\"comment\":{}}],[\"microseconds\",{\"_index\":88,\"name\":{\"111\":{}},\"comment\":{}}],[\"middlewarelikeobj\",{\"_index\":29,\"name\":{\"34\":{}},\"comment\":{}}],[\"middylikerequest\",{\"_index\":33,\"name\":{\"39\":{}},\"comment\":{}}],[\"milliseconds\",{\"_index\":89,\"name\":{\"112\":{}},\"comment\":{}}],[\"onerror\",{\"_index\":32,\"name\":{\"38\":{}},\"comment\":{}}],[\"payloadhash\",{\"_index\":195,\"name\":{\"321\":{}},\"comment\":{}}],[\"percent\",{\"_index\":90,\"name\":{\"113\":{}},\"comment\":{}}],[\"powertoollogformatter\",{\"_index\":65,\"name\":{\"80\":{}},\"comment\":{}}],[\"powertools/commons\",{\"_index\":2,\"name\":{\"0\":{}},\"comment\":{}}],[\"powertools/idempotency\",{\"_index\":176,\"name\":{\"280\":{}},\"comment\":{}}],[\"powertools/logger\",{\"_index\":39,\"name\":{\"47\":{}},\"comment\":{}}],[\"powertools/metrics\",{\"_index\":68,\"name\":{\"91\":{}},\"comment\":{}}],[\"powertools/parameters\",{\"_index\":138,\"name\":{\"206\":{}},\"comment\":{}}],[\"powertools/tracer\",{\"_index\":117,\"name\":{\"161\":{}},\"comment\":{}}],[\"provider\",{\"_index\":119,\"name\":{\"164\":{}},\"comment\":{}}],[\"publishstoredmetrics\",{\"_index\":107,\"name\":{\"135\":{},\"151\":{}},\"comment\":{}}],[\"putannotation\",{\"_index\":133,\"name\":{\"182\":{},\"186\":{}},\"comment\":{}}],[\"putmetadata\",{\"_index\":134,\"name\":{\"183\":{},\"188\":{}},\"comment\":{}}],[\"refreshsampleratecalculation\",{\"_index\":57,\"name\":{\"72\":{}},\"comment\":{}}],[\"removekeys\",{\"_index\":58,\"name\":{\"73\":{}},\"comment\":{}}],[\"removepersistentlogattributes\",{\"_index\":59,\"name\":{\"74\":{}},\"comment\":{}}],[\"resolvedecryptionconfigvalue\",{\"_index\":165,\"name\":{\"257\":{}},\"comment\":{}}],[\"response\",{\"_index\":37,\"name\":{\"44\":{}},\"comment\":{}}],[\"responsedata\",{\"_index\":196,\"name\":{\"322\":{}},\"comment\":{}}],[\"sam\",{\"_index\":208,\"name\":{\"341\":{}},\"comment\":{}}],[\"sample\",{\"_index\":207,\"name\":{\"340\":{}},\"comment\":{}}],[\"saveinprogress\",{\"_index\":187,\"name\":{\"292\":{},\"305\":{},\"331\":{}},\"comment\":{}}],[\"savesuccess\",{\"_index\":188,\"name\":{\"293\":{},\"306\":{},\"332\":{}},\"comment\":{}}],[\"seconds\",{\"_index\":91,\"name\":{\"114\":{}},\"comment\":{}}],[\"secretsprovider\",{\"_index\":170,\"name\":{\"262\":{}},\"comment\":{}}],[\"serializemetrics\",{\"_index\":108,\"name\":{\"136\":{},\"152\":{}},\"comment\":{}}],[\"servicenamevariable\",{\"_index\":19,\"name\":{\"18\":{},\"309\":{}},\"comment\":{}}],[\"setdefaultdimensions\",{\"_index\":109,\"name\":{\"137\":{},\"153\":{}},\"comment\":{}}],[\"setfunctionname\",{\"_index\":110,\"name\":{\"138\":{}},\"comment\":{}}],[\"setpersistentlogattributes\",{\"_index\":60,\"name\":{\"75\":{}},\"comment\":{}}],[\"setsampleratevalue\",{\"_index\":61,\"name\":{\"76\":{}},\"comment\":{}}],[\"setsegment\",{\"_index\":135,\"name\":{\"184\":{},\"203\":{}},\"comment\":{}}],[\"singlemetric\",{\"_index\":111,\"name\":{\"139\":{},\"154\":{}},\"comment\":{}}],[\"sortattr\",{\"_index\":153,\"name\":{\"226\":{}},\"comment\":{}}],[\"splitbatchanddecryptparameters\",{\"_index\":168,\"name\":{\"260\":{}},\"comment\":{}}],[\"ssmprovider\",{\"_index\":156,\"name\":{\"237\":{}},\"comment\":{}}],[\"standard\",{\"_index\":116,\"name\":{\"159\":{}},\"comment\":{}}],[\"store\",{\"_index\":143,\"name\":{\"212\":{},\"227\":{},\"243\":{},\"266\":{}},\"comment\":{}}],[\"synchandler\",{\"_index\":38,\"name\":{\"45\":{}},\"comment\":{}}],[\"tablename\",{\"_index\":154,\"name\":{\"228\":{}},\"comment\":{}}],[\"terabits\",{\"_index\":92,\"name\":{\"115\":{}},\"comment\":{}}],[\"terabitspersecond\",{\"_index\":93,\"name\":{\"116\":{}},\"comment\":{}}],[\"terabytes\",{\"_index\":94,\"name\":{\"117\":{}},\"comment\":{}}],[\"terabytespersecond\",{\"_index\":95,\"name\":{\"118\":{}},\"comment\":{}}],[\"throwiferrorskeyispresent\",{\"_index\":169,\"name\":{\"261\":{}},\"comment\":{}}],[\"throwonemptymetrics\",{\"_index\":112,\"name\":{\"140\":{}},\"comment\":{}}],[\"tracer\",{\"_index\":118,\"name\":{\"162\":{}},\"comment\":{}}],[\"tracerinterface\",{\"_index\":136,\"name\":{\"185\":{}},\"comment\":{}}],[\"transformandcachegetparametersresponse\",{\"_index\":166,\"name\":{\"258\":{}},\"comment\":{}}],[\"utility\",{\"_index\":21,\"name\":{\"24\":{}},\"comment\":{}}],[\"valueattr\",{\"_index\":155,\"name\":{\"229\":{}},\"comment\":{}}],[\"valuestore\",{\"_index\":144,\"name\":{\"213\":{}},\"comment\":{}}],[\"warn\",{\"_index\":62,\"name\":{\"77\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 0000000000..18b4f8fee3 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1367 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 0000000000..c2705ba58c --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,2 @@ +[comment]: <> (Includes Changelog content entire file as a snippet) +--8<-- "CHANGELOG.md" diff --git a/docs/classes/_aws_lambda_powertools_commons.ConfigService.html b/docs/classes/_aws_lambda_powertools_commons.ConfigService.html new file mode 100644 index 0000000000..9de67bf733 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_commons.ConfigService.html @@ -0,0 +1,227 @@ +ConfigService | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Abstract class ConfigService

+

This class defines common methods and variables that can be set by the developer +in the runtime.

+ +

Abstract

+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    It returns the value of an environment variable that has given name.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
    +

    Returns string

+
+ +
    + +
  • +

    It returns the value of the POWERTOOLS_SERVICE_NAME environment variable.

    +
    +

    Returns string

+
+ +
    + +
  • +

    It returns the value of the _X_AMZN_TRACE_ID environment variable.

    +

    The AWS X-Ray Trace data available in the environment variable has this format: +Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    +

    The actual Trace ID is: 1-5759e988-bd862e3fe1be46a994272793.

    +
    +

    Returns undefined | string

+
+ +
    + +
  • +

    It returns true if the string value represents a boolean true value.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
    +

    Returns boolean

    boolean

    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html b/docs/classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html new file mode 100644 index 0000000000..83054deb6a --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html @@ -0,0 +1,268 @@ +EnvironmentVariablesService | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Class EnvironmentVariablesService

+

This class is used to return environment variables that are available in the runtime of +the current Lambda invocation. +These variables can be a mix of runtime environment variables set by AWS and +variables that can be set by the developer additionally.

+ +

See

+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
serviceNameVariable: string = 'POWERTOOLS_SERVICE_NAME'
+
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +

    It returns the value of the _X_AMZN_TRACE_ID environment variable.

    +

    The AWS X-Ray Trace data available in the environment variable has this format: +Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    +

    The actual Trace ID is: 1-5759e988-bd862e3fe1be46a994272793.

    +
    +

    Returns undefined | string

+
+ +
    + +
  • +

    It returns true if the Sampled flag is set in the _X_AMZN_TRACE_ID environment variable.

    +

    The AWS X-Ray Trace data available in the environment variable has this format: +Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    +
    +

    Returns boolean

+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_commons.Utility.html b/docs/classes/_aws_lambda_powertools_commons.Utility.html new file mode 100644 index 0000000000..ab45e3b531 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_commons.Utility.html @@ -0,0 +1,247 @@ +Utility | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Intro

Utility is a base class that other Powertools utilites can extend to inherit shared logic.

+

Key features

    +
  • Cold Start heuristic to determine if the current
  • +
+

Usage

Cold Start

Cold start is a term commonly used to describe the Init phase of a Lambda function. In this phase, Lambda creates or unfreezes an execution environment with the configured resources, downloads the code for the function and all layers, initializes any extensions, initializes the runtime, and then runs the function’s initialization code (the code outside the main handler). The Init phase happens either during the first invocation, or in advance of function invocations if you have enabled provisioned concurrency.

+

To learn more about the Lambda execution environment lifecycle, see the Execution environment section of the AWS Lambda documentation.

+

As a Powertools user you probably won't be using this class directly, in fact if you use other Powertools utilities the cold start heuristic found here is already used to:

+
    +
  • Add a coldStart key to the structured logs when injecting context information in Logger
  • +
  • Emit a metric during a cold start function invocation in Metrics
  • +
  • Annotate the invocation segment with a coldStart key in Tracer
  • +
+

If you want to use this logic in your own utilities, Utility provides two methods:

+

getColdStart()

Since the Utility class is instantiated outside of the Lambda handler it will persist across invocations of the same execution environment. This means that if you call getColdStart() multiple times, it will return true during the first invocation, and false afterwards.

+ +

Example

import { Utility } from '@aws-lambda-powertools/commons';

const utility = new Utility();

export const handler = async (_event: any, _context: any) => {
utility.getColdStart();
}; +
+

isColdStart()

This method is an alias of getColdStart() and is exposed for convenience and better readability in certain usages.

+ +

Example

import { Utility } from '@aws-lambda-powertools/commons';

const utility = new Utility();

export const handler = async (_event: any, _context: any) => {
if (utility.isColdStart()) {
// do something, this block is only executed on the first invocation of the function
} else {
// do something else, this block gets executed on all subsequent invocations
}
}; +
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Returns boolean

+
+ +
    + +
  • +

    Returns string

+
+ +
    + +
  • +

    Returns boolean

+
+ +
    + +
  • +

    Validate that the service name provided is valid. +Used internally during initialization.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional serviceName: string
      +

      Service name to validate

      +
    +

    Returns boolean

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html b/docs/classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html new file mode 100644 index 0000000000..0489838d45 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html @@ -0,0 +1,357 @@ +BasePersistenceLayer | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Hierarchy

+
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
idempotencyKeyPrefix: string
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Saves a record indicating that the function's execution is currently in progress

    +
    +
    +

    Parameters

    +
      +
    • +
      data: Record<string, unknown>
      +

      the data payload that will be hashed to create the hash portion of the idempotency key

      +
    • +
    • +
      Optional remainingTimeInMillis: number
      +

      the remaining time left in the lambda execution context

      +
    +

    Returns Promise<void>

+
+ +
    + +
  • +

    Saves a record of the function completing successfully. This will create a record with a COMPLETED status +and will save the result of the completed function in the idempotency record.

    +
    +
    +

    Parameters

    +
      +
    • +
      data: Record<string, unknown>
      +

      the data payload that will be hashed to create the hash portion of the idempotency key

      +
    • +
    • +
      result: Record<string, unknown>
      +

      the result of the successfully completed function

      +
    +

    Returns Promise<void>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html b/docs/classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html new file mode 100644 index 0000000000..0f8ee83df1 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html @@ -0,0 +1,363 @@ +DynamoDBPersistenceLayer | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
idempotencyKeyPrefix: string
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Saves a record indicating that the function's execution is currently in progress

    +
    +
    +

    Parameters

    +
      +
    • +
      data: Record<string, unknown>
      +

      the data payload that will be hashed to create the hash portion of the idempotency key

      +
    • +
    • +
      Optional remainingTimeInMillis: number
      +

      the remaining time left in the lambda execution context

      +
    +

    Returns Promise<void>

+
+ +
    + +
  • +

    Saves a record of the function completing successfully. This will create a record with a COMPLETED status +and will save the result of the completed function in the idempotency record.

    +
    +
    +

    Parameters

    +
      +
    • +
      data: Record<string, unknown>
      +

      the data payload that will be hashed to create the hash portion of the idempotency key

      +
    • +
    • +
      result: Record<string, unknown>
      +

      the result of the successfully completed function

      +
    +

    Returns Promise<void>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html b/docs/classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html new file mode 100644 index 0000000000..de2780d70d --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html @@ -0,0 +1,288 @@ +EnvironmentVariablesService | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Class EnvironmentVariablesService

+

This class is used to return environment variables that are available in the runtime of +the current Lambda invocation. +These variables can be a mix of runtime environment variables set by AWS and +variables that can be set by the developer additionally.

+ +

Implements

+

See

+
+
+

Hierarchy

+
+
+

Implements

+
    +
  • ConfigServiceInterface
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
serviceNameVariable: string
+
+
+

Methods

+
+ +
    + +
  • +

    It returns the value of an environment variable that has given name.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    It returns the value of the POWERTOOLS_SERVICE_NAME environment variable.

    +
    +

    Returns string

+
+ +
    + +
  • +

    It returns the value of the _X_AMZN_TRACE_ID environment variable.

    +

    The AWS X-Ray Trace data available in the environment variable has this format: +Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    +

    The actual Trace ID is: 1-5759e988-bd862e3fe1be46a994272793.

    +
    +

    Returns undefined | string

+
+ +
    + +
  • +

    It returns true if the Sampled flag is set in the _X_AMZN_TRACE_ID environment variable.

    +

    The AWS X-Ray Trace data available in the environment variable has this format: +Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    It returns true if the string value represents a boolean true value.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
    +

    Returns boolean

    boolean

    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html b/docs/classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html new file mode 100644 index 0000000000..5f6e934014 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html @@ -0,0 +1,236 @@ +IdempotencyRecord | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Class representing an idempotency record

+
+
+

Hierarchy

+
    +
  • IdempotencyRecord
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
expiryTimestamp?: number
+
+ +
idempotencyKey: string
+
+ +
inProgressExpiryTimestamp?: number
+
+ +
payloadHash?: string
+
+ +
responseData?: Record<string, unknown>
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_logger.LogFormatter.html b/docs/classes/_aws_lambda_powertools_logger.LogFormatter.html new file mode 100644 index 0000000000..7f7863ecbb --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_logger.LogFormatter.html @@ -0,0 +1,238 @@ +LogFormatter | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

This class defines and implements common methods for the formatting of log attributes.

+ +

Abstract

+

Implements

+
+

Hierarchy

+
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +

    It formats a date into a string in simplified extended ISO format (ISO 8601).

    +
    +
    +

    Parameters

    +
      +
    • +
      now: Date
    +

    Returns string

+
+ +
    + +
  • +

    It returns a string containing the location of an error, given a particular stack trace.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional stack: string
    +

    Returns string

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_logger.Logger.html b/docs/classes/_aws_lambda_powertools_logger.Logger.html new file mode 100644 index 0000000000..3e8666195d --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_logger.Logger.html @@ -0,0 +1,637 @@ +Logger | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Intro

The Logger utility provides an opinionated logger with output structured as JSON.

+

Key features

    +
  • Capture key fields from Lambda context, cold start and structures logging output as JSON
  • +
  • Log Lambda context when instructed (disabled by default)
  • +
  • Log sampling prints all logs for a percentage of invocations (disabled by default)
  • +
  • Append additional keys to structured log at any point in time
  • +
+

Usage

For more usage examples, see our documentation.

+

Basic usage

+

Example

import { Logger } from '@aws-lambda-powertools/logger';

// Logger parameters fetched from the environment variables:
const logger = new Logger(); +
+

Functions usage with middleware

If you use function-based Lambda handlers you can use the injectLambdaContext() +middy middleware to automatically add context to your Lambda logs.

+ +

Example

import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger';
import middy from '@middy/core';

const logger = new Logger();

const lambdaHandler = async (_event: any, _context: any) => {
logger.info('This is an INFO log with some context');
};

export const handler = middy(lambdaHandler).use(injectLambdaContext(logger)); +
+

Object oriented usage with decorators

If instead you use TypeScript classes to wrap your Lambda handler you can use the @logger.injectLambdaContext() decorator.

+ +

Example

import { Logger } from '@aws-lambda-powertools/logger';
import { LambdaInterface } from '@aws-lambda-powertools/commons';

const logger = new Logger();

class Lambda implements LambdaInterface {

// FYI: Decorator might not render properly in VSCode mouse over due to https://github.com/microsoft/TypeScript/issues/47679 and might show as *@logger* instead of `@logger.injectLambdaContext`

// Decorate your handler class method
@logger.injectLambdaContext()
public async handler(_event: any, _context: any): Promise<void> {
logger.info('This is an INFO log with some context');
}
}

const handlerClass = new Lambda();
export const handler = handlerClass.handler.bind(handlerClass); +
+

Functions usage with manual instrumentation

If you prefer to manually instrument your Lambda handler you can use the methods in the Logger class directly.

+ +

Example

import { Logger } from '@aws-lambda-powertools/logger';

const logger = new Logger();

export const handler = async (_event, context) => {
logger.addContext(context);
logger.info('This is an INFO log with some context');
}; +
+ +

Implements

+

See

https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/

+
+
+

Hierarchy

+
+
+

Implements

+
    +
  • ClassThatLogs
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    It adds the current Lambda function's invocation context data to the powertoolLogData property of the instance. +This context data will be part of all printed log items.

    +
    +
    +

    Parameters

    +
      +
    • +
      context: Context
    +

    Returns void

+
+ +
    + +
  • +

    It adds the given attributes (key-value pairs) to all log items generated by this Logger instance.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional attributes: LogAttributes
    +

    Returns void

+
+ +
    + +
  • +

    Alias for addPersistentLogAttributes.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional attributes: LogAttributes
    +

    Returns void

+
+ +
    + +
  • +

    It creates a separate Logger instance, identical to the current one +It's possible to overwrite the new instance options by passing them.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: ConstructorOptions = {}
    +

    Returns Logger

+
+ +
    + +
  • +

    It prints a log item with level CRITICAL.

    +
    +
    +

    Parameters

    +
      +
    • +
      input: LogItemMessage
    • +
    • +
      Rest ...extraInput: LogItemExtraInput
    +

    Returns void

+
+ +
    + +
  • +

    It prints a log item with level DEBUG.

    +
    +
    +

    Parameters

    +
      +
    • +
      input: LogItemMessage
    • +
    • +
      Rest ...extraInput: LogItemExtraInput
    +

    Returns void

+
+ +
    + +
  • +

    It prints a log item with level ERROR.

    +
    +
    +

    Parameters

    +
      +
    • +
      input: LogItemMessage
    • +
    • +
      Rest ...extraInput: LogItemExtraInput
    +

    Returns void

+
+ +
    + +
  • +

    Returns boolean

+
+ +
+
+ +
    + +
  • +

    It returns a boolean value. True means that the Lambda invocation events +are printed in the logs.

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    It returns a boolean value, if true all the logs will be printed.

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    It prints a log item with level INFO.

    +
    +
    +

    Parameters

    +
      +
    • +
      input: LogItemMessage
    • +
    • +
      Rest ...extraInput: LogItemExtraInput
    +

    Returns void

+
+ +
    + +
  • +

    Method decorator that adds the current Lambda function context as extra +information in all log items.

    +

    The decorator can be used only when attached to a Lambda function handler which +is written as method of a class, and should be declared just before the handler declaration.

    +

    Note: Currently TypeScript only supports decorators on classes and methods. If you are using the +function syntax, you should use the middleware instead.

    + +

    Example

    import { Logger } from '@aws-lambda-powertools/logger';
    import { LambdaInterface } from '@aws-lambda-powertools/commons';

    const logger = new Logger();

    class Lambda implements LambdaInterface {
    // Decorate your handler class method
    @logger.injectLambdaContext()
    public async handler(_event: any, _context: any): Promise<void> {
    logger.info('This is an INFO log with some context');
    }
    }

    const handlerClass = new Lambda();
    export const handler = handlerClass.handler.bind(handlerClass); +
    + +

    See

    https://www.typescriptlang.org/docs/handbook/decorators.html#method-decorators

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional options: HandlerOptions
    +

    Returns HandlerMethodDecorator

+
+ +
    + +
  • +

    Returns boolean

+
+ +
    + +
  • +

    Validate that the service name provided is valid. +Used internally during initialization.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional serviceName: string
      +

      Service name to validate

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    Logs a Lambda invocation event, if it should.

    +
      +
    • +
    +
    +
    +

    Parameters

    +
      +
    • +
      event: unknown
    • +
    • +
      Optional overwriteValue: boolean
    +

    Returns void

+
+ +
    + +
  • +

    If the sample rate feature is enabled, the calculation that determines whether the logs +will actually be printed or not for this invocation is done when the Logger class is +initialized. +This method will repeat that calculation (with possible different outcome).

    +
    +

    Returns void

+
+ +
    + +
  • +

    Alias for removePersistentLogAttributes.

    +
    +
    +

    Parameters

    +
      +
    • +
      keys: string[]
    +

    Returns void

+
+ +
    + +
  • +

    It removes attributes based on provided keys to all log items generated by this Logger instance.

    +
    +
    +

    Parameters

    +
      +
    • +
      keys: string[]
    +

    Returns void

+
+ +
    + +
  • +

    It sets the given attributes (key-value pairs) to all log items generated by this Logger instance. +Note: this replaces the pre-existing value.

    +
    +
    +

    Parameters

    +
      +
    • +
      attributes: LogAttributes
    +

    Returns void

+
+ +
    + +
  • +

    It sets the user-provided sample rate value.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional sampleRateValue: number
    +

    Returns void

+
+ +
    + +
  • +

    It prints a log item with level WARN.

    +
    +
    +

    Parameters

    +
      +
    • +
      input: LogItemMessage
    • +
    • +
      Rest ...extraInput: LogItemExtraInput
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      logger: Logger
    • +
    • +
      initialPersistentAttributes: LogAttributes
    • +
    • +
      Optional options: HandlerOptions
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      logger: Logger
    • +
    • +
      event: unknown
    • +
    • +
      context: Context
    • +
    • +
      Optional options: HandlerOptions
    +

    Returns void

+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html b/docs/classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html new file mode 100644 index 0000000000..7f99a5eb23 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html @@ -0,0 +1,235 @@ +PowertoolLogFormatter | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

This class is used to transform a set of log key-value pairs +in the AWS Lambda Powertools' default structure log format.

+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_metrics.Metrics.html b/docs/classes/_aws_lambda_powertools_metrics.Metrics.html new file mode 100644 index 0000000000..43d4e6abae --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_metrics.Metrics.html @@ -0,0 +1,591 @@ +Metrics | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Intro

Metrics creates custom metrics asynchronously by logging metrics to standard output following Amazon CloudWatch Embedded Metric Format (EMF).

+

These metrics can be visualized through Amazon CloudWatch Console.

+

Key features

    +
  • Aggregate up to 100 metrics using a single CloudWatch EMF object (large JSON blob)
  • +
  • Validate against common metric definitions mistakes (metric unit, values, max dimensions, max metrics, etc)
  • +
  • Metrics are created asynchronously by CloudWatch service, no custom stacks needed
  • +
  • Context manager to create a one off metric with a different dimension
  • +
+

Usage

Functions usage with middleware

Using this middleware on your handler function will automatically flush metrics after the function returns or throws an error. +Additionally, you can configure the middleware to easily:

+
    +
  • ensure that at least one metric is emitted before you flush them
  • +
  • capture a ColdStart a metric
  • +
  • set default dimensions for all your metrics
  • +
+ +

Example

import { Metrics, logMetrics } from '@aws-lambda-powertools/metrics';
import middy from '@middy/core';

const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

const lambdaHandler = async (_event: any, _context: any) => {
...
};

export const handler = middy(lambdaHandler).use(logMetrics(metrics)); +
+

Object oriented way with decorator

If you are used to TypeScript Class usage to encapsulate your Lambda handler you can leverage the @metrics.logMetrics() decorator to automatically:

+
    +
  • capture a ColdStart metric
  • +
  • flush buffered metrics
  • +
  • throw on empty metrics
  • +
+ +

Example

import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';
import { LambdaInterface } from '@aws-lambda-powertools/commons';

const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

class Lambda implements LambdaInterface {

// FYI: Decorator might not render properly in VSCode mouse over due to https://github.com/microsoft/TypeScript/issues/47679 and might show as *@metrics* instead of `@metrics.logMetrics`

@metrics.logMetrics({ captureColdStartMetric: true, throwOnEmptyMetrics: true })
public handler(_event: any, _context: any): Promise<void> {
// ...
metrics.addMetric('test-metric', MetricUnits.Count, 10);
// ...
}
}

const handlerClass = new Lambda();
export const handler = handlerClass.handler.bind(handlerClass); +
+

Standard function

If you are used to classic JavaScript functions, you can leverage the different methods provided to create and publish metrics.

+ +

Example

import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';

const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

export const handler = async (_event: any, _context: any): Promise<void> => {
metrics.captureColdStartMetric();
metrics.addMetric('test-metric', MetricUnits.Count, 10);
metrics.publishStoredMetrics();
}; +
+
+
+

Hierarchy

+
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Add multiple dimensions to the metrics.

    +

    A dimension is a key-value pair that is used to group metrics.

    +
    +
    +

    Parameters

    +
      +
    • +
      dimensions: {
          [key: string]: string;
      }
      +

      A key-value pair of dimensions

      +
      +
        +
      • +
        [key: string]: string
    +

    Returns void

+
+ +
    + +
  • +

    A high-cardinality data part of your Metrics log.

    +

    This is useful when you want to search highly contextual information along with your metrics in your logs.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      The key of the metadata

      +
    • +
    • +
      value: string
      +

      The value of the metadata

      +
    +

    Returns void

+
+ +
    + +
  • +

    Add a metric to the metrics buffer.

    +

    By default, metrics are buffered and flushed at the end of the Lambda invocation +or when calling publishStoredMetrics.

    +

    You can add a metric by specifying the metric name, unit, and value. For convenience, +we provide a set of constants for the most common units in MetricUnits.

    + +

    Example

    import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    metrics.addMetric('successfulBooking', MetricUnits.Count, 1); +
    +

    Optionally, you can specify the metric resolution, which can be either High or Standard. +By default, metrics are published with a resolution of Standard, click here +to learn more about metric resolutions.

    + +

    Example

    import { Metrics, MetricUnits, MetricResolution } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    metrics.addMetric('successfulBooking', MetricUnits.Count, 1, MetricResolution.High); +
    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      The metric name

      +
    • +
    • +
      unit: MetricUnit
      +

      The metric unit

      +
    • +
    • +
      value: number
      +

      The metric value

      +
    • +
    • +
      resolution: MetricResolution = MetricResolution.Standard
      +

      The metric resolution

      +
    +

    Returns void

+
+ +
    + +
  • +

    Create a singleMetric to capture cold start.

    +

    If it's a cold start invocation, this feature will:

    +
      +
    • Create a separate EMF blob that contains a single metric named ColdStart
    • +
    • Add function_name and service dimensions
    • +
    +

    This has the advantage of keeping cold start metric separate from your application metrics, where you might have unrelated dimensions, +as well as avoiding potential data loss from metrics not being published for other reasons.

    + +

    Example

    import { Metrics } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    export const handler = async (event: any, _context: any): Promise<void> => {
    metrics.captureColdStartMetric();
    }; +
    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns boolean

+
+ +
+
+ +
    + +
  • +

    Returns boolean

+
+ +
    + +
  • +

    Validate that the service name provided is valid. +Used internally during initialization.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional serviceName: string
      +

      Service name to validate

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    A decorator automating coldstart capture, throw on empty metrics and publishing metrics on handler exit.

    + +

    Example

    import { Metrics } from '@aws-lambda-powertools/metrics';
    import { LambdaInterface } from '@aws-lambda-powertools/commons';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    class Lambda implements LambdaInterface {

    @metrics.logMetrics({ captureColdStartMetric: true })
    public handler(_event: any, _context: any): Promise<void> {
    // ...
    }
    }

    const handlerClass = new Lambda();
    export const handler = handlerClass.handler.bind(handlerClass); +
    + +

    Decorator

    Class

    +
    +
    +

    Parameters

    +
      +
    • +
      options: ExtraOptions = {}
    +

    Returns HandlerMethodDecorator

+
+ +
    + +
  • +

    Synchronous function to actually publish your metrics. (Not needed if using logMetrics decorator). +It will create a new EMF blob and log it to standard output to be then ingested by Cloudwatch logs and processed automatically for metrics creation.

    + +

    Example

    import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' }); // Sets metric namespace, and service as a metric dimension

    export const handler = async (_event: any, _context: any): Promise<void> => {
    metrics.addMetric('test-metric', MetricUnits.Count, 10);
    metrics.publishStoredMetrics();
    }; +
    +
    +

    Returns void

+
+ +
    + +
  • +

    Function to create a new metric object compliant with the EMF (Embedded Metric Format) schema which +includes the metric name, unit, and optionally storage resolution.

    +

    The function will create a new EMF blob and log it to standard output to be then ingested by Cloudwatch +logs and processed automatically for metrics creation.

    + +

    See

    https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Specification.html for more details

    +
    +

    Returns Readonly<{
        _aws: {
            CloudWatchMetrics: {
                Dimensions: [string[]];
                Metrics: MetricDefinition[];
                Namespace: string;
            }[];
            Timestamp: number;
        };
        [key: string]: string | number | object;
    }>

    metrics as JSON object compliant EMF Schema Specification

    +
+
+ +
    + +
  • +

    Sets default dimensions that will be added to all metrics.

    +
    +
    +

    Parameters

    +
      +
    • +
      dimensions: undefined | Dimensions
      +

      The default dimensions to be added to all metrics.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Sets the function name to be added to the metric.

    +
    +
    +

    Parameters

    +
      +
    • +
      value: string
      +

      The function name to be added to the metric.

      +
    +

    Returns void

+
+ +
    + +
  • +

    CloudWatch EMF uses the same dimensions across all your metrics. Use singleMetric if you have a metric that should have different dimensions.

    +

    You don't need to call publishStoredMetrics() after calling addMetric for a singleMetrics, they will be flushed directly.

    + +

    Example

    const singleMetric = metrics.singleMetric();
    singleMetric.addDimension('InnerDimension', 'true');
    singleMetric.addMetric('single-metric', MetricUnits.Percent, 50); +
    +
    +

    Returns Metrics

    the Metrics

    +
+
+ +
    + +
  • +

    Throw an Error if the metrics buffer is empty.

    + +

    Example

    import { Metrics } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName:'orders' });

    export const handler = async (_event: any, _context: any): Promise<void> => {
    metrics.throwOnEmptyMetrics();
    metrics.publishStoredMetrics(); // will throw since no metrics added.
    }; +
    +
    +

    Returns void

+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_parameters.AppConfigProvider.html b/docs/classes/_aws_lambda_powertools_parameters.AppConfigProvider.html new file mode 100644 index 0000000000..ab67112532 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_parameters.AppConfigProvider.html @@ -0,0 +1,438 @@ +AppConfigProvider | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Intro

The Parameters utility provides an AppConfigProvider that allows to retrieve configuration profiles from AWS AppConfig.

+

Getting started

This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

+

To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

+
npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata
+
+

Basic usage

+

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a configuration profile
const encodedConfig = await configProvider.get('my-config');
const config = new TextDecoder('utf-8').decode(encodedConfig);
}; +
+

If you want to retrieve configs without customizing the provider, you can use the getAppConfig function instead.

+

Advanced usage

Caching

By default, the provider will cache parameters retrieved in-memory for 5 seconds. +You can adjust how long values should be kept in cache by using the maxAge parameter.

+ +

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a configuration profile and cache it for 10 seconds
const encodedConfig = await configProvider.get('my-config', { maxAge: 10 });
const config = new TextDecoder('utf-8').decode(encodedConfig);
}; +
+

If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

+ +

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a config and always fetch the latest value
const config = await configProvider.get('my-config', { forceFetch: true });
const config = new TextDecoder('utf-8').decode(encodedConfig);
}; +
+

Transformations

For configurations stored as freeform JSON, Freature Flag, you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

+ +

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a JSON config or Feature Flag and parse it as JSON
const config = await configProvider.get('my-config', { transform: 'json' });
}; +
+

For configurations that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

+ +

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a base64-encoded string and decode it
const config = await configProvider.get('my-config', { transform: 'binary' });
}; +
+

Extra SDK options

When retrieving a configuration profile, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

+ +

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a config and pass extra options to the AWS SDK v3 for JavaScript client
const config = await configProvider.get('my-config', {
sdkOptions: {
RequiredMinimumPollIntervalInSeconds: 60,
},
});
const config = new TextDecoder('utf-8').decode(encodedConfig);
}; +
+

This object accepts the same options as the AWS SDK v3 for JavaScript AppConfigData client.

+

Customize AWS SDK v3 for JavaScript client

By default, the provider will create a new AppConfigData client using the default configuration.

+

You can customize the client by passing a custom configuration object to the provider.

+ +

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider({
clientConfig: { region: 'eu-west-1' },
}); +
+

This object accepts the same options as the AWS SDK v3 for JavaScript AppConfig Data client.

+

Otherwise, if you want to use a custom client altogether, you can pass it to the provider.

+ +

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';
import { AppConfigDataClient } from '@aws-sdk/client-appconfigdata';

const client = new AppConfigDataClient({ region: 'eu-west-1' });
const configProvider = new AppConfigProvider({
awsSdkV3Client: client,
}); +
+

This object must be an instance of the AWS SDK v3 for JavaScript AppConfig Data client.

+

For more usage examples, see our documentation.

+
+
+

Hierarchy

+
    +
  • BaseProvider +
      +
    • AppConfigProvider
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
client: AppConfigDataClient
+
+ +
configurationTokenStore: Map<string, string> = ...
+
+ +
envVarsService: EnvironmentVariablesService
+
+ +
store: Map<string, ExpirableValue>
+
+ +
valueStore: Map<string, Uint8Array> = ...
+
+

Methods

+
+ +
    + +
  • +

    Retrieve a configuration from AWS AppConfig.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      Name of the configuration or its ID

      +
    • +
    • +
      Optional options: AppConfigGetOptionsInterface
      +

      SDK options to propagate to StartConfigurationSession API call

      +
    +

    Returns Promise<undefined | Uint8Array>

+
+ +
    + +
  • +

    Retrieving multiple configurations is not supported by AWS AppConfig.

    + +

    Throws

    Not Implemented Error.

    +
    +
    +

    Parameters

    +
      +
    • +
      _path: string
    • +
    • +
      Optional _sdkOptions: unknown
    +

    Returns Promise<Record<string, undefined | string>>

+
+ +
    + +
  • +

    Add a value to the cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      Key of the cached value

      +
    • +
    • +
      value: string | Uint8Array | Record<string, unknown>
      +

      Value to be cached

      +
    • +
    • +
      maxAge: number
      +

      Maximum age in seconds for the value to be cached

      +
    +

    Returns void

+
+ +
    + +
  • +

    Clear the cache.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Retrieve a configuration profile from AWS AppConfig.

    + +

    Example

    import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

    const configProvider = new AppConfigProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve a configuration profile
    const encodedConfig = await configProvider.get('my-config');
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; +
    +

    You can customize the retrieval of the configuration profile by passing options to the function:

    +
      +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    +

    For usage examples check AppConfigProvider.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      The name of the configuration profile or its ID

      +
    • +
    • +
      Optional options: AppConfigGetOptionsInterface
      +

      Options to configure the provider

      +
    +

    Returns Promise<undefined | string | Uint8Array | Record<string, unknown>>

+
+ +
    + +
  • +

    Retrieving multiple configurations is not supported by AWS AppConfig.

    +
    +
    +

    Parameters

    +
      +
    • +
      path: string
    • +
    • +
      Optional _options: unknown
    +

    Returns Promise<undefined | Record<string, unknown>>

+
+ +
    + +
  • +

    Check whether a key has expired in the cache or not.

    +

    It returns true if the key is expired or not present in the cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      Stringified representation of the key to retrieve

      +
    +

    Returns boolean

+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html b/docs/classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html new file mode 100644 index 0000000000..ed07c08ad4 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html @@ -0,0 +1,480 @@ +DynamoDBProvider | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Intro

The Parameters utility provides a DynamoDBProvider that allows to retrieve values from Amazon DynamoDB.

+

Getting started

This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

+

To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

+
npm install @aws-lambda-powertools/parameters @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb
+
+

Basic usage

Retrieve a value from DynamoDB:

+ +

Example

import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value from DynamoDB
const value = await tableProvider.get('my-value-key');
}; +
+

You can also retrieve multiple values at once:

+ +

Example

import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve multiple values from DynamoDB
const values = await tableProvider.getMultiple('my-values-path');
};

## Advanced usage

### Caching

By default, the provider will cache parameters retrieved in-memory for 5 seconds.
You can adjust how long values should be kept in cache by using the `maxAge` parameter.

@example
```typescript
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value and cache it for 10 seconds
const value = await tableProvider.get('my-value-key', { maxAge: 10 });
// Retrieve multiple values and cache them for 20 seconds
const values = await tableProvider.getMultiple('my-values-path', { maxAge: 20 });
}; +
+

If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

+

@example

+
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value and skip cache
const value = await tableProvider.get('my-value-key', { forceFetch: true });
// Retrieve multiple values and skip cache
const values = await tableProvider.getMultiple('my-values-path', { forceFetch: true });
}; +
+

Transformations

For values stored as JSON you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

+

@example

+
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value and parse it as JSON
const value = await tableProvider.get('my-value-key', { transform: 'json' });
// Retrieve multiple values and parse them as JSON
const values = await tableProvider.getMultiple('my-values-path', { transform: 'json' });
}; +
+

For values that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

+

@example

+
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a base64-encoded string and decode it
const value = await tableProvider.get('my-value-key', { transform: 'binary' });
// Retrieve multiple base64-encoded strings and decode them
const values = await tableProvider.getMultiple('my-values-path', { transform: 'binary' });
}; +
+

When retrieving multiple values, you can also use the transform argument set to auto to let the provider automatically detect the type of transformation to apply. +The provider will use the suffix of the sort key (sk) to determine the transformation to apply. For example, if the sort key is my-value-key.json, the provider will +automatically parse the value as JSON. Likewise, if the sort key is my-value-key.binary, the provider will automatically decode the value as base64-encoded binary data.

+

@example

+
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve multiple values and automatically detect the transformation to apply
const values = await tableProvider.getMultiple('my-values-path', { transform: 'auto' });
}; +
+

Custom key names

By default, the provider will use the following key names: id for the partition key, sk for the sort key, and value for the value. +You can adjust the key names by using the keyAttr, sortAttr, and valueAttr parameters.

+

@example

+
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
keyAttr: 'key',
sortAttr: 'sort',
valueAttr: 'val',
}); +
+

Extra SDK options

When retrieving values, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

+

@example

+
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value and pass extra options to the AWS SDK v3 for JavaScript client
const value = await tableProvider.get('my-value-key', {
sdkOptions: {
ConsistentRead: true,
},
});
}; +
+

The objects accept the same options as respectively the AWS SDK v3 for JavaScript PutItem command and the AWS SDK v3 for JavaScript DynamoDB client Query command.

+

Customize AWS SDK v3 for JavaScript client

By default, the provider will create a new DynamoDB client using the default configuration.

+

You can customize the client by passing a custom configuration object to the provider.

+

@example

+
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
clientConfig: { region: 'eu-west-1' },
}); +
+

This object accepts the same options as the AWS SDK v3 for JavaScript DynamoDB client constructor.

+

Otherwise, if you want to use a custom client altogether, you can pass it to the provider.

+

@example

+
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';

const client = new DynamoDBClient({ region: 'eu-west-1' });
const tableProvider = new DynamoDBProvider({
awsSdkV3Client: client,
}); +
+

This object must be an instance of the AWS SDK v3 for JavaScript DynamoDB client.

+

For more usage examples, see our documentation.

+
+
+

Hierarchy

+
    +
  • BaseProvider +
      +
    • DynamoDBProvider
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
client: DynamoDBClient
+
+ +
envVarsService: EnvironmentVariablesService
+
+ +
keyAttr: string = 'id'
+
+ +
sortAttr: string = 'sk'
+
+ +
store: Map<string, ExpirableValue>
+
+ +
tableName: string
+
+ +
valueAttr: string = 'value'
+
+

Methods

+
+ +
    + +
  • +

    Retrieve an item from Amazon DynamoDB.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      Key of the item to retrieve (i.e. the partition key)

      +
    • +
    • +
      Optional options: DynamoDBGetOptionsInterface
      +

      Options to customize the retrieval

      +
    +

    Returns Promise<undefined | string>

+
+ +
    + +
  • +

    Retrieve multiple items from Amazon DynamoDB.

    +
    +
    +

    Parameters

    +
      +
    • +
      path: string
      +

      The path of the values to retrieve (i.e. the partition key)

      +
    • +
    • +
      Optional options: DynamoDBGetMultipleOptionsInterface
      +

      Options to customize the retrieval

      +
    +

    Returns Promise<Record<string, undefined | string>>

+
+ +
    + +
  • +

    Add a value to the cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      Key of the cached value

      +
    • +
    • +
      value: string | Uint8Array | Record<string, unknown>
      +

      Value to be cached

      +
    • +
    • +
      maxAge: number
      +

      Maximum age in seconds for the value to be cached

      +
    +

    Returns void

+
+ +
    + +
  • +

    Clear the cache.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Retrieve a value from Amazon DynamoDB.

    + +

    Example

    import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

    const tableProvider = new DynamoDBProvider({
    tableName: 'my-table',
    });

    export const handler = async (): Promise<void> => {
    // Retrieve a single value
    const value = await tableProvider.get('my-value-key');
    }; +
    +

    You can customize the retrieval of the value by passing options to the function:

    +
      +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    +

    For usage examples check DynamoDBProvider.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      The name of the value to retrieve (i.e. the partition key)

      +
    • +
    • +
      Optional options: DynamoDBGetOptionsInterface
      +

      Options to configure the provider

      +
    +

    Returns Promise<undefined | string | Record<string, unknown>>

+
+ +
    + +
  • +

    Retrieve multiple values from Amazon DynamoDB.

    + +

    Example

    import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

    const tableProvider = new DynamoDBProvider({
    tableName: 'my-table',
    });

    export const handler = async (): Promise<void> => {
    // Retrieve multiple values
    const values = await tableProvider.getMultiple('my-values-path');
    }; +
    +

    You can customize the retrieval of the values by passing options to the function:

    +
      +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    • throwOnTransformError - Whether to throw an error if the transform fails (default: true)
    • +
    +

    For usage examples check DynamoDBProvider.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Parameters

    +
      +
    • +
      path: string
      +

      The path of the values to retrieve (i.e. the partition key)

      +
    • +
    • +
      Optional options: DynamoDBGetMultipleOptionsInterface
      +

      Options to configure the provider

      +
    +

    Returns Promise<undefined | Record<string, unknown>>

+
+ +
    + +
  • +

    Check whether a key has expired in the cache or not.

    +

    It returns true if the key is expired or not present in the cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      Stringified representation of the key to retrieve

      +
    +

    Returns boolean

+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_parameters.SSMProvider.html b/docs/classes/_aws_lambda_powertools_parameters.SSMProvider.html new file mode 100644 index 0000000000..000960f6c1 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_parameters.SSMProvider.html @@ -0,0 +1,776 @@ +SSMProvider | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Intro

The Parameters utility provides a SSMProvider that allows to retrieve parameters from AWS Systems Manager.

+

Getting started

This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

+

To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

+
npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm
+
+

Basic usage

Retrieve a parameter from SSM:

+ +

Example

import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter from SSM
const parameter = await parametersProvider.get('/my-parameter');
}; +
+

If you want to retrieve a parameter without customizing the provider, you can use the getParameter function instead.

+

You can also retrieve parameters at once. If you want to get multiple parameters under the same path, you can use the getMultiple method.

+ +

Example

import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve multiple parameters by path from SSM
const parameters = await parametersProvider.getMultiple('/my-parameters-path');
};

If you don't need to customize the provider, you can also use the {@link getParameters} function instead.

If instead you want to retrieve multiple parameters by name, you can use the `getParametersByName` method.

@example
```typescript
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve multiple parameters by name from SSM
const parameters = await parametersProvider.getParametersByName({
'/my-parameter-1': {}, // Use default options
'/my-parameter-2': { transform: 'json' }, // Parse the value as JSON
});
}; +
+

If you don't need to customize the provider, you can also use the {@link getParametersByName} function instead.

+

Advanced usage

Caching

By default, the provider will cache parameters retrieved in-memory for 5 seconds. +You can adjust how long values should be kept in cache by using the maxAge parameter.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and cache it for 10 seconds
const parameter = await parametersProvider.get('/my-parameter', { maxAge: 10 });
// Retrieve multiple parameters by path and cache them for 20 seconds
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { maxAge: 20 });
}; +
+

When using the getParametersByName method, you can set a different maxAge for each parameter or set a default maxAge for all parameters.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve multiple parameters by name and cache them individually
const parameters = await parametersProvider.getParametersByName({
'/my-parameter-1': { maxAge: 10 }, // Cache for 10 seconds
'/my-parameter-2': { maxAge: 20 }, // Cache for 20 seconds
});
// Retrieve multiple parameters by name and cache them all for 20 seconds
const parameters = await parametersProvider.getParametersByName({
'/my-parameter-1': {},
'/my-parameter-2': {},
}, { maxAge: 20 });
}; +
+

If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and skip cache
const parameter = await parametersProvider.get('/my-parameter', { forceFetch: true });
// Retrieve multiple parameters and skip cache
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { forceFetch: true });
}; +
+

Likewise, you can use the forceFetch parameter with the getParametersByName method both for individual parameters and for all parameters.

+

Decryption

If you want to retrieve a parameter that is encrypted, you can use the decrypt parameter. This parameter is compatible with get, getMultiple and getParametersByName.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and decrypt it
const parameter = await parametersProvider.get('/my-parameter', { decrypt: true });
// Retrieve multiple parameters and decrypt them
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { decrypt: true });
}; +
+

Transformations

For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and parse it as JSON
const parameter = await parametersProvider.get('/my-parameter', { transform: 'json' });
// Retrieve multiple parameters and parse them as JSON
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { transform: 'json' });
}; +
+

For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a base64-encoded string and decode it
const parameter = await parametersProvider.get('/my-parameter', { transform: 'binary' });
// Retrieve multiple base64-encoded strings and decode them
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { transform: 'binary' });
}; +
+

Both type of transformations are compatible also with the getParametersByName method.

+

Extra SDK options

When retrieving parameters, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and pass extra options to the AWS SDK v3 for JavaScript client
const parameter = await parametersProvider.get('/my-parameter', {
sdkOptions: {
WithDecryption: true,
},
});
}; +
+

The objects accept the same options as respectively the AWS SDK v3 for JavaScript GetParameter command and the AWS SDK v3 for JavaScript GetParametersByPath command.

+

Customize AWS SDK v3 for JavaScript client

By default, the provider will create a new SSM client using the default configuration.

+

You can customize the client by passing a custom configuration object to the provider.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider({
clientConfig: { region: 'eu-west-1' },
}); +
+

This object accepts the same options as the AWS SDK v3 for JavaScript SSM client constructor.

+

Otherwise, if you want to use a custom client altogether, you can pass it to the provider.

+

@example

+
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';
import { SSMClient } from '@aws-sdk/client-ssm';

const client = new SSMClient({ region: 'eu-west-1' });
const parametersProvider = new SSMProvider({
awsSdkV3Client: client,
}); +
+

This object must be an instance of the AWS SDK v3 for JavaScript SSM client.

+

For more usage examples, see our documentation.

+
+
+

Hierarchy

+
    +
  • BaseProvider +
      +
    • SSMProvider
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    It initializes the SSMProvider class.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional config: SSMProviderOptions
      +

      The configuration object.

      +
    +

    Returns SSMProvider

+
+

Properties

+
+ +
client: SSMClient
+
+ +
envVarsService: EnvironmentVariablesService
+
+ +
errorsKey: string = '_errors'
+
+ +
maxGetParametersItems: number = 10
+
+ +
store: Map<string, ExpirableValue>
+
+

Methods

+
+ +
    + +
  • +

    Retrieve a parameter from AWS Systems Manager.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      Name of the parameter to retrieve

      +
    • +
    • +
      Optional options: SSMGetOptions
      +

      Options to customize the retrieval

      +
    +

    Returns Promise<undefined | string>

+
+ +
    + +
  • +

    Retrieve multiple items from AWS Systems Manager.

    +
    +
    +

    Parameters

    +
      +
    • +
      path: string
      +

      The path of the parameters to retrieve

      +
    • +
    • +
      Optional options: SSMGetMultipleOptions
      +

      Options to configure the provider

      +
    +

    Returns Promise<Record<string, undefined | string>>

+
+ +
    + +
  • +

    Retrieve multiple items by name from AWS Systems Manager.

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      An object of parameter names and their options

      +
    • +
    • +
      throwOnError: boolean
      +

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      +
    • +
    • +
      decrypt: boolean
      +

      Whether to decrypt the parameters or not

      +
    +

    Returns Promise<SSMGetParametersByNameOutputInterface>

+
+ +
    + +
  • +

    Add a value to the cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      Key of the cached value

      +
    • +
    • +
      value: string | Uint8Array | Record<string, unknown>
      +

      Value to be cached

      +
    • +
    • +
      maxAge: number
      +

      Maximum age in seconds for the value to be cached

      +
    +

    Returns void

+
+ +
    + +
  • +

    Clear the cache.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Retrieve a value from AWS Systems Manager.

    + +

    Example

    import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

    const parametersProvider = new SSMProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter from SSM
    const parameter = await parametersProvider.get('/my-parameter');
    }; +
    +

    You can customize the retrieval of the value by passing options to the function:

    +
      +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    • decrypt - Whether to decrypt the value before returning it.
    • +
    +

    For usage examples check SSMProvider.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Type Parameters

    +
      +
    • +

      ExplicitUserProvidedType = undefined

    • +
    • +

      InferredFromOptionsType extends undefined | SSMGetOptions = SSMGetOptions

    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      The name of the value to retrieve (i.e. the partition key)

      +
    • +
    • +
      Optional options: InferredFromOptionsType & SSMGetOptions
      +

      Options to configure the provider

      +
    +

    Returns Promise<undefined | SSMGetOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

+
+ +
    + +
  • +

    Retrieve multiple values from AWS Systems Manager.

    + +

    Example

    import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

    const parametersProvider = new SSMProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve multiple parameters from SSM
    const parameters = await parametersProvider.getMultiple('/my-parameters-path');
    }; +
    +

    You can customize the retrieval of the values by passing options to the function:

    +
      +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    • throwOnTransformError - Whether to throw an error if the transform fails (default: true)
    • +
    • decrypt - Whether to decrypt the value before returning it.
    • +
    • recursive - Whether to recursively retrieve all parameters under the given path (default: false)
    • +
    +

    For usage examples check SSMProvider.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Type Parameters

    +
      +
    • +

      ExplicitUserProvidedType = undefined

    • +
    • +

      InferredFromOptionsType extends SSMGetMultipleOptionsUnion = undefined

    +
    +

    Parameters

    +
      +
    • +
      path: string
      +

      The path of the parameters to retrieve

      +
    • +
    • +
      Optional options: InferredFromOptionsType & SSMGetMultipleOptions
      +

      Options to configure the retrieval

      +
    +

    Returns Promise<undefined | SSMGetMultipleOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

+
+ +
    + +
  • +

    Slice batch and fetch parameters using GetPrameters API by max permissible batch size

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      An object of parameter names and their options

      +
    • +
    • +
      throwOnError: boolean
      +

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      +
    • +
    • +
      decrypt: boolean
      +

      Whether to decrypt the parameters or not

      +
    +

    Returns Promise<SSMGetParametersByNameOutputInterface>

+
+ +
    + +
  • +

    Retrieve multiple parameters by name from AWS Systems Manager.

    + +

    Example

    import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

    const parametersProvider = new SSMProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve multiple parameters by name from SSM
    const parameters = await parametersProvider.getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': { transform: 'json' }, // Parse the value as JSON
    });
    }; +
    +

    You can customize the retrieval of the values by passing options to both the function and the parameter:

    +
      +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    • throwOnTransformError - Whether to throw an error if the transform fails (default: true)
    • +
    • decrypt - Whether to decrypt the value before returning it
    • +
    +

    throwOnError decides whether to throw an error if a parameter is not found:

    +
      +
    • A) Default fail-fast behavior: Throws a GetParameterError error upon any failure.
    • +
    • B) Gracefully aggregate all parameters that failed under "_errors" key.
    • +
    +

    It transparently uses GetParameter and/or GetParameters depending on decryption requirements.

    +
                                   ┌────────────────────────┐
    ┌───▶ Decrypt entire batch │─────┐
    └────────────────────────┘ ┌────────────────────┐
    ├─────▶ GetParameters API
    ┌──────────────────┐ ┌────────────────────────┐ └────────────────────┘
    Split batch │─── ┼──▶│ No decryption required │─────┘
    └──────────────────┘ └────────────────────────┘
    ┌────────────────────┐
    ┌────────────────────────┐ GetParameter API
    └──▶│Decrypt some but not all│───────────▶────────────────────┤
    └────────────────────────┘ GetParameters API
    └────────────────────┘ +
    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Type Parameters

    +
      +
    • +

      ExplicitUserProvidedType = undefined

    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      Object containing parameter names and any optional overrides

      +
    • +
    • +
      Optional options: SSMGetParametersByNameOptions
      +

      Options to configure the retrieval

      +
    +

    Returns Promise<SSMGetParametersByNameOutput<ExplicitUserProvidedType>>

+
+ +
    + +
  • +

    Fetch each parameter from batch that hasn't expired from cache

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      An object of parameter names and their options

      +
    +

    Returns Promise<SSMGetParametersByNameFromCacheOutputType>

+
+ +
    + +
  • +

    Slice object into chunks of max permissible batch size and fetch parameters

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      An object of parameter names and their options

      +
    • +
    • +
      throwOnError: boolean
      +

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      +
    • +
    • +
      decrypt: boolean
      +

      Whether to decrypt the parameters or not

      +
    +

    Returns Promise<SSMGetParametersByNameOutputInterface>

+
+ +
    + +
  • +

    Fetch parameters by name while also decrypting them

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      An object of parameter names and their options

      +
    • +
    • +
      throwOnError: boolean
      +

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      +
    +

    Returns Promise<SSMGetParametersByNameOutputInterface>

+
+ +
    + +
  • +

    Check whether a key has expired in the cache or not.

    +

    It returns true if the key is expired or not present in the cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      Stringified representation of the key to retrieve

      +
    +

    Returns boolean

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      options: SSMGetOptions | SSMGetMultipleOptions = {}
    • +
    • +
      Optional sdkOptions: GetParameterCommandInput | GetParametersByPathCommandInput
    +

    Returns undefined | boolean

+
+ +
    + +
  • +

    Transform and cache the response from GetParameters API call

    +
    +
    +

    Parameters

    +
      +
    • +
      response: GetParametersCommandOutput
      +

      The response from the GetParameters API call

      +
    • +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      An object of parameter names and their options

      +
    • +
    • +
      throwOnError: boolean
      +

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      +
    +

    Returns Record<string, unknown>

+
+ +
    + +
  • +

    Handle any invalid parameters returned by GetParameters API +GetParameters is non-atomic. Failures don't always reflect in exceptions so we need to collect.

    +
    +
    +

    Parameters

    +
      +
    • +
      result: GetParametersCommandOutput
      +

      The result of the GetParameters API call

      +
    • +
    • +
      throwOnError: boolean
      +

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      +
    +

    Returns string[]

+
+ +
    + +
  • +

    Split parameters that can be fetched by GetParameters vs GetParameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      An object of parameter names and their options

      +
    • +
    • +
      configs: SSMGetParametersByNameOptions
      +

      The configs passed down

      +
    +

    Returns SSMSplitBatchAndDecryptParametersOutputType

+
+ +
    + +
  • +

    Throw a GetParameterError if fail-fast is disabled and _errors key is in parameters list.

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, unknown>
    • +
    • +
      reservedParameter: string
    • +
    • +
      throwOnError: boolean
    +

    Returns void

+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_parameters.SecretsProvider.html b/docs/classes/_aws_lambda_powertools_parameters.SecretsProvider.html new file mode 100644 index 0000000000..80430876a4 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_parameters.SecretsProvider.html @@ -0,0 +1,429 @@ +SecretsProvider | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Intro

The Parameters utility provides a SecretsProvider that allows to retrieve secrets from AWS Secrets Manager.

+

Getting started

This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

+

To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for Secrets Manager:

+
npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager
+
+

Basic usage

+

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret
const secret = await secretsProvider.get('my-secret');
}; +
+

If you want to retrieve secrets without customizing the provider, you can use the getSecret function instead.

+

Advanced usage

Caching

By default, the provider will cache parameters retrieved in-memory for 5 seconds. +You can adjust how long values should be kept in cache by using the maxAge parameter.

+ +

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret and cache it for 10 seconds
const secret = await secretsProvider.get('my-secret', { maxAge: 10 });
}; +
+

If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

+ +

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret and always fetch the latest value
const secret = await secretsProvider.get('my-secret', { forceFetch: true });
}; +
+

Transformations

For parameters stored in JSON or Base64 format, you can use the transform argument for deserialization.

+ +

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret and parse it as JSON
const secret = await secretsProvider.get('my-secret', { transform: 'json' });
}; +
+

Extra SDK options

When retrieving a secret, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

+ +

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret and pass extra options to the AWS SDK v3 for JavaScript client
const secret = await secretsProvider.get('my-secret', {
sdkOptions: {
VersionId: 1,
},
});
}; +
+

This object accepts the same options as the AWS SDK v3 for JavaScript Secrets Manager client.

+

Customize AWS SDK v3 for JavaScript client

By default, the provider will create a new Secrets Manager client using the default configuration.

+

You can customize the client by passing a custom configuration object to the provider.

+ +

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider({
clientConfig: { region: 'eu-west-1' },
}); +
+

This object accepts the same options as the AWS SDK v3 for JavaScript Secrets Manager client.

+

Otherwise, if you want to use a custom client altogether, you can pass it to the provider.

+ +

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';
import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager';

const client = new SecretsManagerClient({ region: 'eu-west-1' });
const secretsProvider = new SecretsProvider({
awsSdkV3Client: client,
}); +
+

This object must be an instance of the AWS SDK v3 for JavaScript Secrets Manager client.

+

For more usage examples, see our documentation.

+ +

Implements

+

See

https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

+
+
+

Hierarchy

+
    +
  • BaseProvider +
      +
    • SecretsProvider
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
client: SecretsManagerClient
+
+ +
envVarsService: EnvironmentVariablesService
+
+ +
store: Map<string, ExpirableValue>
+
+

Methods

+
+ +
    + +
  • +

    Retrieve a configuration from AWS AppConfig.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      Name of the configuration or its ID

      +
    • +
    • +
      Optional options: SecretsGetOptions
      +

      SDK options to propagate to the AWS SDK v3 for JavaScript client

      +
    +

    Returns Promise<undefined | string | Uint8Array>

+
+ +
    + +
  • +

    Retrieving multiple parameter values is not supported with AWS Secrets Manager.

    + +

    Throws

    Not Implemented Error.

    +
    +
    +

    Parameters

    +
      +
    • +
      _path: string
    • +
    • +
      Optional _options: unknown
    +

    Returns Promise<Record<string, undefined | string>>

+
+ +
    + +
  • +

    Add a value to the cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      Key of the cached value

      +
    • +
    • +
      value: string | Uint8Array | Record<string, unknown>
      +

      Value to be cached

      +
    • +
    • +
      maxAge: number
      +

      Maximum age in seconds for the value to be cached

      +
    +

    Returns void

+
+ +
    + +
  • +

    Clear the cache.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Retrieve a secret from AWS Secrets Manager.

    + +

    Example

    import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

    const secretsProvider = new SecretsProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve a secret
    const secret = await secretsProvider.get('my-secret');
    }; +
    +

    You can customize the retrieval of the secret by passing options to the function:

    +
      +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    +

    For usage examples check SecretsProvider.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Type Parameters

    +
      +
    • +

      ExplicitUserProvidedType = undefined

    • +
    • +

      InferredFromOptionsType extends SecretsGetOptionsUnion = SecretsGetOptionsUnion

    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      The name of the secret

      +
    • +
    • +
      Optional options: InferredFromOptionsType & SecretsGetOptions
      +

      Options to customize the retrieval of the secret

      +
    +

    Returns Promise<undefined | SecretsGetOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

+
+ +
    + +
  • +

    Retrieving multiple parameter values is not supported with AWS Secrets Manager.

    +
    +
    +

    Parameters

    +
      +
    • +
      path: string
    • +
    • +
      Optional _options: unknown
    +

    Returns Promise<undefined | Record<string, unknown>>

+
+ +
    + +
  • +

    Check whether a key has expired in the cache or not.

    +

    It returns true if the key is expired or not present in the cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +

      Stringified representation of the key to retrieve

      +
    +

    Returns boolean

+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_tracer.Tracer.html b/docs/classes/_aws_lambda_powertools_tracer.Tracer.html new file mode 100644 index 0000000000..0b74351aa9 --- /dev/null +++ b/docs/classes/_aws_lambda_powertools_tracer.Tracer.html @@ -0,0 +1,694 @@ +Tracer | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Intro

Tracer is an opinionated thin wrapper for AWS X-Ray SDK for Node.js.

+

Tracing data can be visualized through AWS X-Ray Console.

+

Key features

    +
  • Auto capture cold start as annotation, and responses or full exceptions as metadata
  • +
  • Auto-disable when not running in AWS Lambda environment
  • +
  • Automatically trace HTTP(s) clients and generate segments for each request
  • +
  • Support tracing functions via decorators, middleware, and manual instrumentation
  • +
  • Support tracing AWS SDK v2 and v3 via AWS X-Ray SDK for Node.js
  • +
+

Usage

For more usage examples, see our documentation.

+

Functions usage with middleware

If you use function-based Lambda handlers you can use the captureLambdaHandler() middy middleware to automatically:

+
    +
  • handle the subsegment lifecycle
  • +
  • add the ServiceName and ColdStart annotations
  • +
  • add the function response as metadata
  • +
  • add the function error as metadata (if any)
  • +
+ +

Example

import { captureLambdaHandler, Tracer } from '@aws-lambda-powertools/tracer';
import middy from '@middy/core';

const tracer = new Tracer({ serviceName: 'serverlessAirline' });

const lambdaHandler = async (_event: any, _context: any) => {
...
};

export const handler = middy(lambdaHandler).use(captureLambdaHandler(tracer)); +
+

Object oriented usage with decorators

If instead you use TypeScript Classes to wrap your Lambda handler you can use the @tracer.captureLambdaHandler() decorator to automatically:

+
    +
  • handle the subsegment lifecycle
  • +
  • add the ServiceName and ColdStart annotations
  • +
  • add the function response as metadata
  • +
  • add the function error as metadata (if any)
  • +
+ +

Example

import { Tracer } from '@aws-lambda-powertools/tracer';
import { LambdaInterface } from '@aws-lambda-powertools/commons';

const tracer = new Tracer({ serviceName: 'serverlessAirline' });

// FYI: Decorator might not render properly in VSCode mouse over due to https://github.com/microsoft/TypeScript/issues/47679 and might show as *@tracer* instead of `@tracer.captureLambdaHandler`

class Lambda implements LambdaInterface {
@tracer.captureLambdaHandler()
public handler(event: any, context: any) {
...
}
}

const handlerClass = new Lambda();
export const handler = handlerClass.handler.bind(handlerClass); +
+

Functions usage with manual instrumentation

If you prefer to manually instrument your Lambda handler you can use the methods in the tracer class directly.

+ +

Example

import { Tracer } from '@aws-lambda-powertools/tracer';

const tracer = new Tracer({ serviceName: 'serverlessAirline' });

export const handler = async (_event: any, context: any) => {
const segment = tracer.getSegment(); // This is the facade segment (the one that is created by AWS Lambda)
// Create subsegment for the function & set it as active
const subsegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`);
tracer.setSegment(subsegment);

// Annotate the subsegment with the cold start & serviceName
tracer.annotateColdStart();
tracer.addServiceNameAnnotation();

let res;
try {
// ... your own logic goes here
// Add the response as metadata
tracer.addResponseAsMetadata(res, process.env._HANDLER);
} catch (err) {
// Add the error as metadata
tracer.addErrorAsMetadata(err as Error);
throw err;
} finally {
// Close the subsegment
subsegment.close();
// Set the facade segment as active again
tracer.setSegment(segment);
}

return res;
} +
+
+
+

Hierarchy

+
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
provider: ProviderServiceInterface
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Patch a specific AWS SDK v2 client and create traces when your application makes calls to that AWS service.

    +

    If you want to patch all clients use captureAWS and if you are using AWS SDK v3 use captureAWSv3Client instead.

    + +

    See

    https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-awssdkclients.html

    + +

    Example

    import { S3 } from 'aws-sdk';
    import { Tracer } from '@aws-lambda-powertools/tracer';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });
    const s3 = tracer.captureAWSClient(new S3({ apiVersion: '2006-03-01' }));

    export const handler = async (_event: any, _context: any) => {
    ...
    } +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      service: T
      +

      AWS SDK v2 client

      +
    +

    Returns T

    service - Instrumented AWS SDK v2 client

    +
+
+ +
    + +
  • +

    Patch an AWS SDK v3 client and create traces when your application makes calls to that AWS service.

    +

    If you are using AWS SDK v2 use captureAWSClient instead.

    + +

    See

    https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-awssdkclients.html

    + +

    Example

    import { S3Client } from '@aws-sdk/client-s3';
    import { Tracer } from '@aws-lambda-powertools/tracer';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });
    const client = new S3Client({});
    tracer.captureAWSv3Client(client);

    export const handler = async (_event: any, _context: any) => {
    ...
    } +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      service: T
      +

      AWS SDK v3 client

      +
    +

    Returns T

    service - Instrumented AWS SDK v3 client

    +
+
+ +
    + +
  • +

    A decorator automating capture of metadata and annotations on segments or subsegments for a Lambda Handler.

    +

    Using this decorator on your handler function will automatically:

    +
      +
    • handle the subsegment lifecycle
    • +
    • add the ColdStart annotation
    • +
    • add the function response as metadata
    • +
    • add the function error as metadata (if any)
    • +
    +

    Note: Currently TypeScript only supports decorators on classes and methods. If you are using the +function syntax, you should use the middleware instead.

    + +

    Example

    import { Tracer } from '@aws-lambda-powertools/tracer';
    import { LambdaInterface } from '@aws-lambda-powertools/commons';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    class Lambda implements LambdaInterface {
    @tracer.captureLambdaHandler()
    public handler(event: any, context: any) {
    ...
    }
    }

    const handlerClass = new Lambda();
    export const handler = handlerClass.handler.bind(handlerClass); +
    + +

    Decorator

    Class

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional options: CaptureLambdaHandlerOptions
      +

      (optional) Options for the decorator

      +
    +

    Returns HandlerMethodDecorator

+
+ +
    + +
  • +

    A decorator automating capture of metadata and annotations on segments or subsegments for an arbitrary function.

    +

    Using this decorator on your function will automatically:

    +
      +
    • handle the subsegment lifecycle
    • +
    • add the function response as metadata
    • +
    • add the function error as metadata (if any)
    • +
    +

    Note: Currently TypeScript only supports decorators on classes and methods. If you are using the +function syntax, you should use the middleware instead.

    + +

    Example

    import { Tracer } from '@aws-lambda-powertools/tracer';
    import { LambdaInterface } from '@aws-lambda-powertools/commons';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    class Lambda implements LambdaInterface {
    @tracer.captureMethod()
    public myMethod(param: any) {
    ...
    }

    public handler(event: any, context: any) {
    ...
    }
    }

    const handlerClass = new Lambda();
    export const handler = handlerClass.handler.bind(handlerClass);; +
    + +

    Decorator

    Class

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional options: CaptureMethodOptions
      +

      (optional) Options for the decorator

      +
    +

    Returns MethodDecorator

+
+ +
    + +
  • +

    Returns boolean

+
+ +
+
+ +
    + +
  • +

    Get the current root AWS X-Ray trace id.

    +

    Utility method that returns the current AWS X-Ray Root trace id. Useful as correlation id for downstream processes.

    + +

    See

    https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces

    + +

    Example

    import { Tracer } from '@aws-lambda-powertools/tracer';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    export const handler = async () => {
    try {
    ...
    } catch (err) {
    const rootTraceId = tracer.getRootXrayTraceId();

    // Example of returning an error response
    return {
    statusCode: 500,
    // Include the rootTraceId in the response so we can show a "contact support" button that
    // takes the customer to a customer service form with the trace as additional context.
    body: `Internal Error - Please contact support and quote the following id: ${rootTraceId}`,
    headers: { '_X_AMZN_TRACE_ID': rootTraceId },
    };
    }
    } +
    +
    +

    Returns undefined | string

    string - The root X-Ray trace id.

    +
+
+ +
+
+ +
    + +
  • +

    Returns boolean

+
+ +
+
+ +
    + +
  • +

    Get the current value of the tracingEnabled property.

    +

    You can use this method during manual instrumentation to determine +if tracer is currently enabled.

    +
    +

    Returns boolean

    tracingEnabled - true if tracing is enabled, false otherwise.

    +
+
+ +
    + +
  • +

    Validate that the service name provided is valid. +Used internally during initialization.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional serviceName: string
      +

      Service name to validate

      +
    +

    Returns boolean

+
+ +
+
+ +
+
+ +
    + +
  • +

    Sets the passed subsegment as the current active subsegment.

    +

    If you are using a middleware or a decorator this is done automatically for you.

    + +

    See

    https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-subsegments.html

    + +

    Example

    import { Tracer } from '@aws-lambda-powertools/tracer';
    import { Subsegment } from 'aws-xray-sdk-core';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    export const handler = async (_event: any, _context: any) => {
    const subsegment = new Subsegment('### foo.bar');
    tracer.setSegment(subsegment);
    } +
    +
    +
    +

    Parameters

    +
      +
    • +
      segment: Segment | Subsegment
      +

      Subsegment to set as the current segment

      +
    +

    Returns void

+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/core/logger.md b/docs/core/logger.md index 7cac4defb6..a1a0d05f97 100644 --- a/docs/core/logger.md +++ b/docs/core/logger.md @@ -388,40 +388,6 @@ The error will be logged with default key name `error`, but you can also pass yo ## Advanced -### Log levels - -The default log level is `INFO` and can be set using the `logLevel` constructor option or by using the `LOG_LEVEL` environment variable. - -Logger supports the following log levels: - -| Level | Numeric value | -| ---------- | ------------- | -| `DEBUG` | 8 | -| `INFO` | 12 | -| `WARN` | 16 | -| `ERROR` | 20 | -| `CRITICAL` | 24 | -| `SILENT` | 28 | - -You can access the current log level by using the `getLevelName()` method. This method returns the name of the current log level as a string. If you want to change the log level at runtime, you can use the `setLogLevel()` method. This method accepts a string value that represents the log level you want to set, both lower and upper case values are supported. - -```typescript ---8<-- "docs/snippets/logger/logLevel.ts" -``` - -If you want to access the numeric value of the current log level, you can use the `level` property. For example, if the current log level is `INFO`, `logger.level` property will return `12`. - -#### Silencing logs - -The `SILENT` log level provides a simple and efficient way to suppress all log messages without the need to modify your code. When you set this log level, all log messages, regardless of their severity, will be silenced. - -This feature is useful when you want to have your code instrumented to produce logs, but due to some requirement or business decision, you prefer to not emit them. - -By setting the log level to `SILENT`, which can be done either through the `logLevel` constructor option or by using the `LOG_LEVEL` environment variable, you can easily suppress all logs as needed. - -!!! note - Use the `SILENT` log level with care, as it can make it more challenging to monitor and debug your application. Therefore, we advise using this log level judiciously. - ### Using multiple Logger instances across your code The `createChild` method allows you to create a child instance of the Logger, which inherits all of the attributes from its parent. You have the option to override any of the settings and attributes from the parent logger, including [its settings](#utility-settings), any [persistent attributes](#appending-persistent-additional-log-keys-and-values), and [the log formatter](#custom-log-formatter-bring-your-own-formatter). Once a child logger is created, the logger and its parent will act as separate instances of the Logger class, and as such any change to one won't be applied to the other. @@ -590,6 +556,17 @@ For example, by setting the "sample rate" to `0.5`, roughly 50% of your lambda i } ``` +### Silencing logs + +The `SILENT` log level provides a simple and efficient way to suppress all log messages without the need to modify your code. When you set this log level, all log messages, regardless of their severity, will be silenced. + +This feature is useful when you want to have your code instrumented to produce logs, but due to some requirement or business decision, you prefer to not emit them. + +By setting the log level to `SILENT`, which can be done either through the `logLevel` constructor option or by using the `LOG_LEVEL` environment variable, you can easily suppress all logs as needed. + +!!! note + Use the `SILENT` log level with care, as it can make it more challenging to monitor and debug your application. Therefore, we advise using this log level judiciously. + ### Custom Log formatter (Bring Your Own Formatter) You can customize the structure (keys and values) of your log items by passing a custom log formatter, an object that implements the `LogFormatter` abstract class. diff --git a/docs/core/metrics.md b/docs/core/metrics.md new file mode 100644 index 0000000000..b8cadbbfe7 --- /dev/null +++ b/docs/core/metrics.md @@ -0,0 +1,447 @@ +--- +title: Metrics +description: Core utility +--- + +Metrics creates custom metrics asynchronously by logging metrics to standard output following [Amazon CloudWatch Embedded Metric Format (EMF)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format.html). + +These metrics can be visualized through [Amazon CloudWatch Console](https://console.aws.amazon.com/cloudwatch/). + +## Key features + +* Aggregating up to 100 metrics using a single CloudWatch EMF object (large JSON blob). +* Validating your metrics against common metric definitions mistakes (for example, metric unit, values, max dimensions, max metrics). +* Metrics are created asynchronously by the CloudWatch service. You do not need any custom stacks, and there is no impact to Lambda function latency. +* Creating a one-off metric with different dimensions. + +
+ +
+ Screenshot of the Amazon CloudWatch Console showing an example of business metrics in the Metrics Explorer +
Metrics showcase - Metrics Explorer
+
+ +## Terminologies + +If you're new to Amazon CloudWatch, there are two terminologies you must be aware of before using this utility: + +* **Namespace**. It's the highest level container that will group multiple metrics from multiple services for a given application, for example `ServerlessEcommerce`. +* **Dimensions**. Metrics metadata in key-value format. They help you slice and dice metrics visualization, for example `ColdStart` metric by Payment `service`. +* **Metric**. It's the name of the metric, for example: SuccessfulBooking or UpdatedBooking. +* **Unit**. It's a value representing the unit of measure for the corresponding metric, for example: Count or Seconds. +* **Resolution**. It's a value representing the storage resolution for the corresponding metric. Metrics can be either Standard or High resolution. Read more [here](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Resolution_definition). + +
+ +
Metric terminology, visually explained
+
+ + +## Getting started + +### Installation + +Install the library in your project: + +```shell +npm install @aws-lambda-powertools/metrics +``` + +### Usage + +The `Metrics` utility must always be instantiated outside of the Lambda handler. In doing this, subsequent invocations processed by the same instance of your function can reuse these resources. This saves cost by reducing function run time. In addition, `Metrics` can track cold start and emit the appropriate metrics. + +=== "handler.ts" + + ```typescript hl_lines="1 3-6" + --8<-- "docs/snippets/metrics/basicUsage.ts" + ``` + +### Utility settings + +The library requires two settings. You can set them as environment variables, or pass them in the constructor. + +These settings will be used across all metrics emitted: + +| Setting | Description | Environment variable | Default | Allowed Values | Example | Constructor parameter | +| -------------------- | ---------------------------------------------------------------- | ------------------------------ | ------------------- | -------------- | ------------------- | --------------------- | +| **Service** | Optionally, sets **service** metric dimension across all metrics | `POWERTOOLS_SERVICE_NAME` | `service_undefined` | Any string | `serverlessAirline` | `serviceName` | +| **Metric namespace** | Logical container where all metrics will be placed | `POWERTOOLS_METRICS_NAMESPACE` | `default_namespace` | Any string | `serverlessAirline` | `default_namespace` | + +!!! tip + Use your application name or main service as the metric namespace to easily group all metrics + +#### Example using AWS Serverless Application Model (SAM) + +The `Metrics` utility is instantiated outside of the Lambda handler. In doing this, the same instance can be used across multiple invocations inside the same execution environment. This allows `Metrics` to be aware of things like whether or not a given invocation had a cold start or not. + +=== "handler.ts" + + ```typescript hl_lines="1 4" + --8<-- "docs/snippets/metrics/sam.ts" + ``` + +=== "template.yml" + + ```yaml hl_lines="9 10" + Resources: + HelloWorldFunction: + Type: AWS::Serverless::Function + Properties: + Runtime: nodejs16.x + Environment: + Variables: + POWERTOOLS_SERVICE_NAME: orders + POWERTOOLS_METRICS_NAMESPACE: serverlessAirline + ``` + +You can initialize Metrics anywhere in your code - It'll keep track of your aggregate metrics in memory. + +### Creating metrics + +You can create metrics using the `addMetric` method, and you can create dimensions for all your aggregate metrics using the `addDimension` method. + +=== "Metrics" + + ```typescript hl_lines="12" + --8<-- "docs/snippets/metrics/createMetrics.ts" + ``` + +=== "Metrics with custom dimensions" + + ```typescript hl_lines="12-13" + --8<-- "docs/snippets/metrics/customDimensions.ts" + ``` + +!!! tip "Autocomplete Metric Units" + Use the `MetricUnit` enum to easily find a supported metric unit by CloudWatch. Alternatively, you can pass the value as a string if you already know them e.g. "Count". + +!!! note "Metrics overflow" + CloudWatch EMF supports a max of 100 metrics per batch. Metrics will automatically propagate all the metrics when adding the 100th metric. Subsequent metrics, e.g. 101th, will be aggregated into a new EMF object, for your convenience. + +!!! warning "Do not create metrics or dimensions outside the handler" + Metrics or dimensions added in the global scope will only be added during cold start. Disregard if that's the intended behavior. + +### Adding high-resolution metrics + +You can create [high-resolution metrics](https://aws.amazon.com/about-aws/whats-new/2023/02/amazon-cloudwatch-high-resolution-metric-extraction-structured-logs/) passing `resolution` as parameter to `addMetric`. + +!!! tip "When is it useful?" + High-resolution metrics are data with a granularity of one second and are very useful in several situations such as telemetry, time series, real-time incident management, and others. + +=== "Metrics with high resolution" + + ```typescript hl_lines="4 20" + --8<-- "docs/snippets/metrics/addHighResolutionMetric.ts" + ``` + +!!! tip "Autocomplete Metric Resolutions" + Use the `MetricResolution` type to easily find a supported metric resolution by CloudWatch. Alternatively, you can pass the allowed values of 1 or 60 as an integer. + +### Adding multi-value metrics + +You can call `addMetric()` with the same name multiple times. The values will be grouped together in an array. + +=== "addMetric() with the same name" + + ```typescript hl_lines="12 14" + --8<-- "docs/snippets/metrics/multiValueMetrics.ts" + ``` +=== "Example CloudWatch Logs excerpt" + + ```json hl_lines="2-5 18-19" + { + "performedActionA": [ + 2, + 1 + ], + "_aws": { + "Timestamp": 1592234975665, + "CloudWatchMetrics": [ + { + "Namespace": "serverlessAirline", + "Dimensions": [ + [ + "service" + ] + ], + "Metrics": [ + { + "Name": "performedActionA", + "Unit": "Count" + } + ] + } + ] + }, + "service": "orders" + } + ``` + +### Adding default dimensions + +You can add default dimensions to your metrics by passing them as parameters in 4 ways: + +* in the constructor +* in the [Middy-compatible](https://github.com/middyjs/middy){target=_blank} middleware +* using the `setDefaultDimensions` method +* in the decorator + +=== "constructor" + + ```typescript hl_lines="6" + --8<-- "docs/snippets/metrics/defaultDimensions.ts" + ``` + +=== "Middy middleware" + + !!! tip "Using Middy for the first time?" + You can install Middy by running `npm i @middy/core`. + Learn more about [its usage and lifecycle in the official Middy documentation](https://middy.js.org/docs/intro/getting-started){target="_blank"}. + + ```typescript hl_lines="24-26" + --8<-- "docs/snippets/metrics/defaultDimensionsMiddy.ts" + ``` + +=== "setDefaultDimensions method" + + ```typescript hl_lines="7" + --8<-- "docs/snippets/metrics/setDefaultDimensions.ts" + ``` + +=== "with logMetrics decorator" + + ```typescript hl_lines="12" + --8<-- "docs/snippets/metrics/defaultDimensionsDecorator.ts" + ``` + + 1. Binding your handler method allows your handler to access `this` within the class methods. + +If you'd like to remove them at some point, you can use the `clearDefaultDimensions` method. + +### Flushing metrics + +As you finish adding all your metrics, you need to serialize and "flush them" by calling `publishStoredMetrics()`. This will print the metrics to standard output. + +You can flush metrics automatically using one of the following methods: + +* manually +* [Middy-compatible](https://github.com/middyjs/middy){target=_blank} middleware +* class decorator + +Using the Middy middleware or decorator will **automatically validate, serialize, and flush** all your metrics. During metrics validation, if no metrics are provided then a warning will be logged, but no exception will be thrown. +If you do not use the middleware or decorator, you have to flush your metrics manually. + +!!! warning "Metric validation" + If metrics are provided, and any of the following criteria are not met, a **`RangeError`** error will be thrown: + + * Maximum of 29 dimensions + * Namespace is set only once (or none) + * Metric units must be [supported by CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) + +#### Middy middleware + +See below an example of how to automatically flush metrics with the Middy-compatible `logMetrics` middleware. + +=== "handler.ts" + + ```typescript hl_lines="20" + --8<-- "docs/snippets/metrics/middy.ts" + ``` + +=== "Example CloudWatch Logs excerpt" + + ```json + { + "successfulBooking": 1.0, + "_aws": { + "Timestamp": 1592234975665, + "CloudWatchMetrics": [{ + "Namespace": "serverlessAirline", + "Dimensions": [ + [ "service" ] + ], + "Metrics": [{ + "Name": "successfulBooking", + "Unit": "Count" + }] + }] + }, + "service": "orders" + } + ``` + +#### Using the class decorator + +!!! info + Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, check the [middleware](#using-a-middleware) or [manual](#manually) method sections instead. + See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. + +The `logMetrics` decorator of the metrics utility can be used when your Lambda handler function is implemented as method of a Class. + +=== "handler.ts" + + ```typescript hl_lines="10" + --8<-- "docs/snippets/metrics/decorator.ts" + ``` + + 1. Binding your handler method allows your handler to access `this` within the class methods. + +=== "Example CloudWatch Logs excerpt" + + ```json + { + "successfulBooking": 1.0, + "_aws": { + "Timestamp": 1592234975665, + "CloudWatchMetrics": [{ + "Namespace": "successfulBooking", + "Dimensions": [ + [ "service" ] + ], + "Metrics": [{ + "Name": "successfulBooking", + "Unit": "Count" + }] + }] + }, + "service": "orders" + } + ``` + +#### Manually + +You can manually flush the metrics with `publishStoredMetrics` as follows: + +!!! warning + Metrics, dimensions and namespace validation still applies. + +=== "handler.ts" + + ```typescript hl_lines="13" + --8<-- "docs/snippets/metrics/manual.ts" + ``` + +=== "Example CloudWatch Logs excerpt" + + ```json + { + "successfulBooking": 1.0, + "_aws": { + "Timestamp": 1592234975665, + "CloudWatchMetrics": [{ + "Namespace": "successfulBooking", + "Dimensions": [ + [ "service" ] + ], + "Metrics": [{ + "Name": "successfulBooking", + "Unit": "Count" + }] + }] + }, + "service": "orders" + } + ``` + +#### Throwing a RangeError when no metrics are emitted + +If you want to ensure that at least one metric is emitted before you flush them, you can use the `throwOnEmptyMetrics` parameter and pass it to the middleware or decorator: + +=== "handler.ts" + + ```typescript hl_lines="21" + --8<-- "docs/snippets/metrics/throwOnEmptyMetrics.ts" + ``` + +### Capturing a cold start invocation as metric + +You can optionally capture cold start metrics with the `logMetrics` middleware or decorator via the `captureColdStartMetric` param. + +=== "Middy Middleware" + + ```typescript hl_lines="21" + --8<-- "docs/snippets/metrics/captureColdStartMetricMiddy.ts" + ``` + +=== "logMetrics decorator" + + ```typescript hl_lines="10" + --8<-- "docs/snippets/metrics/captureColdStartMetricDecorator.ts" + ``` + +If it's a cold start invocation, this feature will: + +* Create a separate EMF blob solely containing a metric named `ColdStart` +* Add the `function_name`, `service` and default dimensions + +This has the advantage of keeping cold start metric separate from your application metrics, where you might have unrelated dimensions. + +!!! info "We do not emit 0 as a value for the ColdStart metric for cost-efficiency reasons. [Let us know](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=feature-request%2C+triage&template=feature_request.md&title=) if you'd prefer a flag to override it." + +## Advanced + +### Adding metadata + +You can add high-cardinality data as part of your Metrics log with the `addMetadata` method. This is useful when you want to search highly contextual information along with your metrics in your logs. + +!!! warning + **This will not be available during metrics visualization** - Use **dimensions** for this purpose + +=== "handler.ts" + + ```typescript hl_lines="18" + --8<-- "docs/snippets/metrics/addMetadata.ts" + ``` + +=== "Example CloudWatch Logs excerpt" + + ```json hl_lines="31" + { + "successfulBooking": 1.0, + "_aws": { + "Timestamp": 1592234975665, + "CloudWatchMetrics": [{ + "Namespace": "serverlessAirline", + "Dimensions": [ + [ "service" ] + ], + "Metrics": [{ + "Namespace": "exampleApplication", + "Dimensions": [ + [ "service" ] + ], + "Metrics": [{ + "Name": "successfulBooking", + "Unit": "Count" + }] + }] + }] + }, + "service": "orders", + "bookingId": "7051cd10-6283-11ec-90d6-0242ac120003" + } + ``` + +### Single metric with different dimensions + +CloudWatch EMF uses the same dimensions across all your metrics. Use `singleMetric` if you have a metric that should have different dimensions. + +!!! info + For cost-efficiency, this feature would be used sparsely since you [pay for unique metric](https://aws.amazon.com/cloudwatch/pricing). Keep the following formula in mind: + + **unique metric = (metric_name + dimension_name + dimension_value)** + +=== "Middy Middleware" + + ```typescript hl_lines="21 23-24" + --8<-- "docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts" + ``` + +=== "logMetrics decorator" + + ```typescript hl_lines="16 18-19" + --8<-- "docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts" + ``` + + 1. Binding your handler method allows your handler to access `this` within the class methods. diff --git a/docs/core/tracer.md b/docs/core/tracer.md new file mode 100644 index 0000000000..774ad26f30 --- /dev/null +++ b/docs/core/tracer.md @@ -0,0 +1,325 @@ +--- +title: Tracer +description: Core utility +--- + +Tracer is an opinionated thin wrapper for [AWS X-Ray SDK for Node.js](https://github.com/aws/aws-xray-sdk-node). + +## Key features + +* Auto-capturing cold start and service name as annotations, and responses or full exceptions as metadata. +* Automatically tracing HTTP(S) clients and generating segments for each request. +* Supporting tracing functions via decorators, middleware, and manual instrumentation. +* Supporting tracing AWS SDK v2 and v3 via AWS X-Ray SDK for Node.js. +* Auto-disable tracing when not running in the Lambda environment. + +
+ +
+ Screenshot of the Amazon CloudWatch Console showing an example of segments and subsegments generated and with annotations set for the handler +
Tracer showcase - Handler Annotations
+
+ +## Getting started + +### Installation + +Install the library in your project: + +```shell +npm install @aws-lambda-powertools/tracer +``` + +### Usage + +The `Tracer` utility must always be instantiated outside of the Lambda handler. In doing this, subsequent invocations processed by the same instance of your function can reuse these resources. This saves cost by reducing function run time. In addition, `Tracer` can track cold start and annotate the traces accordingly. + +=== "handler.ts" + + ```typescript hl_lines="1 3" + --8<-- "docs/snippets/tracer/basicUsage.ts" + ``` + +### Utility settings + +The library has three optional settings. You can set them as environment variables, or pass them in the constructor: + +| Setting | Description | Environment variable | Default | Allowed Values | Example | Constructor parameter | +| -------------------------- | --------------------------------------------------------------------- | ------------------------------------------ | ------------------- | ----------------- | ------------------- | ---------------------- | +| **Service name** | Sets an annotation with the **name of the service** across all traces | `POWERTOOLS_SERVICE_NAME` | `service_undefined` | Any string | `serverlessAirline` | `serviceName` | +| **Tracing enabled** | Enables or disables tracing. | `POWERTOOLS_TRACE_ENABLED` | `true ` | `true` or `false` | `false` | `enabled` | +| **Capture HTTPs Requests** | Defines whether HTTPs requests will be traced or not | `POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS` | `true` | `true` or `false` | `false` | `captureHTTPsRequests` | +| **Capture Response** | Defines whether functions responses are serialized as metadata | `POWERTOOLS_TRACER_CAPTURE_RESPONSE` | `true` | `true` or `false` | `false` | `captureResult` | +| **Capture Errors** | Defines whether functions errors are serialized as metadata | `POWERTOOLS_TRACER_CAPTURE_ERROR` | `true` | `true` or `false` | `false` | N/A | + +!!! note + Before your use this utility, your AWS Lambda function must have [Active Tracing enabled](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html) as well as [have permissions](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html#services-xray-permissions) to send traces to AWS X-Ray + +#### Example using AWS Serverless Application Model (SAM) + +The `Tracer` utility is instantiated outside of the Lambda handler. In doing this, the same instance can be used across multiple invocations inside the same execution environment. This allows `Tracer` to be aware of things like whether or not a given invocation had a cold start or not. + +=== "handler.ts" + + ```typescript hl_lines="1 4" + --8<-- "docs/snippets/tracer/sam.ts" + ``` + +=== "template.yml" + + ```yaml hl_lines="6 9" + Resources: + HelloWorldFunction: + Type: AWS::Serverless::Function + Properties: + Runtime: nodejs18.x + Tracing: Active + Environment: + Variables: + POWERTOOLS_SERVICE_NAME: serverlessAirline + ``` + +### Lambda handler + +You can quickly start by importing the `Tracer` class, initialize it outside the Lambda handler, and instrument your function. + +=== "Middy Middleware" + + !!! tip "Using Middy for the first time?" + You can install Middy by running `npm i @middy/core`. + Learn more about [its usage and lifecycle in the official Middy documentation](https://middy.js.org/docs/intro/getting-started){target="_blank"}. + + ```typescript hl_lines="1 14 16" + --8<-- "docs/snippets/tracer/middy.ts" + ``` + + 1. Using Middy for the first time? You can install Middy by running `npm i @middy/core`. + Learn more about [its usage and lifecycle in the official Middy documentation](https://github.com/middyjs/middy#usage){target="_blank"}. + +=== "Decorator" + + !!! info + Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, use the middleware or the manual instrumentations instead. + See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. + + ```typescript hl_lines="8" + --8<-- "docs/snippets/tracer/decorator.ts" + ``` + + 1. Binding your handler method allows your handler to access `this`. + +=== "Manual" + + ```typescript hl_lines="9-15 18-19 23 26 29-34" + --8<-- "docs/snippets/tracer/manual.ts" + ``` + + +When using the `captureLambdaHandler` decorator or middleware, Tracer performs these additional tasks to ease operations: + +* Handles the lifecycle of the subsegment +* Creates a `ColdStart` annotation to easily filter traces that have had an initialization overhead +* Creates a `Service` annotation to easily filter traces that have a specific service name +* Captures any response, or full exceptions generated by the handler, and include them as tracing metadata + +### Annotations & Metadata + +**Annotations** are key-values associated with traces and indexed by AWS X-Ray. You can use them to filter traces and to create [Trace Groups](https://aws.amazon.com/about-aws/whats-new/2018/11/aws-xray-adds-the-ability-to-group-traces/) to slice and dice your transactions. + +**Metadata** are key-values also associated with traces but not indexed by AWS X-Ray. You can use them to add additional context for an operation using any native object. + +=== "Annotations" + You can add annotations using `putAnnotation` method. + + ```typescript hl_lines="9" + --8<-- "docs/snippets/tracer/putAnnotation.ts" + ``` +=== "Metadata" + You can add metadata using `putMetadata` method. + + ```typescript hl_lines="9-11" + --8<-- "docs/snippets/tracer/putMetadata.ts" + ``` + +
+ Screenshot of the Amazon CloudWatch Console showing an example of segments and subsegments generated and with metadata set for the handler +
Tracer showcase - Handler Metadata
+
+ +### Methods + +You can trace other Class methods using the `captureMethod` decorator or any arbitrary function using manual instrumentation. + +=== "Decorator" + + ```typescript hl_lines="8" + --8<-- "docs/snippets/tracer/captureMethodDecorator.ts" + ``` + + 1. You can set a custom name for the subsegment by passing `subSegmentName` to the decorator, like: `@tracer.captureMethod({ subSegmentName: '### myCustomMethod' })`. + 2. Binding your handler method allows your handler to access `this`. + +=== "Manual" + + ```typescript hl_lines="6-12 18 21 25-30" + --8<-- "docs/snippets/tracer/captureMethodManual.ts" + ``` + + +### Patching AWS SDK clients + +Tracer can patch any [AWS SDK clients](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-awssdkclients.html) and create traces when your application makes calls to AWS services. + +!!! info + The following snippet assumes you are using the [**AWS SDK v3** for JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) + +You can patch any AWS SDK clients by calling the `captureAWSv3Client` method: + +=== "index.ts" + + ```typescript hl_lines="5" + --8<-- "docs/snippets/tracer/captureAWSv3.ts" + ``` + +!!! info + The following two snippets assume you are using the [**AWS SDK v2** for JavaScript](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/welcome.html) + +You can patch all AWS SDK v2 clients by calling the `captureAWS` method: + +=== "index.ts" + + ```typescript hl_lines="5" + --8<-- "docs/snippets/tracer/captureAWSAll.ts" + ``` + +If you're looking to shave a few microseconds, or milliseconds depending on your function memory configuration, you can patch only specific AWS SDK v2 clients using `captureAWSClient`: + +=== "index.ts" + + ```typescript hl_lines="5" + --8<-- "docs/snippets/tracer/captureAWS.ts" + ``` + +### Tracing HTTP requests + +When your function makes calls to HTTP APIs, Tracer automatically traces those calls and add the API to the service graph as a downstream service. + +You can opt-out from this feature by setting the **`POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS=false`** environment variable or by passing the `captureHTTPSRequests: false` option to the `Tracer` constructor. + +!!! info + The following snippet shows how to trace [axios](https://www.npmjs.com/package/axios) requests, but you can use any HTTP client library built on top of [http](https://nodejs.org/api/http.html) or [https](https://nodejs.org/api/https.html). + Support to 3rd party HTTP clients is provided on a best effort basis. + +=== "index.ts" + + ```typescript hl_lines="2" + --8<-- "docs/snippets/tracer/captureHTTP.ts" + ``` + + 1. You can install the [axios](https://www.npmjs.com/package/axios) package using `npm i axios` +=== "Example Raw X-Ray Trace excerpt" + + ```json hl_lines="6 9 12-21" + { + "id": "22883fbc730e3a0b", + "name": "## index.handler", + "start_time": 1647956168.22749, + "end_time": 1647956169.0679862, + "subsegments": [ + { + "id": "ab82ab2b7d525d8f", + "name": "httpbin.org", + "start_time": 1647956168.407, + "end_time": 1647956168.945, + "http": { + "request": { + "url": "https://httpbin.org/status/200", + "method": "GET" + }, + "response": { + "status": 200, + "content_length": 0 + } + }, + "namespace": "remote" + } + ] + } + ``` + +## Advanced + +### Disabling response auto-capture + +Use **`POWERTOOLS_TRACER_CAPTURE_RESPONSE=false`** environment variable to instruct Tracer **not** to serialize function responses as metadata. + +!!! info "This is commonly useful in three scenarios" + + 1. You might **return sensitive** information you don't want it to be added to your traces + 2. You might manipulate **streaming objects that can be read only once**; this prevents subsequent calls from being empty + 3. You might return **more than 64K** of data _e.g., `message too long` error_ + +Alternatively, use the `captureResponse: false` option in both `tracer.captureLambdaHandler()` and `tracer.captureMethod()` decorators, or use the same option in the Middy `captureLambdaHander` middleware to instruct Tracer **not** to serialize function responses as metadata. + +=== "method.ts" + + ```typescript hl_lines="7" + --8<-- "docs/snippets/tracer/disableCaptureResponseMethod.ts" + ``` + +=== "handler.ts" + + ```typescript hl_lines="7" + --8<-- "docs/snippets/tracer/disableCaptureResponseHandler.ts" + ``` + +=== "middy.ts" + + ```typescript hl_lines="17" + --8<-- "docs/snippets/tracer/disableCaptureResponseMiddy.ts" + ``` + +### Disabling errors auto-capture + +Use **`POWERTOOLS_TRACER_CAPTURE_ERROR=false`** environment variable to instruct Tracer **not** to serialize errors as metadata. + +!!! info "Commonly useful in one scenario" + + 1. You might **return sensitive** information from errors, stack traces you might not control + +### Access AWS X-Ray Root Trace ID + +Tracer exposes a `getRootXrayTraceId()` method that allows you to retrieve the [AWS X-Ray Root Trace ID](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces) corresponds to the current function execution. + +!!! info "This is commonly useful in two scenarios" + + 1. By including the root trace id in your response, consumers can use it to correlate requests + 2. You might want to surface the root trace id to your end users so that they can reference it while contacting customer service + +=== "index.ts" + + ```typescript hl_lines="11" + --8<-- "docs/snippets/tracer/accessRootTraceId.ts" + ``` + +### Escape hatch mechanism + +You can use `tracer.provider` attribute to access all methods provided by the [AWS X-Ray SDK](https://docs.aws.amazon.com/xray-sdk-for-nodejs/latest/reference/AWSXRay.html). + +This is useful when you need a feature available in X-Ray that is not available in the Tracer utility, for example [SQL queries tracing](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-sqlclients.html), or [a custom logger](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-configuration.html#xray-sdk-nodejs-configuration-logging). + +=== "index.ts" + + ```typescript hl_lines="7" + --8<-- "docs/snippets/tracer/escapeHatch.ts" + ``` + +## Testing your code + +Tracer is disabled by default when not running in the AWS Lambda environment - This means no code changes or environment variables to be set. + +## Tips + +* Use annotations on key operations to slice and dice traces, create unique views, and create metrics from it via Trace Groups +* Use a namespace when adding metadata to group data more easily +* Annotations and metadata are added to the currently open subsegment. If you want them in a specific subsegment, [create one](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-subsegments.html#xray-sdk-nodejs-subsegments-lambda) via the escape hatch mechanism diff --git a/docs/diagram_src/.gitignore b/docs/diagram_src/.gitignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/enums/_aws_lambda_powertools_metrics.MetricUnits.html b/docs/enums/_aws_lambda_powertools_metrics.MetricUnits.html new file mode 100644 index 0000000000..5b308de1ae --- /dev/null +++ b/docs/enums/_aws_lambda_powertools_metrics.MetricUnits.html @@ -0,0 +1,321 @@ +MetricUnits | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
+
+ +
+
+

Enumeration Members

+
+ +
Bits: "Bits"
+
+ +
BitsPerSecond: "Bits/Second"
+
+ +
Bytes: "Bytes"
+
+ +
BytesPerSecond: "Bytes/Second"
+
+ +
Count: "Count"
+
+ +
CountPerSecond: "Count/Second"
+
+ +
Gigabits: "Gigabits"
+
+ +
GigabitsPerSecond: "Gigabits/Second"
+
+ +
Gigabytes: "Gigabytes"
+
+ +
GigabytesPerSecond: "Gigabytes/Second"
+
+ +
Kilobits: "Kilobits"
+
+ +
KilobitsPerSecond: "Kilobits/Second"
+
+ +
Kilobytes: "Kilobytes"
+
+ +
KilobytesPerSecond: "Kilobytes/Second"
+
+ +
Megabits: "Megabits"
+
+ +
MegabitsPerSecond: "Megabits/Second"
+
+ +
Megabytes: "Megabytes"
+
+ +
MegabytesPerSecond: "Megabytes/Second"
+
+ +
Microseconds: "Microseconds"
+
+ +
Milliseconds: "Milliseconds"
+
+ +
Percent: "Percent"
+
+ +
Seconds: "Seconds"
+
+ +
Terabits: "Terabits"
+
+ +
TerabitsPerSecond: "Terabits/Second"
+
+ +
Terabytes: "Terabytes"
+
+ +
TerabytesPerSecond: "Terabytes/Second"
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_idempotency.idempotentFunction.html b/docs/functions/_aws_lambda_powertools_idempotency.idempotentFunction.html new file mode 100644 index 0000000000..807f10f9ca --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_idempotency.idempotentFunction.html @@ -0,0 +1,150 @@ +idempotentFunction | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +
    +

    Parameters

    +
      +
    • +
      options: IdempotencyFunctionOptions
    +

    Returns ((target, propertyKey, descriptor) => PropertyDescriptor)

    +
      +
    • +
        +
      • (target, propertyKey, descriptor): PropertyDescriptor
      • +
      • +
        +

        Parameters

        +
          +
        • +
          target: unknown
        • +
        • +
          propertyKey: string
        • +
        • +
          descriptor: PropertyDescriptor
        +

        Returns PropertyDescriptor

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html b/docs/functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html new file mode 100644 index 0000000000..33a51074ed --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html @@ -0,0 +1,150 @@ +idempotentLambdaHandler | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +
    +

    Parameters

    +
      +
    • +
      options: IdempotencyLambdaHandlerOptions
    +

    Returns ((target, propertyKey, descriptor) => PropertyDescriptor)

    +
      +
    • +
        +
      • (target, propertyKey, descriptor): PropertyDescriptor
      • +
      • +
        +

        Parameters

        +
          +
        • +
          target: unknown
        • +
        • +
          propertyKey: string
        • +
        • +
          descriptor: PropertyDescriptor
        +

        Returns PropertyDescriptor

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html b/docs/functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html new file mode 100644 index 0000000000..4ad2fc30f9 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html @@ -0,0 +1,148 @@ +makeFunctionIdempotent | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    Wrapper for a function to make it idempotent

    +
    +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      fn: AnyFunctionWithRecord<U>
      +

      your function to make idempotent

      +
    • +
    • +
      options: IdempotencyFunctionOptions
      +

      options for the idempotency, see IdempotencyFunctionOptions

      +
    +

    Returns AnyIdempotentFunction<U>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_logger.createLogger.html b/docs/functions/_aws_lambda_powertools_logger.createLogger.html new file mode 100644 index 0000000000..a64fd138c2 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_logger.createLogger.html @@ -0,0 +1,135 @@ +createLogger | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_logger.injectLambdaContext.html b/docs/functions/_aws_lambda_powertools_logger.injectLambdaContext.html new file mode 100644 index 0000000000..b01b4ff381 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_logger.injectLambdaContext.html @@ -0,0 +1,150 @@ +injectLambdaContext | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    A middy middleware that helps emitting CloudWatch EMF metrics in your logs.

    +

    Using this middleware on your handler function will automatically add context information to logs, as well as optionally log the event and clear attributes set during the invocation.

    + +

    Example

    import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger';
    import middy from '@middy/core';


    const logger = new Logger();

    const lambdaHandler = async (_event: any, _context: any) => {
    logger.info('This is an INFO log with some context');
    };

    export const handler = middy(lambdaHandler).use(injectLambdaContext(logger)); +
    +
    +
    +

    Parameters

    +
      +
    • +
      target: Logger | Logger[]
      +

      The Logger instance(s) to use for logging

      +
    • +
    • +
      Optional options: HandlerOptions
      +

      (optional) Options for the middleware

      +
    +

    Returns MiddlewareLikeObj<unknown, unknown, Error, Context>

      +
    • The middy middleware object
    • +
    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_metrics.logMetrics.html b/docs/functions/_aws_lambda_powertools_metrics.logMetrics.html new file mode 100644 index 0000000000..0911c864e1 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_metrics.logMetrics.html @@ -0,0 +1,154 @@ +logMetrics | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    A middy middleware automating capture of metadata and annotations on segments or subsegments for a Lambda Handler.

    +

    Using this middleware on your handler function will automatically flush metrics after the function returns or throws an error. +Additionally, you can configure the middleware to easily:

    +
      +
    • ensure that at least one metric is emitted before you flush them
    • +
    • capture a ColdStart a metric
    • +
    • set default dimensions for all your metrics
    • +
    + +

    Example

    import { Metrics, logMetrics } from '@aws-lambda-powertools/metrics';
    import middy from '@middy/core';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    const lambdaHandler = async (_event: any, _context: any) => {
    ...
    };

    export const handler = middy(lambdaHandler).use(logMetrics(metrics)); +
    +
    +
    +

    Parameters

    +
      +
    • +
      target: Metrics | Metrics[]
      +

      The Metrics instance to use for emitting metrics

      +
    • +
    • +
      options: ExtraOptions = {}
      +

      (optional) Options for the middleware

      +
    +

    Returns MiddlewareLikeObj<unknown, unknown, Error, Context>

    middleware - The middy middleware object

    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getAppConfig.html b/docs/functions/_aws_lambda_powertools_parameters.getAppConfig.html new file mode 100644 index 0000000000..e398672462 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_parameters.getAppConfig.html @@ -0,0 +1,195 @@ +getAppConfig | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    Intro

    The Parameters utility provides an AppConfigProvider that allows to retrieve configuration profiles from AWS AppConfig.

    +

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

    +

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

    +
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata
    +
    +

    Basic usage

    +

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a configuration profile
    const encodedConfig = await getAppConfig('my-config');
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; +
    +

    Advanced usage

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. +You can adjust how long values should be kept in cache by using the maxAge parameter.

    + +

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a configuration profile and cache it for 10 seconds
    const encodedConfig = await getAppConfig('my-config');
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; +
    +

    If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

    + +

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a config and always fetch the latest value
    const config = await getAppConfig('my-config', { forceFetch: true });
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; +
    +

    Transformations

    For configurations stored as freeform JSON, Freature Flag, you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

    + +

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a JSON config or Feature Flag and parse it as JSON
    const config = await getAppConfig('my-config', { transform: 'json' });
    }; +
    +

    For configurations that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

    + +

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a base64-encoded string and decode it
    const config = await getAppConfig('my-config', { transform: 'binary' });
    }; +
    +

    Extra SDK options

    When retrieving a configuration profile, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

    + +

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a config and pass extra options to the AWS SDK v3 for JavaScript client
    const config = await getAppConfig('my-config', {
    sdkOptions: {
    RequiredMinimumPollIntervalInSeconds: 60,
    },
    });
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; +
    +

    This object accepts the same options as the AWS SDK v3 for JavaScript AppConfigData client.

    +

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the AppConfigProvider class.

    +

    For more usage examples, see our documentation.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      The name of the configuration profile or its ID

      +
    • +
    • +
      options: GetAppConfigCombinedInterface
      +

      Options to configure the provider

      +
    +

    Returns Promise<undefined | string | Uint8Array | Record<string, unknown>>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getParameter.html b/docs/functions/_aws_lambda_powertools_parameters.getParameter.html new file mode 100644 index 0000000000..2ca8af7212 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_parameters.getParameter.html @@ -0,0 +1,216 @@ +getParameter | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    Intro

    The Parameters utility provides an SSMProvider that allows to retrieve parameters from AWS Systems Manager.

    +

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

    +

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

    +
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm
    +
    +

    Basic usage

    +

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter
    const parameter = await getParameter('/my-parameter');
    }; +
    +

    Advanced usage

    Decryption

    If you have encrypted parameters, you can use the decrypt option to automatically decrypt them.

    + +

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and decrypt it
    const parameter = await getParameter('/my-parameter', { decrypt: true });
    }; +
    +

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. +You can adjust how long values should be kept in cache by using the maxAge parameter.

    + +

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and cache it for 10 seconds
    const parameter = await getParameter('/my-parameter', { maxAge: 10 });
    }; +
    +

    If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

    + +

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and always fetch the latest value
    const parameter = await getParameter('/my-parameter', { forceFetch: true });
    }; +
    +

    Transformations

    For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

    + +

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and parse it as JSON
    const parameter = await getParameter('/my-parameter', { transform: 'json' });
    }; +
    +

    For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

    + +

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a base64-encoded string and decode it
    const parameter = await getParameter('/my-parameter', { transform: 'binary' });
    }; +
    +

    Extra SDK options

    When retrieving a parameter, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

    + +

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and pass extra options to the AWS SDK v3 for JavaScript client
    const parameter = await getParameter('/my-parameter', {
    sdkOptions: {
    WithDecryption: true,
    },
    });
    }; +
    +

    This object accepts the same options as the AWS SDK v3 for JavaScript SSM GetParameter command.

    +

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SSMProvider class.

    +

    Options

      +
    • You can customize the retrieval of the value by passing options to the function:
    • +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    • decrypt - Whether to decrypt the value before returning it.
    • +
    +

    For more usage examples, see our documentation.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Type Parameters

    +
      +
    • +

      ExplicitUserProvidedType = undefined

    • +
    • +

      InferredFromOptionsType extends SSMGetOptionsUnion = SSMGetOptionsUnion

    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      The name of the parameter to retrieve

      +
    • +
    • +
      Optional options: InferredFromOptionsType & SSMGetOptions
      +

      Options to configure the provider

      +
    +

    Returns Promise<undefined | SSMGetOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getParameters.html b/docs/functions/_aws_lambda_powertools_parameters.getParameters.html new file mode 100644 index 0000000000..aae032d90c --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_parameters.getParameters.html @@ -0,0 +1,217 @@ +getParameters | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    Intro

    The Parameters utility provides an SSMProvider that allows to retrieve parameters from AWS Systems Manager.

    +

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

    +

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

    +
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm
    +
    +

    Basic usage

    +

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters by path
    const parameters = await getParameters('/my-parameters-path');
    }; +
    +

    Advanced usage

    Decryption

    If you have encrypted parameters, you can use the decrypt option to automatically decrypt them.

    + +

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and decrypt them
    const parameters = await getParameters('/my-parameters-path', { decrypt: true });
    }; +
    +

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. +You can adjust how long values should be kept in cache by using the maxAge parameter.

    + +

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and cache them for 10 seconds
    const parameters = await getParameters('/my-parameters-path', { maxAge: 10 });
    }; +
    +

    If instead you'd like to always ensure you fetch the latest values from the store regardless if already available in cache, use the forceFetch parameter.

    + +

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and always fetch the latest values
    const parameters = await getParameters('/my-parameters-path', { forceFetch: true });
    }; +
    +

    Transformations

    For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript objects instead of a strings.

    + +

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and parse them as JSON
    const parameters = await getParameters('/my-parameters-path', { transform: 'json' });
    }; +
    +

    For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return decoded strings for each parameter.

    + +

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve base64-encoded strings and decode them
    const parameters = await getParameters('/my-parameters-path', { transform: 'binary' });
    }; +
    +

    Extra SDK options

    When retrieving a parameter, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

    + +

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and pass extra options to the AWS SDK v3 for JavaScript client
    const parameters = await getParameters('/my-parameters-path', {
    sdkOptions: {
    WithDecryption: true,
    },
    });
    }; +
    +

    This object accepts the same options as the AWS SDK v3 for JavaScript SSM getParametersByPath command.

    +

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SSMProvider class.

    +

    Options

      +
    • You can customize the retrieval of the value by passing options to the function:
    • +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    • decrypt - Whether to decrypt the value before returning it.
    • +
    • recursive - Whether to recursively retrieve all parameters within the path.
    • +
    +

    For more usage examples, see our documentation.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Type Parameters

    +
      +
    • +

      ExplicitUserProvidedType = undefined

    • +
    • +

      InferredFromOptionsType extends SSMGetMultipleOptionsUnion = SSMGetMultipleOptionsUnion

    +
    +

    Parameters

    +
      +
    • +
      path: string
      +

      The path of the parameters to retrieve

      +
    • +
    • +
      Optional options: InferredFromOptionsType & SSMGetMultipleOptions
      +

      Options to configure the provider

      +
    +

    Returns Promise<undefined | SSMGetMultipleOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getParametersByName.html b/docs/functions/_aws_lambda_powertools_parameters.getParametersByName.html new file mode 100644 index 0000000000..8579057aae --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_parameters.getParametersByName.html @@ -0,0 +1,217 @@ +getParametersByName | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    Intro

    The Parameters utility provides an SSMProvider that allows to retrieve parameters from AWS Systems Manager.

    +

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

    +

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

    +
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm
    +
    +

    Basic usage

    +

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and cache them for 10 seconds
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': { maxAge: 10 }, // Cache for 10 seconds
    });
    }; +
    +

    Advanced usage

    Decryption

    If you have encrypted parameters, you can use the decrypt option to automatically decrypt them.

    + +

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and decrypt them
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': {}, // Use default options
    }, { decrypt: true });
    }; +
    +

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. +You can adjust how long values should be kept in cache by using the maxAge parameter.

    + +

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and cache them for 10 seconds
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': {}, // Use default options
    }, { maxAge: 10 });
    }; +
    +

    Alternatively, if you need more granular control over caching each parameter, you can pass it in the options object.

    + +

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and cache them individually
    const parameters = await getParametersByName({
    '/my-parameter-1': { maxAge: 10 }, // Cache for 10 seconds
    '/my-parameter-2': { maxAge: 20 }, // Cache for 20 seconds
    });
    }; +
    +

    If instead you'd like to always ensure you fetch the latest values from the store regardless if already available in cache, use the forceFetch parameter.

    + +

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and pass extra options to skip cache
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': {}, // Use default options
    }, { forceFetch: true });
    }; +
    +

    Transformations

    For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript objects instead of a strings. +For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return decoded strings for each parameter.

    + +

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and pass extra options to transform them
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options (no transformation)
    '/my-parameter-2': { transform: 'json' }, // Parse the value as JSON
    '/my-parameter-3': { transform: 'binary' }, // Parse the value as base64-encoded binary data
    });
    }; +
    +

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SSMProvider class.

    +

    Options

      +
    • You can customize the retrieval of the value by passing options to both the function and the parameter:
    • +
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • +
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • +
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • +
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • +
    • decrypt - Whether to decrypt the value before returning it
    • +
    +

    throwOnError decides whether to throw an error if a parameter is not found:

    +
      +
    • A) Default fail-fast behavior: Throws a GetParameterError error upon any failure.
    • +
    • B) Gracefully aggregate all parameters that failed under "_errors" key.
    • +
    +

    It transparently uses GetParameter and/or getParametersByName depending on decryption requirements.

    +
                                   ┌────────────────────────┐
    ┌───▶ Decrypt entire batch │─────┐
    └────────────────────────┘ ┌────────────────────┐
    ├─────▶ getParametersByName API
    ┌──────────────────┐ ┌────────────────────────┐ └────────────────────┘
    Split batch │─── ┼──▶│ No decryption required │─────┘
    └──────────────────┘ └────────────────────────┘
    ┌────────────────────┐
    ┌────────────────────────┐ GetParameter API
    └──▶│Decrypt some but not all│───────────▶────────────────────┤
    └────────────────────────┘ getParametersByName API
    └────────────────────┘ +
    +

    For more usage examples, see our documentation.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Type Parameters

    +
      +
    • +

      ExplicitUserProvidedType = undefined

    +
    +

    Parameters

    +
      +
    • +
      parameters: Record<string, SSMGetParametersByNameOptions>
      +

      The path of the parameters to retrieve

      +
    • +
    • +
      Optional options: SSMGetParametersByNameOptions
      +

      Options to configure the provider

      +
    +

    Returns Promise<SSMGetParametersByNameOutput<ExplicitUserProvidedType>>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getSecret.html b/docs/functions/_aws_lambda_powertools_parameters.getSecret.html new file mode 100644 index 0000000000..7576b555a4 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_parameters.getSecret.html @@ -0,0 +1,198 @@ +getSecret | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    Intro

    The Parameters utility provides a SecretsProvider that allows to retrieve secrets from AWS Secrets Manager.

    +

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only +the SDK packages you need and keep your bundle size small.

    +

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for Secrets Manager:

    +
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager
    +
    +

    Basic usage

    +

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret
    const secret = await getSecret('my-secret');
    }; +
    +

    Advanced usage

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. +You can adjust how long values should be kept in cache by using the maxAge parameter.

    + +

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret and cache it for 10 seconds
    const secret = await getSecret('my-secret', { maxAge: 10 });
    }; +
    +

    If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

    + +

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret and always fetch the latest value
    const secret = await getSecret('my-secret', { forceFetch: true });
    }; +
    +

    Transformations

    For parameters stored as JSON or base64-encoded strings, you can use the transform argument set to json or binary for deserialization.

    + +

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret and parse it as JSON
    const secret = await getSecret('my-secret', { transform: 'json' });
    }; +
    +

    Extra SDK options

    When retrieving a secret, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

    + +

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret and pass extra options to the AWS SDK v3 for JavaScript client
    const secret = await getSecret('my-secret', {
    sdkOptions: {
    VersionId: 1,
    },
    });
    }; +
    +

    This object accepts the same options as the AWS SDK v3 for JavaScript Secrets Manager client.

    +

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SecretsProvider class.

    +

    For more usage examples, see our documentation.

    + +

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    +
    +
    +

    Type Parameters

    +
      +
    • +

      ExplicitUserProvidedType = undefined

    • +
    • +

      InferredFromOptionsType extends SecretsGetOptionsUnion = SecretsGetOptionsUnion

    +
    +

    Parameters

    +
      +
    • +
      name: string
      +

      The name of the secret to retrieve

      +
    • +
    • +
      Optional options: InferredFromOptionsType & SecretsGetOptions
      +

      Options to configure the provider

      +
    +

    Returns Promise<undefined | SecretsGetOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html b/docs/functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html new file mode 100644 index 0000000000..9ad6d19480 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html @@ -0,0 +1,154 @@ +captureLambdaHandler | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
    + +
  • +

    A middy middleware automating capture of metadata and annotations on segments or subsegments for a Lambda Handler.

    +

    Using this middleware on your handler function will automatically:

    +
      +
    • handle the subsegment lifecycle
    • +
    • add the ColdStart annotation
    • +
    • add the function response as metadata
    • +
    • add the function error as metadata (if any)
    • +
    + +

    Example

    import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer';
    import middy from '@middy/core';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    const lambdaHandler = async (_event: any, _context: any) => {
    ...
    };

    export const handler = middy(lambdaHandler).use(captureLambdaHandler(tracer)); +
    +
    +
    +

    Parameters

    +
      +
    • +
      target: Tracer
      +

      The Tracer instance to use for tracing

      +
    • +
    • +
      Optional options: CaptureLambdaHandlerOptions
      +

      (optional) Options for the middleware

      +
    +

    Returns MiddlewareLikeObj<unknown, unknown, Error, Context>

    middleware - The middy middleware object

    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_tracer.createTracer.html b/docs/functions/_aws_lambda_powertools_tracer.createTracer.html new file mode 100644 index 0000000000..9c9ea451c3 --- /dev/null +++ b/docs/functions/_aws_lambda_powertools_tracer.createTracer.html @@ -0,0 +1,135 @@ +createTracer | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_commons.LambdaInterface.html b/docs/interfaces/_aws_lambda_powertools_commons.LambdaInterface.html new file mode 100644 index 0000000000..561fba0b4f --- /dev/null +++ b/docs/interfaces/_aws_lambda_powertools_commons.LambdaInterface.html @@ -0,0 +1,150 @@ +LambdaInterface | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • LambdaInterface
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
handler: SyncHandler<Handler<any, any>> | AsyncHandler<Handler<any, any>>
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html b/docs/interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html new file mode 100644 index 0000000000..56b70ee102 --- /dev/null +++ b/docs/interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html @@ -0,0 +1,235 @@ +BasePersistenceLayerInterface | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • BasePersistenceLayerInterface
+
+

Implemented by

+
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html b/docs/interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html new file mode 100644 index 0000000000..79e914b2e4 --- /dev/null +++ b/docs/interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html @@ -0,0 +1,182 @@ +LogFormatterInterface | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • LogFormatterInterface
+
+

Implemented by

+
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html b/docs/interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html new file mode 100644 index 0000000000..d7c1a7e1b5 --- /dev/null +++ b/docs/interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html @@ -0,0 +1,321 @@ +MetricsInterface | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • MetricsInterface
+
+

Implemented by

+
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      dimensions: {
          [key: string]: string;
      }
      +
        +
      • +
        [key: string]: string
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      Optional options: MetricsOptions
    +

    Returns HandlerMethodDecorator

+
+ +
+
+ +
    + +
  • +

    Returns Readonly<{
        _aws: {
            CloudWatchMetrics: {
                Dimensions: [string[]];
                Metrics: MetricDefinition[];
                Namespace: string;
            }[];
            Timestamp: number;
        };
        [key: string]: string | number | object;
    }>

+
+ +
+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_tracer.TracerInterface.html b/docs/interfaces/_aws_lambda_powertools_tracer.TracerInterface.html new file mode 100644 index 0000000000..f448c14abc --- /dev/null +++ b/docs/interfaces/_aws_lambda_powertools_tracer.TracerInterface.html @@ -0,0 +1,398 @@ +TracerInterface | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • TracerInterface
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
putAnnotation: ((key, value) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (key, value): void
    • +
    • +
      +

      Parameters

      +
        +
      • +
        key: string
      • +
      • +
        value: string | number | boolean
      +

      Returns void

+
+ +
putMetadata: ((key, value, namespace?) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (key, value, namespace?): void
    • +
    • +
      +

      Parameters

      +
        +
      • +
        key: string
      • +
      • +
        value: unknown
      • +
      • +
        Optional namespace: string
      +

      Returns void

+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      error: Error
    • +
    • +
      Optional remote: boolean
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      Optional data: unknown
    • +
    • +
      Optional methodName: string
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      service: T
    +

    Returns void | T

+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      service: T
    +

    Returns void | T

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      Optional options: CaptureLambdaHandlerOptions
    +

    Returns HandlerMethodDecorator

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      Optional options: CaptureMethodOptions
    +

    Returns MethodDecorator

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/javascript/aws-amplify.min.js b/docs/javascript/aws-amplify.min.js new file mode 100644 index 0000000000..f19b36a50f --- /dev/null +++ b/docs/javascript/aws-amplify.min.js @@ -0,0 +1,108 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("aws_amplify",[],t):"object"==typeof exports?exports.aws_amplify=t():e.aws_amplify=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=157)}([function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return u})),n.d(t,"f",(function(){return c})),n.d(t,"g",(function(){return f})),n.d(t,"h",(function(){return l})),n.d(t,"c",(function(){return h})),n.d(t,"e",(function(){return g})),n.d(t,"d",(function(){return m}));var r=n(1),i=function(){var e=[],t=[],n=new Set,a=function(n){return e.forEach((function(e){n.add(e.middleware,Object(r.__assign)({},e))})),t.forEach((function(e){n.addRelativeTo(e.middleware,Object(r.__assign)({},e))})),n},u=function(e){var t=[];return e.before.forEach((function(e){0===e.before.length&&0===e.after.length?t.push(e):t.push.apply(t,Object(r.__spread)(u(e)))})),t.push(e),e.after.reverse().forEach((function(e){0===e.before.length&&0===e.after.length?t.push(e):t.push.apply(t,Object(r.__spread)(u(e)))})),t},c=function(){var n,i=[],a=[],c={};return e.forEach((function(e){var t=Object(r.__assign)(Object(r.__assign)({},e),{before:[],after:[]});t.name&&(c[t.name]=t),i.push(t)})),t.forEach((function(e){var t=Object(r.__assign)(Object(r.__assign)({},e),{before:[],after:[]});t.name&&(c[t.name]=t),a.push(t)})),a.forEach((function(e){if(e.toMiddleware){var t=c[e.toMiddleware];if(void 0===t)throw new Error(e.toMiddleware+" is not found when adding "+(e.name||"anonymous")+" middleware "+e.relation+" "+e.toMiddleware);"after"===e.relation&&t.after.push(e),"before"===e.relation&&t.before.push(e)}})),(n=i,n.sort((function(e,t){return o[t.step]-o[e.step]||s[t.priority||"normal"]-s[e.priority||"normal"]}))).map(u).reduce((function(e,t){return e.push.apply(e,Object(r.__spread)(t)),e}),[]).map((function(e){return e.middleware}))},f={add:function(t,i){void 0===i&&(i={});var o=i.name,s=Object(r.__assign)({step:"initialize",priority:"normal",middleware:t},i);if(o){if(n.has(o))throw new Error("Duplicate middleware name '"+o+"'");n.add(o)}e.push(s)},addRelativeTo:function(e,i){var o=i.name,s=Object(r.__assign)({middleware:e},i);if(o){if(n.has(o))throw new Error("Duplicated middleware name '"+o+"'");n.add(o)}t.push(s)},clone:function(){return a(i())},use:function(e){e.applyToStack(f)},remove:function(r){return"string"==typeof r?function(r){var i=!1,o=function(e){return!e.name||e.name!==r||(i=!0,n.delete(r),!1)};return e=e.filter(o),t=t.filter(o),i}(r):function(r){var i=!1,o=function(e){return e.middleware!==r||(i=!0,e.name&&n.delete(e.name),!1)};return e=e.filter(o),t=t.filter(o),i}(r)},removeByTag:function(r){var i=!1,o=function(e){var t=e.tags,o=e.name;return!t||!t.includes(r)||(o&&n.delete(o),i=!0,!1)};return e=e.filter(o),t=t.filter(o),i},concat:function(e){var t=a(i());return t.use(e),t},applyToStack:a,resolve:function(e,t){var n,i;try{for(var o=Object(r.__values)(c().reverse()),s=o.next();!s.done;s=o.next()){e=(0,s.value)(e,t)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return e}};return f},o={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},s={high:3,normal:2,low:1},a=function(){function e(e){this.middlewareStack=i(),this.config=e}return e.prototype.send=function(e,t,n){var r="function"!=typeof t?t:void 0,i="function"==typeof t?t:n,o=e.resolveMiddleware(this.middlewareStack,this.config,r);if(!i)return o(e).then((function(e){return e.output}));o(e).then((function(e){return i(null,e.output)}),(function(e){return i(e)})).catch((function(){}))},e.prototype.destroy=function(){this.config.requestHandler.destroy&&this.config.requestHandler.destroy()},e}(),u=function(){this.middlewareStack=i()};function c(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16)}))}var f=function(e){return Array.isArray(e)?e:[e]},l=function(e){for(var t in e)e.hasOwnProperty(t)&&void 0!==e[t]["#text"]?e[t]=e[t]["#text"]:"object"==typeof e[t]&&null!==e[t]&&(e[t]=l(e[t]));return e},d=function(){var e=Object.getPrototypeOf(this).constructor,t=Function.bind.apply(String,Object(r.__spread)([null],arguments)),n=new t;return Object.setPrototypeOf(n,e.prototype),n};d.prototype=Object.create(String.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(d,String);var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.__extends)(t,e),t.prototype.deserializeJSON=function(){return JSON.parse(e.prototype.toString.call(this))},t.prototype.toJSON=function(){return e.prototype.toString.call(this)},t.fromObject=function(e){return e instanceof t?e:new t(e instanceof String||"string"==typeof e?e:JSON.stringify(e))},t}(d),p=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],v=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function g(e){var t=e.getUTCFullYear(),n=e.getUTCMonth(),r=e.getUTCDay(),i=e.getUTCDate(),o=e.getUTCHours(),s=e.getUTCMinutes(),a=e.getUTCSeconds();return p[r]+", "+(i<10?"0"+i:""+i)+" "+v[n]+" "+t+" "+(o<10?"0"+o:""+o)+":"+(s<10?"0"+s:""+s)+":"+(a<10?"0"+a:""+a)+" GMT"}var m="***SensitiveInformation***"},function(e,t,n){"use strict";n.r(t),n.d(t,"__extends",(function(){return i})),n.d(t,"__assign",(function(){return o})),n.d(t,"__rest",(function(){return s})),n.d(t,"__decorate",(function(){return a})),n.d(t,"__param",(function(){return u})),n.d(t,"__metadata",(function(){return c})),n.d(t,"__awaiter",(function(){return f})),n.d(t,"__generator",(function(){return l})),n.d(t,"__createBinding",(function(){return d})),n.d(t,"__exportStar",(function(){return h})),n.d(t,"__values",(function(){return p})),n.d(t,"__read",(function(){return v})),n.d(t,"__spread",(function(){return g})),n.d(t,"__spreadArrays",(function(){return m})),n.d(t,"__await",(function(){return b})),n.d(t,"__asyncGenerator",(function(){return y})),n.d(t,"__asyncDelegator",(function(){return w})),n.d(t,"__asyncValues",(function(){return _})),n.d(t,"__makeTemplateObject",(function(){return S})),n.d(t,"__importStar",(function(){return E})),n.d(t,"__importDefault",(function(){return M})),n.d(t,"__classPrivateFieldGet",(function(){return A})),n.d(t,"__classPrivateFieldSet",(function(){return I})); +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}function u(e,t){return function(n,r){t(n,r,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function f(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))}function l(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function g(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof b?Promise.resolve(n.value.v).then(u,c):f(o[0][2],n)}catch(e){f(o[0][3],e)}var n}function u(e){a("next",e)}function c(e){a("throw",e)}function f(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function w(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:b(e[r](t)),done:"return"===r}:i?i(t):t}:i}}function _(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=p(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,i,(t=e[n](t)).done,t.value)}))}}}function S(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function M(e){return e&&e.__esModule?e:{default:e}}function A(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return o}));var r=function(){function e(e){this.statusCode=e.statusCode,this.headers=e.headers||{},this.body=e.body}return e.isInstance=function(e){if(!e)return!1;var t=e;return"number"==typeof t.statusCode&&"object"==typeof t.headers},e}(),i=n(1),o=function(){function e(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.substr(-1)?e.protocol+":":e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?"/"+e.path:e.path:"/"}return e.isInstance=function(e){if(!e)return!1;var t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&"object"==typeof t.query&&"object"==typeof t.headers},e.prototype.clone=function(){var t,n=new e(Object(i.__assign)(Object(i.__assign)({},this),{headers:Object(i.__assign)({},this.headers)}));return n.query&&(n.query=(t=n.query,Object.keys(t).reduce((function(e,n){var r,o=t[n];return Object(i.__assign)(Object(i.__assign)({},e),((r={})[n]=Array.isArray(o)?Object(i.__spread)(o):o,r))}),{}))),n},e}()},function(e,t,n){"use strict";n.d(t,"f",(function(){return A})),n.d(t,"t",(function(){return I})),n.d(t,"y",(function(){return k})),n.d(t,"s",(function(){return x})),n.d(t,"e",(function(){return C})),n.d(t,"x",(function(){return P})),n.d(t,"g",(function(){return N})),n.d(t,"h",(function(){return R})),n.d(t,"d",(function(){return D})),n.d(t,"c",(function(){return U})),n.d(t,"b",(function(){return B})),n.d(t,"a",(function(){return j})),n.d(t,"u",(function(){return F})),n.d(t,"v",(function(){return q})),n.d(t,"i",(function(){return K})),n.d(t,"w",(function(){return H})),n.d(t,"j",(function(){return V})),n.d(t,"p",(function(){return G})),n.d(t,"k",(function(){return W})),n.d(t,"q",(function(){return $})),n.d(t,"l",(function(){return Y})),n.d(t,"n",(function(){return J})),n.d(t,"r",(function(){return Z})),n.d(t,"o",(function(){return X})),n.d(t,"m",(function(){return Q}));var r=n(6),i=n(32),o=n.n(i);function s(e){var t=new Error(e);return t.source="ulid",t}var a="0123456789ABCDEFGHJKMNPQRSTVWXYZ",u=a.length,c=Math.pow(2,48)-1;function f(e,t,n){return t>e.length-1?e:e.substr(0,t)+n+e.substr(t+1)}function l(e){var t=Math.floor(e()*u);return t===u&&(t=u-1),a.charAt(t)}function d(e,t){if(isNaN(e))throw new Error(e+" must be a number");if(e>c)throw s("cannot encode time greater than "+c);if(e<0)throw s("time must be positive");if(!1===Number.isInteger(e))throw s("time must be an integer");for(var n=void 0,r="";t>0;t--)r=a.charAt(n=e%u)+r,e=(e-n)/u;return r}function h(e,t){for(var n="";e>0;e--)n=l(t)+n;return n}function p(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];t||(t="undefined"!=typeof window?window:null);var r=t&&(t.crypto||t.msCrypto);if(r)return function(){var e=new Uint8Array(1);return r.getRandomValues(e),e[0]/255};try{var i=n(485);return function(){return i.randomBytes(1).readUInt8()/255}}catch(e){}if(e){try{console.error("secure crypto unusable, falling back to insecure Math.random()!")}catch(e){}return function(){return Math.random()}}throw s("secure crypto unusable, insecure Math.random not allowed")}function v(e){e||(e=p());var t=0,n=void 0;return function(r){if(isNaN(r)&&(r=Date.now()),r<=t){var i=n=function(e){for(var t=void 0,n=e.length,r=void 0,i=void 0,o=u-1;!t&&n-- >=0;){if(r=e[n],-1===(i=a.indexOf(r)))throw s("incorrectly encoded string");i!==o?t=f(e,n,a[i+1]):e=f(e,n,a[0])}if("string"==typeof t)return t;throw s("cannot increment this string")}(n);return d(t,10)+i}t=r;var o=n=h(16,e);return d(r,10)+o}}g||(g=p());var g,m=n(109),b=n(4);function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var w,_=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},S=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},M=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},A=function(e,t){if(void 0===t&&(t=!0),t)throw new Error("Invalid "+e)},I=function(e){return void 0===e||null==e},k=function e(t,n,r){var i,o=!1;if(0===r.length)return!0;switch(n){case"not":i="every",o=!0;break;case"and":i="every";break;case"or":i="some";break;default:A(n)}var s=r[i]((function(n){if(Object(b.k)(n)){var r=n.field,i=n.operator,o=n.operand,s=t[r];return O(s,i,o)}if(Object(b.j)(n)){var a=n.type,u=n.predicates;return e(t,a,u)}throw new Error("Not a predicate or group")}));return o?!s:s},O=function(e,t,n){switch(t){case"ne":return e!==n;case"eq":return e===n;case"le":return e<=n;case"lt":return e=n;case"gt":return e>n;case"between":var r=E(n,2),i=r[0],o=r[1];return e>=i&&e<=o;case"beginsWith":return e.startsWith(n);case"contains":return e.indexOf(n)>-1;case"notContains":return-1===e.indexOf(n);default:return A(t,!1),!1}},x=function(e){return e&&"function"==typeof e.copyOf},C=function(e){var t={};return Object.keys(e.models).forEach((function(n){t[n]={indexes:[],relationTypes:[]};var r=e.models[n];Object.keys(r.fields).forEach((function(e){var i=r.fields[e];if("object"===y(i.type)&&"model"in i.type){var o=i.association.connectionType;t[n].relationTypes.push({fieldName:i.name,modelName:i.type.model,relationType:o,targetName:i.association.targetName,associatedWith:i.association.associatedWith}),"BELONGS_TO"===o&&t[n].indexes.push(i.association.targetName)}})),r.attributes&&r.attributes.forEach((function(e){if("key"===e.type){var r=e.properties.fields;r&&r.forEach((function(e){t[n].indexes.includes(e)||t[n].indexes.push(e)}))}}))})),t},T=new WeakMap,P=function(e,t,n,r,i){var o=n.relationships,s=i(n.name,e),a=o[e],u=[],c=s.copyOf(t,(function(e){a.relationTypes.forEach((function(o){var s=i(n.name,o.modelName);switch(o.relationType){case"HAS_ONE":if(t[o.fieldName]){var a=void 0;try{a=r(s,t[o.fieldName])}catch(e){}u.push({modelName:o.modelName,item:t[o.fieldName],instance:a}),e[o.fieldName]=e[o.fieldName].id}break;case"BELONGS_TO":if(t[o.fieldName]){a=void 0;try{a=r(s,t[o.fieldName])}catch(e){}e[o.fieldName]._deleted||u.push({modelName:o.modelName,item:t[o.fieldName],instance:a})}e[o.targetName]=e[o.fieldName]?e[o.fieldName].id:null,delete e[o.fieldName];break;case"HAS_MANY":break;default:A(o.relationType)}}))}));u.unshift({modelName:e,item:c,instance:c}),T.has(n)||T.set(n,Array.from(n.modelTopologicalOrdering.keys()));var f=T.get(n);return u.sort((function(e,t){return f.indexOf(e.modelName)-f.indexOf(t.modelName)})),u},N=function(e,t){var n="";return e.some((function(e){e.modelName===t&&(n=e.targetName)})),n},R=function(e,t){return e.find((function(e){return e===t}))};!function(e){e.DATASTORE="datastore",e.USER="user",e.SYNC="sync",e.STORAGE="storage"}(w||(w={}));var L,j=w.DATASTORE,D=w.USER,U=w.SYNC,B=w.STORAGE,F=function(){return new Promise((function(e){var t,n=Object(m.v4)(),r=function(){L=!1,e(!0)},i=function(){return _(void 0,void 0,void 0,(function(){return S(this,(function(r){switch(r.label){case 0:return t&&t.result&&"function"==typeof t.result.close?[4,t.result.close()]:[3,2];case 1:r.sent(),r.label=2;case 2:return[4,indexedDB.deleteDatabase(n)];case 3:return r.sent(),L=!0,[2,e(!1)]}}))}))};return!0===L?i():!1===L||null===indexedDB?r():((t=indexedDB.open(n)).onerror=r,void(t.onsuccess=i))}))},z=function(){return(e=1,r.Buffer.from(o.a.lib.WordArray.random(e).toString(),"hex")).readUInt8(0)/255;var e};function q(e){var t=v(z);return function(){return t(e)}}function K(){return"undefined"!=typeof performance&&performance&&"function"==typeof performance.now?0|performance.now():Date.now()}function H(e){return function(t,n){var r,i;try{for(var o=M(e),s=o.next();!s.done;s=o.next()){var a=s.value,u=a.field,c=a.sortDirection===b.e.ASCENDING?1:-1;if(t[u]n[u])return 1*c}}catch(e){r={error:e}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return 0}}var V=function(e){return!!/^\d{4}-\d{2}-\d{2}(Z|[+-]\d{2}:\d{2}($|:\d{2}))?$/.exec(e)},G=function(e){return!!/^\d{2}:\d{2}(:\d{2}(.\d+)?)?(Z|[+-]\d{2}:\d{2}($|:\d{2}))?$/.exec(e)},W=function(e){return!!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2}(.\d+)?)?(Z|[+-]\d{2}:\d{2}($|:\d{2}))?$/.exec(e)},$=function(e){return!!/^\d+$/.exec(String(e))},Y=function(e){return!!/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.exec(e)},J=function(e){try{return JSON.parse(e),!0}catch(e){return!1}},Z=function(e){try{return!!new URL(e)}catch(e){return!1}},X=function(e){return!!/^\+?\d[\d\s-]+$/.exec(e)},Q=function(e){return!!/((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?$))$/.exec(e)}},function(e,t,n){"use strict";n.d(t,"l",(function(){return f})),n.d(t,"m",(function(){return l})),n.d(t,"b",(function(){return r})),n.d(t,"g",(function(){return d})),n.d(t,"h",(function(){return h})),n.d(t,"i",(function(){return p})),n.d(t,"f",(function(){return v})),n.d(t,"c",(function(){return i})),n.d(t,"k",(function(){return g})),n.d(t,"j",(function(){return m})),n.d(t,"d",(function(){return o})),n.d(t,"e",(function(){return s})),n.d(t,"n",(function(){return b})),n.d(t,"a",(function(){return y}));var r,i,o,s,a=n(3),u=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},c=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1] + * @license MIT + */ +var r=n(269),i=n(270),o=n(160);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return z(e).length;default:if(r)return F(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return x(this,t,n);case"utf8":case"utf-8":return I(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return A(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,i){var o,s=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var f=-1;for(o=n;oa&&(n=a-u),o=n;o>=0;o--){for(var l=!0,d=0;di&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function A(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function I(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+l<=n)switch(l){case 1:c<128&&(f=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(f=u);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(f=u);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(f=u)}null===f?(f=65533,l=1):f>65535&&(f-=65536,r.push(f>>>10&1023|55296),f=56320|1023&f),r.push(f),i+=l}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),c=this.slice(r,i),f=e.slice(t,n),l=0;li)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return y(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return _(this,e,t,n);case"latin1":case"binary":return S(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function k(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function P(e,t,n,r,i,o){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function R(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function L(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function j(e,t,n,r,o){return o||L(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function D(e,t,n,r,o){return o||L(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||T(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||T(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||T(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||T(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||T(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||T(e,t,this.length);for(var r=this[e],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||T(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||T(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||T(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||T(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||T(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||T(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||T(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||T(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||T(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||T(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||P(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);P(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);P(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return j(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return j(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return D(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return D(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function z(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(31))},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},function(e,t,n){ +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ +var r=n(6),i=r.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=s),s.prototype=Object.create(i.prototype),o(i,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";n.d(t,"c",(function(){return o})),n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return a}));var r=n(3),i=new WeakSet;function o(e){return i.has(e)}Symbol("A predicate that matches all records");var s=function(){function e(){}return Object.defineProperty(e,"ALL",{get:function(){var e=function(e){return e};return i.add(e),e},enumerable:!0,configurable:!0}),e}(),a=function(){function e(){}return e.createPredicateBuilder=function(t){var n,i=t.name,o=new Set(Object.keys(t.fields)),s=new Proxy({},n={get:function(t,s,a){var u=s;switch(u){case"and":case"or":case"not":return function(t){var r={type:u,predicates:[]},i=new Proxy({},n);return e.predicateGroupsMap.set(i,r),t(i),e.predicateGroupsMap.get(a).predicates.push(r),a};default:Object(r.f)(u,!1)}var c=s;if(!o.has(c))throw new Error("Invalid field for model. field: "+c+", model: "+i);return function(t,n){return e.predicateGroupsMap.get(a).predicates.push({field:c,operator:t,operand:n}),a}}});return e.predicateGroupsMap.set(s,{type:"and",predicates:[]}),s},e.isValidPredicate=function(t){return e.predicateGroupsMap.has(t)},e.getPredicates=function(t,n){if(void 0===n&&(n=!0),n&&!e.isValidPredicate(t))throw new Error("The predicate is not valid");return e.predicateGroupsMap.get(t)},e.createFromExisting=function(t,n){if(n&&t)return n(e.createPredicateBuilder(t))},e.createForId=function(t,n){return e.createPredicateBuilder(t).id("eq",n)},e.predicateGroupsMap=new WeakMap,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),i={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"]},o={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"]};function s(e,t,n){return{applyToStack:function(s){s.add(function(e,t){return function(n,i){return function(o){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){var s,a,u,c,f;return Object(r.__generator)(this,(function(l){switch(l.label){case 0:return s=i.logger,a=i.outputFilterSensitiveLog,[4,n(o)];case 1:return u=l.sent().response,"function"==typeof(null==s?void 0:s.debug)&&s.debug({httpResponse:u}),[4,t(u,e)];case 2:return c=l.sent(),c.$metadata,f=Object(r.__rest)(c,["$metadata"]),"function"==typeof(null==s?void 0:s.info)&&s.info({output:a(f)}),[2,{response:u,output:c}]}}))}))}}}(e,n),i),s.add(function(e,t){return function(n,i){return function(o){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){var s,a,u;return Object(r.__generator)(this,(function(c){switch(c.label){case 0:return s=i.logger,a=i.inputFilterSensitiveLog,"function"==typeof(null==s?void 0:s.info)&&s.info({input:a(o.input)}),[4,t(o.input,e)];case 1:return u=c.sent(),"function"==typeof(null==s?void 0:s.debug)&&s.debug({httpRequest:u}),[2,n(Object(r.__assign)(Object(r.__assign)({},o),{request:u}))]}}))}))}}}(e,t),o)}}}},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return v})),n.d(t,"c",(function(){return m}));var r=n(1),i={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high"},o=function(e){return{applyToStack:function(t){t.add(function(e){return function(t){return function(n){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){return Object(r.__generator)(this,(function(r){return[2,e.retryStrategy.retry(t,n)]}))}))}}}(e),i)}}},s=n(2),a=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],u=["Throttling","ThrottlingException","ThrottledException","RequestThrottledException","TooManyRequestsException","ProvisionedThroughputExceededException","TransactionInProgressException","RequestLimitExceeded","BandwidthLimitExceeded","LimitExceededException","RequestThrottled","SlowDown","PriorRequestNotComplete","EC2ThrottledException"],c=["AbortError","TimeoutError","RequestTimeout","RequestTimeoutException"],f=[500,502,503,504],l=function(e){var t;return u.includes(e.name)||1==(null===(t=e.$retryable)||void 0===t?void 0:t.throttling)},d=n(27),h=function(e,t){return Math.floor(Math.min(2e4,Math.random()*Math.pow(2,t)*e))},p=function(e){return!!e&&(function(e){return void 0!==e.$retryable}(e)||function(e){return a.includes(e.name)}(e)||l(e)||function(e){var t;return c.includes(e.name)||f.includes((null===(t=e.$metadata)||void 0===t?void 0:t.httpStatusCode)||0)}(e))},v=3,g=function(){function e(e,t){var n,r,i,o,s,a,u,c;this.maxAttemptsProvider=e,this.retryDecider=null!==(n=null==t?void 0:t.retryDecider)&&void 0!==n?n:p,this.delayDecider=null!==(r=null==t?void 0:t.delayDecider)&&void 0!==r?r:h,this.retryQuota=null!==(i=null==t?void 0:t.retryQuota)&&void 0!==i?i:(s=o=500,a=o,u=function(e){return"TimeoutError"===e.name?10:5},c=function(e){return u(e)<=a},Object.freeze({hasRetryTokens:c,retrieveRetryTokens:function(e){if(!c(e))throw new Error("No retry token available");var t=u(e);return a-=t,t},releaseRetryTokens:function(e){a+=null!=e?e:1,a=Math.min(a,s)}}))}return e.prototype.shouldRetry=function(e,t,n){return t>6|192,63&i|128);else if(n+1>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)}(e)},i=function(e){return"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):function(e){for(var t="",n=0,r=e.length;n",'"',"`"," ","\r","\n","\t"]),f=["'"].concat(c),l=["%","/","?",";","#"].concat(f),d=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,v={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},m={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=n(368);function y(e,t,n){if(e&&i.isObject(e)&&e instanceof o)return e;var r=new o;return r.parse(e,t,n),r}o.prototype.parse=function(e,t,n){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),a=-1!==o&&o127?N+="x":N+=P[R];if(!N.match(h)){var j=C.slice(0,k),D=C.slice(k+1),U=P.match(p);U&&(j.push(U[1]),D.unshift(U[2])),D.length&&(y="/"+D.join(".")+y),this.hostname=j.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),x||(this.hostname=r.toASCII(this.hostname));var B=this.port?":"+this.port:"",F=this.hostname||"";this.host=F+B,this.href+=this.host,x&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==y[0]&&(y="/"+y))}if(!v[S])for(k=0,T=f.length;k0)&&n.host.split("@"))&&(n.auth=x.shift(),n.host=n.hostname=x.shift());return n.search=e.search,n.query=e.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!E.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var A=E.slice(-1)[0],I=(n.host||e.host||E.length>1)&&("."===A||".."===A)||""===A,k=0,O=E.length;O>=0;O--)"."===(A=E[O])?E.splice(O,1):".."===A?(E.splice(O,1),k++):k&&(E.splice(O,1),k--);if(!_&&!S)for(;k--;k)E.unshift("..");!_||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),I&&"/"!==E.join("/").substr(-1)&&E.push("");var x,C=""===E[0]||E[0]&&"/"===E[0].charAt(0);M&&(n.hostname=n.host=C?"":E.length?E.shift():"",(x=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=x.shift(),n.host=n.hostname=x.shift()));return(_=_||n.host&&E.length)&&!C&&E.unshift(""),E.length?n.pathname=E.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var e=this.host,t=a.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return l}));for(var r={},i=new Array(64),o=0,s="A".charCodeAt(0),a="Z".charCodeAt(0);o+s<=a;o++){var u=String.fromCharCode(o+s);r[u]=o,i[o]=u}for(o=0,s="a".charCodeAt(0),a="z".charCodeAt(0);o+s<=a;o++){u=String.fromCharCode(o+s);var c=o+26;r[u]=c,i[c]=u}for(o=0;o<10;o++){r[o.toString(10)]=o+52;u=o.toString(10),c=o+52;r[u]=c,i[c]=u}r["+"]=62,i[62]="+",r["/"]=63,i[63]="/";function f(e){var t=e.length/4*3;"=="===e.substr(-2)?t-=2:"="===e.substr(-1)&&t--;for(var n=new ArrayBuffer(t),i=new DataView(n),o=0;o>=6;var f=o/4*3;s>>=a%8;for(var l=Math.floor(a/8),d=0;d>h)}}return new Uint8Array(n)}function l(e){for(var t="",n=0;n>f]}t+="==".slice(0,4-u)}return t}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return u}));var r=n(1),i=n(2),o=n(74);var s=function(){function e(e){void 0===e&&(e={}),this.httpOptions=e}return e.prototype.destroy=function(){},e.prototype.handle=function(e,t){var n=null==t?void 0:t.abortSignal,s=this.httpOptions.requestTimeout;if(null==n?void 0:n.aborted){var a=new Error("Request aborted");return a.name="AbortError",Promise.reject(a)}var u=e.path;if(e.query){var c=Object(o.a)(e.query);c&&(u+="?"+c)}var f=e.port,l=e.protocol+"//"+e.hostname+(f?":"+f:"")+u,d={body:e.body,headers:new Headers(e.headers),method:e.method};"undefined"!=typeof AbortController&&(d.signal=n);var h,p=new Request(l,d),v=[fetch(p).then((function(e){var t,n,o=e.headers,s={};try{for(var a=Object(r.__values)(o.entries()),u=a.next();!u.done;u=a.next()){var c=u.value;s[c[0]]=c[1]}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}return void 0!==e.body?{response:new i.b({headers:s,statusCode:e.status,body:e.body})}:e.blob().then((function(t){return{response:new i.b({headers:s,statusCode:e.status,body:t})}}))})),(h=s,void 0===h&&(h=0),new Promise((function(e,t){h&&setTimeout((function(){var e=new Error("Request did not complete within "+h+" ms");e.name="TimeoutError",t(e)}),h)})))];return n&&v.push(new Promise((function(e,t){n.onabort=function(){var e=new Error("Request aborted");e.name="AbortError",t(e)}}))),Promise.race(v)},e}(),a=n(17),u=function(e){return"function"==typeof Blob&&e instanceof Blob?function(e){return Object(r.__awaiter)(this,void 0,void 0,(function(){var t,n;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return[4,c(e)];case 1:return t=r.sent(),n=Object(a.a)(t),[2,new Uint8Array(n)]}}))}))}(e):function(e){return Object(r.__awaiter)(this,void 0,void 0,(function(){var t,n,i,o,s,a,u;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:t=new Uint8Array(0),n=e.getReader(),i=!1,r.label=1;case 1:return i?[3,3]:[4,n.read()];case 2:return o=r.sent(),s=o.done,(a=o.value)&&(u=t,(t=new Uint8Array(u.length+a.length)).set(u),t.set(a,u.length)),i=s,[3,1];case 3:return[2,t]}}))}))}(e)};function c(e){return new Promise((function(t,n){var r=new FileReader;r.onloadend=function(){var e;if(2!==r.readyState)return n(new Error("Reader aborted too early"));var i=null!==(e=r.result)&&void 0!==e?e:"",o=i.indexOf(","),s=o>-1?o+1:i.length;t(i.substring(s))},r.onabort=function(){return n(new Error("Read aborted"))},r.onerror=function(){return n(r.error)},r.readAsDataURL(e)}))}},function(e,t,n){"use strict";n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return a}));var r=n(44),i=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},o=new r.a("Amplify"),s=function(){function e(){this._components=[],this._config={},this._modules={},this.Auth=null,this.Analytics=null,this.API=null,this.Credentials=null,this.Storage=null,this.I18n=null,this.Cache=null,this.PubSub=null,this.Interactions=null,this.Pushnotification=null,this.UI=null,this.XR=null,this.Predictions=null,this.DataStore=null,this.Logger=r.a,this.ServiceWorker=null}return e.prototype.register=function(e){o.debug("component registered in amplify",e),this._components.push(e),"function"==typeof e.getModuleName?(this._modules[e.getModuleName()]=e,this[e.getModuleName()]=e):o.debug("no getModuleName method for component",e),e.configure(this._config)},e.prototype.configure=function(e){var t=this;return e?(this._config=Object.assign(this._config,e),o.debug("amplify config",this._config),Object.entries(this._modules).forEach((function(e){var n=i(e,2),r=(n[0],n[1]);Object.keys(r).forEach((function(e){t._modules[e]&&(r[e]=t._modules[e])}))})),this._components.map((function(e){e.configure(t._config)})),this._config):this._config},e.prototype.addPluggable=function(e){e&&e.getCategory&&"function"==typeof e.getCategory&&this._components.map((function(t){t.addPluggable&&"function"==typeof t.addPluggable&&t.addPluggable(e)}))},e}(),a=new s},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var u,c=[],f=!1,l=-1;function d(){f&&u&&(f=!1,u.length?c=u.concat(c):l=-1,c.length&&h())}function h(){if(!f){var e=a(d);f=!0;for(var t=c.length;t;){for(u=c,c=[];++l1)for(var n=1;n=0&&!o.headers[":authority"]?(delete o.headers.host,o.headers[":authority"]=""):o.headers.host||(o.headers.host=o.hostname),[2,t(n)]):[2,t(n)]}))}))}}}(e),s)}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return a}));var r=n(1),i=function(e){var t;return Object(r.__assign)(Object(r.__assign)({},e),{tls:null===(t=e.tls)||void 0===t||t,endpoint:e.endpoint?o(e):function(){return s(e)},isCustomEndpoint:!!e.endpoint})},o=function(e){var t=e.endpoint,n=e.urlParser;if("string"==typeof t){var r=Promise.resolve(n(t));return function(){return r}}if("object"==typeof t){var i=Promise.resolve(t);return function(){return i}}return t},s=function(e){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){var t,n,i,o,s;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return t=e.tls,n=void 0===t||t,[4,e.region()];case 1:if(i=r.sent(),!new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/).test(i))throw new Error("Invalid region in client config");return[4,e.regionInfoProvider(i)];case 2:if(!(o=(null!==(s=r.sent())&&void 0!==s?s:{}).hostname))throw new Error("Cannot resolve hostname from client config");return[2,e.urlParser((n?"https:":"http:")+"//"+o)]}}))}))},a=function(e){if(!e.region)throw new Error("Region is missing");return Object(r.__assign)(Object(r.__assign)({},e),{region:u(e.region)})},u=function(e){if("string"==typeof e){var t=Promise.resolve(e);return function(){return t}}return e}},function(e,t,n){"use strict";function r(e){return e}n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var i=n(1),o=n(2);var s={name:"getUserAgentMiddleware",step:"build",tags:["SET_USER_AGENT","USER_AGENT"]},a=function(e){return{applyToStack:function(t){var n;t.add((n=e,function(e){return function(t){var r=t.request;if(!o.a.isInstance(r))return e(t);var s=r.headers,a="node"===n.runtime?"user-agent":"x-amz-user-agent";return s[a]?s[a]+=" "+n.defaultUserAgent:s[a]=""+n.defaultUserAgent,n.customUserAgent&&(s[a]+=" "+n.customUserAgent),e(Object(i.__assign)(Object(i.__assign)({},t),{request:r}))}}),s)}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){return function(){throw new Error(e)}}},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return l}));var r=n(1),i=n(111);function o(e){var t,n=this,o=s(e.credentials||e.credentialDefaultProvider(e)),a=e.signingEscapePath,u=void 0===a||a,c=e.systemClockOffset,f=void 0===c?e.systemClockOffset||0:c,l=e.sha256;return t=e.signer?s(e.signer):function(){return s(e.region)().then((function(t){return Object(r.__awaiter)(n,void 0,void 0,(function(){return Object(r.__generator)(this,(function(n){switch(n.label){case 0:return[4,e.regionInfoProvider(t)];case 1:return[2,[n.sent()||{},t]]}}))}))})).then((function(t){var n=Object(r.__read)(t,2),s=n[0],a=n[1],c=s.signingRegion,f=void 0===c?e.signingRegion:c,d=s.signingService,h=void 0===d?e.signingName:d;return e.signingRegion=e.signingRegion||f||a,e.signingName=e.signingName||h,new i.a({credentials:o,region:e.signingRegion,service:e.signingName,sha256:l,uriEscapePath:u})}))},Object(r.__assign)(Object(r.__assign)({},e),{systemClockOffset:f,signingEscapePath:u,credentials:o,signer:t})}function s(e){if("object"==typeof e){var t=Promise.resolve(e);return function(){return t}}return e}var a=n(2),u=function(e){return new Date(Date.now()+e)};function c(e){return function(t,n){return function(i){return Object(r.__awaiter)(this,void 0,void 0,(function(){var o,s,c,f,l,d,h,p,v;return Object(r.__generator)(this,(function(g){switch(g.label){case 0:return a.a.isInstance(i.request)?"function"!=typeof e.signer?[3,2]:[4,e.signer()]:[2,t(i)];case 1:return s=g.sent(),[3,3];case 2:s=e.signer,g.label=3;case 3:return o=s,f=t,l=[Object(r.__assign)({},i)],v={},[4,o.sign(i.request,{signingDate:new Date(Date.now()+e.systemClockOffset),signingRegion:n.signing_region,signingService:n.signing_service})];case 4:return[4,f.apply(void 0,[r.__assign.apply(void 0,l.concat([(v.request=g.sent(),v)]))])];case 5:return c=g.sent(),d=c.response.headers,(h=d&&(d.date||d.Date))&&(p=Date.parse(h),m=p,b=e.systemClockOffset,Math.abs(u(b).getTime()-m)>=3e5&&(e.systemClockOffset=p-Date.now())),[2,c]}var m,b}))}))}}}var f={name:"awsAuthMiddleware",tags:["SIGNATURE","AWSAUTH"],relation:"after",toMiddleware:"retryMiddleware"},l=function(e){return{applyToStack:function(t){t.addRelativeTo(c(e),f)}}}},function(e,t,n){"use strict";var r=n(19),i={keyPrefix:"aws-amplify-cache",capacityInBytes:1048576,itemMaxSize:21e4,defaultTTL:2592e5,defaultPriority:5,warningThreshold:.8,storage:(new(n(86).a)).getStorage()};function o(e){var t=0;t=e.length;for(var n=e.length;n>=0;n-=1){var r=e.charCodeAt(n);r>127&&r<=2047?t+=1:r>2047&&r<=65535&&(t+=2),r>=56320&&r<=57343&&(n-=1)}return t}function s(){return(new Date).getTime()}function a(e){return Number.isInteger?Number.isInteger(e):function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}(e)}var u={},c=(function(){function e(){}e.clear=function(){u={}},e.getItem=function(e){return u[e]||null},e.setItem=function(e,t){u[e]=t},e.removeItem=function(e){delete u[e]}}(),n(44));function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var l,d=new c.a("StorageCache"),h=function(){function e(e){this.config=Object.assign({},e),this.cacheCurSizeKey=this.config.keyPrefix+"CurSize",this.checkConfig()}return e.prototype.getModuleName=function(){return"Cache"},e.prototype.checkConfig=function(){a(this.config.capacityInBytes)||(d.error("Invalid parameter: capacityInBytes. It should be an Integer. Setting back to default."),this.config.capacityInBytes=i.capacityInBytes),a(this.config.itemMaxSize)||(d.error("Invalid parameter: itemMaxSize. It should be an Integer. Setting back to default."),this.config.itemMaxSize=i.itemMaxSize),a(this.config.defaultTTL)||(d.error("Invalid parameter: defaultTTL. It should be an Integer. Setting back to default."),this.config.defaultTTL=i.defaultTTL),a(this.config.defaultPriority)||(d.error("Invalid parameter: defaultPriority. It should be an Integer. Setting back to default."),this.config.defaultPriority=i.defaultPriority),this.config.itemMaxSize>this.config.capacityInBytes&&(d.error("Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default."),this.config.itemMaxSize=i.itemMaxSize),(this.config.defaultPriority>5||this.config.defaultPriority<1)&&(d.error("Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default."),this.config.defaultPriority=i.defaultPriority),(Number(this.config.warningThreshold)>1||Number(this.config.warningThreshold)<0)&&(d.error("Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default."),this.config.warningThreshold=i.warningThreshold);this.config.capacityInBytes>5242880&&(d.error("Cache Capacity should be less than 5MB. Setting back to default. Setting back to default."),this.config.capacityInBytes=i.capacityInBytes)},e.prototype.fillCacheItem=function(e,t,n){var r={key:e,data:t,timestamp:s(),visitedTime:s(),priority:n.priority,expires:n.expires,type:f(t),byteSize:0};return r.byteSize=o(JSON.stringify(r)),r.byteSize=o(JSON.stringify(r)),r},e.prototype.configure=function(e){return e?(e.keyPrefix&&d.warn("Don't try to configure keyPrefix!"),this.config=Object.assign({},this.config,e,e.Cache),this.checkConfig(),this.config):this.config},e}(),p=(l=function(e,t){return(l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),v=new c.a("Cache"),g=new(function(e){function t(t){var n=this,r=t?Object.assign({},i,t):i;return(n=e.call(this,r)||this).config.storage=r.storage,n.getItem=n.getItem.bind(n),n.setItem=n.setItem.bind(n),n.removeItem=n.removeItem.bind(n),n}return p(t,e),t.prototype._decreaseCurSizeInBytes=function(e){var t=this.getCacheCurSize();this.config.storage.setItem(this.cacheCurSizeKey,(t-e).toString())},t.prototype._increaseCurSizeInBytes=function(e){var t=this.getCacheCurSize();this.config.storage.setItem(this.cacheCurSizeKey,(t+e).toString())},t.prototype._refreshItem=function(e,t){return e.visitedTime=s(),this.config.storage.setItem(t,JSON.stringify(e)),e},t.prototype._isExpired=function(e){var t=this.config.storage.getItem(e),n=JSON.parse(t);return s()>=n.expires},t.prototype._removeItem=function(e,t){var n=t||JSON.parse(this.config.storage.getItem(e)).byteSize;this._decreaseCurSizeInBytes(n),this.config.storage.removeItem(e)},t.prototype._setItem=function(e,t){this._increaseCurSizeInBytes(t.byteSize);try{this.config.storage.setItem(e,JSON.stringify(t))}catch(e){this._decreaseCurSizeInBytes(t.byteSize),v.error("Failed to set item "+e)}},t.prototype._sizeToPop=function(e){var t=this.getCacheCurSize()+e-this.config.capacityInBytes,n=(1-this.config.warningThreshold)*this.config.capacityInBytes;return t>n?t:n},t.prototype._isCacheFull=function(e){return e+this.getCacheCurSize()>this.config.capacityInBytes},t.prototype._findValidKeys=function(){for(var e=[],t=[],n=0;nt.priority?-1:e.priority5)v.warn("Invalid parameter: priority due to out or range. It should be within 1 and 5.");else{var o=this.fillCacheItem(r,t,i);if(o.byteSize>this.config.itemMaxSize)v.warn("Item with key: "+e+" you are trying to put into is too big!");else try{var a=this.config.storage.getItem(r);if(a&&this._removeItem(r,JSON.parse(a).byteSize),this._isCacheFull(o.byteSize)){var u=this._findValidKeys();if(this._isCacheFull(o.byteSize)){var c=this._sizeToPop(o.byteSize);this._popOutItems(u,c)}}this._setItem(r,o)}catch(e){v.warn("setItem failed! "+e)}}}else v.warn("The value of item should not be undefined!");else v.warn("Invalid key: should not be empty or 'CurSize'")},t.prototype.getItem=function(e,t){v.log("Get item: key is "+e+" with options "+t);var n=null,r=this.config.keyPrefix+e;if(r===this.config.keyPrefix||r===this.cacheCurSizeKey)return v.warn("Invalid key: should not be empty or 'CurSize'"),null;try{if(null!=(n=this.config.storage.getItem(r))){if(!this._isExpired(r)){var i=JSON.parse(n);return(i=this._refreshItem(i,r)).data}this._removeItem(r,JSON.parse(n).byteSize),n=null}if(t&&void 0!==t.callback){var o=t.callback();return null!==o&&this.setItem(e,o,t),o}return null}catch(e){return v.warn("getItem failed! "+e),null}},t.prototype.removeItem=function(e){v.log("Remove item: key is "+e);var t=this.config.keyPrefix+e;if(t!==this.config.keyPrefix&&t!==this.cacheCurSizeKey)try{var n=this.config.storage.getItem(t);n&&this._removeItem(t,JSON.parse(n).byteSize)}catch(e){v.warn("removeItem failed! "+e)}},t.prototype.clear=function(){v.log("Clear Cache");for(var e=[],t=0;t=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return r}function u(e,t,n,r){for(var i=0,o=Math.min(e.length,n),s=t;s=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)i=a(e,n,n+6),this.words[r]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);n+6!==t&&(i=a(e,t,n+6),this.words[r]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,s=o%r,a=Math.min(o,o-s)+n,c=0,f=n;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=d;h++){var p=c-h|0;f+=(s=(i=0|e.words[p])*(o=0|t.words[h])+l)/67108864|0,l=67108863&s}n.words[c]=0|l,u=0|f}return 0!==u?n.words[c]=0|u:n.length--,n.strip()}o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?c[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var d=f[e],h=l[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var v=p.modn(h).toString(e);n=(p=p.idivn(h)).isZero()?v+n:c[d-v.length]+v+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===t,c=new e(o),f=this.clone();if(u){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),c[a]=s;for(;a=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;re.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,h=0|s[1],p=8191&h,v=h>>>13,g=0|s[2],m=8191&g,b=g>>>13,y=0|s[3],w=8191&y,_=y>>>13,S=0|s[4],E=8191&S,M=S>>>13,A=0|s[5],I=8191&A,k=A>>>13,O=0|s[6],x=8191&O,C=O>>>13,T=0|s[7],P=8191&T,N=T>>>13,R=0|s[8],L=8191&R,j=R>>>13,D=0|s[9],U=8191&D,B=D>>>13,F=0|a[0],z=8191&F,q=F>>>13,K=0|a[1],H=8191&K,V=K>>>13,G=0|a[2],W=8191&G,$=G>>>13,Y=0|a[3],J=8191&Y,Z=Y>>>13,X=0|a[4],Q=8191&X,ee=X>>>13,te=0|a[5],ne=8191&te,re=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,fe=0|a[8],le=8191&fe,de=fe>>>13,he=0|a[9],pe=8191&he,ve=he>>>13;n.negative=e.negative^t.negative,n.length=19;var ge=(c+(r=Math.imul(l,z))|0)+((8191&(i=(i=Math.imul(l,q))+Math.imul(d,z)|0))<<13)|0;c=((o=Math.imul(d,q))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(p,z),i=(i=Math.imul(p,q))+Math.imul(v,z)|0,o=Math.imul(v,q);var me=(c+(r=r+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,V)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(m,z),i=(i=Math.imul(m,q))+Math.imul(b,z)|0,o=Math.imul(b,q),r=r+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0;var be=(c+(r=r+Math.imul(l,W)|0)|0)+((8191&(i=(i=i+Math.imul(l,$)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(w,z),i=(i=Math.imul(w,q))+Math.imul(_,z)|0,o=Math.imul(_,q),r=r+Math.imul(m,H)|0,i=(i=i+Math.imul(m,V)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,V)|0,r=r+Math.imul(p,W)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,$)|0;var ye=(c+(r=r+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,Z)|0)+Math.imul(d,J)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(E,z),i=(i=Math.imul(E,q))+Math.imul(M,z)|0,o=Math.imul(M,q),r=r+Math.imul(w,H)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,V)|0,r=r+Math.imul(m,W)|0,i=(i=i+Math.imul(m,$)|0)+Math.imul(b,W)|0,o=o+Math.imul(b,$)|0,r=r+Math.imul(p,J)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,Z)|0;var we=(c+(r=r+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,ee)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(I,z),i=(i=Math.imul(I,q))+Math.imul(k,z)|0,o=Math.imul(k,q),r=r+Math.imul(E,H)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(w,W)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,$)|0,r=r+Math.imul(m,J)|0,i=(i=i+Math.imul(m,Z)|0)+Math.imul(b,J)|0,o=o+Math.imul(b,Z)|0,r=r+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,ee)|0;var _e=(c+(r=r+Math.imul(l,ne)|0)|0)+((8191&(i=(i=i+Math.imul(l,re)|0)+Math.imul(d,ne)|0))<<13)|0;c=((o=o+Math.imul(d,re)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(C,z)|0,o=Math.imul(C,q),r=r+Math.imul(I,H)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,V)|0,r=r+Math.imul(E,W)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,$)|0,r=r+Math.imul(w,J)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,J)|0,o=o+Math.imul(_,Z)|0,r=r+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,ee)|0,r=r+Math.imul(p,ne)|0,i=(i=i+Math.imul(p,re)|0)+Math.imul(v,ne)|0,o=o+Math.imul(v,re)|0;var Se=(c+(r=r+Math.imul(l,oe)|0)|0)+((8191&(i=(i=i+Math.imul(l,se)|0)+Math.imul(d,oe)|0))<<13)|0;c=((o=o+Math.imul(d,se)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(P,z),i=(i=Math.imul(P,q))+Math.imul(N,z)|0,o=Math.imul(N,q),r=r+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,V)|0,r=r+Math.imul(I,W)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,$)|0,r=r+Math.imul(E,J)|0,i=(i=i+Math.imul(E,Z)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,Z)|0,r=r+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,r=r+Math.imul(m,ne)|0,i=(i=i+Math.imul(m,re)|0)+Math.imul(b,ne)|0,o=o+Math.imul(b,re)|0,r=r+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,se)|0;var Ee=(c+(r=r+Math.imul(l,ue)|0)|0)+((8191&(i=(i=i+Math.imul(l,ce)|0)+Math.imul(d,ue)|0))<<13)|0;c=((o=o+Math.imul(d,ce)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(L,z),i=(i=Math.imul(L,q))+Math.imul(j,z)|0,o=Math.imul(j,q),r=r+Math.imul(P,H)|0,i=(i=i+Math.imul(P,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(x,W)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,$)|0,r=r+Math.imul(I,J)|0,i=(i=i+Math.imul(I,Z)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,Z)|0,r=r+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,ee)|0,r=r+Math.imul(w,ne)|0,i=(i=i+Math.imul(w,re)|0)+Math.imul(_,ne)|0,o=o+Math.imul(_,re)|0,r=r+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,se)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,se)|0,r=r+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0;var Me=(c+(r=r+Math.imul(l,le)|0)|0)+((8191&(i=(i=i+Math.imul(l,de)|0)+Math.imul(d,le)|0))<<13)|0;c=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(U,z),i=(i=Math.imul(U,q))+Math.imul(B,z)|0,o=Math.imul(B,q),r=r+Math.imul(L,H)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(j,H)|0,o=o+Math.imul(j,V)|0,r=r+Math.imul(P,W)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,$)|0,r=r+Math.imul(x,J)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(C,J)|0,o=o+Math.imul(C,Z)|0,r=r+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(M,ne)|0,o=o+Math.imul(M,re)|0,r=r+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,r=r+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,ce)|0)+Math.imul(b,ue)|0,o=o+Math.imul(b,ce)|0,r=r+Math.imul(p,le)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(v,le)|0,o=o+Math.imul(v,de)|0;var Ae=(c+(r=r+Math.imul(l,pe)|0)|0)+((8191&(i=(i=i+Math.imul(l,ve)|0)+Math.imul(d,pe)|0))<<13)|0;c=((o=o+Math.imul(d,ve)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(U,H),i=(i=Math.imul(U,V))+Math.imul(B,H)|0,o=Math.imul(B,V),r=r+Math.imul(L,W)|0,i=(i=i+Math.imul(L,$)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,$)|0,r=r+Math.imul(P,J)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(N,J)|0,o=o+Math.imul(N,Z)|0,r=r+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,ee)|0,r=r+Math.imul(I,ne)|0,i=(i=i+Math.imul(I,re)|0)+Math.imul(k,ne)|0,o=o+Math.imul(k,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,se)|0,r=r+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,r=r+Math.imul(m,le)|0,i=(i=i+Math.imul(m,de)|0)+Math.imul(b,le)|0,o=o+Math.imul(b,de)|0;var Ie=(c+(r=r+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ve)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,ve)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(U,W),i=(i=Math.imul(U,$))+Math.imul(B,W)|0,o=Math.imul(B,$),r=r+Math.imul(L,J)|0,i=(i=i+Math.imul(L,Z)|0)+Math.imul(j,J)|0,o=o+Math.imul(j,Z)|0,r=r+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,ee)|0,r=r+Math.imul(x,ne)|0,i=(i=i+Math.imul(x,re)|0)+Math.imul(C,ne)|0,o=o+Math.imul(C,re)|0,r=r+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,r=r+Math.imul(w,le)|0,i=(i=i+Math.imul(w,de)|0)+Math.imul(_,le)|0,o=o+Math.imul(_,de)|0;var ke=(c+(r=r+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,ve)|0)+Math.imul(b,pe)|0))<<13)|0;c=((o=o+Math.imul(b,ve)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(U,J),i=(i=Math.imul(U,Z))+Math.imul(B,J)|0,o=Math.imul(B,Z),r=r+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,ee)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,ee)|0,r=r+Math.imul(P,ne)|0,i=(i=i+Math.imul(P,re)|0)+Math.imul(N,ne)|0,o=o+Math.imul(N,re)|0,r=r+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,r=r+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,r=r+Math.imul(E,le)|0,i=(i=i+Math.imul(E,de)|0)+Math.imul(M,le)|0,o=o+Math.imul(M,de)|0;var Oe=(c+(r=r+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,ve)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ve)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(U,Q),i=(i=Math.imul(U,ee))+Math.imul(B,Q)|0,o=Math.imul(B,ee),r=r+Math.imul(L,ne)|0,i=(i=i+Math.imul(L,re)|0)+Math.imul(j,ne)|0,o=o+Math.imul(j,re)|0,r=r+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,se)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,se)|0,r=r+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(C,ue)|0,o=o+Math.imul(C,ce)|0,r=r+Math.imul(I,le)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,de)|0;var xe=(c+(r=r+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,ve)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,ve)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(U,ne),i=(i=Math.imul(U,re))+Math.imul(B,ne)|0,o=Math.imul(B,re),r=r+Math.imul(L,oe)|0,i=(i=i+Math.imul(L,se)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,se)|0,r=r+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(N,ue)|0,o=o+Math.imul(N,ce)|0,r=r+Math.imul(x,le)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(C,le)|0,o=o+Math.imul(C,de)|0;var Ce=(c+(r=r+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ve)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,ve)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(U,oe),i=(i=Math.imul(U,se))+Math.imul(B,oe)|0,o=Math.imul(B,se),r=r+Math.imul(L,ue)|0,i=(i=i+Math.imul(L,ce)|0)+Math.imul(j,ue)|0,o=o+Math.imul(j,ce)|0,r=r+Math.imul(P,le)|0,i=(i=i+Math.imul(P,de)|0)+Math.imul(N,le)|0,o=o+Math.imul(N,de)|0;var Te=(c+(r=r+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,ve)|0)+Math.imul(C,pe)|0))<<13)|0;c=((o=o+Math.imul(C,ve)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(U,ue),i=(i=Math.imul(U,ce))+Math.imul(B,ue)|0,o=Math.imul(B,ce),r=r+Math.imul(L,le)|0,i=(i=i+Math.imul(L,de)|0)+Math.imul(j,le)|0,o=o+Math.imul(j,de)|0;var Pe=(c+(r=r+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,ve)|0)+Math.imul(N,pe)|0))<<13)|0;c=((o=o+Math.imul(N,ve)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(U,le),i=(i=Math.imul(U,de))+Math.imul(B,le)|0,o=Math.imul(B,de);var Ne=(c+(r=r+Math.imul(L,pe)|0)|0)+((8191&(i=(i=i+Math.imul(L,ve)|0)+Math.imul(j,pe)|0))<<13)|0;c=((o=o+Math.imul(j,ve)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var Re=(c+(r=Math.imul(U,pe))|0)+((8191&(i=(i=Math.imul(U,ve))+Math.imul(B,pe)|0))<<13)|0;return c=((o=Math.imul(B,ve))+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,u[0]=ge,u[1]=me,u[2]=be,u[3]=ye,u[4]=we,u[5]=_e,u[6]=Se,u[7]=Ee,u[8]=Me,u[9]=Ae,u[10]=Ie,u[11]=ke,u[12]=Oe,u[13]=xe,u[14]=Ce,u[15]=Te,u[16]=Pe,u[17]=Ne,u[18]=Re,0!==c&&(u[19]=c,n.length++),n};function p(e,t,n){return(new v).mulp(e,t,n)}function v(e,t){this.x=e,this.y=t}Math.imul||(h=d),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?h(this,e,t):n<63?d(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n.strip()}(this,e,t):p(this,e,t)},v.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,r=0;r>=1;return r},v.prototype.permute=function(e,t,n,r,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,t+=i/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>i}return t}(e);if(0===t.length)return new o(1);for(var n=this,r=0;r=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==f||c>=i);c--){var l=0|this.words[c];this.words[c]=f<<26-o|l>>>o,f=l&a}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,u=r.length-i.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|r.words[i.length+l])+(0|r.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,l);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,l),r.isZero()||(r.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),r.strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var f=n.clone(),l=t.clone();!t.isZero();){for(var d=0,h=1;0==(t.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(f),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,v=1;0==(n.words[0]&v)&&p<26;++p,v<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(f),u.isub(l)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(a),s.isub(u)):(n.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){ri&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new S(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function m(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function E(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},m.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},m.prototype.split=function(e,t){e.iushrn(this.n,0,t)},m.prototype.imulK=function(e){return e.imul(this.k)},i(b,m),b.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r>>22,i=o}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(g[e])return g[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new y;else if("p192"===e)t=new w;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return g[e]=t,t},S.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},S.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},S.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new o(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var l=this.pow(f,i),d=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(a);){for(var v=h,g=0;0!==v.cmp(a);g++)v=v.redSqr();r(g=0;r--){for(var c=t.words[r],f=u-1;f>=0;f--){var l=c>>f&1;i!==n[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===r&&0===f)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}u=26}return i},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new E(e)},i(E,S),E.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},E.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},E.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,n(57)(e))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return C})),n.d(t,"c",(function(){return P})),n.d(t,"d",(function(){return N})),n.d(t,"e",(function(){return V})),n.d(t,"f",(function(){return F})),n.d(t,"g",(function(){return te})),n.d(t,"h",(function(){return j})),n.d(t,"i",(function(){return re})); +/*! + * Copyright 2016 Amazon.com, + * Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Amazon Software License (the "License"). + * You may not use this file except in compliance with the + * License. A copy of the License is located at + * + * http://aws.amazon.com/asl/ + * + * or in the "license" file accompanying this file. This file is + * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, express or implied. See the License + * for the specific language governing permissions and + * limitations under the License. + */ +var r=function(){function e(e){var t=e||{},n=t.ValidationData,r=t.Username,i=t.Password,o=t.AuthParameters,s=t.ClientMetadata;this.validationData=n||{},this.authParameters=o||{},this.clientMetadata=s||{},this.username=r,this.password=i}var t=e.prototype;return t.getUsername=function(){return this.username},t.getPassword=function(){return this.password},t.getValidationData=function(){return this.validationData},t.getAuthParameters=function(){return this.authParameters},t.getClientMetadata=function(){return this.clientMetadata},e}(),i=n(6),o=n(32),s=n.n(o),a=(n(161),n(87)),u=n.n(a),c=n(75),f=n.n(c),l=n(250);var d,h=function(){function e(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length}var t=e.prototype;return t.random=function(t){for(var n=[],r=0;r>>2]>>>24-i%4*8&255;r.push((o>>>4).toString(16)),r.push((15&o).toString(16))}return r.join("")}(this)},e}(),p=v;function v(e,t){null!=e&&this.fromString(e,t)}function g(){return new v(null)}var m="undefined"!=typeof navigator;m&&"Microsoft Internet Explorer"==navigator.appName?(v.prototype.am=function(e,t,n,r,i,o){for(var s=32767&t,a=t>>15;--o>=0;){var u=32767&this[e],c=this[e++]>>15,f=a*u+c*s;i=((u=s*u+((32767&f)<<15)+n[r]+(1073741823&i))>>>30)+(f>>>15)+a*c+(i>>>30),n[r++]=1073741823&u}return i},d=30):m&&"Netscape"!=navigator.appName?(v.prototype.am=function(e,t,n,r,i,o){for(;--o>=0;){var s=t*this[e++]+n[r]+i;i=Math.floor(s/67108864),n[r++]=67108863&s}return i},d=26):(v.prototype.am=function(e,t,n,r,i,o){for(var s=16383&t,a=t>>14;--o>=0;){var u=16383&this[e],c=this[e++]>>14,f=a*u+c*s;i=((u=s*u+((16383&f)<<14)+n[r]+i)>>28)+(f>>14)+a*c,n[r++]=268435455&u}return i},d=28),v.prototype.DB=d,v.prototype.DM=(1<>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function A(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t},A.prototype.revert=function(e){var t=g();return e.copyTo(t),this.reduce(t),t},A.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},A.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},A.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},v.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},v.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},v.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");n=2}this.t=0,this.s=0;for(var r=e.length,i=!1,o=0;--r>=0;){var s=S(e,r);s<0?"-"==e.charAt(r)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+n>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}this.clamp(),i&&v.ZERO.subTo(this,this)},v.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},v.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},v.prototype.drShiftTo=function(e,t){for(var n=e;n=0;--n)t[n+s+1]=this[n]>>i|a,a=(this[n]&o)<=0;--n)t[n]=0;t[s]=a,t.t=this.t+s+1,t.s=this.s,t.clamp()},v.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var r=e%this.DB,i=this.DB-r,o=(1<>r;for(var s=n+1;s>r;r>0&&(t[this.t-n-1]|=(this.s&o)<>=this.DB;if(e.t>=this.DB;r+=this.s}else{for(r+=this.s;n>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[n++]=this.DV+r:r>0&&(t[n++]=r),t.t=n,t.clamp()},v.prototype.multiplyTo=function(e,t){var n=this.abs(),r=e.abs(),i=n.t;for(t.t=i+r.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[n]=0;for(n=0;n=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},v.prototype.divRemTo=function(e,t,n){var r=e.abs();if(!(r.t<=0)){var i=this.abs();if(i.t0?(r.lShiftTo(u,o),i.lShiftTo(u,n)):(r.copyTo(o),i.copyTo(n));var c=o.t,f=o[c-1];if(0!=f){var l=f*(1<1?o[c-2]>>this.F2:0),d=this.FV/l,h=(1<=0&&(n[n.t++]=1,n.subTo(y,n)),v.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var w=n[--m]==f?this.DM:Math.floor(n[m]*d+(n[m-1]+p)*h);if((n[m]+=o.am(0,w,n,b,0,c))0&&n.rShiftTo(u,n),s<0&&v.ZERO.subTo(n,n)}}},v.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},v.prototype.addTo=function(e,t){for(var n=0,r=0,i=Math.min(e.t,this.t);n>=this.DB;if(e.t>=this.DB;r+=this.s}else{for(r+=this.s;n>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[n++]=r:r<-1&&(t[n++]=this.DV+r),t.t=n,t.clamp()},v.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)throw new Error("Only radix 2, 4, 8, 16, 32 are supported");t=2}var n,r=(1<0)for(a>a)>0&&(i=!0,o=_(n));s>=0;)a>(a+=this.DB-t)):(n=this[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=_(n));return i?o:"0"},v.prototype.negate=function(){var e=g();return v.ZERO.subTo(this,e),e},v.prototype.abs=function(){return this.s<0?this.negate():this},v.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},v.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+M(this[this.t-1]^this.s&this.DM)},v.prototype.mod=function(e){var t=g();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(v.ZERO)>0&&e.subTo(t,t),t},v.prototype.equals=function(e){return 0==this.compareTo(e)},v.prototype.add=function(e){var t=g();return this.addTo(e,t),t},v.prototype.subtract=function(e){var t=g();return this.subTo(e,t),t},v.prototype.multiply=function(e){var t=g();return this.multiplyTo(e,t),t},v.prototype.divide=function(e){var t=g();return this.divRemTo(e,t,null),t},v.prototype.modPow=function(e,t,n){var r,i=e.bitLength(),o=E(1),s=new A(t);if(i<=0)return o;r=i<18?1:i<48?3:i<144?4:i<768?5:6;var a=new Array,u=3,c=r-1,f=(1<1){var l=g();for(s.sqrTo(a[1],l);u<=f;)a[u]=g(),s.mulTo(l,a[u-2],a[u]),u+=2}var d,h,p=e.t-1,v=!0,m=g();for(i=M(e[p])-1;p>=0;){for(i>=c?d=e[p]>>i-c&f:(d=(e[p]&(1<0&&(d|=e[p-1]>>this.DB+i-c)),u=r;0==(1&d);)d>>=1,--u;if((i-=u)<0&&(i+=this.DB,--p),v)a[d].copyTo(o),v=!1;else{for(;u>1;)s.sqrTo(o,m),s.sqrTo(m,o),u-=2;u>0?s.sqrTo(o,m):(h=o,o=m,m=h),s.mulTo(m,a[d],o)}for(;p>=0&&0==(e[p]&1<>>2]>>>24-o%4*8&255;t[r+o>>>2]|=s<<24-(r+o)%4*8}else for(o=0;o>>2]=n[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,r=[],i=function(t){t=t;var n=987654321,r=4294967295;return function(){var i=((n=36969*(65535&n)+(n>>16)&r)<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-i%4*8&255;r.push((o>>>4).toString(16)),r.push((15&o).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new s.init(n,t/2)}},c=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(o))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new s.init(n,t)}},f=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},l=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,o=this.blockSize,a=i/(4*o),u=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,c=e.min(4*u,i);if(u){for(var f=0;fo?1*r:0})),!0},s=function(e,t){var n=Object.assign({},e);return t&&("string"==typeof t?delete n[t]:t.forEach((function(e){delete n[e]}))),n},a=function(e,t){void 0===t&&(t="application/octet-stream");var n=e.toLowerCase(),i=r.filter((function(e){return n.endsWith("."+e.ext)}));return i.length>0?i[0].type:t},u=function(e){var t=e.toLowerCase();return!!t.startsWith("text/")||("application/json"===t||"application/xml"===t||"application/sh"===t)},c=function(){for(var e="",t="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",n=32;n>0;n-=1)e+=t[Math.floor(Math.random()*t.length)];return e},f=function(e){if(e.isResolved)return e;var t=!0,n=!1,r=!1,i=e.then((function(e){return r=!0,t=!1,e}),(function(e){throw n=!0,t=!1,e}));return i.isFullfilled=function(){return r},i.isPending=function(){return t},i.isRejected=function(){return n},i},l=function(){if("undefined"==typeof self)return!1;var e=self;return void 0!==e.WorkerGlobalScope&&self instanceof e.WorkerGlobalScope},d=function(){return{isBrowser:"undefined"!=typeof window&&void 0!==window.document,isNode:void 0!==e&&null!=e.versions&&null!=e.versions.node}},h=function e(t,n,r){if(void 0===n&&(n=[]),void 0===r&&(r=[]),!v(t))return t;var i={};for(var o in t){if(t.hasOwnProperty(o))i[n.includes(o)?o:o[0].toLowerCase()+o.slice(1)]=r.includes(o)?t[o]:e(t[o],n,r)}return i},p=function e(t,n,r){if(void 0===n&&(n=[]),void 0===r&&(r=[]),!v(t))return t;var i={};for(var o in t){if(t.hasOwnProperty(o))i[n.includes(o)?o:o[0].toUpperCase()+o.slice(1)]=r.includes(o)?t[o]:e(t[o],n,r)}return i},v=function(e){return!(!(e instanceof Object)||e instanceof Array||e instanceof Function||e instanceof Number||e instanceof String||e instanceof Boolean)},g=function(){function e(){}return e.isEmpty=i,e.sortByField=o,e.objectLessAttributes=s,e.filenameToContentType=a,e.isTextFile=u,e.generateRandomString=c,e.makeQuerablePromise=f,e.isWebWorker=l,e.browserOrNode=d,e.transferKeyToLowerCase=h,e.transferKeyToUpperCase=p,e.isStrictObject=v,e}()}).call(this,n(20))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r,i=n(105);!function(e){e.CONNECTION_CLOSED="Connection closed",e.TIMEOUT_DISCONNECT="Timeout disconnect",e.SUBSCRIPTION_ACK="Subscription ack"}(r||(r={})),t.b=i.a},function(e,t,n){"use strict";var r;n.d(t,"a",(function(){return r})),function(e){e.DEFAULT_MSG="Authentication Error",e.EMPTY_USERNAME="Username cannot be empty",e.INVALID_USERNAME="The username should either be a string or one of the sign in types",e.EMPTY_PASSWORD="Password cannot be empty",e.EMPTY_CODE="Confirmation code cannot be empty",e.SIGN_UP_ERROR="Error creating account",e.NO_MFA="No valid MFA method provided",e.INVALID_MFA="Invalid MFA type",e.EMPTY_CHALLENGE="Challenge response cannot be empty",e.NO_USER_SESSION="Failed to get the session because the user is empty"}(r||(r={}))},function(e,t,n){var r=n(228),i=n(230),o=n(231),s=n(61),a=n(232),u=n(138),c=n(229),f=n(139),l=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(a(e)&&(s(e)||"string"==typeof e||"function"==typeof e.splice||u(e)||f(e)||o(e)))return!e.length;var t=i(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(c(e))return!r(e).length;for(var n in e)if(l.call(e,n))return!1;return!0}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),i=n(2);var o={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware"},s=function(e){return{applyToStack:function(t){t.add(function(e){var t=this;return function(n){return function(o){return Object(r.__awaiter)(t,void 0,void 0,(function(){var t,s,a,u,c;return Object(r.__generator)(this,(function(f){return t=o.request,i.a.isInstance(t)&&(s=t.body,a=t.headers,s&&-1===Object.keys(a).map((function(e){return e.toLowerCase()})).indexOf("content-length")&&void 0!==(u=e(s))&&(t.headers=Object(r.__assign)(Object(r.__assign)({},t.headers),((c={})["content-length"]=String(u),c)))),[2,n(Object(r.__assign)(Object(r.__assign)({},o),{request:t}))]}))}))}}}(e.bodyLengthChecker),o)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebCryptoSha256=t.Ie11Sha256=void 0,n(1).__exportStar(n(373),t);var r=n(216);Object.defineProperty(t,"Ie11Sha256",{enumerable:!0,get:function(){return r.Sha256}});var i=n(219);Object.defineProperty(t,"WebCryptoSha256",{enumerable:!0,get:function(){return i.Sha256}})},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(106),i=function(e){var t,n=new URL(e),i=n.hostname,o=n.pathname,s=n.port,a=n.protocol,u=n.search;return u&&(t=Object(r.a)(u)),{hostname:i,port:s?parseInt(s):void 0,protocol:a,path:o,query:t}}},function(e,t,n){"use strict";function r(e){if("string"==typeof e){for(var t=e.length,n=t-1;n>=0;n--){var r=e.charCodeAt(n);r>127&&r<=2047?t++:r>2047&&r<=65535&&(t+=2)}return t}return"number"==typeof e.byteLength?e.byteLength:"number"==typeof e.size?e.size:void 0}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){return"aws-sdk-js-v3-"+e+"/"+t+" "+("undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:"")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(63);n(30);t.a=r.a},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),i={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize"},o=function(e){return{applyToStack:function(e){e.add((function(e,t){return function(n){return Object(r.__awaiter)(void 0,void 0,void 0,(function(){var i,o,s,a;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return i=t.logger,[4,e(n)];case 1:return o=r.sent(),i?(s=o.response,"function"==typeof i.info&&i.info({metadata:{statusCode:s.statusCode,requestId:null!==(a=s.headers["x-amzn-requestid"])&&void 0!==a?a:s.headers["x-amzn-request-id"],extendedRequestId:s.headers["x-amz-id-2"],cfId:s.headers["x-amz-cf-id"]}}),[2,o]):[2,o]}}))}))}}),i)}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},i=function(){for(var e=[],t=0;t=s){var u=console.log.bind(console);"ERROR"===t&&console.error&&(u=console.error.bind(console)),"WARN"===t&&console.warn&&(u=console.warn.bind(console));var c="["+t+"] "+this._ts()+" "+this.name;if(1===n.length&&"string"==typeof n[0])u(c+" - "+n[0]);else if(1===n.length)u(c,n[0]);else if("string"==typeof n[0]){var f=n.slice(1);1===f.length&&(f=f[0]),u(c+" - "+n[0],f)}else u(c,n)}},e.prototype.log=function(){for(var e=[],t=0;t(i>>1)-1?(i>>1)-u:u,o.isubn(a)):a=0,r[s]=a,o.iushrn(1)}return r},r.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r,i=0,o=0;e.cmpn(-i)>0||t.cmpn(-o)>0;){var s,a,u=e.andln(3)+i&3,c=t.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),s=0==(1&u)?0:3!==(r=e.andln(7)+i&7)&&5!==r||2!==c?u:-u,n[0].push(s),a=0==(1&c)?0:3!==(r=t.andln(7)+o&7)&&5!==r||2!==u?c:-c,n[1].push(a),2*i===s+1&&(i=1-i),2*o===a+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return n},r.cachedProperty=function(e,t,n){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new i(e,"hex","le")}},,function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,r){function i(){void 0!==o&&e.removeListener("error",o),n([].slice.call(arguments))}var o;"error"!==t&&(o=function(n){e.removeListener(t,i),r(n)},e.once("error",o)),e.once(t,i)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var u=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function f(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function l(e,t,n,r){var i,o,s,a;if(c(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=f(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,a=u,console&&console.warn&&console.warn(a)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=d.bind(r);return i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,f=g(u,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},a.prototype.listenerCount=v,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r={userAgent:"aws-amplify/3.8.12 js",product:"",navigator:null,isReactNative:!1};if("undefined"!=typeof navigator&&navigator.product)switch(r.product=navigator.product||"",r.navigator=navigator||null,navigator.product){case"ReactNative":r.userAgent="aws-amplify/3.8.12 react-native",r.isReactNative=!0;break;default:r.userAgent="aws-amplify/3.8.12 js",r.isReactNative=!1}var i=function(){return r.userAgent}},function(e,t,n){"use strict";var r=n(46),i=n(7);function o(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function s(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function u(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i>6|192,n[r++]=63&s|128):o(e,i)?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++i)),n[r++]=s>>18|240,n[r++]=s>>12&63|128,n[r++]=s>>6&63|128,n[r++]=63&s|128):(n[r++]=s>>12|224,n[r++]=s>>6&63|128,n[r++]=63&s|128)}else for(i=0;i>>0}return s},t.split32=function(e,t){for(var n=new Array(4*e.length),r=0,i=0;r>>24,n[i+1]=o>>>16&255,n[i+2]=o>>>8&255,n[i+3]=255&o):(n[i+3]=o>>>24,n[i+2]=o>>>16&255,n[i+1]=o>>>8&255,n[i]=255&o)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,r){return e+t+n+r>>>0},t.sum32_5=function(e,t,n,r,i){return e+t+n+r+i>>>0},t.sum64=function(e,t,n,r){var i=e[t],o=r+e[t+1]>>>0,s=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,n,r){return(t+r>>>0>>0},t.sum64_lo=function(e,t,n,r){return t+r>>>0},t.sum64_4_hi=function(e,t,n,r,i,o,s,a){var u=0,c=t;return u+=(c=c+r>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,n,r,i,o,s,a){return t+r+o+a>>>0},t.sum64_5_hi=function(e,t,n,r,i,o,s,a,u,c){var f=0,l=t;return f+=(l=l+r>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,n,r,i,o,s,a,u,c){return t+r+o+a+c>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},function(e,t,n){"use strict";var r=n(62);t.a=r.a},function(e,t,n){var r=n(223),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},function(e,t,n){"use strict";const r=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+r+"][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",o=new RegExp("^"+i+"$");t.isExist=function(e){return void 0!==e},t.isEmptyObject=function(e){return 0===Object.keys(e).length},t.merge=function(e,t,n){if(t){const r=Object.keys(t),i=r.length;for(let o=0;o>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function f(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(e.lastNeed=i-1),i;if(--r=0)return i>0&&(e.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";var r=n(92),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=l;var o=Object.create(n(80));o.inherits=n(7);var s=n(171),a=n(120);o.inherits(l,s);for(var u=i(a.prototype),c=0;c0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},M="undefined"!=typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("amplify_default"):"@@amplify_default",A=function(e,t,n){o.a.dispatch("auth",{event:e,data:t,message:n},"Auth",M)},I=new i.a("OAuth"),k=function(){function e(e){var t=e.config,n=e.cognitoClientId,r=e.scopes,i=void 0===r?[]:r;if(this._urlOpener=t.urlOpener||v,this._config=t,this._cognitoClientId=n,!this.isValidScopes(i))throw Error("scopes must be a String Array");this._scopes=i}return e.prototype.isValidScopes=function(e){return Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))},e.prototype.oauthSignIn=function(e,t,n,i,o,s){void 0===e&&(e="code"),void 0===o&&(o=r.b.Cognito);var a=this._generateState(32),u=s?a+"-"+s.split("").map((function(e){return e.charCodeAt(0).toString(16).padStart(2,"0")})).join(""):a;!function(e){window.sessionStorage.setItem("oauth_state",e)}(u);var c,f=this._generateRandom(128);c=f,window.sessionStorage.setItem("ouath_pkce_key",c);var l=this._generateChallenge(f),d=this._scopes.join(" "),h="https://"+t+"/oauth2/authorize?"+Object.entries(w(w({redirect_uri:n,response_type:e,client_id:i,identity_provider:o,scope:d,state:u},"code"===e?{code_challenge:l}:{}),"code"===e?{code_challenge_method:"S256"}:{})).map((function(e){var t=E(e,2),n=t[0],r=t[1];return encodeURIComponent(n)+"="+encodeURIComponent(r)})).join("&");I.debug("Redirecting to "+h),this._urlOpener(h,n)},e.prototype._handleCodeFlow=function(e){return _(this,void 0,void 0,(function(){var t,n,i,o,s,a,u,c,f,l,d,h;return S(this,(function(v){switch(v.label){case 0:return(t=(Object(p.parse)(e).query||"").split("&").map((function(e){return e.split("=")})).reduce((function(e,t){var n,r=E(t,2),i=r[0],o=r[1];return w(w({},e),((n={})[i]=o,n))}),{code:void 0}).code)&&Object(p.parse)(e).pathname===Object(p.parse)(this._config.redirectSignIn).pathname?(n="https://"+this._config.domain+"/oauth2/token",A("codeFlow",{},"Retrieving tokens from "+n),i=Object(r.d)(this._config)?this._cognitoClientId:this._config.clientID,o=Object(r.d)(this._config)?this._config.redirectSignIn:this._config.redirectUri,g=window.sessionStorage.getItem("ouath_pkce_key"),window.sessionStorage.removeItem("ouath_pkce_key"),a=w({grant_type:"authorization_code",code:t,client_id:i,redirect_uri:o},(s=g)?{code_verifier:s}:{}),I.debug("Calling token endpoint: "+n+" with",a),u=Object.entries(a).map((function(e){var t=E(e,2),n=t[0],r=t[1];return encodeURIComponent(n)+"="+encodeURIComponent(r)})).join("&"),[4,fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:u})]):[2];case 1:return[4,v.sent().json()];case 2:if(c=v.sent(),f=c.access_token,l=c.refresh_token,d=c.id_token,h=c.error)throw new Error(h);return[2,{accessToken:f,refreshToken:l,idToken:d}]}var g}))}))},e.prototype._handleImplicitFlow=function(e){return _(this,void 0,void 0,(function(){var t,n,r;return S(this,(function(i){return t=(Object(p.parse)(e).hash||"#").substr(1).split("&").map((function(e){return e.split("=")})).reduce((function(e,t){var n,r=E(t,2),i=r[0],o=r[1];return w(w({},e),((n={})[i]=o,n))}),{id_token:void 0,access_token:void 0}),n=t.id_token,r=t.access_token,A("implicitFlow",{},"Got tokens from "+e),I.debug("Retrieving implicit tokens from "+e+" with"),[2,{accessToken:r,idToken:n,refreshToken:null}]}))}))},e.prototype.handleAuthResponse=function(e){return _(this,void 0,void 0,(function(){var t,n,r,i,o,s,a;return S(this,(function(u){switch(u.label){case 0:if(u.trys.push([0,5,,6]),t=e?w(w({},(Object(p.parse)(e).hash||"#").substr(1).split("&").map((function(e){return e.split("=")})).reduce((function(e,t){var n=E(t,2),r=n[0],i=n[1];return e[r]=i,e}),{})),(Object(p.parse)(e).query||"").split("&").map((function(e){return e.split("=")})).reduce((function(e,t){var n=E(t,2),r=n[0],i=n[1];return e[r]=i,e}),{})):{},n=t.error,r=t.error_description,n)throw new Error(r);return i=this._validateState(t),I.debug("Starting "+this._config.responseType+" flow with "+e),"code"!==this._config.responseType?[3,2]:(o=[{}],[4,this._handleCodeFlow(e)]);case 1:return[2,w.apply(void 0,[w.apply(void 0,o.concat([u.sent()])),{state:i}])];case 2:return s=[{}],[4,this._handleImplicitFlow(e)];case 3:return[2,w.apply(void 0,[w.apply(void 0,s.concat([u.sent()])),{state:i}])];case 4:return[3,6];case 5:throw a=u.sent(),I.error("Error handling auth response.",a),a;case 6:return[2]}}))}))},e.prototype._validateState=function(e){if(e){var t,n=(t=window.sessionStorage.getItem("oauth_state"),window.sessionStorage.removeItem("oauth_state"),t),r=e.state;if(n&&n!==r)throw new Error("Invalid state in OAuth flow");return r}},e.prototype.signOut=function(){return _(this,void 0,void 0,(function(){var e,t,n;return S(this,(function(i){return e="https://"+this._config.domain+"/logout?",t=Object(r.d)(this._config)?this._cognitoClientId:this._config.oauth.clientID,n=Object(r.d)(this._config)?this._config.redirectSignOut:this._config.returnTo,e+=Object.entries({client_id:t,logout_uri:encodeURIComponent(n)}).map((function(e){var t=E(e,2);return t[0]+"="+t[1]})).join("&"),A("oAuthSignOut",{oAuth:"signOut"},"Signing out from "+e),I.debug("Signing out from "+e),[2,this._urlOpener(e)]}))}))},e.prototype._generateState=function(e){for(var t="",n=e,r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";n>0;--n)t+=r[Math.round(Math.random()*(r.length-1))];return t},e.prototype._generateChallenge=function(e){return this._base64URL(m()(e))},e.prototype._base64URL=function(e){return e.toString(y.a).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},e.prototype._generateRandom=function(e){var t=new Uint8Array(e);if("undefined"!=typeof window&&window.crypto)window.crypto.getRandomValues(t);else for(var n=0;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},B=new i.a("AuthClass"),F="undefined"!=typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("amplify_default"):"@@amplify_default",z=function(e,t,n){o.a.dispatch("auth",{event:e,data:t,message:n},"Auth",F)},q=new(function(){function e(e){var t=this;this.userPool=null,this.user=null,this.oAuthFlowInProgress=!1,this.Credentials=s.a,this.wrapRefreshSessionCallback=function(e){return function(t,n){return n?z("tokenRefresh",void 0,"New token retrieved"):z("tokenRefresh_failure",t,"Failed to retrieve new token"),e(t,n)}},this.configure(e),this.currentCredentials=this.currentCredentials.bind(this),this.currentUserCredentials=this.currentUserCredentials.bind(this),o.a.listen("auth",(function(e){switch(e.payload.event){case"signIn":t._storage.setItem("amplify-signin-with-hostedUI","false");break;case"signOut":t._storage.removeItem("amplify-signin-with-hostedUI");break;case"cognitoHostedUI":t._storage.setItem("amplify-signin-with-hostedUI","true")}}))}return e.prototype.getModuleName=function(){return"Auth"},e.prototype.configure=function(e){var t=this;if(!e)return this._config||{};B.debug("configure Auth");var n=Object.assign({},this._config,a.a.parseMobilehubConfig(e).Auth,e);this._config=n;var i=this._config,o=i.userPoolId,s=i.userPoolWebClientId,l=i.cookieStorage,d=i.oauth,p=i.region,v=i.identityPoolId,g=i.mandatorySignIn,m=i.refreshHandlers,b=i.identityPoolRegion,y=i.clientMetadata,w=i.endpoint;if(this._config.storage){if(!this._isValidAuthStorage(this._config.storage))throw B.error("The storage in the Auth config is not valid!"),new Error("Empty storage object");this._storage=this._config.storage}else this._storage=l?new h.i(l):e.ssr?new u.a:(new c.a).getStorage();if(this._storageSync=Promise.resolve(),"function"==typeof this._storage.sync&&(this._storageSync=this._storage.sync()),o){var _={UserPoolId:o,ClientId:s,endpoint:w};_.Storage=this._storage,this.userPool=new h.g(_,this.wrapRefreshSessionCallback)}this.Credentials.configure({mandatorySignIn:g,region:b||p,userPoolId:o,identityPoolId:v,refreshHandlers:m,storage:this._storage});var S=d?Object(r.d)(this._config.oauth)?d:d.awsCognito:void 0;if(S){var E=Object.assign({cognitoClientId:s,UserPoolId:o,domain:S.domain,scopes:S.scope,redirectSignIn:S.redirectSignIn,redirectSignOut:S.redirectSignOut,responseType:S.responseType,Storage:this._storage,urlOpener:S.urlOpener,clientMetadata:y},S.options);this._oAuthHandler=new k({scopes:E.scopes,config:E,cognitoClientId:E.cognitoClientId});var M={};!function(e){if(f.a.browserOrNode().isBrowser&&window.location)e({url:window.location.href});else if(!f.a.browserOrNode().isNode)throw new Error("Not supported")}((function(e){var n=e.url;M[n]||(M[n]=!0,t._handleAuthResponse(n))}))}return z("configured",null,"The Auth category has been configured successfully"),this._config},e.prototype.signUp=function(e){for(var t=this,n=[],i=1;i4294967295)throw new RangeError("requested too many random bytes");var n=i.allocUnsafe(e);if(e>0)if(e>65536)for(var s=0;s2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}i("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),i("ERR_INVALID_ARG_TYPE",(function(e,t,n){var r,i,s,a;if("string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i)?(r="must not be",t=t.replace(/^not /,"")):r="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))a="The ".concat(e," ").concat(r," ").concat(o(t,"type"));else{var u=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument";a='The "'.concat(e,'" ').concat(u," ").concat(r," ").concat(o(t,"type"))}return a+=". Received type ".concat(typeof n)}),TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=r},function(e,t,n){"use strict";(function(t){var r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var i=n(163),o=n(167);n(7)(c,i);for(var s=r(o.prototype),a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var o=this._hash();return e?o.toString(e):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},function(e,t,n){"use strict";var r={};function i(e,t,n){n||(n=Error);var i=function(e){var n,r;function i(n,r,i){return e.call(this,function(e,n,r){return"string"==typeof t?t:t(e,n,r)}(n,r,i))||this}return r=e,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,n.__proto__=r,i}(n);i.prototype.name=n.name,i.prototype.code=e,r[e]=i}function o(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}i("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),i("ERR_INVALID_ARG_TYPE",(function(e,t,n){var r,i,s,a;if("string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i)?(r="must not be",t=t.replace(/^not /,"")):r="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))a="The ".concat(e," ").concat(r," ").concat(o(t,"type"));else{var u=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument";a='The "'.concat(e,'" ').concat(u," ").concat(r," ").concat(o(t,"type"))}return a+=". Received type ".concat(typeof n)}),TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=r},function(e,t,n){"use strict";(function(t){var r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var i=n(192),o=n(196);n(7)(c,i);for(var s=r(o.prototype),a=0;a0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},i={clockOffset:0,getDateWithClockOffset:function(){return i.clockOffset?new Date((new Date).getTime()+i.clockOffset):new Date},getClockOffset:function(){return i.clockOffset},getHeaderStringFromDate:function(e){return void 0===e&&(e=i.getDateWithClockOffset()),e.toISOString().replace(/[:\-]|\.\d{3}/g,"")},getDateFromHeaderString:function(e){var t=r(e.match(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2}).+/),7),n=t[1],i=t[2],o=t[3],s=t[4],a=t[5],u=t[6];return new Date(Date.UTC(Number(n),Number(i)-1,Number(o),Number(s),Number(a),Number(u)))},isClockSkewed:function(e){return Math.abs(e.getTime()-i.getDateWithClockOffset().getTime())>=3e5},isClockSkewError:function(e){if(!e.response||!e.response.headers)return!1;var t=e.response.headers;return Boolean("BadRequestException"===t["x-amzn-errortype"]&&(t.date||t.Date))},setClockOffset:function(e){i.clockOffset=e}}},,function(e,t,n){"use strict";var r=n(7),i=n(113),o=n(116),s=n(117),a=n(56);function u(e){a.call(this,"digest"),this._hash=e}r(u,a),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new i:"rmd160"===e||"ripemd160"===e?new o:new u(s(e))}},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(6).Buffer)},function(e,t,n){(function(t){e.exports=function(e,n){for(var r=Math.min(e.length,n.length),i=new t(r),o=0;o=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=r.join32(e,0,e.length-n,this.endian);for(var i=0;i>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=255&e}else for(r[i++]=255&e,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,o=8;o>>7)^(p<<14|p>>>18)^p>>>3,g=c[h-2],m=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;c[h]=v+c[h-7]+m+c[h-16]}var b=r&i^r&o^i&o,y=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),w=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&f^~a&l)+u[h]+c[h];d=l,l=f,f=a,a=s+w|0,s=o,o=i,i=r,r=w+(y+b)|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+a|0,n[5]=n[5]+f|0,n[6]=n[6]+l|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(f),t.HmacSHA256=o._createHmacHelper(f)}(Math),r.SHA256)},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(44),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},s=function(){for(var e=[],t=0;t-1)&&(r===u||a.warn("WARNING: "+e+" is protected and dispatching on it can have unintended consequences"));var o={channel:e,payload:i({},t),source:n,patternInfo:[]};try{this._toListeners(o)}catch(e){a.error(e)}},e.prototype.listen=function(e,t,n){var r,i=this;if(void 0===n&&(n="noname"),function(e){return void 0!==e.onHubCapsule}(t))a.warn("WARNING onHubCapsule is Deprecated. Please pass in a callback."),r=t.onHubCapsule.bind(t);else{if("function"!=typeof t)throw new Error("No callback supplied to Hub");r=t}if(e instanceof RegExp)this.patterns.push({pattern:e,callback:r});else{var o=this.listeners[e];o||(o=[],this.listeners[e]=o),o.push({name:n,callback:r})}return function(){i.remove(e,r)}},e.prototype._toListeners=function(e){var t=e.channel,n=e.payload,r=this.listeners[t];if(r&&r.forEach((function(r){a.debug("Dispatching to "+t+" with ",n);try{r.callback(e)}catch(e){a.error(e)}})),this.patterns.length>0){if(!n.message)return void a.warn("Cannot perform pattern matching without a message key");var s=n.message;this.patterns.forEach((function(t){var n=s.match(t.pattern);if(n){var r=o(n).slice(1),u=i(i({},e),{patternInfo:r});try{t.callback(u)}catch(e){a.error(e)}}}))}},e}())("__default__")},function(e,t,n){"use strict";n.d(t,"a",(function(){return Lt}));var r=n(44),i=n(86),o=n(33),s=n(73),a=n(514),u=n(50),c=n(19),f=n(1),l=function(e,t){return(l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var h=function(){return(h=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}var m,b,y,w,_,S,E,M,A,I,k,O,x,C,T,P,N,R,L,j,D,U,B,F,z,q,K,H,V,G,W,$,Y,J,Z,X,Q,ee,te,ne,re,ie,oe,se,ae,ue,ce,fe,le,de,he,pe,ve,ge,me,be,ye;Object.create;!function(e){e.AUTHENTICATED_ROLE="AuthenticatedRole",e.DENY="Deny"}(m||(m={})),(b||(b={})).filterSensitiveLog=function(e){return h({},e)},(y||(y={})).filterSensitiveLog=function(e){return h({},e)},(w||(w={})).filterSensitiveLog=function(e){return h({},e)},(_||(_={})).filterSensitiveLog=function(e){return h({},e)},(S||(S={})).filterSensitiveLog=function(e){return h({},e)},(E||(E={})).filterSensitiveLog=function(e){return h({},e)},(M||(M={})).filterSensitiveLog=function(e){return h({},e)},(A||(A={})).filterSensitiveLog=function(e){return h({},e)},(I||(I={})).filterSensitiveLog=function(e){return h({},e)},(k||(k={})).filterSensitiveLog=function(e){return h({},e)},function(e){e.ACCESS_DENIED="AccessDenied",e.INTERNAL_SERVER_ERROR="InternalServerError"}(O||(O={})),(x||(x={})).filterSensitiveLog=function(e){return h({},e)},(C||(C={})).filterSensitiveLog=function(e){return h({},e)},(T||(T={})).filterSensitiveLog=function(e){return h({},e)},(P||(P={})).filterSensitiveLog=function(e){return h({},e)},(N||(N={})).filterSensitiveLog=function(e){return h({},e)},(R||(R={})).filterSensitiveLog=function(e){return h({},e)},(L||(L={})).filterSensitiveLog=function(e){return h({},e)},(j||(j={})).filterSensitiveLog=function(e){return h({},e)},(D||(D={})).filterSensitiveLog=function(e){return h({},e)},(U||(U={})).filterSensitiveLog=function(e){return h({},e)},(B||(B={})).filterSensitiveLog=function(e){return h({},e)},(F||(F={})).filterSensitiveLog=function(e){return h({},e)},(z||(z={})).filterSensitiveLog=function(e){return h({},e)},(q||(q={})).filterSensitiveLog=function(e){return h({},e)},(K||(K={})).filterSensitiveLog=function(e){return h({},e)},function(e){e.CONTAINS="Contains",e.EQUALS="Equals",e.NOT_EQUAL="NotEqual",e.STARTS_WITH="StartsWith"}(H||(H={})),(V||(V={})).filterSensitiveLog=function(e){return h({},e)},(G||(G={})).filterSensitiveLog=function(e){return h({},e)},function(e){e.RULES="Rules",e.TOKEN="Token"}(W||(W={})),($||($={})).filterSensitiveLog=function(e){return h({},e)},(Y||(Y={})).filterSensitiveLog=function(e){return h({},e)},(J||(J={})).filterSensitiveLog=function(e){return h({},e)},(Z||(Z={})).filterSensitiveLog=function(e){return h({},e)},(X||(X={})).filterSensitiveLog=function(e){return h({},e)},(Q||(Q={})).filterSensitiveLog=function(e){return h({},e)},(ee||(ee={})).filterSensitiveLog=function(e){return h({},e)},(te||(te={})).filterSensitiveLog=function(e){return h({},e)},(ne||(ne={})).filterSensitiveLog=function(e){return h({},e)},(re||(re={})).filterSensitiveLog=function(e){return h({},e)},(ie||(ie={})).filterSensitiveLog=function(e){return h({},e)},(oe||(oe={})).filterSensitiveLog=function(e){return h({},e)},(se||(se={})).filterSensitiveLog=function(e){return h({},e)},(ae||(ae={})).filterSensitiveLog=function(e){return h({},e)},(ue||(ue={})).filterSensitiveLog=function(e){return h({},e)},(ce||(ce={})).filterSensitiveLog=function(e){return h({},e)},(fe||(fe={})).filterSensitiveLog=function(e){return h({},e)},(le||(le={})).filterSensitiveLog=function(e){return h({},e)},(de||(de={})).filterSensitiveLog=function(e){return h({},e)},(he||(he={})).filterSensitiveLog=function(e){return h({},e)},(pe||(pe={})).filterSensitiveLog=function(e){return h({},e)},(ve||(ve={})).filterSensitiveLog=function(e){return h({},e)},(ge||(ge={})).filterSensitiveLog=function(e){return h({},e)},(me||(me={})).filterSensitiveLog=function(e){return h({},e)},(be||(be={})).filterSensitiveLog=function(e){return h({},e)},(ye||(ye={})).filterSensitiveLog=function(e){return h({},e)};var we=n(2),_e=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d,p,g,m,b,y;return v(this,(function(v){switch(v.label){case 0:return r=[h({},e)],y={},[4,Je(e.body,t)];case 1:switch(n=h.apply(void 0,r.concat([(y.body=v.sent(),y)])),o="UnknownError",s=n.body.__type.split("#"),o=void 0===s[1]?s[0]:s[1],o){case"ExternalServiceException":case"com.amazonaws.cognitoidentity#ExternalServiceException":return[3,2];case"InternalErrorException":case"com.amazonaws.cognitoidentity#InternalErrorException":return[3,4];case"InvalidIdentityPoolConfigurationException":case"com.amazonaws.cognitoidentity#InvalidIdentityPoolConfigurationException":return[3,6];case"InvalidParameterException":case"com.amazonaws.cognitoidentity#InvalidParameterException":return[3,8];case"NotAuthorizedException":case"com.amazonaws.cognitoidentity#NotAuthorizedException":return[3,10];case"ResourceConflictException":case"com.amazonaws.cognitoidentity#ResourceConflictException":return[3,12];case"ResourceNotFoundException":case"com.amazonaws.cognitoidentity#ResourceNotFoundException":return[3,14];case"TooManyRequestsException":case"com.amazonaws.cognitoidentity#TooManyRequestsException":return[3,16]}return[3,18];case 2:return a=[{}],[4,Ee(n,t)];case 3:return i=h.apply(void 0,[h.apply(void 0,a.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 4:return u=[{}],[4,Me(n,t)];case 5:return i=h.apply(void 0,[h.apply(void 0,u.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 6:return c=[{}],[4,Ae(n,t)];case 7:return i=h.apply(void 0,[h.apply(void 0,c.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 8:return f=[{}],[4,Ie(n,t)];case 9:return i=h.apply(void 0,[h.apply(void 0,f.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 10:return l=[{}],[4,Oe(n,t)];case 11:return i=h.apply(void 0,[h.apply(void 0,l.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 12:return d=[{}],[4,xe(n,t)];case 13:return i=h.apply(void 0,[h.apply(void 0,d.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 14:return p=[{}],[4,Ce(n,t)];case 15:return i=h.apply(void 0,[h.apply(void 0,p.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 16:return g=[{}],[4,Te(n,t)];case 17:return i=h.apply(void 0,[h.apply(void 0,g.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 18:m=n.body,o=m.code||m.Code||o,i=h(h({},m),{name:""+o,message:m.message||m.Message||o,$fault:"client",$metadata:We(e)}),v.label=19;case 19:return b=i.message||i.Message||o,i.message=b,delete i.Message,[2,Promise.reject(Object.assign(new Error(b),i))]}}))}))},Se=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d,p,g,m,b,y;return v(this,(function(v){switch(v.label){case 0:return r=[h({},e)],y={},[4,Je(e.body,t)];case 1:switch(n=h.apply(void 0,r.concat([(y.body=v.sent(),y)])),o="UnknownError",s=n.body.__type.split("#"),o=void 0===s[1]?s[0]:s[1],o){case"ExternalServiceException":case"com.amazonaws.cognitoidentity#ExternalServiceException":return[3,2];case"InternalErrorException":case"com.amazonaws.cognitoidentity#InternalErrorException":return[3,4];case"InvalidParameterException":case"com.amazonaws.cognitoidentity#InvalidParameterException":return[3,6];case"LimitExceededException":case"com.amazonaws.cognitoidentity#LimitExceededException":return[3,8];case"NotAuthorizedException":case"com.amazonaws.cognitoidentity#NotAuthorizedException":return[3,10];case"ResourceConflictException":case"com.amazonaws.cognitoidentity#ResourceConflictException":return[3,12];case"ResourceNotFoundException":case"com.amazonaws.cognitoidentity#ResourceNotFoundException":return[3,14];case"TooManyRequestsException":case"com.amazonaws.cognitoidentity#TooManyRequestsException":return[3,16]}return[3,18];case 2:return a=[{}],[4,Ee(n,t)];case 3:return i=h.apply(void 0,[h.apply(void 0,a.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 4:return u=[{}],[4,Me(n,t)];case 5:return i=h.apply(void 0,[h.apply(void 0,u.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 6:return c=[{}],[4,Ie(n,t)];case 7:return i=h.apply(void 0,[h.apply(void 0,c.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 8:return f=[{}],[4,ke(n,t)];case 9:return i=h.apply(void 0,[h.apply(void 0,f.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 10:return l=[{}],[4,Oe(n,t)];case 11:return i=h.apply(void 0,[h.apply(void 0,l.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 12:return d=[{}],[4,xe(n,t)];case 13:return i=h.apply(void 0,[h.apply(void 0,d.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 14:return p=[{}],[4,Ce(n,t)];case 15:return i=h.apply(void 0,[h.apply(void 0,p.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 16:return g=[{}],[4,Te(n,t)];case 17:return i=h.apply(void 0,[h.apply(void 0,g.concat([v.sent()])),{name:o,$metadata:We(e)}]),[3,19];case 18:m=n.body,o=m.code||m.Code||o,i=h(h({},m),{name:""+o,message:m.message||m.Message||o,$fault:"client",$metadata:We(e)}),v.label=19;case 19:return b=i.message||i.Message||o,i.message=b,delete i.Message,[2,Promise.reject(Object.assign(new Error(b),i))]}}))}))},Ee=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=je(n,t),[2,h({name:"ExternalServiceException",$fault:"client",$metadata:We(e)},r)]}))}))},Me=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Be(n,t),[2,h({name:"InternalErrorException",$fault:"server",$metadata:We(e)},r)]}))}))},Ae=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Fe(n,t),[2,h({name:"InvalidIdentityPoolConfigurationException",$fault:"client",$metadata:We(e)},r)]}))}))},Ie=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=ze(n,t),[2,h({name:"InvalidParameterException",$fault:"client",$metadata:We(e)},r)]}))}))},ke=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=qe(n,t),[2,h({name:"LimitExceededException",$fault:"client",$metadata:We(e)},r)]}))}))},Oe=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Ke(n,t),[2,h({name:"NotAuthorizedException",$fault:"client",$metadata:We(e)},r)]}))}))},xe=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=He(n,t),[2,h({name:"ResourceConflictException",$fault:"client",$metadata:We(e)},r)]}))}))},Ce=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Ve(n,t),[2,h({name:"ResourceNotFoundException",$fault:"client",$metadata:We(e)},r)]}))}))},Te=function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n=e.body,r=Ge(n,t),[2,h({name:"TooManyRequestsException",$fault:"client",$metadata:We(e)},r)]}))}))},Pe=function(e,t){return h(h(h({},void 0!==e.CustomRoleArn&&{CustomRoleArn:e.CustomRoleArn}),void 0!==e.IdentityId&&{IdentityId:e.IdentityId}),void 0!==e.Logins&&{Logins:Re(e.Logins,t)})},Ne=function(e,t){return h(h(h({},void 0!==e.AccountId&&{AccountId:e.AccountId}),void 0!==e.IdentityPoolId&&{IdentityPoolId:e.IdentityPoolId}),void 0!==e.Logins&&{Logins:Re(e.Logins,t)})},Re=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=g(t,2),i=r[0],o=r[1];return h(h({},e),((n={})[i]=o,n))}),{})},Le=function(e,t){return{AccessKeyId:void 0!==e.AccessKeyId&&null!==e.AccessKeyId?e.AccessKeyId:void 0,Expiration:void 0!==e.Expiration&&null!==e.Expiration?new Date(Math.round(1e3*e.Expiration)):void 0,SecretKey:void 0!==e.SecretKey&&null!==e.SecretKey?e.SecretKey:void 0,SessionToken:void 0!==e.SessionToken&&null!==e.SessionToken?e.SessionToken:void 0}},je=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},De=function(e,t){return{Credentials:void 0!==e.Credentials&&null!==e.Credentials?Le(e.Credentials):void 0,IdentityId:void 0!==e.IdentityId&&null!==e.IdentityId?e.IdentityId:void 0}},Ue=function(e,t){return{IdentityId:void 0!==e.IdentityId&&null!==e.IdentityId?e.IdentityId:void 0}},Be=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},Fe=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},ze=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},qe=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},Ke=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},He=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},Ve=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},Ge=function(e,t){return{message:void 0!==e.message&&null!==e.message?e.message:void 0}},We=function(e){return{httpStatusCode:e.statusCode,httpHeaders:e.headers,requestId:e.headers["x-amzn-requestid"]}},$e=function(e,t){return void 0===e&&(e=new Uint8Array),e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array)},Ye=function(e,t,n,r,i){return p(void 0,void 0,void 0,(function(){var o,s,a,u,c,f;return v(this,(function(l){switch(l.label){case 0:return[4,e.endpoint()];case 1:return o=l.sent(),s=o.hostname,a=o.protocol,u=void 0===a?"https":a,c=o.port,f={protocol:u,hostname:s,port:c,method:"POST",path:n,headers:t},void 0!==r&&(f.hostname=r),void 0!==i&&(f.body=i),[2,new we.a(f)]}}))}))},Je=function(e,t){return function(e,t){return $e(e,t).then((function(e){return t.utf8Encoder(e)}))}(e,t).then((function(e){return e.length?JSON.parse(e):{}}))},Ze=n(10),Xe=n(0),Qe=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return d(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Ze.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"CognitoIdentityClient",commandName:"GetCredentialsForIdentityCommand",inputFilterSensitiveLog:D.filterSensitiveLog,outputFilterSensitiveLog:B.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"CognitoIdentityClient",commandName:"GetCredentialsForIdentityCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityService.GetCredentialsForIdentity"},r=JSON.stringify(Pe(e,t)),[2,Ye(t,n,"/",void 0,r)]}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return p(void 0,void 0,void 0,(function(){var n,r,i;return v(this,(function(o){switch(o.label){case 0:return e.statusCode>=300?[2,_e(e,t)]:[4,Je(e.body,t)];case 1:return n=o.sent(),{},r=De(n,t),i=h({$metadata:We(e)},r),[2,Promise.resolve(i)]}}))}))}(e,t)},t}(Xe.b),et=function(e){function t(t,n){void 0===n&&(n=!0);var r=e.call(this,t)||this;return r.tryNextLink=n,r}return Object(f.__extends)(t,e),t}(Error);function tt(e){return Promise.all(Object.keys(e).reduce((function(t,n){var r=e[n];return"string"==typeof r?t.push([n,r]):t.push(r().then((function(e){return[n,e]}))),t}),[])).then((function(e){return e.reduce((function(e,t){var n=Object(f.__read)(t,2),r=n[0],i=n[1];return e[r]=i,e}),{})}))}function nt(e){var t=this;return function(){return Object(f.__awaiter)(t,void 0,void 0,(function(){var t,n,r,i,o,s,a,u,c,l,d,h,p;return Object(f.__generator)(this,(function(f){switch(f.label){case 0:return l=(c=e.client).send,d=Qe.bind,p={CustomRoleArn:e.customRoleArn,IdentityId:e.identityId},e.logins?[4,tt(e.logins)]:[3,2];case 1:return h=f.sent(),[3,3];case 2:h=void 0,f.label=3;case 3:return[4,l.apply(c,[new(d.apply(Qe,[void 0,(p.Logins=h,p)]))])];case 4:return t=f.sent().Credentials,n=void 0===t?function(){throw new et("Response from Amazon Cognito contained no credentials")}():t,r=n.AccessKeyId,i=void 0===r?function(){throw new et("Response from Amazon Cognito contained no access key ID")}():r,o=n.Expiration,s=n.SecretKey,a=void 0===s?function(){throw new et("Response from Amazon Cognito contained no secret key")}():s,u=n.SessionToken,[2,{identityId:e.identityId,accessKeyId:i,secretAccessKey:a,sessionToken:u,expiration:o}]}}))}))}}var rt=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return d(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Ze.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"CognitoIdentityClient",commandName:"GetIdCommand",inputFilterSensitiveLog:z.filterSensitiveLog,outputFilterSensitiveLog:q.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"CognitoIdentityClient",commandName:"GetIdCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return p(void 0,void 0,void 0,(function(){var n,r;return v(this,(function(i){return n={"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":"AWSCognitoIdentityService.GetId"},r=JSON.stringify(Ne(e,t)),[2,Ye(t,n,"/",void 0,r)]}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return p(void 0,void 0,void 0,(function(){var n,r,i;return v(this,(function(o){switch(o.label){case 0:return e.statusCode>=300?[2,Se(e,t)]:[4,Je(e.body,t)];case 1:return n=o.sent(),{},r=Ue(n,t),i=h({$metadata:We(e)},r),[2,Promise.resolve(i)]}}))}))}(e,t)},t}(Xe.b),it=function(){function e(e){void 0===e&&(e="aws:cognito-identity-ids"),this.dbName=e}return e.prototype.getItem=function(e){return this.withObjectStore("readonly",(function(t){var n=t.get(e);return new Promise((function(e){n.onerror=function(){return e(null)},n.onsuccess=function(){return e(n.result?n.result.value:null)}}))})).catch((function(){return null}))},e.prototype.removeItem=function(e){return this.withObjectStore("readwrite",(function(t){var n=t.delete(e);return new Promise((function(e,t){n.onerror=function(){return t(n.error)},n.onsuccess=function(){return e()}}))}))},e.prototype.setItem=function(e,t){return this.withObjectStore("readwrite",(function(n){var r=n.put({id:e,value:t});return new Promise((function(e,t){r.onerror=function(){return t(r.error)},r.onsuccess=function(){return e()}}))}))},e.prototype.getDb=function(){var e=self.indexedDB.open(this.dbName,1);return new Promise((function(t,n){e.onsuccess=function(){t(e.result)},e.onerror=function(){n(e.error)},e.onblocked=function(){n(new Error("Unable to access DB"))},e.onupgradeneeded=function(){var t=e.result;t.onerror=function(){n(new Error("Failed to create object store"))},t.createObjectStore("IdentityIds",{keyPath:"id"})}}))},e.prototype.withObjectStore=function(e,t){return this.getDb().then((function(n){var r=n.transaction("IdentityIds",e);return r.oncomplete=function(){return n.close()},new Promise((function(e,n){r.onerror=function(){return n(r.error)},e(t(r.objectStore("IdentityIds")))})).catch((function(e){throw n.close(),e}))}))},e}(),ot=new(function(){function e(e){void 0===e&&(e={}),this.store=e}return e.prototype.getItem=function(e){return e in this.store?this.store[e]:null},e.prototype.removeItem=function(e){delete this.store[e]},e.prototype.setItem=function(e,t){this.store[e]=t},e}());function st(e){var t=this,n=e.accountId,r=e.cache,i=void 0===r?"object"==typeof self&&self.indexedDB?new it:"object"==typeof window&&window.localStorage?window.localStorage:ot:r,o=e.client,s=e.customRoleArn,a=e.identityPoolId,u=e.logins,c=e.userIdentifier,l=void 0===c?u&&0!==Object.keys(u).length?void 0:"ANONYMOUS":c,d=l?"aws:cognito-identity-credentials:"+a+":"+l:void 0,h=function(){return Object(f.__awaiter)(t,void 0,void 0,(function(){var e,t,r,c,l,p,v,g,m;return Object(f.__generator)(this,(function(f){switch(f.label){case 0:return(t=d)?[4,i.getItem(d)]:[3,2];case 1:t=f.sent(),f.label=2;case 2:return(e=t)?[3,7]:(p=(l=o).send,v=rt.bind,m={AccountId:n,IdentityPoolId:a},u?[4,tt(u)]:[3,4]);case 3:return g=f.sent(),[3,5];case 4:g=void 0,f.label=5;case 5:return[4,p.apply(l,[new(v.apply(rt,[void 0,(m.Logins=g,m)]))])];case 6:r=f.sent().IdentityId,c=void 0===r?function(){throw new et("Response from Amazon Cognito contained no identity ID")}():r,e=c,d&&Promise.resolve(i.setItem(d,e)).catch((function(){})),f.label=7;case 7:return[2,(h=nt({client:o,customRoleArn:s,logins:u,identityId:e}))()]}}))}))};return function(){return h().catch((function(e){return Object(f.__awaiter)(t,void 0,void 0,(function(){return Object(f.__generator)(this,(function(t){throw d&&Promise.resolve(i.removeItem(d)).catch((function(){})),e}))}))}))}}var at=n(147),ut=n(38),ct=n(18),ft=n(24),lt=n(11),dt=n(39),ht=n(17),pt=n(40),vt=n(41),gt=n(15),mt="cognito-identity.{region}.amazonaws.com",bt=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),yt=new Set(["cn-north-1","cn-northwest-1"]),wt=new Set(["us-iso-east-1"]),_t=new Set(["us-isob-east-1"]),St=new Set(["us-gov-east-1","us-gov-west-1"]),Et=h(h({},{apiVersion:"2014-06-30",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-northeast-1":n={hostname:"cognito-identity.ap-northeast-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-2":n={hostname:"cognito-identity.ap-northeast-2.amazonaws.com",partition:"aws"};break;case"ap-south-1":n={hostname:"cognito-identity.ap-south-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-1":n={hostname:"cognito-identity.ap-southeast-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-2":n={hostname:"cognito-identity.ap-southeast-2.amazonaws.com",partition:"aws"};break;case"ca-central-1":n={hostname:"cognito-identity.ca-central-1.amazonaws.com",partition:"aws"};break;case"cn-north-1":n={hostname:"cognito-identity.cn-north-1.amazonaws.com.cn",partition:"aws-cn"};break;case"eu-central-1":n={hostname:"cognito-identity.eu-central-1.amazonaws.com",partition:"aws"};break;case"eu-west-1":n={hostname:"cognito-identity.eu-west-1.amazonaws.com",partition:"aws"};break;case"eu-west-2":n={hostname:"cognito-identity.eu-west-2.amazonaws.com",partition:"aws"};break;case"us-east-1":n={hostname:"cognito-identity.us-east-1.amazonaws.com",partition:"aws"};break;case"us-east-2":n={hostname:"cognito-identity.us-east-2.amazonaws.com",partition:"aws"};break;case"us-west-2":n={hostname:"cognito-identity.us-west-2.amazonaws.com",partition:"aws"};break;default:bt.has(e)&&(n={hostname:mt.replace("{region}",e),partition:"aws"}),yt.has(e)&&(n={hostname:"cognito-identity.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),wt.has(e)&&(n={hostname:"cognito-identity.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),_t.has(e)&&(n={hostname:"cognito-identity.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),St.has(e)&&(n={hostname:"cognito-identity.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:mt.replace("{region}",e),partition:"aws"})}return Promise.resolve(n)},signingName:"cognito-identity"}),{runtime:"browser",base64Decoder:ht.a,base64Encoder:ht.b,bodyLengthChecker:pt.a,credentialDefaultProvider:function(){},defaultUserAgent:Object(vt.a)(at.name,at.version),maxAttempts:lt.a,region:Object(ft.a)("Region is missing"),requestHandler:new ct.a,sha256:ut.Sha256,streamCollector:ct.b,urlParser:dt.a,utf8Decoder:gt.a,utf8Encoder:gt.b}),Mt=n(22),At=n(37),It=n(21),kt=n(43),Ot=n(25),xt=n(23),Ct=function(e){function t(t){var n=this,r=h(h({},Et),t),i=Object(Mt.b)(r),o=Object(Mt.a)(i),s=Object(Ot.b)(o),a=Object(lt.c)(s),u=Object(xt.b)(a),c=Object(It.b)(u);return(n=e.call(this,c)||this).config=c,n.middlewareStack.use(Object(lt.b)(n.config)),n.middlewareStack.use(Object(xt.a)(n.config)),n.middlewareStack.use(Object(At.a)(n.config)),n.middlewareStack.use(Object(It.a)(n.config)),n.middlewareStack.use(Object(kt.a)(n.config)),n}return d(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(Xe.a),Tt=function(){return(Tt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1](new Date).getTime()?(Rt.debug("token not expired"),this._setCredentialsFromFederation({provider:t,token:r,user:n,identity_id:i,expires_at:o})):this._refreshHandlers[t]&&"function"==typeof this._refreshHandlers[t]?(Rt.debug("getting refreshed jwt token from federation provider"),this._providerRefreshWithRetry({refreshHandler:this._refreshHandlers[t],provider:t,user:n})):(Rt.debug("no refresh handler for provider:",t),this.clear(),Promise.reject("no refresh handler for provider"))},e.prototype._providerRefreshWithRetry=function(e){var t=this,n=e.refreshHandler,r=e.provider,i=e.user;return Object(a.b)(n,[],1e4).then((function(e){return Rt.debug("refresh federated token sucessfully",e),t._setCredentialsFromFederation({provider:r,token:e.token,user:i,identity_id:e.identity_id,expires_at:e.expires_at})})).catch((function(e){return"string"==typeof e&&0===e.toLowerCase().lastIndexOf("network error",e.length)||t.clear(),Rt.debug("refresh federated token failed",e),Promise.reject("refreshing federation token failed: "+e)}))},e.prototype._isExpired=function(e){if(!e)return Rt.debug("no credentials for expiration check"),!0;Rt.debug("are these credentials expired?",e);var t=Date.now();return e.expiration.getTime()<=t},e.prototype._isPastTTL=function(){return this._nextCredentialsRefresh<=Date.now()},e.prototype._setCredentialsForGuest=function(){return Pt(this,void 0,void 0,(function(){var e,t,n,r,i,o,s,a=this;return Nt(this,(function(c){switch(c.label){case 0:if(Rt.debug("setting credentials for guest"),e=this._config,t=e.identityPoolId,n=e.region,e.mandatorySignIn)return[2,Promise.reject("cannot get guest credentials when mandatory signin enabled")];if(!t)return Rt.debug("No Cognito Identity pool provided for unauthenticated access"),[2,Promise.reject("No Cognito Identity pool provided for unauthenticated access")];if(!n)return Rt.debug("region is not configured for getting the credentials"),[2,Promise.reject("region is not configured for getting the credentials")];r=void 0,c.label=1;case 1:return c.trys.push([1,3,,4]),[4,this._storageSync];case 2:return c.sent(),r=this._storage.getItem("CognitoIdentityId-"+t),this._identityId=r,[3,4];case 3:return i=c.sent(),Rt.debug("Failed to get the cached identityId",i),[3,4];case 4:return o=new Ct({region:n,customUserAgent:Object(u.b)()}),s=void 0,s=r?nt({identityId:r,client:o})():function(){return Pt(a,void 0,void 0,(function(){var e;return Nt(this,(function(n){switch(n.label){case 0:return[4,o.send(new rt({IdentityPoolId:t}))];case 1:return e=n.sent().IdentityId,this._identityId=e,[2,nt({client:o,identityId:e})()]}}))}))}().catch((function(e){return Pt(a,void 0,void 0,(function(){return Nt(this,(function(t){throw e}))}))})),[2,this._loadCredentials(s,"guest",!1,null).then((function(e){return e})).catch((function(e){return Pt(a,void 0,void 0,(function(){var n=this;return Nt(this,(function(i){return"ResourceNotFoundException"===e.name&&e.message==="Identity '"+r+"' not found."?(Rt.debug("Failed to load guest credentials"),this._storage.removeItem("CognitoIdentityId-"+t),s=function(){return Pt(n,void 0,void 0,(function(){var e;return Nt(this,(function(n){switch(n.label){case 0:return[4,o.send(new rt({IdentityPoolId:t}))];case 1:return e=n.sent().IdentityId,this._identityId=e,[2,nt({client:o,identityId:e})()]}}))}))}().catch((function(e){return Pt(n,void 0,void 0,(function(){return Nt(this,(function(t){throw e}))}))})),[2,this._loadCredentials(s,"guest",!1,null)]):[2,e]}))}))}))]}}))}))},e.prototype._setCredentialsFromFederation=function(e){var t=e.provider,n=e.token,r=e.identity_id,i={google:"accounts.google.com",facebook:"graph.facebook.com",amazon:"www.amazon.com",developer:"cognito-identity.amazonaws.com"}[t]||t;if(!i)return Promise.reject("You must specify a federated provider");var o={};o[i]=n;var s=this._config,a=s.identityPoolId,c=s.region;if(!a)return Rt.debug("No Cognito Federated Identity pool provided"),Promise.reject("No Cognito Federated Identity pool provided");if(!c)return Rt.debug("region is not configured for getting the credentials"),Promise.reject("region is not configured for getting the credentials");var f=new Ct({region:c,customUserAgent:Object(u.b)()}),l=void 0;r?l=nt({identityId:r,logins:o,client:f})():l=st({logins:o,identityPoolId:a,client:f})();return this._loadCredentials(l,"federated",!0,e)},e.prototype._setCredentialsFromSession=function(e){var t=this;Rt.debug("set credentials from session");var n=e.getIdToken().getJwtToken(),r=this._config,i=r.region,o=r.userPoolId,s=r.identityPoolId;if(!s)return Rt.debug("No Cognito Federated Identity pool provided"),Promise.reject("No Cognito Federated Identity pool provided");if(!i)return Rt.debug("region is not configured for getting the credentials"),Promise.reject("region is not configured for getting the credentials");var a={};a["cognito-idp."+i+".amazonaws.com/"+o]=n;var c=new Ct({region:i,customUserAgent:Object(u.b)()}),f=Pt(t,void 0,void 0,(function(){var e;return Nt(this,(function(t){switch(t.label){case 0:return[4,c.send(new rt({IdentityPoolId:s,Logins:a}))];case 1:return e=t.sent().IdentityId,this._identityId=e,[2,nt({client:c,logins:a,identityId:e})()]}}))})).catch((function(e){return Pt(t,void 0,void 0,(function(){return Nt(this,(function(t){throw e}))}))}));return this._loadCredentials(f,"userPool",!0,null)},e.prototype._loadCredentials=function(e,t,n,r){var i=this,o=this,s=this._config.identityPoolId;return new Promise((function(a,u){e.then((function(e){return Pt(i,void 0,void 0,(function(){var i,u,c,f,l,d;return Nt(this,(function(h){switch(h.label){case 0:if(Rt.debug("Load credentials successfully",e),this._identityId&&!e.identityId&&(e.identityId=this._identityId),o._credentials=e,o._credentials.authenticated=n,o._credentials_source=t,o._nextCredentialsRefresh=(new Date).getTime()+3e6,"federated"===t){i=Object.assign({id:this._credentials.identityId},r.user),u=r.provider,c=r.token,f=r.expires_at,l=r.identity_id;try{this._storage.setItem("aws-amplify-federatedInfo",JSON.stringify({provider:u,token:c,user:i,expires_at:f,identity_id:l}))}catch(e){Rt.debug("Failed to put federated info into auth storage",e)}}if("guest"!==t)return[3,4];h.label=1;case 1:return h.trys.push([1,3,,4]),[4,this._storageSync];case 2:return h.sent(),this._storage.setItem("CognitoIdentityId-"+s,e.identityId),[3,4];case 3:return d=h.sent(),Rt.debug("Failed to cache identityId",d),[3,4];case 4:return a(o._credentials),[2]}}))}))})).catch((function(t){if(t)return Rt.debug("Failed to load credentials",e),Rt.debug("Error loading credentials",t),void u(t)}))}))},e.prototype.set=function(e,t){return"session"===t?this._setCredentialsFromSession(e):"federation"===t?this._setCredentialsFromFederation(e):"guest"===t?this._setCredentialsForGuest():(Rt.debug("no source specified for setting credentials"),Promise.reject("invalid source"))},e.prototype.clear=function(){return Pt(this,void 0,void 0,(function(){return Nt(this,(function(e){return this._credentials=null,this._credentials_source=null,Rt.debug("removing aws-amplify-federatedInfo from storage"),this._storage.removeItem("aws-amplify-federatedInfo"),[2]}))}))},e.prototype.shear=function(e){return{accessKeyId:e.accessKeyId,sessionToken:e.sessionToken,secretAccessKey:e.secretAccessKey,identityId:e.identityId,authenticated:e.authenticated}},e}())(null);c.a.register(Lt)},function(e,t,n){var r,i,o;e.exports=(o=n(32),i=(r=o).lib.WordArray,r.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a>>6*(3-a)&63));var u=r.charAt(64);if(u)for(;i.length%4;)i.push(u);return i.join("")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var o=0;o>>6-s%4*2;r[o>>>2]|=(a|u)<<24-o%4*8,o++}return i.create(r,o)}(e,t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},o.enc.Base64)},function(e,t,n){"use strict";function r(e,t){for(var n,r=/\r\n|[\n\r]/g,i=1,o=t+1;(n=r.exec(e.body))&&n.index>>24]^f[p>>>16&255]^l[v>>>8&255]^d[255&g]^t[m++],s=c[p>>>24]^f[v>>>16&255]^l[g>>>8&255]^d[255&h]^t[m++],a=c[v>>>24]^f[g>>>16&255]^l[h>>>8&255]^d[255&p]^t[m++],u=c[g>>>24]^f[h>>>16&255]^l[p>>>8&255]^d[255&v]^t[m++],h=o,p=s,v=a,g=u;return o=(r[h>>>24]<<24|r[p>>>16&255]<<16|r[v>>>8&255]<<8|r[255&g])^t[m++],s=(r[p>>>24]<<24|r[v>>>16&255]<<16|r[g>>>8&255]<<8|r[255&h])^t[m++],a=(r[v>>>24]<<24|r[g>>>16&255]<<16|r[h>>>8&255]<<8|r[255&p])^t[m++],u=(r[g>>>24]<<24|r[h>>>16&255]<<16|r[p>>>8&255]<<8|r[255&v])^t[m++],[o>>>=0,s>>>=0,a>>>=0,u>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],r=[],i=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,u=0;u<256;++u){var c=a^a<<1^a<<2^a<<3^a<<4;c=c>>>8^255&c^99,n[s]=c,r[c]=s;var f=e[s],l=e[f],d=e[l],h=257*e[c]^16843008*c;i[0][s]=h<<24|h>>>8,i[1][s]=h<<16|h>>>16,i[2][s]=h<<8|h>>>24,i[3][s]=h,h=16843009*d^65537*l^257*f^16843008*s,o[0][c]=h<<24|h>>>8,o[1][c]=h<<16|h>>>16,o[2][c]=h<<8|h>>>24,o[3][c]=h,0===s?s=a=1:(s=f^e[e[e[d^f]]],a^=e[e[a]])}return{SBOX:n,INV_SBOX:r,SUB_MIX:i,INV_SUB_MIX:o}}();function c(e){this._key=i(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,r=4*(n+1),i=[],o=0;o>>24,s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s],s^=a[o/t|0]<<24):t>6&&o%t==4&&(s=u.SBOX[s>>>24]<<24|u.SBOX[s>>>16&255]<<16|u.SBOX[s>>>8&255]<<8|u.SBOX[255&s]),i[o]=i[o-t]^s}for(var c=[],f=0;f>>24]]^u.INV_SUB_MIX[1][u.SBOX[d>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[d>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&d]]}this._nRounds=n,this._keySchedule=i,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return s(e=i(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=r.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},c.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var n=s(e,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=r.allocUnsafe(16);return o.writeUInt32BE(n[0],0),o.writeUInt32BE(n[3],4),o.writeUInt32BE(n[2],8),o.writeUInt32BE(n[1],12),o},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=c},function(e,t,n){var r=n(8).Buffer,i=n(113);e.exports=function(e,t,n,o){if(r.isBuffer(e)||(e=r.from(e,"binary")),t&&(r.isBuffer(t)||(t=r.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=n/8,a=r.alloc(s),u=r.alloc(o||0),c=r.alloc(0);s>0||o>0;){var f=new i;f.update(c),f.update(e),t&&f.update(t),c=f.digest();var l=0;if(s>0){var d=a.length-s;l=Math.min(s,c.length),c.copy(a,d,0,l),s-=l}if(l0){var h=u.length-o,p=Math.min(o,c.length-l);c.copy(u,h,l,l+p),o-=p}}return c.fill(0),{key:a,iv:u}}},function(e,t,n){"use strict";var r=n(29),i=n(47),o=i.getNAF,s=i.getJSF,a=i.assert;function u(e,t){this.type=e,this.p=new r(t.p,16),this.red=t.prime?r.red(t.prime):r.mont(this.p),this.zero=new r(0).toRed(this.red),this.one=new r(1).toRed(this.red),this.two=new r(2).toRed(this.red),this.n=t.n&&new r(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){a(e.precomputed);var n=e._getDoubles(),r=o(t,1,this._bitLength),i=(1<=s;f--)u=(u<<1)+r[f];c.push(u)}for(var l=this.jpoint(null,null,null),d=this.jpoint(null,null,null),h=i;h>0;h--){for(s=0;s=0;c--){for(var f=0;c>=0&&0===s[c];c--)f++;if(c>=0&&f++,u=u.dblp(f),c<0)break;var l=s[c];a(0!==l),u="affine"===e.type?l>0?u.mixedAdd(i[l-1>>1]):u.mixedAdd(i[-l-1>>1].neg()):l>0?u.add(i[l-1>>1]):u.add(i[-l-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,n,r,i){var a,u,c,f=this._wnafT1,l=this._wnafT2,d=this._wnafT3,h=0;for(a=0;a=1;a-=2){var v=a-1,g=a;if(1===f[v]&&1===f[g]){var m=[t[v],null,null,t[g]];0===t[v].y.cmp(t[g].y)?(m[1]=t[v].add(t[g]),m[2]=t[v].toJ().mixedAdd(t[g].neg())):0===t[v].y.cmp(t[g].y.redNeg())?(m[1]=t[v].toJ().mixedAdd(t[g]),m[2]=t[v].add(t[g].neg())):(m[1]=t[v].toJ().mixedAdd(t[g]),m[2]=t[v].toJ().mixedAdd(t[g].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],y=s(n[v],n[g]);for(h=Math.max(y[0].length,h),d[v]=new Array(h),d[g]=new Array(h),u=0;u=0;a--){for(var M=0;a>=0;){var A=!0;for(u=0;u=0&&M++,S=S.dblp(M),a<0)break;for(u=0;u0?c=l[u][I-1>>1]:I<0&&(c=l[u][-I-1>>1].neg()),S="affine"===c.type?S.mixedAdd(c):S.add(c))}}for(a=0;a=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,r.nameRegexp);!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const s={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,ignoreNameSpace:!1,allowBooleanAttributes:!1,parseNodeValue:!0,parseAttributeValue:!1,arrayMode:!1,trimValues:!0,cdataTagName:!1,cdataPositionChar:"\\c",tagValueProcessor:function(e,t){return e},attrValueProcessor:function(e,t){return e},stopNodes:[]};t.defaultOptions=s;const a=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","ignoreNameSpace","allowBooleanAttributes","parseNodeValue","parseAttributeValue","arrayMode","trimValues","cdataTagName","cdataPositionChar","tagValueProcessor","attrValueProcessor","parseTrueNumberOnly","stopNodes"];function u(e,t,n){return t&&(n.trimValues&&(t=t.trim()),t=f(t=n.tagValueProcessor(t,e),n.parseNodeValue,n.parseTrueNumberOnly)),t}function c(e,t){if(t.ignoreNameSpace){const t=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=n+t[1])}return e}function f(e,t,n){if(t&&"string"==typeof e){let t;return""===e.trim()||isNaN(e)?t="true"===e||"false"!==e&&e:(-1!==e.indexOf("0x")?t=Number.parseInt(e,16):-1!==e.indexOf(".")?(t=Number.parseFloat(e),e=e.replace(/\.?0+$/,"")):t=Number.parseInt(e,10),n&&(t=String(t)===e?t:e)),t}return r.isExist(e)?e:""}t.props=a;const l=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])(.*?)\\3)?","g");function d(e,t){if(!t.ignoreAttributes&&"string"==typeof e){e=e.replace(/\r?\n/g," ");const n=r.getAllMatches(e,l),i=n.length,o={};for(let e=0;e"===t)return{data:r,index:i};"\t"===t&&(t=" ")}r+=t}}function p(e,t,n,r){const i=e.indexOf(t,n);if(-1===i)throw new Error(r);return i+t.length-1}t.getTraversalObj=function(e,t){e=e.replace(/\r\n?/g,"\n"),t=i(t,s,a);const n=new o("!xml");let c=n,f="";for(let n=0;n",n,"Closing Tag is not closed.");let o=e.substring(n+2,i).trim();if(t.ignoreNameSpace){const e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}c&&(c.val?c.val=r.getValue(c.val)+""+u(o,f,t):c.val=u(o,f,t)),t.stopNodes.length&&t.stopNodes.includes(c.tagname)&&(c.child=[],null==c.attrsMap&&(c.attrsMap={}),c.val=e.substr(c.startIndex+1,n-c.startIndex-1)),c=c.parent,f="",n=i}else if("?"===e[n+1])n=p(e,"?>",n,"Pi Tag is not closed.");else if("!--"===e.substr(n+1,3))n=p(e,"--\x3e",n,"Comment is not closed.");else if("!D"===e.substr(n+1,2)){const t=p(e,">",n,"DOCTYPE is not closed.");n=e.substring(n,t).indexOf("[")>=0?e.indexOf("]>",n)+1:t}else if("!["===e.substr(n+1,2)){const i=p(e,"]]>",n,"CDATA is not closed.")-2,s=e.substring(n+9,i);if(f&&(c.val=r.getValue(c.val)+""+u(c.tagname,f,t),f=""),t.cdataTagName){const e=new o(t.cdataTagName,c,s);c.addChild(e),c.val=r.getValue(c.val)+t.cdataPositionChar,s&&(e.val=s)}else c.val=(c.val||"")+(s||"");n=i+2}else{const i=h(e,n+1);let s=i.data;const a=i.index,l=s.indexOf(" ");let p=s;if(-1!==l&&(p=s.substr(0,l).replace(/\s\s*$/,""),s=s.substr(l+1)),t.ignoreNameSpace){const e=p.indexOf(":");-1!==e&&(p=p.substr(e+1))}if(c&&f&&"!xml"!==c.tagname&&(c.val=r.getValue(c.val)+""+u(c.tagname,f,t)),s.length>0&&s.lastIndexOf("/")===s.length-1){"/"===p[p.length-1]?(p=p.substr(0,p.length-1),s=p):s=s.substr(0,s.length-1);const e=new o(p,c,"");p!==s&&(e.attrsMap=d(s,t)),c.addChild(e)}else{const e=new o(p,c);t.stopNodes.length&&t.stopNodes.includes(e.tagname)&&(e.startIndex=a),p!==s&&(e.attrsMap=d(s,t)),c.addChild(e),c=e}f="",n=a}else f+=e[n]}return n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return s}));var r="undefined"!=typeof Symbol&&"function"==typeof Symbol.for,i=r?Symbol.for("INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER"):"@@INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER",o=r?Symbol.for("INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER"):"@@INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER",s="x-amz-user-agent"},function(e,t,n){"use strict";n.d(t,"a",(function(){return _}));var r=n(44),i=n(148),o=n(28),s=n(16),a=n(77);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var c=function(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=r;if("+"!==s&&s!==a)return!1}return r===i.length})(r,e)&&n.push(t)}));var r=JSON.parse(t);"object"===h(r)&&(r[A]=e),n.forEach((function(e){e.forEach((function(e){return e.next(r)}))}))}catch(e){w.warn("Error handling message",e,t)}},t.prototype.subscribe=function(e,t){var n=this;void 0===t&&(t={});var i=[].concat(e);return w.debug("Subscribing to topic(s)",i.join(",")),new r.a((function(e){var r;i.forEach((function(t){var r=n._topicObservers.get(t);r||(r=new Set,n._topicObservers.set(t,r)),r.add(e)}));var o=t.clientId,s=void 0===o?n.clientId:o,a=n._clientIdObservers.get(s);return a||(a=new Set),a.add(e),n._clientIdObservers.set(s,a),m(n,void 0,void 0,(function(){var n,o,a,u;return b(this,(function(c){switch(c.label){case 0:return void 0!==(n=t.url)?[3,2]:[4,this.endpoint];case 1:return a=c.sent(),[3,3];case 2:a=n,c.label=3;case 3:o=a,c.label=4;case 4:return c.trys.push([4,6,,7]),[4,this.connect(s,{url:o})];case 5:return r=c.sent(),i.forEach((function(e){r.subscribe(e)})),[3,7];case 6:return u=c.sent(),e.error(u),[3,7];case 7:return[2]}}))})),function(){return w.debug("Unsubscribing from topic(s)",i.join(",")),r&&(n._clientIdObservers.get(s).delete(e),0===n._clientIdObservers.get(s).size&&(n.disconnect(s),n._clientIdObservers.delete(s)),i.forEach((function(t){var i=n._topicObservers.get(t)||new Set;i.delete(e),0===i.size&&(n._topicObservers.delete(t),r.isConnected()&&r.unsubscribe(t))}))),null}}))},t}(d),k=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),O=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},x=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},P=function(){for(var e=[],t=0;t-1}));if(r){var i=r.client,o=r.url;e[i]||(e[i]={url:o,topics:new Set}),e[i].topics.add(t)}return e}),{})),[4,Promise.all(a.map((function(e){var t=T(e,2),n=t[0],i=t[1],o=i.url,s=i.topics;return O(u,void 0,void 0,(function(){var e,t,i=this;return x(this,(function(a){switch(a.label){case 0:e=null,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.connect(n,{clientId:n,url:o})];case 2:return e=a.sent(),[3,4];case 3:return t=a.sent(),r.error({message:"Failed to connect",error:t}),r.complete(),[2,void 0];case 4:return s.forEach((function(t){e.isConnected()&&(e.subscribe(t),i._topicClient.set(t,e))})),[2,e]}}))}))})))];case 1:return c.sent(),[2]}}))})),function(){N.debug("Unsubscribing from topic(s)",i.join(",")),i.forEach((function(e){var t=n._topicClient.get(e);t&&t.isConnected()&&(t.unsubscribe(e),n._topicClient.delete(e),Array.from(n._topicClient.values()).some((function(e){return e===t}))||n.disconnect(t.clientId)),n._topicObservers.delete(e)}))}}));return r.a.from(i).map((function(e){var t=n.getTopicForValue(e),r=n._topicAlias.get(t);return e.data=Object.entries(e.data).reduce((function(e,t){var n=T(t,2),i=n[0],o=n[1];return e[r||i]=o,e}),{}),e}))},t}(I),L=n(91),j=n(16),D=n(6),U=n(88),B=n(5),F=n(514),z=n(89),q=n(104),K=n(26),H=n(42),V=n(34),G=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),W=function(){return(W=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Z=new o.a("AWSAppSyncRealTimeProvider"),X="undefined"!=typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("amplify_default"):"@@amplify_default",Q=[400,401,403];!function(e){e.GQL_CONNECTION_INIT="connection_init",e.GQL_CONNECTION_ERROR="connection_error",e.GQL_CONNECTION_ACK="connection_ack",e.GQL_START="start",e.GQL_START_ACK="start_ack",e.GQL_DATA="data",e.GQL_CONNECTION_KEEP_ALIVE="ka",e.GQL_STOP="stop",e.GQL_COMPLETE="complete",e.GQL_ERROR="error"}(_||(_={})),function(e){e[e.PENDING=0]="PENDING",e[e.CONNECTED=1]="CONNECTED",e[e.FAILED=2]="FAILED"}(S||(S={})),function(e){e[e.CLOSED=0]="CLOSED",e[e.READY=1]="READY",e[e.CONNECTING=2]="CONNECTING"}(E||(E={}));var ee={accept:"application/json, text/javascript","content-encoding":"amz-1.0","content-type":"application/json; charset=UTF-8"},te=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.socketStatus=E.CLOSED,t.keepAliveTimeout=3e5,t.subscriptionObserverMap=new Map,t.promiseArray=[],t}return G(t,e),t.prototype.getProviderName=function(){return"AWSAppSyncRealTimeProvider"},t.prototype.newClient=function(){throw new Error("Not used here")},t.prototype.publish=function(e,t,n){return $(this,void 0,void 0,(function(){return Y(this,(function(e){throw new Error("Operation not supported")}))}))},t.prototype.subscribe=function(e,t){var n=this,i=t.appSyncGraphqlEndpoint;return new r.a((function(e){if(i){var r=Object(c.v4)();return n._startSubscriptionWithAWSAppSyncRealTime({options:t,observer:e,subscriptionId:r}),function(){return $(n,void 0,void 0,(function(){var e,t;return Y(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,3,4]),[4,this._waitForSubscriptionToBeConnected(r)];case 1:if(n.sent(),!(e=(this.subscriptionObserverMap.get(r)||{}).subscriptionState))return[2];if(e!==S.CONNECTED)throw new Error("Subscription never connected");return this._sendUnsubscriptionMessage(r),[3,4];case 2:return t=n.sent(),Z.debug("Error while unsubscribing "+t),[3,4];case 3:return this._removeSubscriptionObserver(r),[7];case 4:return[2]}}))}))}}e.error({errors:[W({},new L.a("Subscribe only available for AWS AppSync endpoint"))]}),e.complete()}))},Object.defineProperty(t.prototype,"isSSLEnabled",{get:function(){return!this.options.aws_appsync_dangerously_connect_to_http_endpoint_for_testing},enumerable:!0,configurable:!0}),t.prototype._startSubscriptionWithAWSAppSyncRealTime=function(e){var t=e.options,n=e.observer,r=e.subscriptionId;return $(this,void 0,void 0,(function(){var e,i,o,a,u,c,f,l,d,h,p,v,g,m,b,y,w,E,M,A,I,k,O,x,C,T,P=this;return Y(this,(function(N){switch(N.label){case 0:return e=t.appSyncGraphqlEndpoint,i=t.authenticationType,o=t.query,a=t.variables,u=t.apiKey,c=t.region,f=t.graphql_headers,l=void 0===f?function(){return{}}:f,d=t.additionalHeaders,h=void 0===d?{}:d,p=S.PENDING,v={query:o,variables:a},this.subscriptionObserverMap.set(r,{observer:n,query:o,variables:a,subscriptionState:p,startAckTimeoutId:null}),g=JSON.stringify(v),b=[{}],[4,this._awsRealTimeHeaderBasedAuth({apiKey:u,appSyncGraphqlEndpoint:e,authenticationType:i,payload:g,canonicalUri:"",region:c})];case 1:return y=[W.apply(void 0,b.concat([N.sent()]))],[4,l()];case 2:m=W.apply(void 0,[W.apply(void 0,[W.apply(void 0,y.concat([N.sent()])),h]),(T={},T[s.c]=B.a.userAgent,T)]),w={id:r,payload:{data:g,extensions:{authorization:W({},m)}},type:_.GQL_START},E=JSON.stringify(w),N.label=3;case 3:return N.trys.push([3,5,,6]),[4,this._initializeWebSocketConnection({apiKey:u,appSyncGraphqlEndpoint:e,authenticationType:i,region:c})];case 4:return N.sent(),[3,6];case 5:return M=N.sent(),Z.debug({err:M}),A=M.message,I=void 0===A?"":A,n.error({errors:[W({},new L.a("Connection failed: "+I))]}),n.complete(),"function"==typeof(k=(this.subscriptionObserverMap.get(r)||{}).subscriptionFailedCallback)&&k(),[2];case 6:return O=this.subscriptionObserverMap.get(r),x=O.subscriptionFailedCallback,C=O.subscriptionReadyCallback,this.subscriptionObserverMap.set(r,{observer:n,subscriptionState:p,variables:a,query:o,subscriptionReadyCallback:C,subscriptionFailedCallback:x,startAckTimeoutId:setTimeout((function(){P._timeoutStartSubscriptionAck.call(P,r)}),15e3)}),this.awsRealTimeSocket&&this.awsRealTimeSocket.send(E),[2]}}))}))},t.prototype._waitForSubscriptionToBeConnected=function(e){return $(this,void 0,void 0,(function(){var t=this;return Y(this,(function(n){return this.subscriptionObserverMap.get(e).subscriptionState===S.PENDING?[2,new Promise((function(n,r){var i=t.subscriptionObserverMap.get(e),o=i.observer,s=i.subscriptionState,a=i.variables,u=i.query;t.subscriptionObserverMap.set(e,{observer:o,subscriptionState:s,variables:a,query:u,subscriptionReadyCallback:n,subscriptionFailedCallback:r})}))]:[2]}))}))},t.prototype._sendUnsubscriptionMessage=function(e){try{if(this.awsRealTimeSocket&&this.awsRealTimeSocket.readyState===WebSocket.OPEN&&this.socketStatus===E.READY){var t={id:e,type:_.GQL_STOP},n=JSON.stringify(t);this.awsRealTimeSocket.send(n)}}catch(e){Z.debug({err:e})}},t.prototype._removeSubscriptionObserver=function(e){this.subscriptionObserverMap.delete(e),setTimeout(this._closeSocketIfRequired.bind(this),1e3)},t.prototype._closeSocketIfRequired=function(){if(!(this.subscriptionObserverMap.size>0))if(this.awsRealTimeSocket)if(this.awsRealTimeSocket.bufferedAmount>0)setTimeout(this._closeSocketIfRequired.bind(this),1e3);else{Z.debug("closing WebSocket..."),clearTimeout(this.keepAliveTimeoutId);var e=this.awsRealTimeSocket;e.onclose=void 0,e.onerror=void 0,e.close(1e3),this.awsRealTimeSocket=null,this.socketStatus=E.CLOSED}else this.socketStatus=E.CLOSED},t.prototype._handleIncomingSubscriptionMessage=function(e){Z.debug("subscription message from AWS AppSync RealTime: "+e.data);var t=JSON.parse(e.data),n=t.id,r=void 0===n?"":n,i=t.payload,o=t.type,s=this.subscriptionObserverMap.get(r)||{},a=s.observer,u=void 0===a?null:a,c=s.query,f=void 0===c?"":c,l=s.variables,d=void 0===l?{}:l,h=s.startAckTimeoutId,p=s.subscriptionReadyCallback,v=s.subscriptionFailedCallback;if(Z.debug({id:r,observer:u,query:f,variables:d}),o===_.GQL_DATA&&i&&i.data)u?u.next(i):Z.debug("observer not found for id: "+r);else if(o!==_.GQL_START_ACK){if(o===_.GQL_CONNECTION_KEEP_ALIVE)return clearTimeout(this.keepAliveTimeoutId),void(this.keepAliveTimeoutId=setTimeout(this._errorDisconnect.bind(this,V.a.TIMEOUT_DISCONNECT),this.keepAliveTimeout));if(o===_.GQL_ERROR){g=S.FAILED;this.subscriptionObserverMap.set(r,{observer:u,query:f,variables:d,startAckTimeoutId:h,subscriptionReadyCallback:p,subscriptionFailedCallback:v,subscriptionState:g}),u.error({errors:[W({},new L.a("Connection failed: "+JSON.stringify(i)))]}),clearTimeout(h),u.complete(),"function"==typeof v&&v()}}else{Z.debug("subscription ready for "+JSON.stringify({query:f,variables:d})),"function"==typeof p&&p(),clearTimeout(h),function(e,t,n){U.a.dispatch("api",{event:e,data:t,message:n},"PubSub",X)}(V.a.SUBSCRIPTION_ACK,{query:f,variables:d},"Connection established for subscription");var g=S.CONNECTED;this.subscriptionObserverMap.set(r,{observer:u,query:f,variables:d,startAckTimeoutId:null,subscriptionState:g,subscriptionReadyCallback:p,subscriptionFailedCallback:v})}},t.prototype._errorDisconnect=function(e){Z.debug("Disconnect error: "+e),this.subscriptionObserverMap.forEach((function(t){var n=t.observer;n&&!n.closed&&n.error({errors:[W({},new L.a(e))]})})),this.subscriptionObserverMap.clear(),this.awsRealTimeSocket&&this.awsRealTimeSocket.close(),this.socketStatus=E.CLOSED},t.prototype._timeoutStartSubscriptionAck=function(e){var t=this.subscriptionObserverMap.get(e)||{},n=t.observer,r=t.query,i=t.variables;n&&(this.subscriptionObserverMap.set(e,{observer:n,query:r,variables:i,subscriptionState:S.FAILED}),n&&!n.closed&&(n.error({errors:[W({},new L.a("Subscription timeout "+JSON.stringify({query:r,variables:i})))]}),n.complete()),Z.debug("timeoutStartSubscription",JSON.stringify({query:r,variables:i})))},t.prototype._initializeWebSocketConnection=function(e){var t=this,n=e.appSyncGraphqlEndpoint,r=e.authenticationType,i=e.apiKey,o=e.region;if(this.socketStatus!==E.READY)return new Promise((function(e,s){return $(t,void 0,void 0,(function(){var t,a,u,c,f,l,d,h,p,v;return Y(this,(function(g){switch(g.label){case 0:if(this.promiseArray.push({res:e,rej:s}),this.socketStatus!==E.CLOSED)return[3,5];g.label=1;case 1:return g.trys.push([1,4,,5]),this.socketStatus=E.CONNECTING,t=this.isSSLEnabled?"wss://":"ws://",a=n.replace("https://",t).replace("http://",t).replace("appsync-api","appsync-realtime-api").replace("gogi-beta","grt-beta"),u="{}",l=(f=JSON).stringify,[4,this._awsRealTimeHeaderBasedAuth({authenticationType:r,payload:u,canonicalUri:"/connect",apiKey:i,appSyncGraphqlEndpoint:n,region:o})];case 2:return c=l.apply(f,[g.sent()]),d=D.Buffer.from(c).toString("base64"),h=D.Buffer.from(u).toString("base64"),p=a+"?header="+d+"&payload="+h,[4,this._initializeRetryableHandshake({awsRealTimeUrl:p})];case 3:return g.sent(),this.promiseArray.forEach((function(e){var t=e.res;Z.debug("Notifying connection successful"),t()})),this.socketStatus=E.READY,this.promiseArray=[],[3,5];case 4:return v=g.sent(),this.promiseArray.forEach((function(e){return(0,e.rej)(v)})),this.promiseArray=[],this.awsRealTimeSocket&&this.awsRealTimeSocket.readyState===WebSocket.OPEN&&this.awsRealTimeSocket.close(3001),this.awsRealTimeSocket=null,this.socketStatus=E.CLOSED,[3,5];case 5:return[2]}}))}))}))},t.prototype._initializeRetryableHandshake=function(e){var t=e.awsRealTimeUrl;return $(this,void 0,void 0,(function(){return Y(this,(function(e){switch(e.label){case 0:return Z.debug("Initializaling retryable Handshake"),[4,Object(F.b)(this._initializeHandshake.bind(this),[{awsRealTimeUrl:t}],5e3)];case 1:return e.sent(),[2]}}))}))},t.prototype._initializeHandshake=function(e){var t=e.awsRealTimeUrl;return $(this,void 0,void 0,(function(){var e,n,r,i=this;return Y(this,(function(o){switch(o.label){case 0:Z.debug("Initializing handshake "+t),o.label=1;case 1:return o.trys.push([1,4,,5]),[4,new Promise((function(e,n){var r=new WebSocket(t,"graphql-ws");r.onerror=function(){Z.debug("WebSocket connection error")},r.onclose=function(){n(new Error("Connection handshake error"))},r.onopen=function(){return i.awsRealTimeSocket=r,e()}}))];case 2:return o.sent(),[4,new Promise((function(e,t){var n=!1;i.awsRealTimeSocket.onerror=function(e){Z.debug("WebSocket error "+JSON.stringify(e))},i.awsRealTimeSocket.onclose=function(e){Z.debug("WebSocket closed "+e.reason),t(new Error(JSON.stringify(e)))},i.awsRealTimeSocket.onmessage=function(r){Z.debug("subscription message from AWS AppSyncRealTime: "+r.data+" ");var o=JSON.parse(r.data),s=o.type,a=o.payload,u=(void 0===a?{}:a).connectionTimeoutMs,c=void 0===u?3e5:u;if(s===_.GQL_CONNECTION_ACK)return n=!0,i.keepAliveTimeout=c,i.awsRealTimeSocket.onmessage=i._handleIncomingSubscriptionMessage.bind(i),i.awsRealTimeSocket.onerror=function(e){Z.debug(e),i._errorDisconnect(V.a.CONNECTION_CLOSED)},i.awsRealTimeSocket.onclose=function(e){Z.debug("WebSocket closed "+e.reason),i._errorDisconnect(V.a.CONNECTION_CLOSED)},void e("Cool, connected to AWS AppSyncRealTime");if(s===_.GQL_CONNECTION_ERROR){var f=o.payload,l=(void 0===f?{}:f).errors,d=J(void 0===l?[]:l,1)[0],h=void 0===d?{}:d,p=h.errorType,v=void 0===p?"":p,g=h.errorCode;t({errorType:v,errorCode:void 0===g?0:g})}};var r={type:_.GQL_CONNECTION_INIT};i.awsRealTimeSocket.send(JSON.stringify(r)),setTimeout(function(){n||t(new Error("Connection timeout: ack from AWSRealTime was not received on 15000 ms"))}.bind(i),15e3)}))];case 3:return o.sent(),[3,5];case 4:throw e=o.sent(),n=e.errorType,r=e.errorCode,Q.includes(r)?new F.a(n):n?new Error(n):e;case 5:return[2]}}))}))},t.prototype._awsRealTimeHeaderBasedAuth=function(e){var t=e.authenticationType,n=e.payload,r=e.canonicalUri,i=e.appSyncGraphqlEndpoint,o=e.apiKey,s=e.region;return $(this,void 0,void 0,(function(){var e,a,u;return Y(this,(function(c){switch(c.label){case 0:return e={API_KEY:this._awsRealTimeApiKeyHeader.bind(this),AWS_IAM:this._awsRealTimeIAMHeader.bind(this),OPENID_CONNECT:this._awsRealTimeOPENIDHeader.bind(this),AMAZON_COGNITO_USER_POOLS:this._awsRealTimeCUPHeader.bind(this)},"function"!=typeof(a=e[t])?(Z.debug("Authentication type "+t+" not supported"),[2,""]):(u=j.parse(i).host,[4,a({payload:n,canonicalUri:r,appSyncGraphqlEndpoint:i,apiKey:o,region:s,host:u})]);case 1:return[2,c.sent()]}}))}))},t.prototype._awsRealTimeCUPHeader=function(e){var t=e.host;return $(this,void 0,void 0,(function(){return Y(this,(function(e){switch(e.label){case 0:return[4,H.a.currentSession()];case 1:return[2,{Authorization:e.sent().getAccessToken().getJwtToken(),host:t}]}}))}))},t.prototype._awsRealTimeOPENIDHeader=function(e){var t=e.host;return $(this,void 0,void 0,(function(){var e,n,r;return Y(this,(function(i){switch(i.label){case 0:return[4,K.a.getItem("federatedInfo")];case 1:return(n=i.sent())?(e=n.token,[3,4]):[3,2];case 2:return[4,H.a.currentAuthenticatedUser()];case 3:(r=i.sent())&&(e=r.token),i.label=4;case 4:if(!e)throw new Error("No federated jwt");return[2,{Authorization:e,host:t}]}}))}))},t.prototype._awsRealTimeApiKeyHeader=function(e){var t=e.apiKey,n=e.host;return $(this,void 0,void 0,(function(){var e,r;return Y(this,(function(i){return e=new Date,r=e.toISOString().replace(/[:\-]|\.\d{3}/g,""),[2,{host:n,"x-amz-date":r,"x-api-key":t}]}))}))},t.prototype._awsRealTimeIAMHeader=function(e){var t=e.payload,n=e.canonicalUri,r=e.appSyncGraphqlEndpoint,i=e.region;return $(this,void 0,void 0,(function(){var e,o,s;return Y(this,(function(a){switch(a.label){case 0:return e={region:i,service:"appsync"},[4,this._ensureCredentials()];case 1:if(!a.sent())throw new Error("No credentials");return[4,z.a.get().then((function(e){return{secret_key:e.secretAccessKey,access_key:e.accessKeyId,session_token:e.sessionToken}}))];case 2:return o=a.sent(),s={url:""+r+n,data:t,method:"POST",headers:W({},ee)},[2,q.a.sign(s,o,e).headers]}}))}))},t.prototype._ensureCredentials=function(){return z.a.get().then((function(e){if(!e)return!1;var t=z.a.shear(e);return Z.debug("set credentials for AWSAppSyncRealTimeProvider",t),!0})).catch((function(e){return Z.warn("ensure credentials error",e),!1}))},t}(d),ne=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},re=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]>>8^o[255&(this.checksum^a)]}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return this},e.prototype.digest=function(){return(4294967295^this.checksum)>>>0},e}();t.Crc32=i;var o=Uint32Array.from([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117])},function(e,t,n){var r=n(431);e.exports=function(e,t){return r(e,t)}},function(e,t,n){var r=n(483),i=n(484),o=i;o.v1=r,o.v4=i,e.exports=o},function(e,t,n){"use strict";n.d(t,"a",(function(){return M}));var r=n(107),i=n(1),o=n(28),s=function(){function e(e){if(this.bytes=e,8!==e.byteLength)throw new Error("Int64 buffers must be exactly 8 bytes")}return e.fromNumber=function(t){if(t>0x8000000000000000||t<-0x8000000000000000)throw new Error(t+" is too large (or, if negative, too small) to represent as an Int64");for(var n=new Uint8Array(8),r=7,i=Math.abs(Math.round(t));r>-1&&i>0;r--,i/=256)n[r]=i;return t<0&&a(n),new e(n)},e.prototype.valueOf=function(){var e=this.bytes.slice(0),t=128&e[0];return t&&a(e),parseInt(Object(o.b)(e),16)*(t?-1:1)},e.prototype.toString=function(){return String(this.valueOf())},e}();function a(e){for(var t=0;t<8;t++)e[t]^=255;for(t=7;t>-1&&(e[t]++,0===e[t]);t--);}var u,c=function(){function e(e,t){this.toUtf8=e,this.fromUtf8=t}return e.prototype.format=function(e){var t,n,r,o,s=[];try{for(var a=Object(i.__values)(Object.keys(e)),u=a.next();!u.done;u=a.next()){var c=u.value,f=this.fromUtf8(c);s.push(Uint8Array.from([f.byteLength]),f,this.formatHeaderValue(e[c]))}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}var l=new Uint8Array(s.reduce((function(e,t){return e+t.byteLength}),0)),d=0;try{for(var h=Object(i.__values)(s),p=h.next();!p.done;p=h.next()){var v=p.value;l.set(v,d),d+=v.byteLength}}catch(e){r={error:e}}finally{try{p&&!p.done&&(o=h.return)&&o.call(h)}finally{if(r)throw r.error}}return l},e.prototype.formatHeaderValue=function(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":var t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":var n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":var r=new Uint8Array(9);return r[0]=5,r.set(e.value.bytes,1),r;case"binary":var i=new DataView(new ArrayBuffer(3+e.value.byteLength));i.setUint8(0,6),i.setUint16(1,e.value.byteLength,!1);var a=new Uint8Array(i.buffer);return a.set(e.value,3),a;case"string":var u=this.fromUtf8(e.value),c=new DataView(new ArrayBuffer(3+u.byteLength));c.setUint8(0,7),c.setUint16(1,u.byteLength,!1);var f=new Uint8Array(c.buffer);return f.set(u,3),f;case"timestamp":var l=new Uint8Array(9);return l[0]=8,l.set(s.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!y.test(e.value))throw new Error("Invalid UUID received: "+e.value);var d=new Uint8Array(17);return d[0]=9,d.set(Object(o.a)(e.value.replace(/\-/g,"")),1),d}},e.prototype.parse=function(e){for(var t={},n=0;n-1&&delete e.headers[a]}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return e}function E(e){return function(e){if("number"==typeof e)return new Date(1e3*e);if("string"==typeof e)return Number(e)?new Date(1e3*Number(e)):new Date(e);return e}(e).toISOString().replace(/\.\d{3}Z$/,"Z")}var M=function(){function e(e){var t=e.applyChecksum,n=e.credentials,r=e.region,i=e.service,o=e.sha256,s=e.uriEscapePath,a=void 0===s||s;this.service=i,this.sha256=o,this.uriEscapePath=a,this.applyChecksum="boolean"!=typeof t||t,this.regionProvider=k(r),this.credentialProvider=O(n)}return e.prototype.presign=function(e,t){return void 0===t&&(t={}),Object(r.__awaiter)(this,void 0,void 0,(function(){var n,i,o,s,a,u,c,f,l,d,h,v,m,b,_,E,M,k,O,x,C,T,P;return Object(r.__generator)(this,(function(N){switch(N.label){case 0:return n=t.signingDate,i=void 0===n?new Date:n,o=t.expiresIn,s=void 0===o?3600:o,a=t.unsignableHeaders,u=t.signableHeaders,c=t.signingRegion,f=t.signingService,[4,this.credentialProvider()];case 1:return l=N.sent(),null==c?[3,2]:(h=c,[3,4]);case 2:return[4,this.regionProvider()];case 3:h=N.sent(),N.label=4;case 4:return d=h,v=A(i),m=v.longDate,b=v.shortDate,s>604800?[2,Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future")]:(_=p(b,d,null!=f?f:this.service),E=function(e){var t,n,i="function"==typeof e.clone?e.clone():w(e),o=i.headers,s=i.query,a=void 0===s?{}:s;try{for(var u=Object(r.__values)(Object.keys(o)),c=u.next();!c.done;c=u.next()){var f=c.value;"x-amz-"===f.toLowerCase().substr(0,6)&&(a[f]=o[f],delete o[f])}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return Object(r.__assign)(Object(r.__assign)({},e),{headers:o,query:a})}(S(e)),l.sessionToken&&(E.query["X-Amz-Security-Token"]=l.sessionToken),E.query["X-Amz-Algorithm"]="AWS4-HMAC-SHA256",E.query["X-Amz-Credential"]=l.accessKeyId+"/"+_,E.query["X-Amz-Date"]=m,E.query["X-Amz-Expires"]=s.toString(10),M=g(E,a,u),E.query["X-Amz-SignedHeaders"]=I(M),k=E.query,O="X-Amz-Signature",x=this.getSignature,C=[m,_,this.getSigningKey(l,d,b,f)],T=this.createCanonicalRequest,P=[E,M],[4,y(e,this.sha256)]);case 5:return[4,x.apply(this,C.concat([T.apply(this,P.concat([N.sent()]))]))];case 6:return k[O]=N.sent(),[2,E]}}))}))},e.prototype.sign=function(e,t){return Object(r.__awaiter)(this,void 0,void 0,(function(){return Object(r.__generator)(this,(function(n){return"string"==typeof e?[2,this.signString(e,t)]:e.headers&&e.payload?[2,this.signEvent(e,t)]:[2,this.signRequest(e,t)]}))}))},e.prototype.signEvent=function(e,t){var n=e.headers,i=e.payload,o=t.signingDate,s=void 0===o?new Date:o,a=t.priorSignature,u=t.signingRegion,c=t.signingService;return Object(r.__awaiter)(this,void 0,void 0,(function(){var e,t,o,f,d,h,g,m,b,w,_;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return null==u?[3,1]:(t=u,[3,3]);case 1:return[4,this.regionProvider()];case 2:t=r.sent(),r.label=3;case 3:return e=t,o=A(s),f=o.shortDate,d=o.longDate,h=p(f,e,null!=c?c:this.service),[4,y({headers:{},body:i},this.sha256)];case 4:return g=r.sent(),(m=new this.sha256).update(n),w=v.b,[4,m.digest()];case 5:return b=w.apply(void 0,[r.sent()]),_=[l,d,h,a,b,g].join("\n"),[2,this.signString(_,{signingDate:s,signingRegion:e,signingService:c})]}}))}))},e.prototype.signString=function(e,t){var n=void 0===t?{}:t,i=n.signingDate,o=void 0===i?new Date:i,s=n.signingRegion,a=n.signingService;return Object(r.__awaiter)(this,void 0,void 0,(function(){var t,n,i,u,c,f,l,d;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return[4,this.credentialProvider()];case 1:return t=r.sent(),null==s?[3,2]:(i=s,[3,4]);case 2:return[4,this.regionProvider()];case 3:i=r.sent(),r.label=4;case 4:return n=i,u=A(o).shortDate,l=(f=this.sha256).bind,[4,this.getSigningKey(t,n,u,a)];case 5:return(c=new(l.apply(f,[void 0,r.sent()]))).update(e),d=v.b,[4,c.digest()];case 6:return[2,d.apply(void 0,[r.sent()])]}}))}))},e.prototype.signRequest=function(e,t){var n=void 0===t?{}:t,o=n.signingDate,s=void 0===o?new Date:o,u=n.signableHeaders,c=n.unsignableHeaders,f=n.signingRegion,l=n.signingService;return Object(r.__awaiter)(this,void 0,void 0,(function(){var t,n,o,d,h,v,m,b,w,_,E;return Object(r.__generator)(this,(function(M){switch(M.label){case 0:return[4,this.credentialProvider()];case 1:return t=M.sent(),null==f?[3,2]:(o=f,[3,4]);case 2:return[4,this.regionProvider()];case 3:o=M.sent(),M.label=4;case 4:return n=o,d=S(e),h=A(s),v=h.longDate,m=h.shortDate,b=p(m,n,null!=l?l:this.service),d.headers[i]=v,t.sessionToken&&(d.headers[a]=t.sessionToken),[4,y(d,this.sha256)];case 5:return w=M.sent(),!function(e,t){var n,i;e=e.toLowerCase();try{for(var o=Object(r.__values)(Object.keys(t)),s=o.next();!s.done;s=o.next()){if(e===s.value.toLowerCase())return!0}}catch(e){n={error:e}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return!1}("x-amz-content-sha256",d.headers)&&this.applyChecksum&&(d.headers["x-amz-content-sha256"]=w),_=g(d,c,u),[4,this.getSignature(v,b,this.getSigningKey(t,n,m,l),this.createCanonicalRequest(d,_,w))];case 6:return E=M.sent(),d.headers.authorization="AWS4-HMAC-SHA256 Credential="+t.accessKeyId+"/"+b+", SignedHeaders="+I(_)+", Signature="+E,[2,d]}}))}))},e.prototype.createCanonicalRequest=function(e,t,n){var i=Object.keys(t).sort();return e.method+"\n"+this.getCanonicalPath(e)+"\n"+function(e){var t,n,i=e.query,o=void 0===i?{}:i,a=[],u={},c=function(e){if(e.toLowerCase()===s)return"continue";a.push(e);var t=o[e];"string"==typeof t?u[e]=Object(m.a)(e)+"="+Object(m.a)(t):Array.isArray(t)&&(u[e]=t.slice(0).sort().reduce((function(t,n){return t.concat([Object(m.a)(e)+"="+Object(m.a)(n)])}),[]).join("&"))};try{for(var f=Object(r.__values)(Object.keys(o).sort()),l=f.next();!l.done;l=f.next()){c(l.value)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=f.return)&&n.call(f)}finally{if(t)throw t.error}}return a.map((function(e){return u[e]})).filter((function(e){return e})).join("&")}(e)+"\n"+i.map((function(e){return e+":"+t[e]})).join("\n")+"\n\n"+i.join(";")+"\n"+n},e.prototype.createStringToSign=function(e,t,n){return Object(r.__awaiter)(this,void 0,void 0,(function(){var i,o;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return(i=new this.sha256).update(n),[4,i.digest()];case 1:return o=r.sent(),[2,"AWS4-HMAC-SHA256\n"+e+"\n"+t+"\n"+Object(v.b)(o)]}}))}))},e.prototype.getCanonicalPath=function(e){var t=e.path;return this.uriEscapePath?"/"+encodeURIComponent(t.replace(/^\//,"")).replace(/%2F/g,"/"):t},e.prototype.getSignature=function(e,t,n,i){return Object(r.__awaiter)(this,void 0,void 0,(function(){var o,s,a,u,c;return Object(r.__generator)(this,(function(r){switch(r.label){case 0:return[4,this.createStringToSign(e,t,i)];case 1:return o=r.sent(),u=(a=this.sha256).bind,[4,n];case 2:return(s=new(u.apply(a,[void 0,r.sent()]))).update(o),c=v.b,[4,s.digest()];case 3:return[2,c.apply(void 0,[r.sent()])]}}))}))},e.prototype.getSigningKey=function(e,t,n,i){return function(e,t,n,i,o){var s=n+":"+i+":"+o+":"+t.accessKeyId+":"+t.sessionToken;if(s in d)return d[s];for(h.push(s);h.length>50;)delete d[h.shift()];return d[s]=new Promise((function(a,u){var c,f,l=Promise.resolve("AWS4"+t.secretAccessKey),h=function(t){(l=l.then((function(n){return r=t,(i=new e(n)).update(r),i.digest();var r,i}))).catch((function(){}))};try{for(var p=Object(r.__values)([n,i,o,"aws4_request"]),v=p.next();!v.done;v=p.next()){h(v.value)}}catch(e){c={error:e}}finally{try{v&&!v.done&&(f=p.return)&&f.call(p)}finally{if(c)throw c.error}}l.then(a,(function(e){delete d[s],u(e)}))}))}(this.sha256,e,n,t,i||this.service)},e}(),A=function(e){var t=E(e).replace(/[\-:]/g,"");return{longDate:t,shortDate:t.substr(0,8)}},I=function(e){return Object.keys(e).sort().join(";")},k=function(e){if("string"==typeof e){var t=Promise.resolve(e);return function(){return t}}return e},O=function(e){if("object"==typeof e){var t=Promise.resolve(e);return function(){return t}}return e}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(1),i=function(e){return Object(r.__assign)(Object(r.__assign)({},e),{eventStreamMarshaller:e.eventStreamSerdeProvider(e)})}},function(e,t,n){"use strict";var r=n(7),i=n(162),o=n(8).Buffer,s=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(e,t){return e<>>32-t}function c(e,t,n,r,i,o,s){return u(e+(t&n|~t&r)+i+o|0,s)+t|0}function f(e,t,n,r,i,o,s){return u(e+(t&r|n&~r)+i+o|0,s)+t|0}function l(e,t,n,r,i,o,s){return u(e+(t^n^r)+i+o|0,s)+t|0}function d(e,t,n,r,i,o,s){return u(e+(n^(t|~r))+i+o|0,s)+t|0}r(a,i),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,i=this._c,o=this._d;n=c(n,r,i,o,e[0],3614090360,7),o=c(o,n,r,i,e[1],3905402710,12),i=c(i,o,n,r,e[2],606105819,17),r=c(r,i,o,n,e[3],3250441966,22),n=c(n,r,i,o,e[4],4118548399,7),o=c(o,n,r,i,e[5],1200080426,12),i=c(i,o,n,r,e[6],2821735955,17),r=c(r,i,o,n,e[7],4249261313,22),n=c(n,r,i,o,e[8],1770035416,7),o=c(o,n,r,i,e[9],2336552879,12),i=c(i,o,n,r,e[10],4294925233,17),r=c(r,i,o,n,e[11],2304563134,22),n=c(n,r,i,o,e[12],1804603682,7),o=c(o,n,r,i,e[13],4254626195,12),i=c(i,o,n,r,e[14],2792965006,17),n=f(n,r=c(r,i,o,n,e[15],1236535329,22),i,o,e[1],4129170786,5),o=f(o,n,r,i,e[6],3225465664,9),i=f(i,o,n,r,e[11],643717713,14),r=f(r,i,o,n,e[0],3921069994,20),n=f(n,r,i,o,e[5],3593408605,5),o=f(o,n,r,i,e[10],38016083,9),i=f(i,o,n,r,e[15],3634488961,14),r=f(r,i,o,n,e[4],3889429448,20),n=f(n,r,i,o,e[9],568446438,5),o=f(o,n,r,i,e[14],3275163606,9),i=f(i,o,n,r,e[3],4107603335,14),r=f(r,i,o,n,e[8],1163531501,20),n=f(n,r,i,o,e[13],2850285829,5),o=f(o,n,r,i,e[2],4243563512,9),i=f(i,o,n,r,e[7],1735328473,14),n=l(n,r=f(r,i,o,n,e[12],2368359562,20),i,o,e[5],4294588738,4),o=l(o,n,r,i,e[8],2272392833,11),i=l(i,o,n,r,e[11],1839030562,16),r=l(r,i,o,n,e[14],4259657740,23),n=l(n,r,i,o,e[1],2763975236,4),o=l(o,n,r,i,e[4],1272893353,11),i=l(i,o,n,r,e[7],4139469664,16),r=l(r,i,o,n,e[10],3200236656,23),n=l(n,r,i,o,e[13],681279174,4),o=l(o,n,r,i,e[0],3936430074,11),i=l(i,o,n,r,e[3],3572445317,16),r=l(r,i,o,n,e[6],76029189,23),n=l(n,r,i,o,e[9],3654602809,4),o=l(o,n,r,i,e[12],3873151461,11),i=l(i,o,n,r,e[15],530742520,16),n=d(n,r=l(r,i,o,n,e[2],3299628645,23),i,o,e[0],4096336452,6),o=d(o,n,r,i,e[7],1126891415,10),i=d(i,o,n,r,e[14],2878612391,15),r=d(r,i,o,n,e[5],4237533241,21),n=d(n,r,i,o,e[12],1700485571,6),o=d(o,n,r,i,e[3],2399980690,10),i=d(i,o,n,r,e[10],4293915773,15),r=d(r,i,o,n,e[1],2240044497,21),n=d(n,r,i,o,e[8],1873313359,6),o=d(o,n,r,i,e[15],4264355552,10),i=d(i,o,n,r,e[6],2734768916,15),r=d(r,i,o,n,e[13],1309151649,21),n=d(n,r,i,o,e[4],4149444226,6),o=d(o,n,r,i,e[11],3174756917,10),i=d(i,o,n,r,e[2],718787259,15),r=d(r,i,o,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+r|0,this._c=this._c+i|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=a},function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this,n(31))},function(e,t,n){"use strict";var r=n(67).codes.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,n,o){if("function"==typeof n)return e(t,null,n);n||(n={}),o=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,r=new Array(n),i=0;i>>32-t}function v(e,t,n,r,i,o,s,a){return p(e+(t^n^r)+o+s|0,a)+i|0}function g(e,t,n,r,i,o,s,a){return p(e+(t&n|~t&r)+o+s|0,a)+i|0}function m(e,t,n,r,i,o,s,a){return p(e+((t|~n)^r)+o+s|0,a)+i|0}function b(e,t,n,r,i,o,s,a){return p(e+(t&r|n&~r)+o+s|0,a)+i|0}function y(e,t,n,r,i,o,s,a){return p(e+(t^(n|~r))+o+s|0,a)+i|0}i(h,o),h.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,r=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,w=0|this._a,_=0|this._b,S=0|this._c,E=0|this._d,M=0|this._e,A=0;A<80;A+=1){var I,k;A<16?(I=v(n,r,i,o,h,e[a[A]],l[0],c[A]),k=y(w,_,S,E,M,e[u[A]],d[0],f[A])):A<32?(I=g(n,r,i,o,h,e[a[A]],l[1],c[A]),k=b(w,_,S,E,M,e[u[A]],d[1],f[A])):A<48?(I=m(n,r,i,o,h,e[a[A]],l[2],c[A]),k=m(w,_,S,E,M,e[u[A]],d[2],f[A])):A<64?(I=b(n,r,i,o,h,e[a[A]],l[3],c[A]),k=g(w,_,S,E,M,e[u[A]],d[3],f[A])):(I=y(n,r,i,o,h,e[a[A]],l[4],c[A]),k=v(w,_,S,E,M,e[u[A]],d[4],f[A])),n=h,h=o,o=p(i,10),i=r,r=I,w=M,M=E,E=p(S,10),S=_,_=k}var O=this._b+i+E|0;this._b=this._c+o+M|0,this._c=this._d+h+w|0,this._d=this._e+n+_|0,this._e=this._a+r+S|0,this._a=O},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=h},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n(281),t.sha1=n(282),t.sha224=n(283),t.sha256=n(169),t.sha384=n(284),t.sha512=n(170)},function(e,t,n){(t=e.exports=n(171)).Stream=t,t.Readable=t,t.Writable=n(120),t.Duplex=n(60),t.Transform=n(174),t.PassThrough=n(291)},function(e,t,n){var r=n(6),i=r.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=s),o(i,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";(function(t,r,i){var o=n(92);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=b;var a,u=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:o.nextTick;b.WritableState=m;var c=Object.create(n(80));c.inherits=n(7);var f={deprecate:n(114)},l=n(172),d=n(119).Buffer,h=i.Uint8Array||function(){};var p,v=n(173);function g(){}function m(e,t){a=a||n(60),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,c=e.writableHighWaterMark,f=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(c||0===c)?c:f,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===e.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(o.nextTick(i,r),o.nextTick(M,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),M(e,t))}(e,n,r,t,i);else{var s=S(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||_(e,n),r?u(w,e,n,s,i):w(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function b(e){if(a=a||n(60),!(p.call(b,this)||this instanceof a))return new b(e);this._writableState=new m(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),l.call(this)}function y(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function w(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),M(e,t)}function _(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,u=!0;n;)i[a]=n,n.isBuf||(u=!1),n=n.next,a+=1;i.allBuffers=u,y(e,t,!0,t.length,i,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,f=n.encoding,l=n.callback;if(y(e,t,!1,t.objectMode?1:c.length,c,f,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function S(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),M(e,t)}))}function M(e,t){var n=S(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}c.inherits(b,l),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(m.prototype,"buffer",{get:f.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===b&&(e&&e._writableState instanceof m)}})):p=function(e){return e instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof h);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=g),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),o.nextTick(t,n)}(this,n):(a||function(e,t,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var u=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,M(e,t),n&&(t.finished?o.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),b.prototype.destroy=v.destroy,b.prototype._undestroy=v.undestroy,b.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(20),n(289).setImmediate,n(31))},function(e,t,n){"use strict";var r=n(46);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),r=0;r0;r--)t+=this._buffer(e,t),n+=this._flushBuffer(i,n);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t=0||!t.umod(e.prime1)||!t.umod(e.prime2));return t}function s(e,n){var i=function(e){var t=o(e);return{blinder:t.toRed(r.mont(e.modulus)).redPow(new r(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(n),s=n.modulus.byteLength(),a=new r(e).mul(i.blinder).umod(n.modulus),u=a.toRed(r.mont(n.prime1)),c=a.toRed(r.mont(n.prime2)),f=n.coefficient,l=n.prime1,d=n.prime2,h=u.redPow(n.exponent1).fromRed(),p=c.redPow(n.exponent2).fromRed(),v=h.isub(p).imul(f).umod(l).imul(d);return p.iadd(v).imul(i.unblinder).umod(n.modulus).toArrayLike(t,"be",s)}s.getr=o,e.exports=s}).call(this,n(6).Buffer)},function(e,t,n){"use strict";var r=t;r.version=n(331).version,r.utils=n(47),r.rand=n(124),r.curve=n(199),r.curves=n(128),r.ec=n(342),r.eddsa=n(346)},function(e,t,n){"use strict";var r,i=t,o=n(129),s=n(199),a=n(47).assert;function u(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var n=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:n}),n}})}i.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=n(341)}catch(e){r=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},function(e,t,n){var r=t;r.utils=n(51),r.common=n(82),r.sha=n(335),r.ripemd=n(339),r.hmac=n(340),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,n){"use strict";(function(t){var r,i=n(6),o=i.Buffer,s={};for(r in i)i.hasOwnProperty(r)&&"SlowBuffer"!==r&&"Buffer"!==r&&(s[r]=i[r]);var a=s.Buffer={};for(r in o)o.hasOwnProperty(r)&&"allocUnsafe"!==r&&"allocUnsafeSlow"!==r&&(a[r]=o[r]);if(s.Buffer.prototype=o.prototype,a.from&&a.from!==Uint8Array.from||(a.from=function(e,t,n){if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&void 0===e.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return o(e,t,n)}),a.alloc||(a.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var r=o(e);return t&&0!==t.length?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r}),!s.kStringMaxLength)try{s.kStringMaxLength=t.binding("buffer").kStringMaxLength}catch(e){}s.constants||(s.constants={MAX_LENGTH:s.kMaxLength},s.kStringMaxLength&&(s.constants.MAX_STRING_LENGTH=s.kStringMaxLength)),e.exports=s}).call(this,n(20))},function(e,t,n){"use strict";const r=n(132).Reporter,i=n(83).EncoderBuffer,o=n(83).DecoderBuffer,s=n(46),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],u=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(e,t,n){const r={};this._baseState=r,r.name=n,r.enc=e,r.parent=t||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}e.exports=c;const f=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){const e=this._baseState,t={};f.forEach((function(n){t[n]=e[n]}));const n=new this.constructor(t.parent);return n._baseState=t,n},c.prototype._wrap=function(){const e=this._baseState;u.forEach((function(t){this[t]=function(){const n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}}),this)},c.prototype._init=function(e){const t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),s.equal(t.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(e){const t=this._baseState,n=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==n.length&&(s(null===t.children),t.children=n,n.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;const t={};return Object.keys(e).forEach((function(n){n==(0|n)&&(n|=0);const r=e[n];t[r]=n})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){c.prototype[e]=function(){const t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),a.forEach((function(e){c.prototype[e]=function(){const t=this._baseState,n=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(n),this}})),c.prototype.use=function(e){s(e);const t=this._baseState;return s(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){const t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){const t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){const t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){const e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){const t=this._baseState;return s(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){const t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},c.prototype.contains=function(e){const t=this._baseState;return s(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){const n=this._baseState;if(null===n.parent)return e.wrapResult(n.children[0]._decode(e,t));let r,i=n.default,s=!0,a=null;if(null!==n.key&&(a=e.enterKey(n.key)),n.optional){let r=null;if(null!==n.explicit?r=n.explicit:null!==n.implicit?r=n.implicit:null!==n.tag&&(r=n.tag),null!==r||n.any){if(s=this._peekTag(e,r,n.any),e.isError(s))return s}else{const r=e.save();try{null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),s=!0}catch(e){s=!1}e.restore(r)}}if(n.obj&&s&&(r=e.enterObject()),s){if(null!==n.explicit){const t=this._decodeTag(e,n.explicit);if(e.isError(t))return t;e=t}const r=e.offset;if(null===n.use&&null===n.choice){let t;n.any&&(t=e.save());const r=this._decodeTag(e,null!==n.implicit?n.implicit:n.tag,n.any);if(e.isError(r))return r;n.any?i=e.raw(t):e=r}if(t&&t.track&&null!==n.tag&&t.track(e.path(),r,e.length,"tagged"),t&&t.track&&null!==n.tag&&t.track(e.path(),e.offset,e.length,"content"),n.any||(i=null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t)),e.isError(i))return i;if(n.any||null!==n.choice||null===n.children||n.children.forEach((function(n){n._decode(e,t)})),n.contains&&("octstr"===n.tag||"bitstr"===n.tag)){const r=new o(i);i=this._getUse(n.contains,e._reporterState.obj)._decode(r,t)}}return n.obj&&s&&(i=e.leaveObject(r)),null===n.key||null===i&&!0!==s?null!==a&&e.exitKey(a):e.leaveKey(a,n.key,i),i},c.prototype._decodeGeneric=function(e,t,n){const r=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,r.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):"objid"===e&&r.args?this._decodeObjid(t,r.args[0],r.args[1],n):"objid"===e?this._decodeObjid(t,null,null,n):"gentime"===e||"utctime"===e?this._decodeTime(t,e,n):"null_"===e?this._decodeNull(t,n):"bool"===e?this._decodeBool(t,n):"objDesc"===e?this._decodeStr(t,e,n):"int"===e||"enum"===e?this._decodeInt(t,r.args&&r.args[0],n):null!==r.use?this._getUse(r.use,t._reporterState.obj)._decode(t,n):t.error("unknown tag: "+e)},c.prototype._getUse=function(e,t){const n=this._baseState;return n.useDecoder=this._use(e,t),s(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},c.prototype._decodeChoice=function(e,t){const n=this._baseState;let r=null,i=!1;return Object.keys(n.choice).some((function(o){const s=e.save(),a=n.choice[o];try{const n=a._decode(e,t);if(e.isError(n))return!1;r={type:o,value:n},i=!0}catch(t){return e.restore(s),!1}return!0}),this),i?r:e.error("Choice not matched")},c.prototype._createEncoderBuffer=function(e){return new i(e,this.reporter)},c.prototype._encode=function(e,t,n){const r=this._baseState;if(null!==r.default&&r.default===e)return;const i=this._encodeValue(e,t,n);return void 0===i||this._skipDefault(i,t,n)?void 0:i},c.prototype._encodeValue=function(e,t,n){const i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new r);let o=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}let s=null,a=!1;if(i.any)o=this._createEncoderBuffer(e);else if(i.choice)o=this._encodeChoice(e,t);else if(i.contains)s=this._getUse(i.contains,n)._encode(e,t),a=!0;else if(i.children)s=i.children.map((function(n){if("null_"===n._baseState.tag)return n._encode(null,t,e);if(null===n._baseState.key)return t.error("Child should have a key");const r=t.enterKey(n._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");const i=n._encode(e[n._baseState.key],t,e);return t.leaveKey(r),i}),this).filter((function(e){return e})),s=this._createEncoderBuffer(s);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return t.error("Too many args for : "+i.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");const n=this.clone();n._baseState.implicit=null,s=this._createEncoderBuffer(e.map((function(n){const r=this._baseState;return this._getUse(r.args[0],e)._encode(n,t)}),n))}else null!==i.use?o=this._getUse(i.use,n)._encode(e,t):(s=this._encodePrimitive(i.tag,e),a=!0);if(!i.any&&null===i.choice){const e=null!==i.implicit?i.implicit:i.tag,n=null===i.implicit?"universal":"context";null===e?null===i.use&&t.error("Tag could be omitted only for .use()"):null===i.use&&(o=this._encodeComposite(e,a,n,s))}return null!==i.explicit&&(o=this._encodeComposite(i.explicit,!1,"context",o)),o},c.prototype._encodeChoice=function(e,t){const n=this._baseState,r=n.choice[e.type];return r||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(n.choice))),r._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){const n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)}},function(e,t,n){"use strict";const r=n(7);function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.Reporter=i,i.prototype.isError=function(e){return e instanceof o},i.prototype.save=function(){const e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){const t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){const t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,n){const r=this._reporterState;this.exitKey(e),null!==r.obj&&(r.obj[t]=n)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){const e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){const t=this._reporterState,n=t.obj;return t.obj=e,n},i.prototype.error=function(e){let t;const n=this._reporterState,r=e instanceof o;if(t=r?e:new o(n.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!n.options.partial)throw t;return r||n.errors.push(t),t},i.prototype.wrapResult=function(e){const t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},r(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,n){"use strict";function r(e){const t={};return Object.keys(e).forEach((function(n){(0|n)==n&&(n|=0);const r=e[n];t[r]=n})),t}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=r(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=r(t.tag)},function(e,t,n){"use strict";n.r(t),n.d(t,"locateWindow",(function(){return i}));var r={};function i(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:r}},function(e,t,n){var r=n(84),i=n(85);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},function(e,t,n){var r=n(395),i=n(411),o=n(413),s=n(414),a=n(415);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]/g,">").replace(/"/g,""")+'"')}}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}return r+(n?">"+this.children.map((function(e){return e.toString()})).join("")+"":"/>")},e}();var ti=function(){function e(e){this.value=e}return e.prototype.toString=function(){return(""+this.value).replace(/&/g,"&").replace(//g,">")},e}(),ni=n(253),ri=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c;return d(this,(function(l){switch(l.label){case 0:return r=[f({},e)],c={},[4,Ai(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(c.body=l.sent(),c)])),o="UnknownError",o=Ii(e,n.body),o){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":return[3,2]}return[3,4];case 2:return s=[{}],[4,pi(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([l.sent()])),{name:o,$metadata:Si(e)}]),[3,5];case 4:a=n.body,o=a.code||a.Code||o,i=f(f({},a),{name:""+o,message:a.message||a.Message||o,$fault:"client",$metadata:Si(e)}),l.label=5;case 5:return u=i.message||i.Message||o,i.message=u,delete i.Message,[2,Promise.reject(Object.assign(new Error(u),i))]}}))}))},ii=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},oi=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},si=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},ai=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c;return d(this,(function(l){switch(l.label){case 0:return r=[f({},e)],c={},[4,Ai(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(c.body=l.sent(),c)])),o="UnknownError",o=Ii(e,n.body),o){case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":return[3,2]}return[3,4];case 2:return s=[{}],[4,hi(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([l.sent()])),{name:o,$metadata:Si(e)}]),[3,5];case 4:a=n.body,o=a.code||a.Code||o,i=f(f({},a),{name:""+o,message:a.message||a.Message||o,$fault:"client",$metadata:Si(e)}),l.label=5;case 5:return u=i.message||i.Message||o,i.message=u,delete i.Message,[2,Promise.reject(Object.assign(new Error(u),i))]}}))}))},ui=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c;return d(this,(function(l){switch(l.label){case 0:return r=[f({},e)],c={},[4,Ai(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(c.body=l.sent(),c)])),o="UnknownError",o=Ii(e,n.body),o){case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":return[3,2]}return[3,4];case 2:return s=[{}],[4,di(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([l.sent()])),{name:o,$metadata:Si(e)}]),[3,5];case 4:a=n.body,o=a.code||a.Code||o,i=f(f({},a),{name:""+o,message:a.message||a.Message||o,$fault:"client",$metadata:Si(e)}),l.label=5;case 5:return u=i.message||i.Message||o,i.message=u,delete i.Message,[2,Promise.reject(Object.assign(new Error(u),i))]}}))}))},ci=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},fi=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},li=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u;return d(this,(function(c){switch(c.label){case 0:return r=[f({},e)],u={},[4,Ai(e.body,t)];case 1:return n=f.apply(void 0,r.concat([(u.body=c.sent(),u)])),o="UnknownError",o=Ii(e,n.body),s=n.body,o=s.code||s.Code||o,i=f(f({},s),{name:""+o,message:s.message||s.Message||o,$fault:"client",$metadata:Si(e)}),a=i.message||i.Message||o,i.message=a,delete i.Message,[2,Promise.reject(Object.assign(new Error(a),i))]}}))}))},di=function(e,t){return l(void 0,void 0,void 0,(function(){var t;return d(this,(function(n){return t={name:"NoSuchBucket",$fault:"client",$metadata:Si(e)},e.body,[2,t]}))}))},hi=function(e,t){return l(void 0,void 0,void 0,(function(){var t;return d(this,(function(n){return t={name:"NoSuchKey",$fault:"client",$metadata:Si(e)},e.body,[2,t]}))}))},pi=function(e,t){return l(void 0,void 0,void 0,(function(){var t;return d(this,(function(n){return t={name:"NoSuchUpload",$fault:"client",$metadata:Si(e)},e.body,[2,t]}))}))},vi=function(e,t){var n=new ei("CompletedMultipartUpload");void 0!==e.Parts&&gi(e.Parts,t).map((function(e){e=e.withName("Part"),n.addChildNode(e)}));return n},gi=function(e,t){return e.map((function(e){return function(e,t){var n=new ei("CompletedPart");if(void 0!==e.ETag){var r=new ei("ETag").addChildNode(new ti(e.ETag)).withName("ETag");n.addChildNode(r)}if(void 0!==e.PartNumber){r=new ei("PartNumber").addChildNode(new ti(String(e.PartNumber))).withName("PartNumber");n.addChildNode(r)}return n}(e).withName("member")}))},mi=function(e,t){return(e||[]).map((function(e){return function(e,t){var n={Prefix:void 0};return void 0!==e.Prefix&&(n.Prefix=e.Prefix),n}(e)}))},bi=function(e,t){var n={ID:void 0,DisplayName:void 0};return void 0!==e.ID&&(n.ID=e.ID),void 0!==e.DisplayName&&(n.DisplayName=e.DisplayName),n},yi=function(e,t){return(e||[]).map((function(e){return function(e,t){var n={Size:void 0,ETag:void 0,Owner:void 0,StorageClass:void 0,Key:void 0,LastModified:void 0};return void 0!==e.Size&&(n.Size=parseInt(e.Size)),void 0!==e.ETag&&(n.ETag=e.ETag),void 0!==e.Owner&&(n.Owner=wi(e.Owner,t)),void 0!==e.StorageClass&&(n.StorageClass=e.StorageClass),void 0!==e.Key&&(n.Key=e.Key),void 0!==e.LastModified&&(n.LastModified=new Date(e.LastModified)),n}(e,t)}))},wi=function(e,t){var n={DisplayName:void 0,ID:void 0};return void 0!==e.DisplayName&&(n.DisplayName=e.DisplayName),void 0!==e.ID&&(n.ID=e.ID),n},_i=function(e,t){return(e||[]).map((function(e){return function(e,t){var n={Size:void 0,LastModified:void 0,PartNumber:void 0,ETag:void 0};return void 0!==e.Size&&(n.Size=parseInt(e.Size)),void 0!==e.LastModified&&(n.LastModified=new Date(e.LastModified)),void 0!==e.PartNumber&&(n.PartNumber=parseInt(e.PartNumber)),void 0!==e.ETag&&(n.ETag=e.ETag),n}(e)}))},Si=function(e){return{httpStatusCode:e.statusCode,httpHeaders:e.headers,requestId:e.headers["x-amzn-requestid"]}},Ei=function(e,t){return void 0===e&&(e=new Uint8Array),e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array)},Mi=function(e){return!(void 0===e||""===e||Object.getOwnPropertyNames(e).includes("length")&&0==e.length||Object.getOwnPropertyNames(e).includes("size")&&0==e.size)},Ai=function(e,t){return function(e,t){return Ei(e,t).then((function(e){return t.utf8Encoder(e)}))}(e,t).then((function(e){if(e.length){var t=Object(ni.parse)(e,{attributeNamePrefix:"",ignoreAttributes:!1,parseNodeValue:!1,tagValueProcessor:function(e,t){return e.replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,'"').replace(/>/g,">").replace(/</g,"<")}}),n=Object.keys(t)[0],r=t[n];return r["#text"]&&(r[n]=r["#text"],delete r["#text"]),Object(Zr.h)(r)}return{}}))},Ii=function(e,t){return void 0!==t.Code?t.Code:404==e.statusCode?"NotFound":""},ki=function(e){return"string"==typeof e&&0===e.indexOf("arn:")&&e.split(":").length>=6},Oi=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,xi=/(\d+\.){3}\d+/,Ci=/\.\./,Ti=/\./,Pi=/^(.+\.)?s3[.-]([a-z0-9-]+)\./,Ni=/^s3(-external-1)?\.amazonaws\.com$/,Ri=function(e){return ji(e)?e.replace(/fips-|-fips/,""):e},Li=function(e){var t=e.match(Pi);return[t[2],e.replace(new RegExp("^"+t[0]),"")]},ji=function(e){return e.startsWith("fips-")||e.endsWith("-fips")},Di=function(e,t){return e===t||Ri(e)===t||e===Ri(t)},Ui=function(e,t){if(void 0===t&&(t={tlsCompatible:!0}),e.length>=64||!/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/.test(e)||/(\d+\.){3}\d+/.test(e)||/[.-]{2}/.test(e)||(null==t?void 0:t.tlsCompatible)&&Ti.test(e))throw new Error("Invalid DNS label "+e)},Bi=function(e){var t=e.baseHostname;return Pi.test(t)?function(e){return"string"==typeof e.bucketName}(e)?zi(e):Fi(e):{bucketEndpoint:!1,hostname:t}},Fi=function(e){var t,n=Object(Qr.__read)((t=e.baseHostname,Ni.test(t)?[t.replace(".amazonaws.com",""),"amazonaws.com"]:Li(t)),2),r=n[0],i=n[1],o=e.pathStyleEndpoint,s=e.dualstackEndpoint,a=void 0!==s&&s,u=e.accelerateEndpoint,c=void 0!==u&&u,f=e.tlsCompatible,l=void 0===f||f,d=e.useArnRegion,h=e.bucketName,p=e.clientPartition,v=void 0===p?"aws":p,g=e.clientSigningRegion,m=void 0===g?r:g;!function(e){if(e.pathStyleEndpoint)throw new Error("Path-style S3 endpoint is not supported when bucket is an ARN");if(e.accelerateEndpoint)throw new Error("Accelerate endpoint is not supported when bucket is an ARN");if(!e.tlsCompatible)throw new Error("HTTPS is required when bucket is an ARN")}({pathStyleEndpoint:o,accelerateEndpoint:c,tlsCompatible:l});var b=h.service,y=h.partition,w=h.accountId,_=h.region,S=h.resource;!function(e){if("s3"!==e&&"s3-outposts"!==e)throw new Error("Expect 's3' or 's3-outposts' in ARN service component")}(b),function(e,t){if(e!==t.clientPartition)throw new Error('Partition in ARN is incompatible, got "'+e+'" but expected "'+t.clientPartition+'"')}(y,{clientPartition:v}),function(e){if(!/[0-9]{12}/.exec(e))throw new Error("Access point ARN accountID does not match regex '[0-9]{12}'")}(w),function(e,t){if(""===e)throw new Error("ARN region is empty");if(!t.useArnRegion&&!Di(e,t.clientRegion)&&!Di(e,t.clientSigningRegion))throw new Error("Region in ARN is incompatible, got "+e+" but expected "+t.clientRegion);if(t.useArnRegion&&ji(e))throw new Error("Endpoint does not support FIPS region")}(_,{useArnRegion:d,clientRegion:r,clientSigningRegion:m});var E=function(e){var t=e.includes(":")?":":"/",n=Object(Qr.__read)(e.split(t)),r=n[0],i=n.slice(1);if("accesspoint"===r){if(1!==i.length||""===i[0])throw new Error("Access Point ARN should have one resource accesspoint"+t+"{accesspointname}");return{accesspointName:i[0]}}if("outpost"===r){if(!i[0]||"accesspoint"!==i[1]||!i[2]||3!==i.length)throw new Error("Outpost ARN should have resource outpost"+t+"{outpostId}"+t+"accesspoint"+t+"{accesspointName}");var o=Object(Qr.__read)(i,3),s=o[0];o[1];return{outpostId:s,accesspointName:o[2]}}throw new Error("ARN resource should begin with 'accesspoint"+t+"' or 'outpost"+t+"'")}(S),M=E.accesspointName,A=E.outpostId;Ui(M+"-"+w,{tlsCompatible:l});var I=d?_:r,k=d?_:m;return A?(function(e){if("s3-outposts"!==e)throw new Error("Expect 's3-posts' in Outpost ARN service component")}(b),Ui(A,{tlsCompatible:l}),function(e){if(e)throw new Error("Dualstack endpoint is not supported with Outpost")}(a),function(e){if(ji(null!=e?e:""))throw new Error("FIPS region is not supported with Outpost, got "+e)}(I),{bucketEndpoint:!0,hostname:M+"-"+w+"."+A+".s3-outposts."+I+"."+i,signingRegion:k,signingService:"s3-outposts"}):(function(e){if("s3"!==e)throw new Error("Expect 's3' in Accesspoint ARN service component")}(b),{bucketEndpoint:!0,hostname:M+"-"+w+".s3-accesspoint"+(a?".dualstack":"")+"."+I+"."+i,signingRegion:k})},zi=function(e){var t,n=e.accelerateEndpoint,r=void 0!==n&&n,i=e.baseHostname,o=e.bucketName,s=e.dualstackEndpoint,a=void 0!==s&&s,u=e.pathStyleEndpoint,c=void 0!==u&&u,f=e.tlsCompatible,l=void 0===f||f,d=Object(Qr.__read)((t=i,Ni.test(t)?["us-east-1","amazonaws.com"]:Li(t)),2),h=d[0],p=d[1];return c||!function(e){return Oi.test(e)&&!xi.test(e)&&!Ci.test(e)}(o)||l&&Ti.test(o)?{bucketEndpoint:!1,hostname:a?"s3.dualstack."+h+"."+p:i}:(r?i="s3-accelerate"+(a?".dualstack":"")+"."+p:a&&(i="s3.dualstack."+h+"."+p),{bucketEndpoint:!0,hostname:o+"."+i})},qi=function(e){return function(t,n){return function(r){return Object(Qr.__awaiter)(void 0,void 0,void 0,(function(){var i,o,s,a,u,c,f,l,d,h,p,v,g,m,b,y,w;return Object(Qr.__generator)(this,(function(_){switch(_.label){case 0:return i=r.input.Bucket,o=e.bucketEndpoint,s=r.request,Xr.a.isInstance(s)?e.bucketEndpoint?(s.hostname=i,[3,6]):[3,1]:[3,7];case 1:return ki(i)?(a=function(e){var t=e.split(":");if(t.length<6||"arn"!==t[0])throw new Error("Malformed ARN");var n=Object(Qr.__read)(t);return{partition:n[1],service:n[2],region:n[3],accountId:n[4],resource:n.slice(5).join(":")}}(i),c=Ri,[4,e.region()]):[3,5];case 2:return u=c.apply(void 0,[_.sent()]),[4,e.regionInfoProvider(u)];case 3:return f=_.sent()||{},l=f.partition,d=f.signingRegion,h=void 0===d?u:d,[4,e.useArnRegion()];case 4:return p=_.sent(),v=Bi({bucketName:a,baseHostname:s.hostname,accelerateEndpoint:e.useAccelerateEndpoint,dualstackEndpoint:e.useDualstackEndpoint,pathStyleEndpoint:e.forcePathStyle,tlsCompatible:"https:"===s.protocol,useArnRegion:p,clientPartition:l,clientSigningRegion:h}),y=v.hostname,w=v.bucketEndpoint,g=v.signingRegion,m=v.signingService,g&&g!==h&&(n.signing_region=g),m&&"s3"!==m&&(n.signing_service=m),s.hostname=y,o=w,[3,6];case 5:b=Bi({bucketName:i,baseHostname:s.hostname,accelerateEndpoint:e.useAccelerateEndpoint,dualstackEndpoint:e.useDualstackEndpoint,pathStyleEndpoint:e.forcePathStyle,tlsCompatible:"https:"===s.protocol}),y=b.hostname,w=b.bucketEndpoint,s.hostname=y,o=w,_.label=6;case 6:o&&(s.path=s.path.replace(/^(\/)?[^\/]+/,""),""===s.path&&(s.path="/")),_.label=7;case 7:return[2,t(Object(Qr.__assign)(Object(Qr.__assign)({},r),{request:s}))]}}))}))}}},Ki={tags:["BUCKET_ENDPOINT"],name:"bucketEndpointMiddleware",relation:"before",toMiddleware:"hostHeaderMiddleware"},Hi=function(e){return{applyToStack:function(t){t.addRelativeTo(qi(e),Ki)}}};var Vi=n(10);var Gi={name:"ssecMiddleware",step:"initialize",tags:["SSE"]},Wi=function(e){return{applyToStack:function(t){t.add(function(e){var t=this;return function(n){return function(r){return Object(Qr.__awaiter)(t,void 0,void 0,(function(){var t,i,o,s,a,u,c,f,l,d,h,p,v,g,m,b,y;return Object(Qr.__generator)(this,(function(w){switch(w.label){case 0:t=Object(Qr.__assign)({},r.input),i=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}],w.label=1;case 1:w.trys.push([1,6,7,8]),o=Object(Qr.__values)(i),s=o.next(),w.label=2;case 2:return s.done?[3,5]:(a=s.value,(u=t[a.target])?(c=ArrayBuffer.isView(u)?new Uint8Array(u.buffer,u.byteOffset,u.byteLength):"string"==typeof u?e.utf8Decoder(u):new Uint8Array(u),f=e.base64Encoder(c),(l=new e.md5).update(c),d=[Object(Qr.__assign)({},t)],(y={})[a.target]=f,h=a.hash,v=(p=e).base64Encoder,[4,l.digest()]):[3,4]);case 3:t=Qr.__assign.apply(void 0,d.concat([(y[h]=v.apply(p,[w.sent()]),y)])),w.label=4;case 4:return s=o.next(),[3,2];case 5:return[3,8];case 6:return g=w.sent(),m={error:g},[3,8];case 7:try{s&&!s.done&&(b=o.return)&&b.call(o)}finally{if(m)throw m.error}return[7];case 8:return[2,n(Object(Qr.__assign)(Object(Qr.__assign)({},r),{input:t}))]}}))}))}}}(e),Gi)}}},$i=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Wi(t)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"GetObjectCommand",inputFilterSensitiveLog:Xt.filterSensitiveLog,outputFilterSensitiveLog:Zt.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"GetObjectCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f(f(f(f(f(f(f({"Content-Type":""},Mi(e.SSECustomerKey)&&{"x-amz-server-side-encryption-customer-key":e.SSECustomerKey}),Mi(e.SSECustomerAlgorithm)&&{"x-amz-server-side-encryption-customer-algorithm":e.SSECustomerAlgorithm}),Mi(e.SSECustomerKeyMD5)&&{"x-amz-server-side-encryption-customer-key-MD5":e.SSECustomerKeyMD5}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.IfUnmodifiedSince)&&{"If-Unmodified-Since":Object(Zr.e)(e.IfUnmodifiedSince).toString()}),Mi(e.IfModifiedSince)&&{"If-Modified-Since":Object(Zr.e)(e.IfModifiedSince).toString()}),Mi(e.IfNoneMatch)&&{"If-None-Match":e.IfNoneMatch}),Mi(e.IfMatch)&&{"If-Match":e.IfMatch}),Mi(e.Range)&&{Range:e.Range}),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o=f(f(f(f(f(f(f(f({"x-id":"GetObject"},void 0!==e.ResponseContentEncoding&&{"response-content-encoding":e.ResponseContentEncoding}),void 0!==e.ResponseCacheControl&&{"response-cache-control":e.ResponseCacheControl}),void 0!==e.ResponseContentLanguage&&{"response-content-language":e.ResponseContentLanguage}),void 0!==e.ResponseContentDisposition&&{"response-content-disposition":e.ResponseContentDisposition}),void 0!==e.PartNumber&&{partNumber:e.PartNumber.toString()}),void 0!==e.VersionId&&{versionId:e.VersionId}),void 0!==e.ResponseExpires&&{"response-expires":(e.ResponseExpires.toISOString().split(".")[0]+"Z").toString()}),void 0!==e.ResponseContentType&&{"response-content-type":e.ResponseContentType}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"GET",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return 200!==e.statusCode&&e.statusCode>=300?[2,ai(e,t)]:(n={$metadata:Si(e),AcceptRanges:void 0,Body:void 0,CacheControl:void 0,ContentDisposition:void 0,ContentEncoding:void 0,ContentLanguage:void 0,ContentLength:void 0,ContentRange:void 0,ContentType:void 0,DeleteMarker:void 0,ETag:void 0,Expiration:void 0,Expires:void 0,LastModified:void 0,Metadata:void 0,MissingMeta:void 0,ObjectLockLegalHoldStatus:void 0,ObjectLockMode:void 0,ObjectLockRetainUntilDate:void 0,PartsCount:void 0,ReplicationStatus:void 0,RequestCharged:void 0,Restore:void 0,SSECustomerAlgorithm:void 0,SSECustomerKeyMD5:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0,StorageClass:void 0,TagCount:void 0,VersionId:void 0,WebsiteRedirectLocation:void 0},void 0!==e.headers["x-amz-object-lock-mode"]&&(n.ObjectLockMode=e.headers["x-amz-object-lock-mode"]),void 0!==e.headers["content-language"]&&(n.ContentLanguage=e.headers["content-language"]),void 0!==e.headers["content-disposition"]&&(n.ContentDisposition=e.headers["content-disposition"]),void 0!==e.headers["cache-control"]&&(n.CacheControl=e.headers["cache-control"]),void 0!==e.headers["content-type"]&&(n.ContentType=e.headers["content-type"]),void 0!==e.headers["content-range"]&&(n.ContentRange=e.headers["content-range"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["content-length"]&&(n.ContentLength=parseInt(e.headers["content-length"],10)),void 0!==e.headers["x-amz-object-lock-retain-until-date"]&&(n.ObjectLockRetainUntilDate=new Date(e.headers["x-amz-object-lock-retain-until-date"])),void 0!==e.headers["x-amz-object-lock-legal-hold"]&&(n.ObjectLockLegalHoldStatus=e.headers["x-amz-object-lock-legal-hold"]),void 0!==e.headers["x-amz-delete-marker"]&&(n.DeleteMarker="true"===e.headers["x-amz-delete-marker"]),void 0!==e.headers["x-amz-storage-class"]&&(n.StorageClass=e.headers["x-amz-storage-class"]),void 0!==e.headers["content-encoding"]&&(n.ContentEncoding=e.headers["content-encoding"]),void 0!==e.headers["x-amz-restore"]&&(n.Restore=e.headers["x-amz-restore"]),void 0!==e.headers["x-amz-website-redirect-location"]&&(n.WebsiteRedirectLocation=e.headers["x-amz-website-redirect-location"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),void 0!==e.headers["x-amz-mp-parts-count"]&&(n.PartsCount=parseInt(e.headers["x-amz-mp-parts-count"],10)),void 0!==e.headers["x-amz-server-side-encryption-customer-algorithm"]&&(n.SSECustomerAlgorithm=e.headers["x-amz-server-side-encryption-customer-algorithm"]),void 0!==e.headers["accept-ranges"]&&(n.AcceptRanges=e.headers["accept-ranges"]),void 0!==e.headers["x-amz-version-id"]&&(n.VersionId=e.headers["x-amz-version-id"]),void 0!==e.headers.expires&&(n.Expires=new Date(e.headers.expires)),void 0!==e.headers["x-amz-expiration"]&&(n.Expiration=e.headers["x-amz-expiration"]),void 0!==e.headers["x-amz-missing-meta"]&&(n.MissingMeta=parseInt(e.headers["x-amz-missing-meta"],10)),void 0!==e.headers["x-amz-replication-status"]&&(n.ReplicationStatus=e.headers["x-amz-replication-status"]),void 0!==e.headers["x-amz-tagging-count"]&&(n.TagCount=parseInt(e.headers["x-amz-tagging-count"],10)),void 0!==e.headers["x-amz-server-side-encryption-customer-key-md5"]&&(n.SSECustomerKeyMD5=e.headers["x-amz-server-side-encryption-customer-key-md5"]),void 0!==e.headers["last-modified"]&&(n.LastModified=new Date(e.headers["last-modified"])),void 0!==e.headers.etag&&(n.ETag=e.headers.etag),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),Object.keys(e.headers).forEach((function(t){void 0===n.Metadata&&(n.Metadata={}),t.startsWith("x-amz-meta-")&&(n.Metadata[t.substring(11)]=e.headers[t])})),r=e.body,n.Body=r,[2,Promise.resolve(n)])}))}))}(e,t)},t}(Zr.b),Yi=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"DeleteObjectCommand",inputFilterSensitiveLog:Z.filterSensitiveLog,outputFilterSensitiveLog:J.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"DeleteObjectCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f({"Content-Type":""},Mi(e.MFA)&&{"x-amz-mfa":e.MFA}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.BypassGovernanceRetention)&&{"x-amz-bypass-governance-retention":e.BypassGovernanceRetention.toString()}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o=f({"x-id":"DeleteObject"},void 0!==e.VersionId&&{versionId:e.VersionId}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"DELETE",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return 204!==e.statusCode&&e.statusCode>=300?[2,si(e,t)]:(n={$metadata:Si(e),DeleteMarker:void 0,RequestCharged:void 0,VersionId:void 0},void 0!==e.headers["x-amz-delete-marker"]&&(n.DeleteMarker="true"===e.headers["x-amz-delete-marker"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers["x-amz-version-id"]&&(n.VersionId=e.headers["x-amz-version-id"]),[4,Ei(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),Ji=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"ListObjectsCommand",inputFilterSensitiveLog:Fn.filterSensitiveLog,outputFilterSensitiveLog:Bn.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"ListObjectsCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f({"Content-Type":""},Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),r="/{Bucket}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");return r=r.replace("{Bucket}",Object(Zr.f)(i)),o=f(f(f(f(f({},void 0!==e.MaxKeys&&{"max-keys":e.MaxKeys.toString()}),void 0!==e.Marker&&{marker:e.Marker}),void 0!==e.Prefix&&{prefix:e.Prefix}),void 0!==e.Delimiter&&{delimiter:e.Delimiter}),void 0!==e.EncodingType&&{"encoding-type":e.EncodingType}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"GET",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,ui(e,t)]:(n={$metadata:Si(e),CommonPrefixes:void 0,Contents:void 0,Delimiter:void 0,EncodingType:void 0,IsTruncated:void 0,Marker:void 0,MaxKeys:void 0,Name:void 0,NextMarker:void 0,Prefix:void 0},[4,Ai(e.body,t)]);case 1:return""===(r=i.sent()).CommonPrefixes&&(n.CommonPrefixes=[]),void 0!==r.CommonPrefixes&&(n.CommonPrefixes=mi(Object(Zr.g)(r.CommonPrefixes),t)),""===r.Contents&&(n.Contents=[]),void 0!==r.Contents&&(n.Contents=yi(Object(Zr.g)(r.Contents),t)),void 0!==r.Delimiter&&(n.Delimiter=r.Delimiter),void 0!==r.EncodingType&&(n.EncodingType=r.EncodingType),void 0!==r.IsTruncated&&(n.IsTruncated="true"==r.IsTruncated),void 0!==r.Marker&&(n.Marker=r.Marker),void 0!==r.MaxKeys&&(n.MaxKeys=parseInt(r.MaxKeys)),void 0!==r.Name&&(n.Name=r.Name),void 0!==r.NextMarker&&(n.NextMarker=r.NextMarker),void 0!==r.Prefix&&(n.Prefix=r.Prefix),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),Zi=n(153),Xi=n(38),Qi=n(110),eo=n(18);function to(e,t,n){return void 0===n&&(n=1048576),new Promise((function(r,i){var o=new FileReader;o.addEventListener("error",i),o.addEventListener("abort",i);var s=e.size,a=0;function u(){a>=s?r():o.readAsArrayBuffer(e.slice(a,Math.min(s,a+n)))}o.addEventListener("load",(function(e){var n=e.target.result;t(new Uint8Array(n)),a+=n.byteLength,u()})),u()}))}var no=n(24),ro=n(15),io=[1732584193,4023233417,2562383102,271733878],oo=function(){function e(){this.state=Uint32Array.from(io),this.buffer=new DataView(new ArrayBuffer(64)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(!function(e){if("string"==typeof e)return 0===e.length;return 0===e.byteLength}(e)){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=function(e){if("string"==typeof e)return Object(ro.a)(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(e)}(e),n=0,r=t.byteLength;for(this.bytesHashed+=r;r>0;)this.buffer.setUint8(this.bufferLength++,t[n++]),r--,64===this.bufferLength&&(this.hashBuffer(),this.bufferLength=0)}},e.prototype.digest=function(){return Object(Qr.__awaiter)(this,void 0,void 0,(function(){var e,t,n,r,i,o,s;return Object(Qr.__generator)(this,(function(a){if(!this.finished){if(t=(e=this).buffer,n=e.bufferLength,r=e.bytesHashed,i=8*r,t.setUint8(this.bufferLength++,128),n%64>=56){for(s=this.bufferLength;s<64;s++)t.setUint8(s,0);this.hashBuffer(),this.bufferLength=0}for(s=this.bufferLength;s<56;s++)t.setUint8(s,0);t.setUint32(56,i>>>0,!0),t.setUint32(60,Math.floor(i/4294967296),!0),this.hashBuffer(),this.finished=!0}for(o=new DataView(new ArrayBuffer(16)),s=0;s<4;s++)o.setUint32(4*s,this.state[s],!0);return[2,new Uint8Array(o.buffer,o.byteOffset,o.byteLength)]}))}))},e.prototype.hashBuffer=function(){var e=this.buffer,t=this.state,n=t[0],r=t[1],i=t[2],o=t[3];n=ao(n,r,i,o,e.getUint32(0,!0),7,3614090360),o=ao(o,n,r,i,e.getUint32(4,!0),12,3905402710),i=ao(i,o,n,r,e.getUint32(8,!0),17,606105819),r=ao(r,i,o,n,e.getUint32(12,!0),22,3250441966),n=ao(n,r,i,o,e.getUint32(16,!0),7,4118548399),o=ao(o,n,r,i,e.getUint32(20,!0),12,1200080426),i=ao(i,o,n,r,e.getUint32(24,!0),17,2821735955),r=ao(r,i,o,n,e.getUint32(28,!0),22,4249261313),n=ao(n,r,i,o,e.getUint32(32,!0),7,1770035416),o=ao(o,n,r,i,e.getUint32(36,!0),12,2336552879),i=ao(i,o,n,r,e.getUint32(40,!0),17,4294925233),r=ao(r,i,o,n,e.getUint32(44,!0),22,2304563134),n=ao(n,r,i,o,e.getUint32(48,!0),7,1804603682),o=ao(o,n,r,i,e.getUint32(52,!0),12,4254626195),i=ao(i,o,n,r,e.getUint32(56,!0),17,2792965006),n=uo(n,r=ao(r,i,o,n,e.getUint32(60,!0),22,1236535329),i,o,e.getUint32(4,!0),5,4129170786),o=uo(o,n,r,i,e.getUint32(24,!0),9,3225465664),i=uo(i,o,n,r,e.getUint32(44,!0),14,643717713),r=uo(r,i,o,n,e.getUint32(0,!0),20,3921069994),n=uo(n,r,i,o,e.getUint32(20,!0),5,3593408605),o=uo(o,n,r,i,e.getUint32(40,!0),9,38016083),i=uo(i,o,n,r,e.getUint32(60,!0),14,3634488961),r=uo(r,i,o,n,e.getUint32(16,!0),20,3889429448),n=uo(n,r,i,o,e.getUint32(36,!0),5,568446438),o=uo(o,n,r,i,e.getUint32(56,!0),9,3275163606),i=uo(i,o,n,r,e.getUint32(12,!0),14,4107603335),r=uo(r,i,o,n,e.getUint32(32,!0),20,1163531501),n=uo(n,r,i,o,e.getUint32(52,!0),5,2850285829),o=uo(o,n,r,i,e.getUint32(8,!0),9,4243563512),i=uo(i,o,n,r,e.getUint32(28,!0),14,1735328473),n=co(n,r=uo(r,i,o,n,e.getUint32(48,!0),20,2368359562),i,o,e.getUint32(20,!0),4,4294588738),o=co(o,n,r,i,e.getUint32(32,!0),11,2272392833),i=co(i,o,n,r,e.getUint32(44,!0),16,1839030562),r=co(r,i,o,n,e.getUint32(56,!0),23,4259657740),n=co(n,r,i,o,e.getUint32(4,!0),4,2763975236),o=co(o,n,r,i,e.getUint32(16,!0),11,1272893353),i=co(i,o,n,r,e.getUint32(28,!0),16,4139469664),r=co(r,i,o,n,e.getUint32(40,!0),23,3200236656),n=co(n,r,i,o,e.getUint32(52,!0),4,681279174),o=co(o,n,r,i,e.getUint32(0,!0),11,3936430074),i=co(i,o,n,r,e.getUint32(12,!0),16,3572445317),r=co(r,i,o,n,e.getUint32(24,!0),23,76029189),n=co(n,r,i,o,e.getUint32(36,!0),4,3654602809),o=co(o,n,r,i,e.getUint32(48,!0),11,3873151461),i=co(i,o,n,r,e.getUint32(60,!0),16,530742520),n=fo(n,r=co(r,i,o,n,e.getUint32(8,!0),23,3299628645),i,o,e.getUint32(0,!0),6,4096336452),o=fo(o,n,r,i,e.getUint32(28,!0),10,1126891415),i=fo(i,o,n,r,e.getUint32(56,!0),15,2878612391),r=fo(r,i,o,n,e.getUint32(20,!0),21,4237533241),n=fo(n,r,i,o,e.getUint32(48,!0),6,1700485571),o=fo(o,n,r,i,e.getUint32(12,!0),10,2399980690),i=fo(i,o,n,r,e.getUint32(40,!0),15,4293915773),r=fo(r,i,o,n,e.getUint32(4,!0),21,2240044497),n=fo(n,r,i,o,e.getUint32(32,!0),6,1873313359),o=fo(o,n,r,i,e.getUint32(60,!0),10,4264355552),i=fo(i,o,n,r,e.getUint32(24,!0),15,2734768916),r=fo(r,i,o,n,e.getUint32(52,!0),21,1309151649),n=fo(n,r,i,o,e.getUint32(16,!0),6,4149444226),o=fo(o,n,r,i,e.getUint32(44,!0),10,3174756917),i=fo(i,o,n,r,e.getUint32(8,!0),15,718787259),r=fo(r,i,o,n,e.getUint32(36,!0),21,3951481745),t[0]=n+t[0]&4294967295,t[1]=r+t[1]&4294967295,t[2]=i+t[2]&4294967295,t[3]=o+t[3]&4294967295},e}();function so(e,t,n,r,i,o){return((t=(t+e&4294967295)+(r+o&4294967295)&4294967295)<>>32-i)+n&4294967295}function ao(e,t,n,r,i,o,s){return so(t&n|~t&r,e,t,i,o,s)}function uo(e,t,n,r,i,o,s){return so(t&r|n&~r,e,t,i,o,s)}function co(e,t,n,r,i,o,s){return so(t^n^r,e,t,i,o,s)}function fo(e,t,n,r,i,o,s){return so(n^(t|~r),e,t,i,o,s)}var lo=n(11),ho=n(39),po=n(17),vo=n(40),go=n(41),mo=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),bo=new Set(["cn-north-1","cn-northwest-1"]),yo=new Set(["us-iso-east-1"]),wo=new Set(["us-isob-east-1"]),_o=new Set(["us-gov-east-1","us-gov-west-1"]),So=f(f({},{apiVersion:"2006-03-01",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-east-1":n={hostname:"s3.ap-east-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-1":n={hostname:"s3.ap-northeast-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-2":n={hostname:"s3.ap-northeast-2.amazonaws.com",partition:"aws"};break;case"ap-south-1":n={hostname:"s3.ap-south-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-1":n={hostname:"s3.ap-southeast-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-2":n={hostname:"s3.ap-southeast-2.amazonaws.com",partition:"aws"};break;case"ca-central-1":n={hostname:"s3.ca-central-1.amazonaws.com",partition:"aws"};break;case"cn-north-1":n={hostname:"s3.cn-north-1.amazonaws.com.cn",partition:"aws-cn"};break;case"cn-northwest-1":n={hostname:"s3.cn-northwest-1.amazonaws.com.cn",partition:"aws-cn"};break;case"eu-central-1":n={hostname:"s3.eu-central-1.amazonaws.com",partition:"aws"};break;case"eu-north-1":n={hostname:"s3.eu-north-1.amazonaws.com",partition:"aws"};break;case"eu-west-1":n={hostname:"s3.eu-west-1.amazonaws.com",partition:"aws"};break;case"eu-west-2":n={hostname:"s3.eu-west-2.amazonaws.com",partition:"aws"};break;case"eu-west-3":n={hostname:"s3.eu-west-3.amazonaws.com",partition:"aws"};break;case"fips-us-gov-west-1":n={hostname:"s3-fips-us-gov-west-1.amazonaws.com",partition:"aws-us-gov",signingRegion:"us-gov-west-1"};break;case"me-south-1":n={hostname:"s3.me-south-1.amazonaws.com",partition:"aws"};break;case"s3-external-1":n={hostname:"s3-external-1.amazonaws.com",partition:"aws",signingRegion:"us-east-1"};break;case"sa-east-1":n={hostname:"s3.sa-east-1.amazonaws.com",partition:"aws"};break;case"us-east-1":n={hostname:"s3.amazonaws.com",partition:"aws"};break;case"us-east-2":n={hostname:"s3.us-east-2.amazonaws.com",partition:"aws"};break;case"us-gov-east-1":n={hostname:"s3.us-gov-east-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-gov-west-1":n={hostname:"s3.us-gov-west-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-iso-east-1":n={hostname:"s3.us-iso-east-1.c2s.ic.gov",partition:"aws-iso"};break;case"us-isob-east-1":n={hostname:"s3.us-isob-east-1.sc2s.sgov.gov",partition:"aws-iso-b"};break;case"us-west-1":n={hostname:"s3.us-west-1.amazonaws.com",partition:"aws"};break;case"us-west-2":n={hostname:"s3.us-west-2.amazonaws.com",partition:"aws"};break;default:mo.has(e)&&(n={hostname:"s3.{region}.amazonaws.com".replace("{region}",e),partition:"aws"}),bo.has(e)&&(n={hostname:"s3.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),yo.has(e)&&(n={hostname:"s3.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),wo.has(e)&&(n={hostname:"s3.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),_o.has(e)&&(n={hostname:"s3.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"s3.{region}.amazonaws.com".replace("{region}",e),partition:"aws"})}return Promise.resolve(n)},signingEscapePath:!1,signingName:"s3",useArnRegion:!1}),{runtime:"browser",base64Decoder:po.a,base64Encoder:po.b,bodyLengthChecker:vo.a,credentialDefaultProvider:Object(no.a)("Credential is missing"),defaultUserAgent:Object(go.a)(Zi.name,Zi.version),eventStreamSerdeProvider:Qi.a,maxAttempts:lo.a,md5:oo,region:Object(no.a)("Region is missing"),requestHandler:new eo.a,sha256:Xi.Sha256,streamCollector:eo.b,streamHasher:function(e,t){return Object(Qr.__awaiter)(this,void 0,void 0,(function(){var n;return Object(Qr.__generator)(this,(function(r){switch(r.label){case 0:return n=new e,[4,to(t,(function(e){n.update(e)}))];case 1:return r.sent(),[2,n.digest()]}}))}))},urlParser:ho.a,utf8Decoder:ro.a,utf8Encoder:ro.b}),Eo=n(22),Mo=n(112),Ao=n(37);var Io={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware"},ko=function(e){return{applyToStack:function(t){t.add(function(e){var t=this;return function(n){return function(r){return Object(Qr.__awaiter)(t,void 0,void 0,(function(){var t;return Object(Qr.__generator)(this,(function(i){return t=r.request,Xr.a.isInstance(t)&&t.body&&"node"===e.runtime&&(t.headers=Object(Qr.__assign)(Object(Qr.__assign)({},t.headers),{Expect:"100-continue"})),[2,n(Object(Qr.__assign)(Object(Qr.__assign)({},r),{request:t}))]}))}))}}}(e),Io)}}},Oo=n(21),xo=n(43);var Co={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware"},To=function(e){return{applyToStack:function(e){e.add(function(){var e=this;return function(t){return function(n){return Object(Qr.__awaiter)(e,void 0,void 0,(function(){var e,r;return Object(Qr.__generator)(this,(function(i){if("string"==typeof(e=n.input.Bucket)&&!ki(e)&&e.indexOf("/")>=0)throw(r=new Error("Bucket name shouldn't contain '/', received '"+e+"'")).name="InvalidBucketName",r;return[2,t(Object(Qr.__assign)({},n))]}))}))}}}(),Co)}}},Po={step:"build",tags:["USE_REGIONAL_ENDPOINT","S3"],name:"useRegionalEndpointMiddleware"},No=function(e){return{applyToStack:function(t){t.add(function(e){return function(t){return function(n){return Object(Qr.__awaiter)(void 0,void 0,void 0,(function(){var r,i;return Object(Qr.__generator)(this,(function(o){switch(o.label){case 0:return r=n.request,!Xr.a.isInstance(r)||e.isCustomEndpoint?[2,t(Object(Qr.__assign)({},n))]:"s3.amazonaws.com"!==r.hostname?[3,1]:(r.hostname="s3.us-east-1.amazonaws.com",[3,3]);case 1:return i="aws-global",[4,e.region()];case 2:i===o.sent()&&(r.hostname="s3.amazonaws.com"),o.label=3;case 3:return[2,t(Object(Qr.__assign)({},n))]}}))}))}}}(e),Po)}}},Ro=n(25),Lo=n(23),jo=function(e){function t(t){var n,r,i,o,s,a,u,c,l,d,h,p=this,v=f(f({},So),t),g=Object(Eo.b)(v),m=Object(Eo.a)(g),b=Object(Ro.b)(m),y=Object(lo.c)(b),w=Object(Lo.b)(y),_=(r=(n=w).bucketEndpoint,i=void 0!==r&&r,o=n.forcePathStyle,s=void 0!==o&&o,a=n.useAccelerateEndpoint,u=void 0!==a&&a,c=n.useDualstackEndpoint,l=void 0!==c&&c,d=n.useArnRegion,h=void 0!==d&&d,Object(Qr.__assign)(Object(Qr.__assign)({},n),{bucketEndpoint:i,forcePathStyle:s,useAccelerateEndpoint:u,useDualstackEndpoint:l,useArnRegion:"function"==typeof h?h:function(){return Promise.resolve(h)}})),S=Object(Oo.b)(_),E=Object(Mo.a)(S);return(p=e.call(this,E)||this).config=E,p.middlewareStack.use(Object(Ro.a)(p.config)),p.middlewareStack.use(Object(lo.b)(p.config)),p.middlewareStack.use(Object(Lo.a)(p.config)),p.middlewareStack.use(Object(Ao.a)(p.config)),p.middlewareStack.use(To(p.config)),p.middlewareStack.use(No(p.config)),p.middlewareStack.use(ko(p.config)),p.middlewareStack.use(Object(Oo.a)(p.config)),p.middlewareStack.use(Object(xo.a)(p.config)),p}return c(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(Zr.a),Do=n(74);function Uo(e){var t=e.port,n=e.query,r=e.protocol,i=e.path,o=e.hostname;r&&":"!==r.substr(-1)&&(r+=":"),t&&(o+=":"+t),i&&"/"!==i.charAt(0)&&(i="/"+i);var s=n?Object(Do.a)(n):"";return s&&"?"!==s[0]&&(s="?"+s),r+"//"+o+i+s}function Bo(e,t){return Object(Qr.__awaiter)(this,void 0,void 0,(function(){var n,r,i=this;return Object(Qr.__generator)(this,(function(o){switch(o.label){case 0:return n=function(e){return function(e){return Object(Qr.__awaiter)(i,void 0,void 0,(function(){return Object(Qr.__generator)(this,(function(t){return[2,{output:{request:e.request},response:void 0}]}))}))}},(r=e.middlewareStack.clone()).add(n,{step:"build",priority:"low"}),[4,t.resolveMiddleware(r,e.config,void 0)(t).then((function(e){return e.output.request}))];case 1:return[2,o.sent()]}}))}))}var Fo=n(111),zo=function(){function e(e){var t=Object(Qr.__assign)({service:e.signingName||e.service||"s3",uriEscapePath:e.uriEscapePath||!1},e);this.signer=new Fo.a(t)}return e.prototype.presign=function(e,t){void 0===t&&(t={});var n=t.unsignableHeaders,r=void 0===n?new Set:n,i=Object(Qr.__rest)(t,["unsignableHeaders"]);return Object(Qr.__awaiter)(this,void 0,void 0,(function(){return Object(Qr.__generator)(this,(function(t){return r.add("content-type"),e.headers["X-Amz-Content-Sha256"]="UNSIGNED-PAYLOAD",[2,this.signer.presign(e,Object(Qr.__assign)({expiresIn:900,unsignableHeaders:r},i))]}))}))},e}(),qo=n(64),Ko=n.n(qo),Ho=new r.a("axios-http-handler"),Vo=function(){function e(e,t){void 0===e&&(e={}),this.httpOptions=e,this.emitter=t}return e.prototype.destroy=function(){},e.prototype.handle=function(e,t){var n=this.httpOptions.requestTimeout,r=this.emitter,i=e.path;if(e.query){var o=Object(Do.a)(e.query);o&&(i+="?"+o)}var s=e.port,a=e.protocol+"//"+e.hostname+(s?":"+s:"")+i,u={};u.url=a,u.method=e.method,u.headers=e.headers,delete u.headers.host,e.body?u.data=e.body:u.headers["Content-Type"]&&(u.data=null),r&&(u.onUploadProgress=function(e){r.emit("sendProgress",e),Ho.debug(e)}),u.responseType="blob";var c=[Ko.a.request(u).then((function(e){return{response:new Xr.b({headers:e.headers,statusCode:e.status,body:e.data})}})).catch((function(e){throw Ho.error(e),e})),Go(n)];return Promise.race(c)},e}();function Go(e){return void 0===e&&(e=0),new Promise((function(t,n){e&&setTimeout((function(){var t=new Error("Request did not complete within "+e+" ms");t.name="TimeoutError",n(t)}),e)}))}var Wo,$o,Yo,Jo,Zo,Xo,Qo,es,ts,ns,rs,is,os,ss,as,us,cs,fs,ls,ds,hs=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Wi(t)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"PutObjectCommand",inputFilterSensitiveLog:_r.filterSensitiveLog,outputFilterSensitiveLog:wr.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"PutObjectCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f({"Content-Type":"application/octet-stream"},Mi(e.GrantFullControl)&&{"x-amz-grant-full-control":e.GrantFullControl}),Mi(e.ContentEncoding)&&{"Content-Encoding":e.ContentEncoding}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.GrantReadACP)&&{"x-amz-grant-read-acp":e.GrantReadACP}),Mi(e.SSECustomerKeyMD5)&&{"x-amz-server-side-encryption-customer-key-MD5":e.SSECustomerKeyMD5}),Mi(e.CacheControl)&&{"Cache-Control":e.CacheControl}),Mi(e.WebsiteRedirectLocation)&&{"x-amz-website-redirect-location":e.WebsiteRedirectLocation}),Mi(e.ObjectLockLegalHoldStatus)&&{"x-amz-object-lock-legal-hold":e.ObjectLockLegalHoldStatus}),Mi(e.GrantWriteACP)&&{"x-amz-grant-write-acp":e.GrantWriteACP}),Mi(e.ContentLength)&&{"Content-Length":e.ContentLength.toString()}),Mi(e.ObjectLockRetainUntilDate)&&{"x-amz-object-lock-retain-until-date":(e.ObjectLockRetainUntilDate.toISOString().split(".")[0]+"Z").toString()}),Mi(e.SSECustomerAlgorithm)&&{"x-amz-server-side-encryption-customer-algorithm":e.SSECustomerAlgorithm}),Mi(e.ContentDisposition)&&{"Content-Disposition":e.ContentDisposition}),Mi(e.SSECustomerKey)&&{"x-amz-server-side-encryption-customer-key":e.SSECustomerKey}),Mi(e.SSEKMSEncryptionContext)&&{"x-amz-server-side-encryption-context":e.SSEKMSEncryptionContext}),Mi(e.Tagging)&&{"x-amz-tagging":e.Tagging}),Mi(e.Expires)&&{Expires:Object(Zr.e)(e.Expires).toString()}),Mi(e.StorageClass)&&{"x-amz-storage-class":e.StorageClass}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.ContentMD5)&&{"Content-MD5":e.ContentMD5}),Mi(e.ServerSideEncryption)&&{"x-amz-server-side-encryption":e.ServerSideEncryption}),Mi(e.ObjectLockMode)&&{"x-amz-object-lock-mode":e.ObjectLockMode}),Mi(e.SSEKMSKeyId)&&{"x-amz-server-side-encryption-aws-kms-key-id":e.SSEKMSKeyId}),Mi(e.ContentLanguage)&&{"Content-Language":e.ContentLanguage}),Mi(e.GrantRead)&&{"x-amz-grant-read":e.GrantRead}),Mi(e.ACL)&&{"x-amz-acl":e.ACL}),Mi(e.ContentType)&&{"Content-Type":e.ContentType}),void 0!==e.Metadata&&Object.keys(e.Metadata).reduce((function(t,n){return t["x-amz-meta-"+n]=e.Metadata[n],t}),{})),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o={"x-id":"PutObject"},void 0!==e.Body&&(a=e.Body,s=a),[4,t.endpoint()];case 1:return u=d.sent(),c=u.hostname,l=u.protocol,h=void 0===l?"https":l,p=u.port,[2,new Xr.a({protocol:h,hostname:c,port:p,method:"PUT",headers:n,path:r,query:o,body:s})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,fi(e,t)]:(n={$metadata:Si(e),ETag:void 0,Expiration:void 0,RequestCharged:void 0,SSECustomerAlgorithm:void 0,SSECustomerKeyMD5:void 0,SSEKMSEncryptionContext:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0,VersionId:void 0},void 0!==e.headers["x-amz-server-side-encryption-context"]&&(n.SSEKMSEncryptionContext=e.headers["x-amz-server-side-encryption-context"]),void 0!==e.headers["x-amz-expiration"]&&(n.Expiration=e.headers["x-amz-expiration"]),void 0!==e.headers["x-amz-server-side-encryption-customer-key-md5"]&&(n.SSECustomerKeyMD5=e.headers["x-amz-server-side-encryption-customer-key-md5"]),void 0!==e.headers.etag&&(n.ETag=e.headers.etag),void 0!==e.headers["x-amz-server-side-encryption-customer-algorithm"]&&(n.SSECustomerAlgorithm=e.headers["x-amz-server-side-encryption-customer-algorithm"]),void 0!==e.headers["x-amz-version-id"]&&(n.VersionId=e.headers["x-amz-version-id"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),[4,Ei(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),ps=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Wi(t)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"CreateMultipartUploadCommand",inputFilterSensitiveLog:D.filterSensitiveLog,outputFilterSensitiveLog:j.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"CreateMultipartUploadCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f({"Content-Type":""},Mi(e.GrantFullControl)&&{"x-amz-grant-full-control":e.GrantFullControl}),Mi(e.SSECustomerKeyMD5)&&{"x-amz-server-side-encryption-customer-key-MD5":e.SSECustomerKeyMD5}),Mi(e.SSECustomerAlgorithm)&&{"x-amz-server-side-encryption-customer-algorithm":e.SSECustomerAlgorithm}),Mi(e.SSEKMSKeyId)&&{"x-amz-server-side-encryption-aws-kms-key-id":e.SSEKMSKeyId}),Mi(e.ObjectLockLegalHoldStatus)&&{"x-amz-object-lock-legal-hold":e.ObjectLockLegalHoldStatus}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.GrantRead)&&{"x-amz-grant-read":e.GrantRead}),Mi(e.GrantWriteACP)&&{"x-amz-grant-write-acp":e.GrantWriteACP}),Mi(e.WebsiteRedirectLocation)&&{"x-amz-website-redirect-location":e.WebsiteRedirectLocation}),Mi(e.ContentType)&&{"Content-Type":e.ContentType}),Mi(e.ContentLanguage)&&{"Content-Language":e.ContentLanguage}),Mi(e.CacheControl)&&{"Cache-Control":e.CacheControl}),Mi(e.GrantReadACP)&&{"x-amz-grant-read-acp":e.GrantReadACP}),Mi(e.Tagging)&&{"x-amz-tagging":e.Tagging}),Mi(e.SSEKMSEncryptionContext)&&{"x-amz-server-side-encryption-context":e.SSEKMSEncryptionContext}),Mi(e.ACL)&&{"x-amz-acl":e.ACL}),Mi(e.SSECustomerKey)&&{"x-amz-server-side-encryption-customer-key":e.SSECustomerKey}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.Expires)&&{Expires:Object(Zr.e)(e.Expires).toString()}),Mi(e.ObjectLockRetainUntilDate)&&{"x-amz-object-lock-retain-until-date":(e.ObjectLockRetainUntilDate.toISOString().split(".")[0]+"Z").toString()}),Mi(e.ServerSideEncryption)&&{"x-amz-server-side-encryption":e.ServerSideEncryption}),Mi(e.ContentDisposition)&&{"Content-Disposition":e.ContentDisposition}),Mi(e.ObjectLockMode)&&{"x-amz-object-lock-mode":e.ObjectLockMode}),Mi(e.StorageClass)&&{"x-amz-storage-class":e.StorageClass}),Mi(e.ContentEncoding)&&{"Content-Encoding":e.ContentEncoding}),void 0!==e.Metadata&&Object.keys(e.Metadata).reduce((function(t,n){return t["x-amz-meta-"+n]=e.Metadata[n],t}),{})),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o={uploads:""},[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"POST",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,oi(e,t)]:(n={$metadata:Si(e),AbortDate:void 0,AbortRuleId:void 0,Bucket:void 0,Key:void 0,RequestCharged:void 0,SSECustomerAlgorithm:void 0,SSECustomerKeyMD5:void 0,SSEKMSEncryptionContext:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0,UploadId:void 0},void 0!==e.headers["x-amz-server-side-encryption-context"]&&(n.SSEKMSEncryptionContext=e.headers["x-amz-server-side-encryption-context"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers["x-amz-abort-date"]&&(n.AbortDate=new Date(e.headers["x-amz-abort-date"])),void 0!==e.headers["x-amz-server-side-encryption-customer-algorithm"]&&(n.SSECustomerAlgorithm=e.headers["x-amz-server-side-encryption-customer-algorithm"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["x-amz-abort-rule-id"]&&(n.AbortRuleId=e.headers["x-amz-abort-rule-id"]),void 0!==e.headers["x-amz-server-side-encryption-customer-key-md5"]&&(n.SSECustomerKeyMD5=e.headers["x-amz-server-side-encryption-customer-key-md5"]),[4,Ai(e.body,t)]);case 1:return void 0!==(r=i.sent()).Bucket&&(n.Bucket=r.Bucket),void 0!==r.Key&&(n.Key=r.Key),void 0!==r.UploadId&&(n.UploadId=r.UploadId),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b);!function(e){e.SELECT="SELECT"}(Wo||(Wo={})),($o||($o={})).filterSensitiveLog=function(e){return f(f({},e),e.OutputLocation&&{OutputLocation:Br.filterSensitiveLog(e.OutputLocation)})},(Yo||(Yo={})).filterSensitiveLog=function(e){return f(f({},e),e.RestoreRequest&&{RestoreRequest:$o.filterSensitiveLog(e.RestoreRequest)})},(Jo||(Jo={})).filterSensitiveLog=function(e){return f({},e)},(Zo||(Zo={})).filterSensitiveLog=function(e){return f({},e)},(Xo||(Xo={})).filterSensitiveLog=function(e){return f({},e)},(Qo||(Qo={})).filterSensitiveLog=function(e){return f({},e)},(es||(es={})).filterSensitiveLog=function(e){return f({},e)},(ts||(ts={})).filterSensitiveLog=function(e){return f({},e)},(ns||(ns={})).filterSensitiveLog=function(e){return f({},e)},function(e){e.visit=function(e,t){return void 0!==e.Cont?t.Cont(e.Cont):void 0!==e.Progress?t.Progress(e.Progress):void 0!==e.Stats?t.Stats(e.Stats):void 0!==e.End?t.End(e.End):void 0!==e.Records?t.Records(e.Records):t._(e.$unknown[0],e.$unknown[1])},e.filterSensitiveLog=function(e){var t;return void 0!==e.Cont?{Cont:Jo.filterSensitiveLog(e.Cont)}:void 0!==e.Progress?{Progress:Qo.filterSensitiveLog(e.Progress)}:void 0!==e.Stats?{Stats:ns.filterSensitiveLog(e.Stats)}:void 0!==e.End?{End:Zo.filterSensitiveLog(e.End)}:void 0!==e.Records?{Records:es.filterSensitiveLog(e.Records)}:void 0!==e.$unknown?((t={})[e.$unknown[0]]="UNKNOWN",t):void 0}}(rs||(rs={})),(is||(is={})).filterSensitiveLog=function(e){return f(f({},e),e.Payload&&{Payload:"STREAMING_CONTENT"})},(os||(os={})).filterSensitiveLog=function(e){return f({},e)},(ss||(ss={})).filterSensitiveLog=function(e){return f({},e)},(as||(as={})).filterSensitiveLog=function(e){return f(f({},e),e.SSECustomerKey&&{SSECustomerKey:Zr.d})},(us||(us={})).filterSensitiveLog=function(e){return f(f({},e),e.SSEKMSKeyId&&{SSEKMSKeyId:Zr.d})},(cs||(cs={})).filterSensitiveLog=function(e){return f(f({},e),e.SSECustomerKey&&{SSECustomerKey:Zr.d})},(fs||(fs={})).filterSensitiveLog=function(e){return f({},e)},(ls||(ls={})).filterSensitiveLog=function(e){return f(f({},e),e.SSEKMSKeyId&&{SSEKMSKeyId:Zr.d})},(ds||(ds={})).filterSensitiveLog=function(e){return f(f(f({},e),e.SSECustomerKey&&{SSECustomerKey:Zr.d}),e.CopySourceSSECustomerKey&&{CopySourceSSECustomerKey:Zr.d})};var vs=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Wi(t)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"UploadPartCommand",inputFilterSensitiveLog:cs.filterSensitiveLog,outputFilterSensitiveLog:us.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"UploadPartCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f(f(f(f({"Content-Type":"application/octet-stream"},Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.ContentLength)&&{"Content-Length":e.ContentLength.toString()}),Mi(e.SSECustomerKey)&&{"x-amz-server-side-encryption-customer-key":e.SSECustomerKey}),Mi(e.SSECustomerAlgorithm)&&{"x-amz-server-side-encryption-customer-algorithm":e.SSECustomerAlgorithm}),Mi(e.SSECustomerKeyMD5)&&{"x-amz-server-side-encryption-customer-key-MD5":e.SSECustomerKeyMD5}),Mi(e.ContentMD5)&&{"Content-MD5":e.ContentMD5}),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o=f(f({"x-id":"UploadPart"},void 0!==e.PartNumber&&{partNumber:e.PartNumber.toString()}),void 0!==e.UploadId&&{uploadId:e.UploadId}),void 0!==e.Body&&(a=e.Body,s=a),[4,t.endpoint()];case 1:return u=d.sent(),c=u.hostname,l=u.protocol,h=void 0===l?"https":l,p=u.port,[2,new Xr.a({protocol:h,hostname:c,port:p,method:"PUT",headers:n,path:r,query:o,body:s})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,li(e,t)]:(n={$metadata:Si(e),ETag:void 0,RequestCharged:void 0,SSECustomerAlgorithm:void 0,SSECustomerKeyMD5:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0},void 0!==e.headers["x-amz-server-side-encryption-customer-key-md5"]&&(n.SSECustomerKeyMD5=e.headers["x-amz-server-side-encryption-customer-key-md5"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["x-amz-server-side-encryption-customer-algorithm"]&&(n.SSECustomerAlgorithm=e.headers["x-amz-server-side-encryption-customer-algorithm"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers.etag&&(n.ETag=e.headers.etag),[4,Ei(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),gs=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"CompleteMultipartUploadCommand",inputFilterSensitiveLog:I.filterSensitiveLog,outputFilterSensitiveLog:E.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"CompleteMultipartUploadCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p;return d(this,(function(d){switch(d.label){case 0:if(n=f(f({"Content-Type":"application/xml"},Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),r="/{Bucket}/{Key+}",void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");if(r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");return r=r.replace("{Bucket}",Object(Zr.f)(i)),o=f({},void 0!==e.UploadId&&{uploadId:e.UploadId}),void 0!==e.MultipartUpload&&(a=vi(e.MultipartUpload,t),s='',a.addAttribute("xmlns","http://s3.amazonaws.com/doc/2006-03-01/"),s+=a.toString()),[4,t.endpoint()];case 1:return u=d.sent(),c=u.hostname,l=u.protocol,h=void 0===l?"https":l,p=u.port,[2,new Xr.a({protocol:h,hostname:c,port:p,method:"POST",headers:n,path:r,query:o,body:s})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,ii(e,t)]:(n={$metadata:Si(e),Bucket:void 0,ETag:void 0,Expiration:void 0,Key:void 0,Location:void 0,RequestCharged:void 0,SSEKMSKeyId:void 0,ServerSideEncryption:void 0,VersionId:void 0},void 0!==e.headers["x-amz-expiration"]&&(n.Expiration=e.headers["x-amz-expiration"]),void 0!==e.headers["x-amz-server-side-encryption"]&&(n.ServerSideEncryption=e.headers["x-amz-server-side-encryption"]),void 0!==e.headers["x-amz-server-side-encryption-aws-kms-key-id"]&&(n.SSEKMSKeyId=e.headers["x-amz-server-side-encryption-aws-kms-key-id"]),void 0!==e.headers["x-amz-version-id"]&&(n.VersionId=e.headers["x-amz-version-id"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),[4,Ai(e.body,t)]);case 1:return void 0!==(r=i.sent()).Bucket&&(n.Bucket=r.Bucket),void 0!==r.ETag&&(n.ETag=r.ETag),void 0!==r.Key&&(n.Key=r.Key),void 0!==r.Location&&(n.Location=r.Location),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),ms=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"AbortMultipartUploadCommand",inputFilterSensitiveLog:v.filterSensitiveLog,outputFilterSensitiveLog:p.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"AbortMultipartUploadCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f({"Content-Type":""},Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),r="/{Bucket}/{Key+}",void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");if(r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");return r=r.replace("{Bucket}",Object(Zr.f)(i)),o=f({"x-id":"AbortMultipartUpload"},void 0!==e.UploadId&&{uploadId:e.UploadId}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"DELETE",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n;return d(this,(function(r){switch(r.label){case 0:return 204!==e.statusCode&&e.statusCode>=300?[2,ri(e,t)]:(n={$metadata:Si(e),RequestCharged:void 0},void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),[4,Ei(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),bs=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(Vi.a)(t,this.serialize,this.deserialize)),this.middlewareStack.use(Hi(t));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"S3Client",commandName:"ListPartsCommand",inputFilterSensitiveLog:Yn.filterSensitiveLog,outputFilterSensitiveLog:$n.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"S3Client",commandName:"ListPartsCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f({"Content-Type":""},Mi(e.RequestPayer)&&{"x-amz-request-payer":e.RequestPayer}),Mi(e.ExpectedBucketOwner)&&{"x-amz-expected-bucket-owner":e.ExpectedBucketOwner}),r="/{Bucket}/{Key+}",void 0===e.Bucket)throw new Error("No value provided for input HTTP label: Bucket.");if((i=e.Bucket).length<=0)throw new Error("Empty value provided for input HTTP label: Bucket.");if(r=r.replace("{Bucket}",Object(Zr.f)(i)),void 0===e.Key)throw new Error("No value provided for input HTTP label: Key.");if((i=e.Key).length<=0)throw new Error("Empty value provided for input HTTP label: Key.");return r=r.replace("{Key+}",i.split("/").map((function(e){return Object(Zr.f)(e)})).join("/")),o=f(f(f({"x-id":"ListParts"},void 0!==e.UploadId&&{uploadId:e.UploadId}),void 0!==e.MaxParts&&{"max-parts":e.MaxParts.toString()}),void 0!==e.PartNumberMarker&&{"part-number-marker":e.PartNumberMarker.toString()}),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new Xr.a({protocol:c,hostname:a,port:l,method:"GET",headers:n,path:r,query:o,body:void 0})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,ci(e,t)]:(n={$metadata:Si(e),AbortDate:void 0,AbortRuleId:void 0,Bucket:void 0,Initiator:void 0,IsTruncated:void 0,Key:void 0,MaxParts:void 0,NextPartNumberMarker:void 0,Owner:void 0,PartNumberMarker:void 0,Parts:void 0,RequestCharged:void 0,StorageClass:void 0,UploadId:void 0},void 0!==e.headers["x-amz-abort-rule-id"]&&(n.AbortRuleId=e.headers["x-amz-abort-rule-id"]),void 0!==e.headers["x-amz-request-charged"]&&(n.RequestCharged=e.headers["x-amz-request-charged"]),void 0!==e.headers["x-amz-abort-date"]&&(n.AbortDate=new Date(e.headers["x-amz-abort-date"])),[4,Ai(e.body,t)]);case 1:return void 0!==(r=i.sent()).Bucket&&(n.Bucket=r.Bucket),void 0!==r.Initiator&&(n.Initiator=bi(r.Initiator,t)),void 0!==r.IsTruncated&&(n.IsTruncated="true"==r.IsTruncated),void 0!==r.Key&&(n.Key=r.Key),void 0!==r.MaxParts&&(n.MaxParts=parseInt(r.MaxParts)),void 0!==r.NextPartNumberMarker&&(n.NextPartNumberMarker=parseInt(r.NextPartNumberMarker)),void 0!==r.Owner&&(n.Owner=wi(r.Owner,t)),void 0!==r.PartNumberMarker&&(n.PartNumberMarker=parseInt(r.PartNumberMarker)),""===r.Part&&(n.Parts=[]),void 0!==r.Part&&(n.Parts=_i(Object(Zr.g)(r.Part),t)),void 0!==r.StorageClass&&(n.StorageClass=r.StorageClass),void 0!==r.UploadId&&(n.UploadId=r.UploadId),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Zr.b),ys=n(49),ws=n(106),_s=n(16),Ss=function(e){var t,n=Object(_s.parse)(e),r=n.hostname,i=void 0===r?"localhost":r,o=n.pathname,s=void 0===o?"/":o,a=n.port,u=n.protocol,c=void 0===u?"https:":u,f=n.search;return f&&(t=Object(ws.a)(f)),{hostname:i,port:a?parseInt(a):void 0,protocol:c,path:s,query:t}};function Es(e){return(Es="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ms=function(){return(Ms=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Os=new r.a("AWSS3ProviderManagedUpload"),xs=function(){function e(e,t,n){this.minPartSize=5242880,this.queueSize=4,this.body=null,this.params=null,this.opts=null,this.multiPartMap=[],this.cancel=!1,this.bytesUploaded=0,this.totalBytesToUpload=0,this.emitter=null,this.params=e,this.opts=t,this.emitter=n}return e.prototype.upload=function(){return As(this,void 0,void 0,(function(){var e,t,n,r,i,o;return Is(this,(function(s){switch(s.label){case 0:return e=this,[4,this.validateAndSanitizeBody(this.params.Body)];case 1:return e.body=s.sent(),this.totalBytesToUpload=this.byteLength(this.body),this.totalBytesToUpload<=this.minPartSize?(this.params.Body=this.body,t=new hs(this.params),[4,this._createNewS3Client(this.opts,this.emitter)]):[3,3];case 2:return[2,s.sent().send(t)];case 3:return[4,this.createMultiPartUpload()];case 4:n=s.sent(),r=Math.ceil(this.totalBytesToUpload/this.minPartSize),i=0,s.label=5;case 5:return i0)throw new Error("Multi Part upload clean up failed");return[2]}}))}))},e.prototype.setupEventListener=function(e){var t=this;e.emitter.on("sendProgress",(function(n){t.progressChanged(e.partNumber,n.loaded-e._lastUploadedBytes),e._lastUploadedBytes=n.loaded}))},e.prototype.progressChanged=function(e,t){this.bytesUploaded+=t,this.emitter.emit("sendProgress",{loaded:this.bytesUploaded,total:this.totalBytesToUpload,part:e,key:this.params.Key})},e.prototype.byteLength=function(e){if(null==e)return 0;if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.length)return e.length;if("number"==typeof e.size)return e.size;if("string"!=typeof e.path)throw new Error("Cannot determine length of "+e)},e.prototype.validateAndSanitizeBody=function(e){return As(this,void 0,void 0,(function(){return Is(this,(function(t){switch(t.label){case 0:return this.isGenericObject(e)?[2,JSON.stringify(e)]:[3,1];case 1:return this.isBlob(e)?a.a.isReactNative?[4,Object(eo.b)(e)]:[3,3]:[3,4];case 2:return[2,t.sent()];case 3:case 4:return[2,e]}}))}))},e.prototype.isBlob=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},e.prototype.isGenericObject=function(e){if(null!==e&&"object"===Es(e))try{return!(this.byteLength(e)>=0)}catch(e){return!0}return!1},e.prototype._createNewS3Client=function(e,t){return As(this,void 0,void 0,(function(){var n,r,i,o,s;return Is(this,(function(u){switch(u.label){case 0:return[4,this._getCredentials()];case 1:return n=u.sent(),r=e.region,i=e.dangerouslyConnectToHttpEndpointForTesting,o={},i&&(o={endpoint:"http://localhost:20005",tls:!1,bucketEndpoint:!1,forcePathStyle:!0}),(s=new jo(Ms(Ms({region:r,credentials:n},o),{requestHandler:new Vo({},t),customUserAgent:Object(a.b)(),urlParser:Ss}))).middlewareStack.remove("contentLengthMiddleware"),[2,s]}}))}))},e.prototype._getCredentials=function(){return s.a.get().then((function(e){if(!e)return!1;var t=s.a.shear(e);return Os.debug("set credentials for storage",t),t})).catch((function(e){return Os.warn("ensure credentials error",e),!1}))},e}();function Cs(e){return(Cs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Ts=function(){return(Ts=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},qs=new r.a("StorageClass"),Ks=function(){function e(){this._config={},this._pluggables=[],qs.debug("Storage Options",this._config),this.get=this.get.bind(this),this.put=this.put.bind(this),this.remove=this.remove.bind(this),this.list=this.list.bind(this)}return e.prototype.getModuleName=function(){return"Storage"},e.prototype.addPluggable=function(e){if(e&&"Storage"===e.getCategory()){this._pluggables.push(e);return e.configure(this._config[e.getProviderName()])}},e.prototype.getPluggable=function(e){var t=this._pluggables.find((function(t){return t.getProviderName()===e}));return void 0===t?(qs.debug("No plugin found with providerName",e),null):t},e.prototype.removePluggable=function(e){this._pluggables=this._pluggables.filter((function(t){return t.getProviderName()!==e}))},e.prototype.configure=function(e){var t=this;if(qs.debug("configure Storage"),!e)return this._config;var n=i.a.parseMobilehubConfig(e),r=Object.keys(n.Storage),o=["bucket","region","level","track","customPrefix","serverSideEncryption","SSECustomerAlgorithm","SSECustomerKey","SSECustomerKeyMD5","SSEKMSKeyId"],s=function(e){return o.some((function(t){return t===e}))};return r&&r.find((function(e){return s(e)}))&&!n.Storage.AWSS3&&(n.Storage.AWSS3={}),Object.entries(n.Storage).map((function(e){var t=zs(e,2),r=t[0],i=t[1];r&&s(r)&&void 0!==i&&(n.Storage.AWSS3[r]=i,delete n.Storage[r])})),Object.keys(n.Storage).forEach((function(e){"string"!=typeof n.Storage[e]&&(t._config[e]=Us(Us({},t._config[e]),n.Storage[e]))})),this._pluggables.forEach((function(e){e.configure(t._config[e.getProviderName()])})),0===this._pluggables.length&&this.addPluggable(new Ds),this._config},e.prototype.get=function(e,t){return Bs(this,void 0,void 0,(function(){var n,r,i;return Fs(this,(function(o){return n=(t||{}).provider,r=void 0===n?"AWSS3":n,void 0===(i=this._pluggables.find((function(e){return e.getProviderName()===r})))&&(qs.debug("No plugin found with providerName",r),Promise.reject("No plugin found in Storage for the provider")),[2,i.get(e,t)]}))}))},e.prototype.put=function(e,t,n){return Bs(this,void 0,void 0,(function(){var r,i,o;return Fs(this,(function(s){return r=(n||{}).provider,i=void 0===r?"AWSS3":r,void 0===(o=this._pluggables.find((function(e){return e.getProviderName()===i})))&&(qs.debug("No plugin found with providerName",i),Promise.reject("No plugin found in Storage for the provider")),[2,o.put(e,t,n)]}))}))},e.prototype.remove=function(e,t){return Bs(this,void 0,void 0,(function(){var n,r,i;return Fs(this,(function(o){return n=(t||{}).provider,r=void 0===n?"AWSS3":n,void 0===(i=this._pluggables.find((function(e){return e.getProviderName()===r})))&&(qs.debug("No plugin found with providerName",r),Promise.reject("No plugin found in Storage for the provider")),[2,i.remove(e,t)]}))}))},e.prototype.list=function(e,t){return Bs(this,void 0,void 0,(function(){var n,r,i;return Fs(this,(function(o){return n=(t||{}).provider,r=void 0===n?"AWSS3":n,void 0===(i=this._pluggables.find((function(e){return e.getProviderName()===r})))&&(qs.debug("No plugin found with providerName",r),Promise.reject("No plugin found in Storage for the provider")),[2,i.list(e,t)]}))}))},e}(),Hs=n(19),Vs=function(){return(Vs=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(r=this.getByLanguage(e,n.split("-")[0])),r||(void 0!==t?t:e))},e.prototype.getByLanguage=function(e,t,n){if(void 0===n&&(n=null),!t)return n;var r=this._dict[t];return r?r[e]:n},e.prototype.putVocabulariesForLanguage=function(e,t){var n=this._dict[e];n||(n=this._dict[e]={}),Object.assign(n,t)},e.prototype.putVocabularies=function(e){var t=this;Object.keys(e).map((function(n){t.putVocabulariesForLanguage(n,e[n])}))},e}(),s=n(19),a=new r.a("I18n"),u=null,c=null,f=function(){function e(){}return e.configure=function(t){return a.debug("configure I18n"),t?(u=Object.assign({},u,t.I18n||t),e.createInstance(),u):u},e.getModuleName=function(){return"I18n"},e.createInstance=function(){a.debug("create I18n instance"),c||(c=new o(u))},e.setLanguage=function(t){return e.checkConfig(),c.setLanguage(t)},e.get=function(t,n){return e.checkConfig()?c.get(t,n):void 0===n?t:n},e.putVocabulariesForLanguage=function(t,n){return e.checkConfig(),c.putVocabulariesForLanguage(t,n)},e.putVocabularies=function(t){return e.checkConfig(),c.putVocabularies(t)},e.checkConfig=function(){return c||(c=new o(u)),!0},e}();s.a.register(f)},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(44),i=n(33),o=n(19);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=function(){function e(){this._logger=new r.a("ServiceWorker")}return Object.defineProperty(e.prototype,"serviceWorker",{get:function(){return this._serviceWorker},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this;return void 0===e&&(e="/service-worker.js"),void 0===t&&(t="/"),this._logger.debug("registering "+e),this._logger.debug("registering service worker with scope "+t),new Promise((function(r,i){if(!navigator||!("serviceWorker"in navigator))return i(new Error("Service Worker not available"));navigator.serviceWorker.register(e,{scope:t}).then((function(e){return e.installing?n._serviceWorker=e.installing:e.waiting?n._serviceWorker=e.waiting:e.active&&(n._serviceWorker=e.active),n._registration=e,n._setupListeners(),n._logger.debug("Service Worker Registration Success: "+e),r(e)})).catch((function(e){return n._logger.debug("Service Worker Registration Failed "+e),i(e)}))}))},e.prototype.enablePush=function(e){var t=this;if(!this._registration)throw new Error("Service Worker not registered");return this._publicKey=e,new Promise((function(n,r){if(!Object(i.b)().isBrowser)return r(new Error("Service Worker not available"));t._registration.pushManager.getSubscription().then((function(r){if(!r)return t._logger.debug("User is NOT subscribed to push"),t._registration.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:t._urlB64ToUint8Array(e)}).then((function(e){t._subscription=e,t._logger.debug("User subscribed: "+JSON.stringify(e)),n(e)})).catch((function(e){t._logger.error(e)}));t._subscription=r,t._logger.debug("User is subscribed to push: "+JSON.stringify(r)),n(r)}))}))},e.prototype._urlB64ToUint8Array=function(e){for(var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),n=window.atob(t),r=new Uint8Array(n.length),i=0;i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}var g,m,b,y,w,_,S,E,M,A,I,k,O,x,C,T,P,N,R,L,j,D,U,B,F,z,q,K,H,V,G,W,$,Y,J,Z,X,Q,ee,te,ne,re,ie,oe,se,ae,ue,ce,fe,le,de,he,pe,ve,ge,me,be,ye,we,_e,Se,Ee,Me,Ae,Ie,ke,Oe,xe,Ce,Te,Pe,Ne,Re,Le,je,De,Ue,Be,Fe,ze,qe,Ke,He,Ve,Ge,We,$e,Ye,Je,Ze,Xe,Qe,et,tt,nt,rt,it,ot,st,at,ut,ct,ft,lt,dt,ht,pt,vt,gt,mt,bt,yt,wt,_t,St,Et,Mt,At,It,kt,Ot,xt,Ct,Tt,Pt,Nt,Rt,Lt,jt,Dt,Ut;Object.create;(g||(g={})).filterSensitiveLog=function(e){return d({},e)},(m||(m={})).filterSensitiveLog=function(e){return d({},e)},(b||(b={})).filterSensitiveLog=function(e){return d({},e)},(y||(y={})).filterSensitiveLog=function(e){return d({},e)},(w||(w={})).filterSensitiveLog=function(e){return d({},e)},(_||(_={})).filterSensitiveLog=function(e){return d({},e)},(S||(S={})).filterSensitiveLog=function(e){return d({},e)},(E||(E={})).filterSensitiveLog=function(e){return d({},e)},(M||(M={})).filterSensitiveLog=function(e){return d({},e)},(A||(A={})).filterSensitiveLog=function(e){return d({},e)},(I||(I={})).filterSensitiveLog=function(e){return d({},e)},(k||(k={})).filterSensitiveLog=function(e){return d({},e)},(O||(O={})).filterSensitiveLog=function(e){return d({},e)},(x||(x={})).filterSensitiveLog=function(e){return d({},e)},(C||(C={})).filterSensitiveLog=function(e){return d({},e)},(T||(T={})).filterSensitiveLog=function(e){return d({},e)},(P||(P={})).filterSensitiveLog=function(e){return d({},e)},(N||(N={})).filterSensitiveLog=function(e){return d({},e)},(R||(R={})).filterSensitiveLog=function(e){return d({},e)},(L||(L={})).filterSensitiveLog=function(e){return d({},e)},(j||(j={})).filterSensitiveLog=function(e){return d({},e)},(D||(D={})).filterSensitiveLog=function(e){return d({},e)},(U||(U={})).filterSensitiveLog=function(e){return d({},e)},(B||(B={})).filterSensitiveLog=function(e){return d({},e)},(F||(F={})).filterSensitiveLog=function(e){return d({},e)},(z||(z={})).filterSensitiveLog=function(e){return d({},e)},(q||(q={})).filterSensitiveLog=function(e){return d({},e)},(K||(K={})).filterSensitiveLog=function(e){return d({},e)},(H||(H={})).filterSensitiveLog=function(e){return d({},e)},(V||(V={})).filterSensitiveLog=function(e){return d({},e)},(G||(G={})).filterSensitiveLog=function(e){return d({},e)},(W||(W={})).filterSensitiveLog=function(e){return d({},e)},($||($={})).filterSensitiveLog=function(e){return d({},e)},(Y||(Y={})).filterSensitiveLog=function(e){return d({},e)},(J||(J={})).filterSensitiveLog=function(e){return d({},e)},(Z||(Z={})).filterSensitiveLog=function(e){return d({},e)},(X||(X={})).filterSensitiveLog=function(e){return d({},e)},(Q||(Q={})).filterSensitiveLog=function(e){return d({},e)},(ee||(ee={})).filterSensitiveLog=function(e){return d({},e)},(te||(te={})).filterSensitiveLog=function(e){return d({},e)},(ne||(ne={})).filterSensitiveLog=function(e){return d({},e)},(re||(re={})).filterSensitiveLog=function(e){return d({},e)},(ie||(ie={})).filterSensitiveLog=function(e){return d({},e)},(oe||(oe={})).filterSensitiveLog=function(e){return d({},e)},(se||(se={})).filterSensitiveLog=function(e){return d({},e)},(ae||(ae={})).filterSensitiveLog=function(e){return d({},e)},(ue||(ue={})).filterSensitiveLog=function(e){return d({},e)},(ce||(ce={})).filterSensitiveLog=function(e){return d({},e)},(fe||(fe={})).filterSensitiveLog=function(e){return d({},e)},(le||(le={})).filterSensitiveLog=function(e){return d({},e)},(de||(de={})).filterSensitiveLog=function(e){return d({},e)},(he||(he={})).filterSensitiveLog=function(e){return d({},e)},(pe||(pe={})).filterSensitiveLog=function(e){return d({},e)},(ve||(ve={})).filterSensitiveLog=function(e){return d({},e)},(ge||(ge={})).filterSensitiveLog=function(e){return d({},e)},(me||(me={})).filterSensitiveLog=function(e){return d({},e)},(be||(be={})).filterSensitiveLog=function(e){return d({},e)},(ye||(ye={})).filterSensitiveLog=function(e){return d({},e)},(we||(we={})).filterSensitiveLog=function(e){return d({},e)},(_e||(_e={})).filterSensitiveLog=function(e){return d({},e)},(Se||(Se={})).filterSensitiveLog=function(e){return d({},e)},(Ee||(Ee={})).filterSensitiveLog=function(e){return d({},e)},(Me||(Me={})).filterSensitiveLog=function(e){return d({},e)},(Ae||(Ae={})).filterSensitiveLog=function(e){return d({},e)},(Ie||(Ie={})).filterSensitiveLog=function(e){return d({},e)},(ke||(ke={})).filterSensitiveLog=function(e){return d({},e)},(Oe||(Oe={})).filterSensitiveLog=function(e){return d({},e)},(xe||(xe={})).filterSensitiveLog=function(e){return d({},e)},(Ce||(Ce={})).filterSensitiveLog=function(e){return d({},e)},(Te||(Te={})).filterSensitiveLog=function(e){return d({},e)},(Pe||(Pe={})).filterSensitiveLog=function(e){return d({},e)},(Ne||(Ne={})).filterSensitiveLog=function(e){return d({},e)},(Re||(Re={})).filterSensitiveLog=function(e){return d({},e)},(Le||(Le={})).filterSensitiveLog=function(e){return d({},e)},(je||(je={})).filterSensitiveLog=function(e){return d({},e)},(De||(De={})).filterSensitiveLog=function(e){return d({},e)},(Ue||(Ue={})).filterSensitiveLog=function(e){return d({},e)},(Be||(Be={})).filterSensitiveLog=function(e){return d({},e)},(Fe||(Fe={})).filterSensitiveLog=function(e){return d({},e)},(ze||(ze={})).filterSensitiveLog=function(e){return d({},e)},(qe||(qe={})).filterSensitiveLog=function(e){return d({},e)},(Ke||(Ke={})).filterSensitiveLog=function(e){return d({},e)},(He||(He={})).filterSensitiveLog=function(e){return d({},e)},(Ve||(Ve={})).filterSensitiveLog=function(e){return d({},e)},(Ge||(Ge={})).filterSensitiveLog=function(e){return d({},e)},(We||(We={})).filterSensitiveLog=function(e){return d({},e)},($e||($e={})).filterSensitiveLog=function(e){return d({},e)},(Ye||(Ye={})).filterSensitiveLog=function(e){return d({},e)},(Je||(Je={})).filterSensitiveLog=function(e){return d({},e)},(Ze||(Ze={})).filterSensitiveLog=function(e){return d({},e)},(Xe||(Xe={})).filterSensitiveLog=function(e){return d({},e)},(Qe||(Qe={})).filterSensitiveLog=function(e){return d({},e)},(et||(et={})).filterSensitiveLog=function(e){return d({},e)},(tt||(tt={})).filterSensitiveLog=function(e){return d({},e)},(nt||(nt={})).filterSensitiveLog=function(e){return d({},e)},(rt||(rt={})).filterSensitiveLog=function(e){return d({},e)},(it||(it={})).filterSensitiveLog=function(e){return d({},e)},(ot||(ot={})).filterSensitiveLog=function(e){return d({},e)},(st||(st={})).filterSensitiveLog=function(e){return d({},e)},(at||(at={})).filterSensitiveLog=function(e){return d({},e)},(ut||(ut={})).filterSensitiveLog=function(e){return d({},e)},(ct||(ct={})).filterSensitiveLog=function(e){return d({},e)},(ft||(ft={})).filterSensitiveLog=function(e){return d({},e)},(lt||(lt={})).filterSensitiveLog=function(e){return d({},e)},(dt||(dt={})).filterSensitiveLog=function(e){return d({},e)},(ht||(ht={})).filterSensitiveLog=function(e){return d({},e)},(pt||(pt={})).filterSensitiveLog=function(e){return d({},e)},(vt||(vt={})).filterSensitiveLog=function(e){return d({},e)},(gt||(gt={})).filterSensitiveLog=function(e){return d({},e)},(mt||(mt={})).filterSensitiveLog=function(e){return d({},e)},(bt||(bt={})).filterSensitiveLog=function(e){return d({},e)},(yt||(yt={})).filterSensitiveLog=function(e){return d({},e)},(wt||(wt={})).filterSensitiveLog=function(e){return d({},e)},(_t||(_t={})).filterSensitiveLog=function(e){return d({},e)},(St||(St={})).filterSensitiveLog=function(e){return d({},e)},(Et||(Et={})).filterSensitiveLog=function(e){return d({},e)},(Mt||(Mt={})).filterSensitiveLog=function(e){return d({},e)},(At||(At={})).filterSensitiveLog=function(e){return d({},e)},(It||(It={})).filterSensitiveLog=function(e){return d({},e)},(kt||(kt={})).filterSensitiveLog=function(e){return d({},e)},(Ot||(Ot={})).filterSensitiveLog=function(e){return d({},e)},(xt||(xt={})).filterSensitiveLog=function(e){return d({},e)},(Ct||(Ct={})).filterSensitiveLog=function(e){return d({},e)},(Tt||(Tt={})).filterSensitiveLog=function(e){return d({},e)},(Pt||(Pt={})).filterSensitiveLog=function(e){return d({},e)},(Nt||(Nt={})).filterSensitiveLog=function(e){return d({},e)},(Rt||(Rt={})).filterSensitiveLog=function(e){return d({},e)},(Lt||(Lt={})).filterSensitiveLog=function(e){return d({},e)},(jt||(jt={})).filterSensitiveLog=function(e){return d({},e)},(Dt||(Dt={})).filterSensitiveLog=function(e){return d({},e)},(Ut||(Ut={})).filterSensitiveLog=function(e){return d({},e)};var Bt=n(2),Ft=n(0),zt=function(e,t){return h(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,h,v,g,m;return p(this,(function(p){switch(p.label){case 0:return r=[d({},e)],m={},[4,mn(e.body,t)];case 1:switch(n=d.apply(void 0,r.concat([(m.body=p.sent(),m)])),o="UnknownError",o=bn(e,n.body),o){case"BadRequestException":case"com.amazonaws.pinpoint#BadRequestException":return[3,2];case"ForbiddenException":case"com.amazonaws.pinpoint#ForbiddenException":return[3,4];case"InternalServerErrorException":case"com.amazonaws.pinpoint#InternalServerErrorException":return[3,6];case"MethodNotAllowedException":case"com.amazonaws.pinpoint#MethodNotAllowedException":return[3,8];case"NotFoundException":case"com.amazonaws.pinpoint#NotFoundException":return[3,10];case"PayloadTooLargeException":case"com.amazonaws.pinpoint#PayloadTooLargeException":return[3,12];case"TooManyRequestsException":case"com.amazonaws.pinpoint#TooManyRequestsException":return[3,14]}return[3,16];case 2:return s=[{}],[4,Kt(n,t)];case 3:return i=d.apply(void 0,[d.apply(void 0,s.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 4:return a=[{}],[4,Ht(n,t)];case 5:return i=d.apply(void 0,[d.apply(void 0,a.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 6:return u=[{}],[4,Vt(n,t)];case 7:return i=d.apply(void 0,[d.apply(void 0,u.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 8:return c=[{}],[4,Gt(n,t)];case 9:return i=d.apply(void 0,[d.apply(void 0,c.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 10:return f=[{}],[4,Wt(n,t)];case 11:return i=d.apply(void 0,[d.apply(void 0,f.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 12:return l=[{}],[4,$t(n,t)];case 13:return i=d.apply(void 0,[d.apply(void 0,l.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 14:return h=[{}],[4,Yt(n,t)];case 15:return i=d.apply(void 0,[d.apply(void 0,h.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 16:v=n.body,o=v.code||v.Code||o,i=d(d({},v),{name:""+o,message:v.message||v.Message||o,$fault:"client",$metadata:vn(e)}),p.label=17;case 17:return g=i.message||i.Message||o,i.message=g,delete i.Message,[2,Promise.reject(Object.assign(new Error(g),i))]}}))}))},qt=function(e,t){return h(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,h,v,g,m;return p(this,(function(p){switch(p.label){case 0:return r=[d({},e)],m={},[4,mn(e.body,t)];case 1:switch(n=d.apply(void 0,r.concat([(m.body=p.sent(),m)])),o="UnknownError",o=bn(e,n.body),o){case"BadRequestException":case"com.amazonaws.pinpoint#BadRequestException":return[3,2];case"ForbiddenException":case"com.amazonaws.pinpoint#ForbiddenException":return[3,4];case"InternalServerErrorException":case"com.amazonaws.pinpoint#InternalServerErrorException":return[3,6];case"MethodNotAllowedException":case"com.amazonaws.pinpoint#MethodNotAllowedException":return[3,8];case"NotFoundException":case"com.amazonaws.pinpoint#NotFoundException":return[3,10];case"PayloadTooLargeException":case"com.amazonaws.pinpoint#PayloadTooLargeException":return[3,12];case"TooManyRequestsException":case"com.amazonaws.pinpoint#TooManyRequestsException":return[3,14]}return[3,16];case 2:return s=[{}],[4,Kt(n,t)];case 3:return i=d.apply(void 0,[d.apply(void 0,s.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 4:return a=[{}],[4,Ht(n,t)];case 5:return i=d.apply(void 0,[d.apply(void 0,a.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 6:return u=[{}],[4,Vt(n,t)];case 7:return i=d.apply(void 0,[d.apply(void 0,u.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 8:return c=[{}],[4,Gt(n,t)];case 9:return i=d.apply(void 0,[d.apply(void 0,c.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 10:return f=[{}],[4,Wt(n,t)];case 11:return i=d.apply(void 0,[d.apply(void 0,f.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 12:return l=[{}],[4,$t(n,t)];case 13:return i=d.apply(void 0,[d.apply(void 0,l.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 14:return h=[{}],[4,Yt(n,t)];case 15:return i=d.apply(void 0,[d.apply(void 0,h.concat([p.sent()])),{name:o,$metadata:vn(e)}]),[3,17];case 16:v=n.body,o=v.code||v.Code||o,i=d(d({},v),{name:""+o,message:v.message||v.Message||o,$fault:"client",$metadata:vn(e)}),p.label=17;case 17:return g=i.message||i.Message||o,i.message=g,delete i.Message,[2,Promise.reject(Object.assign(new Error(g),i))]}}))}))},Kt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"BadRequestException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Ht=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"ForbiddenException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Vt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"InternalServerErrorException",$fault:"server",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Gt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"MethodNotAllowedException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Wt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"NotFoundException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},$t=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"PayloadTooLargeException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Yt=function(e,t){return h(void 0,void 0,void 0,(function(){var t,n;return p(this,(function(r){return t={name:"TooManyRequestsException",$fault:"client",$metadata:vn(e),Message:void 0,RequestID:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),void 0!==n.RequestID&&null!==n.RequestID&&(t.RequestID=n.RequestID),[2,t]}))}))},Jt=function(e,t){return d(d(d(d(d(d(d(d({},void 0!==e.AppVersion&&{AppVersion:e.AppVersion}),void 0!==e.Locale&&{Locale:e.Locale}),void 0!==e.Make&&{Make:e.Make}),void 0!==e.Model&&{Model:e.Model}),void 0!==e.ModelVersion&&{ModelVersion:e.ModelVersion}),void 0!==e.Platform&&{Platform:e.Platform}),void 0!==e.PlatformVersion&&{PlatformVersion:e.PlatformVersion}),void 0!==e.Timezone&&{Timezone:e.Timezone})},Zt=function(e,t){return d(d(d(d(d(d({},void 0!==e.City&&{City:e.City}),void 0!==e.Country&&{Country:e.Country}),void 0!==e.Latitude&&{Latitude:e.Latitude}),void 0!==e.Longitude&&{Longitude:e.Longitude}),void 0!==e.PostalCode&&{PostalCode:e.PostalCode}),void 0!==e.Region&&{Region:e.Region})},Xt=function(e,t){return d(d(d(d(d(d(d(d(d(d(d({},void 0!==e.Address&&{Address:e.Address}),void 0!==e.Attributes&&{Attributes:an(e.Attributes,t)}),void 0!==e.ChannelType&&{ChannelType:e.ChannelType}),void 0!==e.Demographic&&{Demographic:Jt(e.Demographic,t)}),void 0!==e.EffectiveDate&&{EffectiveDate:e.EffectiveDate}),void 0!==e.EndpointStatus&&{EndpointStatus:e.EndpointStatus}),void 0!==e.Location&&{Location:Zt(e.Location,t)}),void 0!==e.Metrics&&{Metrics:nn(e.Metrics,t)}),void 0!==e.OptOut&&{OptOut:e.OptOut}),void 0!==e.RequestId&&{RequestId:e.RequestId}),void 0!==e.User&&{User:Qt(e.User,t)})},Qt=function(e,t){return d(d({},void 0!==e.UserAttributes&&{UserAttributes:an(e.UserAttributes,t)}),void 0!==e.UserId&&{UserId:e.UserId})},en=function(e,t){return d({},void 0!==e.BatchItem&&{BatchItem:sn(e.BatchItem,t)})},tn=function(e,t){return e.map((function(e){return e}))},nn=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=v(t,2),i=r[0],o=r[1];return d(d({},e),((n={})[i]=o,n))}),{})},rn=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=v(t,2),i=r[0],o=r[1];return d(d({},e),((n={})[i]=o,n))}),{})},on=function(e,t){return Object.entries(e).reduce((function(e,n){var r,i=v(n,2),o=i[0],s=i[1];return d(d({},e),((r={})[o]=function(e,t){return d(d(d(d(d(d(d(d(d(d({},void 0!==e.AppPackageName&&{AppPackageName:e.AppPackageName}),void 0!==e.AppTitle&&{AppTitle:e.AppTitle}),void 0!==e.AppVersionCode&&{AppVersionCode:e.AppVersionCode}),void 0!==e.Attributes&&{Attributes:rn(e.Attributes,t)}),void 0!==e.ClientSdkVersion&&{ClientSdkVersion:e.ClientSdkVersion}),void 0!==e.EventType&&{EventType:e.EventType}),void 0!==e.Metrics&&{Metrics:nn(e.Metrics,t)}),void 0!==e.SdkName&&{SdkName:e.SdkName}),void 0!==e.Session&&{Session:cn(e.Session,t)}),void 0!==e.Timestamp&&{Timestamp:e.Timestamp})}(s,t),r))}),{})},sn=function(e,t){return Object.entries(e).reduce((function(e,n){var r,i=v(n,2),o=i[0],s=i[1];return d(d({},e),((r={})[o]=function(e,t){return d(d({},void 0!==e.Endpoint&&{Endpoint:un(e.Endpoint,t)}),void 0!==e.Events&&{Events:on(e.Events,t)})}(s,t),r))}),{})},an=function(e,t){return Object.entries(e).reduce((function(e,n){var r,i=v(n,2),o=i[0],s=i[1];return d(d({},e),((r={})[o]=tn(s,t),r))}),{})},un=function(e,t){return d(d(d(d(d(d(d(d(d(d(d({},void 0!==e.Address&&{Address:e.Address}),void 0!==e.Attributes&&{Attributes:an(e.Attributes,t)}),void 0!==e.ChannelType&&{ChannelType:e.ChannelType}),void 0!==e.Demographic&&{Demographic:Jt(e.Demographic,t)}),void 0!==e.EffectiveDate&&{EffectiveDate:e.EffectiveDate}),void 0!==e.EndpointStatus&&{EndpointStatus:e.EndpointStatus}),void 0!==e.Location&&{Location:Zt(e.Location,t)}),void 0!==e.Metrics&&{Metrics:nn(e.Metrics,t)}),void 0!==e.OptOut&&{OptOut:e.OptOut}),void 0!==e.RequestId&&{RequestId:e.RequestId}),void 0!==e.User&&{User:Qt(e.User,t)})},cn=function(e,t){return d(d(d(d({},void 0!==e.Duration&&{Duration:e.Duration}),void 0!==e.Id&&{Id:e.Id}),void 0!==e.StartTimestamp&&{StartTimestamp:e.StartTimestamp}),void 0!==e.StopTimestamp&&{StopTimestamp:e.StopTimestamp})},fn=function(e,t){return{Message:void 0!==e.Message&&null!==e.Message?e.Message:void 0,StatusCode:void 0!==e.StatusCode&&null!==e.StatusCode?e.StatusCode:void 0}},ln=function(e,t){return{Results:void 0!==e.Results&&null!==e.Results?hn(e.Results,t):void 0}},dn=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=v(t,2),i=r[0],o=r[1];return d(d({},e),((n={})[i]=function(e,t){return{Message:void 0!==e.Message&&null!==e.Message?e.Message:void 0,StatusCode:void 0!==e.StatusCode&&null!==e.StatusCode?e.StatusCode:void 0}}(o),n))}),{})},hn=function(e,t){return Object.entries(e).reduce((function(e,n){var r,i=v(n,2),o=i[0],s=i[1];return d(d({},e),((r={})[o]=function(e,t){return{EndpointItemResponse:void 0!==e.EndpointItemResponse&&null!==e.EndpointItemResponse?fn(e.EndpointItemResponse):void 0,EventsItemResponse:void 0!==e.EventsItemResponse&&null!==e.EventsItemResponse?dn(e.EventsItemResponse,t):void 0}}(s,t),r))}),{})},pn=function(e,t){return{Message:void 0!==e.Message&&null!==e.Message?e.Message:void 0,RequestID:void 0!==e.RequestID&&null!==e.RequestID?e.RequestID:void 0}},vn=function(e){return{httpStatusCode:e.statusCode,httpHeaders:e.headers,requestId:e.headers["x-amzn-requestid"]}},gn=function(e,t){return void 0===e&&(e=new Uint8Array),e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array)},mn=function(e,t){return function(e,t){return gn(e,t).then((function(e){return t.utf8Encoder(e)}))}(e,t).then((function(e){return e.length?JSON.parse(e):{}}))},bn=function(e,t){var n,r,i=function(e){var t=e;return t.indexOf(":")>=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},o=(n=e.headers,r="x-amzn-errortype",Object.keys(n).find((function(e){return e.toLowerCase()===r.toLowerCase()})));return void 0!==o?i(e.headers[o]):void 0!==t.code?i(t.code):void 0!==t.__type?i(t.__type):""},yn=n(10),wn=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return l(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(yn.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"PinpointClient",commandName:"PutEventsCommand",inputFilterSensitiveLog:Ie.filterSensitiveLog,outputFilterSensitiveLog:ke.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"PinpointClient",commandName:"PutEventsCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return h(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f;return p(this,(function(l){switch(l.label){case 0:if(n={"Content-Type":"application/json"},r="/v1/apps/{ApplicationId}/events",void 0===e.ApplicationId)throw new Error("No value provided for input HTTP label: ApplicationId.");if((i=e.ApplicationId).length<=0)throw new Error("Empty value provided for input HTTP label: ApplicationId.");return r=r.replace("{ApplicationId}",Object(Ft.f)(i)),void 0!==e.EventsRequest&&(o=en(e.EventsRequest,t)),void 0===o&&(o={}),o=JSON.stringify(o),[4,t.endpoint()];case 1:return s=l.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,f=s.port,[2,new Bt.a({protocol:c,hostname:a,port:f,method:"POST",headers:n,path:r,body:o})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return h(void 0,void 0,void 0,(function(){var n,r;return p(this,(function(i){switch(i.label){case 0:return 202!==e.statusCode&&e.statusCode>=300?[2,zt(e,t)]:(n={$metadata:vn(e),EventsResponse:void 0},[4,mn(e.body,t)]);case 1:return r=i.sent(),n.EventsResponse=ln(r,t),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Ft.b),_n=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return l(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(yn.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"PinpointClient",commandName:"UpdateEndpointCommand",inputFilterSensitiveLog:ct.filterSensitiveLog,outputFilterSensitiveLog:ft.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"PinpointClient",commandName:"UpdateEndpointCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return h(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f;return p(this,(function(l){switch(l.label){case 0:if(n={"Content-Type":"application/json"},r="/v1/apps/{ApplicationId}/endpoints/{EndpointId}",void 0===e.ApplicationId)throw new Error("No value provided for input HTTP label: ApplicationId.");if((i=e.ApplicationId).length<=0)throw new Error("Empty value provided for input HTTP label: ApplicationId.");if(r=r.replace("{ApplicationId}",Object(Ft.f)(i)),void 0===e.EndpointId)throw new Error("No value provided for input HTTP label: EndpointId.");if((i=e.EndpointId).length<=0)throw new Error("Empty value provided for input HTTP label: EndpointId.");return r=r.replace("{EndpointId}",Object(Ft.f)(i)),void 0!==e.EndpointRequest&&(o=Xt(e.EndpointRequest,t)),void 0===o&&(o={}),o=JSON.stringify(o),[4,t.endpoint()];case 1:return s=l.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,f=s.port,[2,new Bt.a({protocol:c,hostname:a,port:f,method:"PUT",headers:n,path:r,body:o})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return h(void 0,void 0,void 0,(function(){var n,r;return p(this,(function(i){switch(i.label){case 0:return 202!==e.statusCode&&e.statusCode>=300?[2,qt(e,t)]:(n={$metadata:vn(e),MessageBody:void 0},[4,mn(e.body,t)]);case 1:return r=i.sent(),n.MessageBody=pn(r,t),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(Ft.b),Sn=n(149),En=n(38),Mn=n(18),An=n(24),In=n(11),kn=n(39),On=n(17),xn=n(40),Cn=n(41),Tn=n(15),Pn=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),Nn=new Set(["cn-north-1","cn-northwest-1"]),Rn=new Set(["us-iso-east-1"]),Ln=new Set(["us-isob-east-1"]),jn=new Set(["us-gov-east-1","us-gov-west-1"]),Dn=d(d({},{apiVersion:"2016-12-01",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-south-1":n={hostname:"pinpoint.ap-south-1.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"ap-southeast-2":n={hostname:"pinpoint.ap-southeast-2.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"eu-central-1":n={hostname:"pinpoint.eu-central-1.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"eu-west-1":n={hostname:"pinpoint.eu-west-1.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"us-east-1":n={hostname:"pinpoint.us-east-1.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;case"us-west-2":n={hostname:"pinpoint.us-west-2.amazonaws.com",partition:"aws",signingService:"mobiletargeting"};break;default:Pn.has(e)&&(n={hostname:"pinpoint.{region}.amazonaws.com".replace("{region}",e),partition:"aws",signingService:"mobiletargeting"}),Nn.has(e)&&(n={hostname:"pinpoint.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),Rn.has(e)&&(n={hostname:"pinpoint.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),Ln.has(e)&&(n={hostname:"pinpoint.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),jn.has(e)&&(n={hostname:"pinpoint.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"pinpoint.{region}.amazonaws.com".replace("{region}",e),partition:"aws",signingService:"mobiletargeting"})}return Promise.resolve(n)},signingName:"mobiletargeting"}),{runtime:"browser",base64Decoder:On.a,base64Encoder:On.b,bodyLengthChecker:xn.a,credentialDefaultProvider:Object(An.a)("Credential is missing"),defaultUserAgent:Object(Cn.a)(Sn.name,Sn.version),maxAttempts:In.a,region:Object(An.a)("Region is missing"),requestHandler:new Mn.a,sha256:En.Sha256,streamCollector:Mn.b,urlParser:kn.a,utf8Decoder:Tn.a,utf8Encoder:Tn.b}),Un=n(22),Bn=n(37),Fn=n(21),zn=n(43),qn=n(25),Kn=n(23),Hn=function(e){function t(t){var n=this,r=d(d({},Dn),t),i=Object(Un.b)(r),o=Object(Un.a)(i),s=Object(qn.b)(o),a=Object(In.c)(s),u=Object(Kn.b)(a),c=Object(Fn.b)(u);return(n=e.call(this,c)||this).config=c,n.middlewareStack.use(Object(qn.a)(n.config)),n.middlewareStack.use(Object(In.b)(n.config)),n.middlewareStack.use(Object(Kn.a)(n.config)),n.middlewareStack.use(Object(Bn.a)(n.config)),n.middlewareStack.use(Object(Fn.a)(n.config)),n.middlewareStack.use(Object(zn.a)(n.config)),n}return l(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(Ft.a),Vn=n(26),Gn=n(27),Wn=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},$n=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Jn=function(){for(var e=[],t=0;tthis._config.bufferSize)return Zn.debug("Exceeded analytics events buffer size"),e.handlers.reject(new Error("Exceeded the size of analytics events buffer"));var n=((t={})[e.params.event.eventId]=e,t);this._buffer.push(n)},e.prototype.pause=function(){this._pause=!0},e.prototype.resume=function(){this._pause=!1},e.prototype.updateClient=function(e){this._client=e},e.prototype.flush=function(){this._flush=!0},e.prototype._startLoop=function(){this._interval&&clearInterval(this._interval);var e=this._config.flushInterval;this._interval=setInterval(this._sendBatch,e)},e.prototype._sendBatch=function(){var e=this._buffer.length;if(this._flush&&!e&&clearInterval(this._interval),!this._pause&&e){var t=this._config.flushSize,n=Math.min(t,e),r=this._buffer.splice(0,n);this._putEvents(r)}},e.prototype._putEvents=function(e){return Wn(this,void 0,void 0,(function(){var t,n,r,i,o;return $n(this,(function(s){switch(s.label){case 0:t=this._bufferToMap(e),n=this._generateBatchEventParams(t),s.label=1;case 1:return s.trys.push([1,3,,4]),r=new wn(n),[4,this._client.send(r)];case 2:return i=s.sent(),this._processPutEventsSuccessResponse(i,t),[3,4];case 3:return o=s.sent(),[2,this._handlePutEventsFailure(o,t)];case 4:return[2]}}))}))},e.prototype._generateBatchEventParams=function(e){var t={ApplicationId:"",EventsRequest:{BatchItem:{}}};return Object.values(e).forEach((function(e){var n=e.params,r=n.event,i=n.timestamp,o=n.config,s=r.name,a=r.attributes,u=r.metrics,c=r.eventId,f=r.session,l=o.appId,d=o.endpointId,h=t.EventsRequest.BatchItem;t.ApplicationId=t.ApplicationId||l,h[d]||(h[d]={Endpoint:{},Events:{}}),h[d].Events[c]={EventType:s,Timestamp:new Date(i).toISOString(),Attributes:a,Metrics:u,Session:f}})),t},e.prototype._handlePutEventsFailure=function(e,t){Zn.debug("_putEvents Failed: ",e);var n=e.$metadata&&e.$metadata.httpStatusCode;if(Xn.includes(n)){var r=Object.values(t);this._retry(r)}else;},e.prototype._processPutEventsSuccessResponse=function(e,t){var n=e.EventsResponse.Results,r=[];Object.entries(n).forEach((function(e){var n=Yn(e,2),i=n[0],o=n[1].EventsItemResponse;Object.entries(o).forEach((function(e){var n,o,s=Yn(e,2),a=s[0],u=s[1],c=u.StatusCode,f=u.Message,l=t[a],d={EventsResponse:{Results:(n={},n[i]={EventsItemResponse:(o={},o[a]={StatusCode:c,Message:f},o)},n)}};if(Qn.includes(c))l.handlers.resolve(d);else{if(!Xn.includes(c)){var h=l.params.event.name;return Zn.error("event "+a+" : "+h+" failed with error: "+f),l.handlers.reject(d)}r.push(l)}}))})),r.length&&this._retry(r)},e.prototype._retry=function(e){var t,n=[];e.forEach((function(e){var t,r=e.params,i=r.event,o=i.eventId,s=i.name;if(r.resendLimit-- >0)return Zn.debug("resending event "+o+" : "+s+" with "+r.resendLimit+" retry attempts remaining"),void n.push((t={},t[o]=e,t));Zn.debug("no retry attempts remaining for event "+o+" : "+s)})),(t=this._buffer).unshift.apply(t,Jn(n))},e.prototype._bufferToMap=function(e){return e.reduce((function(e,t){var n=Yn(Object.entries(t),1),r=Yn(n[0],2),i=r[0],o=r[1];return e[i]=o,e}),{})},e}();function tr(e){return(tr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var nr=function(){return(nr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?(ur.debug("resending event "+e.eventName+" with "+e.resendLimit+" retry times left"),this._pinpointPutEvents(e,t)):ur.debug("retry times used up for event "+e.eventName)},e.prototype._updateEndpoint=function(e){return rr(this,void 0,void 0,(function(){var t,n,r,i,o,s,u,c,f,l,d,h;return ir(this,(function(p){switch(p.label){case 0:t=e.params,n=e.handlers,r=t.config,i=t.event,o=r.appId,s=r.endpointId,u=this._endpointRequest(r,a.a.transferKeyToLowerCase(i,[],["attributes","userAttributes","Attributes","UserAttributes"])),c={ApplicationId:o,EndpointId:s,EndpointRequest:u},p.label=1;case 1:return p.trys.push([1,3,,4]),f=new _n(c),[4,this.pinpointClient.send(f)];case 2:return l=p.sent(),ur.debug("updateEndpoint success",l),this._endpointGenerating=!1,this._resumeBuffer(),n.resolve(l),[2];case 3:return d=p.sent(),h={err:d,update_params:c,endpointObject:e},[2,this._handleEndpointUpdateFailure(h)];case 4:return[2]}}))}))},e.prototype._handleEndpointUpdateFailure=function(e){return rr(this,void 0,void 0,(function(){var t,n,r;return ir(this,(function(i){switch(t=e.err,n=e.endpointObject,r=t.$metadata&&t.$metadata.httpStatusCode,ur.debug("updateEndpoint error",t),r){case 403:return[2,this._handleEndpointUpdateForbidden(e)];default:if(cr.includes(r))return!0,[2,this._retryEndpointUpdate(n,!0)];ur.error("updateEndpoint failed",t),n.handlers.reject(t)}return[2]}))}))},e.prototype._handleEndpointUpdateForbidden=function(e){var t=e.err,n=e.endpointObject,r=t.code,i=t.retryable;if("ExpiredTokenException"!==r&&!i)return n.handlers.reject(t);this._retryEndpointUpdate(n)},e.prototype._retryEndpointUpdate=function(e,t){void 0===t&&(t=!1),ur.debug("_retryEndpointUpdate",e);var n=e.params,r=n.config.resendLimit;if(n.resendLimit="number"==typeof n.resendLimit?n.resendLimit:r,n.resendLimit-- >0)return ur.debug("resending endpoint update "+n.event.eventId+" with "+n.resendLimit+" retry attempts remaining"),void(this._endpointBuffer.length?this._endpointBuffer.unshift(e):this._updateEndpoint(e));ur.warn("resending endpoint update "+n.event.eventId+" failed after "+n.config.resendLimit+" attempts"),this._endpointGenerating&&ur.error("Initial endpoint update failed. ")},e.prototype._initClients=function(e){return rr(this,void 0,void 0,(function(){var t,n;return ir(this,(function(r){return ur.debug("init clients"),this.pinpointClient&&this._config.credentials&&this._config.credentials.sessionToken===e.sessionToken&&this._config.credentials.identityId===e.identityId?(ur.debug("no change for aws credentials, directly return from init"),[2]):(t=this._config.credentials?this._config.credentials.identityId:null,this._config.credentials=e,n=this._config.region,ur.debug("init clients with credentials",e),this.pinpointClient=new Hn({region:n,credentials:e,customUserAgent:Object(u.b)()}),this.pinpointClient.middlewareStack.addRelativeTo((function(e){return function(t){return delete t.request.headers["amz-sdk-invocation-id"],delete t.request.headers["amz-sdk-request"],e(t)}}),{step:"finalizeRequest",relation:"after",toMiddleware:"retryMiddleware"}),this._bufferExists()&&t===e.identityId?this._updateBufferClient():this._initBuffer(),this._customizePinpointClientReq(),[2])}))}))},e.prototype._bufferExists=function(){return this._buffer&&this._buffer instanceof er},e.prototype._initBuffer=function(){this._bufferExists()&&this._flushBuffer(),this._buffer=new er(this.pinpointClient,this._config),this._endpointGenerating&&this._buffer.pause()},e.prototype._updateBufferClient=function(){this._bufferExists()&&this._buffer.updateClient(this.pinpointClient)},e.prototype._flushBuffer=function(){this._bufferExists()&&(this._buffer.flush(),this._buffer=null)},e.prototype._resumeBuffer=function(){this._bufferExists()&&this._buffer.resume()},e.prototype._customizePinpointClientReq=function(){},e.prototype._getEndpointId=function(e){return rr(this,void 0,void 0,(function(){var t;return ir(this,(function(n){switch(n.label){case 0:return[4,Vn.a.getItem(e)];case 1:return t=n.sent(),ur.debug("endpointId from cache",t,"type",tr(t)),t||(t=Object(Gn.v1)(),Vn.a.setItem(e,t)),[2,t]}}))}))},e.prototype._endpointRequest=function(e,t){var n=e.credentials,r=this._clientInfo||{},i=e.clientContext||{},o=e.endpoint||{},s={appVersion:r.appVersion,make:r.make,model:r.model,modelVersion:r.version,platform:r.platform},u=(i.clientId,i.appTitle,i.appVersionName,i.appVersionCode,i.appPackageName,or(i,["clientId","appTitle","appVersionName","appVersionCode","appPackageName"])),c=t.address?"android"===r.platform?"GCM":"APNS":void 0,f=nr(nr(nr({channelType:c,requestId:Object(Gn.v1)(),effectiveDate:(new Date).toISOString()},o),t),{attributes:nr(nr({},o.attributes),t.attributes),demographic:nr(nr(nr(nr({},s),u),o.demographic),t.demographic),location:nr(nr({},o.location),t.location),metrics:nr(nr({},o.metrics),t.metrics),user:{userId:t.userId||o.userId||n.identityId,userAttributes:nr(nr({},o.userAttributes),t.userAttributes)}}),l=(f.userId,f.userAttributes,f.name,f.session,f.eventId,f.immediate,or(f,["userId","userAttributes","name","session","eventId","immediate"]));return a.a.transferKeyToUpperCase(l,[],["metrics","userAttributes","attributes"])},e.prototype._eventError=function(e){ur.error("record event failed.",e),ur.warn('Please ensure you have updated your Pinpoint IAM Policy with the Action: "mobiletargeting:PutEvents" in order to record events')},e.prototype._getCredentials=function(){return rr(this,void 0,void 0,(function(){var e,t;return ir(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,c.a.get()];case 1:return(e=n.sent())?(ur.debug("set credentials for analytics",e),[2,c.a.shear(e)]):[2,null];case 2:return t=n.sent(),ur.debug("ensure credentials error",t),[2,null];case 3:return[2]}}))}))},e.category="Analytics",e.providerName="AWSPinpoint",e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return Ht}));var r=n(44),i=n(50),o=n(89),s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var u=function(){return(u=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=300?[2,Fe(e,t)]:[4,dt(e.body,t)];case 1:return n=o.sent(),{},r=st(n,t),i=u({$metadata:ct(e)},r),[2,Promise.resolve(i)]}}))}))}(e,t)},t}(pt.b),gt=n(150),mt=n(38),bt=n(110),yt=n(18),wt=n(24),_t=n(11),St=n(39),Et=n(17),Mt=n(40),At=n(41),It=n(15),kt=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),Ot=new Set(["cn-north-1","cn-northwest-1"]),xt=new Set(["us-iso-east-1"]),Ct=new Set(["us-isob-east-1"]),Tt=new Set(["us-gov-east-1","us-gov-west-1"]),Pt=u(u({},{apiVersion:"2013-12-02",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-east-1":n={hostname:"kinesis.ap-east-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-1":n={hostname:"kinesis.ap-northeast-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-2":n={hostname:"kinesis.ap-northeast-2.amazonaws.com",partition:"aws"};break;case"ap-south-1":n={hostname:"kinesis.ap-south-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-1":n={hostname:"kinesis.ap-southeast-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-2":n={hostname:"kinesis.ap-southeast-2.amazonaws.com",partition:"aws"};break;case"ca-central-1":n={hostname:"kinesis.ca-central-1.amazonaws.com",partition:"aws"};break;case"cn-north-1":n={hostname:"kinesis.cn-north-1.amazonaws.com.cn",partition:"aws-cn"};break;case"cn-northwest-1":n={hostname:"kinesis.cn-northwest-1.amazonaws.com.cn",partition:"aws-cn"};break;case"eu-central-1":n={hostname:"kinesis.eu-central-1.amazonaws.com",partition:"aws"};break;case"eu-north-1":n={hostname:"kinesis.eu-north-1.amazonaws.com",partition:"aws"};break;case"eu-west-1":n={hostname:"kinesis.eu-west-1.amazonaws.com",partition:"aws"};break;case"eu-west-2":n={hostname:"kinesis.eu-west-2.amazonaws.com",partition:"aws"};break;case"eu-west-3":n={hostname:"kinesis.eu-west-3.amazonaws.com",partition:"aws"};break;case"me-south-1":n={hostname:"kinesis.me-south-1.amazonaws.com",partition:"aws"};break;case"sa-east-1":n={hostname:"kinesis.sa-east-1.amazonaws.com",partition:"aws"};break;case"us-east-1":n={hostname:"kinesis.us-east-1.amazonaws.com",partition:"aws"};break;case"us-east-2":n={hostname:"kinesis.us-east-2.amazonaws.com",partition:"aws"};break;case"us-gov-east-1":n={hostname:"kinesis.us-gov-east-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-gov-west-1":n={hostname:"kinesis.us-gov-west-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-iso-east-1":n={hostname:"kinesis.us-iso-east-1.c2s.ic.gov",partition:"aws-iso"};break;case"us-isob-east-1":n={hostname:"kinesis.us-isob-east-1.sc2s.sgov.gov",partition:"aws-iso-b"};break;case"us-west-1":n={hostname:"kinesis.us-west-1.amazonaws.com",partition:"aws"};break;case"us-west-2":n={hostname:"kinesis.us-west-2.amazonaws.com",partition:"aws"};break;default:kt.has(e)&&(n={hostname:"kinesis.{region}.amazonaws.com".replace("{region}",e),partition:"aws"}),Ot.has(e)&&(n={hostname:"kinesis.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),xt.has(e)&&(n={hostname:"kinesis.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),Ct.has(e)&&(n={hostname:"kinesis.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),Tt.has(e)&&(n={hostname:"kinesis.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"kinesis.{region}.amazonaws.com".replace("{region}",e),partition:"aws"})}return Promise.resolve(n)},signingName:"kinesis"}),{runtime:"browser",base64Decoder:Et.a,base64Encoder:Et.b,bodyLengthChecker:Mt.a,credentialDefaultProvider:Object(wt.a)("Credential is missing"),defaultUserAgent:Object(At.a)(gt.name,gt.version),eventStreamSerdeProvider:bt.a,maxAttempts:_t.a,region:Object(wt.a)("Region is missing"),requestHandler:new yt.a,sha256:mt.Sha256,streamCollector:yt.b,urlParser:St.a,utf8Decoder:It.a,utf8Encoder:It.b}),Nt=n(22),Rt=n(112),Lt=n(37),jt=n(21),Dt=n(43),Ut=n(25),Bt=n(23),Ft=function(e){function t(t){var n=this,r=u(u({},Pt),t),i=Object(Nt.b)(r),o=Object(Nt.a)(i),s=Object(Ut.b)(o),a=Object(_t.c)(s),c=Object(Bt.b)(a),f=Object(jt.b)(c),l=Object(Rt.a)(f);return(n=e.call(this,l)||this).config=l,n.middlewareStack.use(Object(Ut.a)(n.config)),n.middlewareStack.use(Object(_t.b)(n.config)),n.middlewareStack.use(Object(Bt.a)(n.config)),n.middlewareStack.use(Object(Lt.a)(n.config)),n.middlewareStack.use(Object(jt.a)(n.config)),n.middlewareStack.use(Object(Dt.a)(n.config)),n}return a(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(pt.a),zt=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},qt=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&this.changeListeners.splice(t,1)},e}(),a=n(33),u=Object(a.b)().isBrowser,c=function(){function e(e){void 0===e&&(e={}),this.cookies=new s,this.store=u?window.localStorage:Object.create(null),this.cookies=e.req?new s(e.req.headers.cookie):new s,Object.assign(this.store,this.cookies.getAll())}return Object.defineProperty(e.prototype,"length",{get:function(){return Object.entries(this.store).length},enumerable:!0,configurable:!0}),e.prototype.clear=function(){var e=this;Array.from(new Array(this.length)).map((function(t,n){return e.key(n)})).forEach((function(t){return e.removeItem(t)}))},e.prototype.getItem=function(e){return this.getLocalItem(e)},e.prototype.getLocalItem=function(e){return Object.prototype.hasOwnProperty.call(this.store,e)?this.store[e]:null},e.prototype.getUniversalItem=function(e){return this.cookies.get(e)},e.prototype.key=function(e){return Object.keys(this.store)[e]},e.prototype.removeItem=function(e){this.removeLocalItem(e),this.removeUniversalItem(e)},e.prototype.removeLocalItem=function(e){delete this.store[e]},e.prototype.removeUniversalItem=function(e){this.cookies.remove(e,{path:"/"})},e.prototype.setItem=function(e,t){switch(this.setLocalItem(e,t),e.split(".").pop()){case"LastAuthUser":case"accessToken":case"idToken":this.setUniversalItem(e,t)}},e.prototype.setLocalItem=function(e,t){this.store[e]=t},e.prototype.setUniversalItem=function(e,t){this.cookies.set(e,t,{path:"/",sameSite:!0,secure:"localhost"!==window.location.hostname})},e}()},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-cognito-identity","description":"AWS SDK for JavaScript Cognito Identity Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test:unit":"mocha **/cjs/**/*.spec.js","test:e2e":"mocha **/cjs/**/*.ispec.js && karma start karma.conf.js","test":"yarn test:unit","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@aws-sdk/client-iam":"1.0.0-rc.4","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-cognito-identity","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-cognito-identity"}}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(1).__exportStar(n(385),t)},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-pinpoint","description":"AWS SDK for JavaScript Pinpoint Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test":"exit 0","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-pinpoint","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-pinpoint"}}')},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-kinesis","description":"AWS SDK for JavaScript Kinesis Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test":"exit 0","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/eventstream-serde-browser":"1.0.0-rc.3","@aws-sdk/eventstream-serde-config-resolver":"1.0.0-rc.3","@aws-sdk/eventstream-serde-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-kinesis","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-kinesis"}}')},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-firehose","description":"AWS SDK for JavaScript Firehose Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test":"exit 0","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-firehose","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-firehose"}}')},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-personalize-events","description":"AWS SDK for JavaScript Personalize Events Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test":"exit 0","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-personalize-events","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-personalize-events"}}')},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-s3","description":"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test:unit":"mocha **/cjs/**/*.spec.js","test:e2e":"mocha **/cjs/**/*.ispec.js && karma start karma.conf.js","test":"yarn test:unit","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/eventstream-serde-browser":"1.0.0-rc.3","@aws-sdk/eventstream-serde-config-resolver":"1.0.0-rc.3","@aws-sdk/eventstream-serde-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-blob-browser":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/hash-stream-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/md5-js":"1.0.0-rc.3","@aws-sdk/middleware-apply-body-checksum":"1.0.0-rc.3","@aws-sdk/middleware-bucket-endpoint":"1.0.0-rc.4","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-expect-continue":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-location-constraint":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-sdk-s3":"1.0.0-rc.3","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-ssec":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","@aws-sdk/xml-builder":"1.0.0-rc.3","fast-xml-parser":"^3.16.0","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-s3","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-s3"}}')},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return S}));var r,i,o=n(58),s=n(52),a=n(42),u=n(26),c=n(44),f=n(88),l=n(34),d=n(14),h=n(13),p=n(9),v=n(3),g=function(){return(g=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},w=function(){for(var e=[],t=0;t0){var s=r.map((function(e){return e.message}));return _.warn("Skipping incoming subscription. Messages: "+s.join("\n")),void S.drainBuffer()}var a=p.a.getPredicates(S.syncPredicates.get(t),!1),u=n[o];S.passesPredicateValidation(u,a)&&S.pushToBuffer(i,t,u),S.drainBuffer()},error:function(e){var t=e.error,r=y((void 0===t?{errors:[]}:t).errors,1)[0],i=(void 0===r?{}:r).message,o=void 0===i?"":i;_.warn("subscriptionError",o),"function"==typeof w&&w(),o.includes('"errorType":"Unauthorized"')||n.error(o)}})),l.push(m(S,void 0,void 0,(function(){var e,t=this;return b(this,(function(n){switch(n.label){case 0:return[4,new Promise((function(n){w=n,e=t.hubQueryCompletionListener.bind(t,n),f.a.listen("api",e)}))];case 1:return n.sent(),f.a.remove("api",e),[2]}}))}))),[2]}))}))})),[2]}))}))}))})),Promise.all(l).then((function(){return n.next(r.CONNECTED)})),[2]}}))})),function(){d.forEach((function(e){return e.unsubscribe()}))}})),new d.a((function(e){return t.dataObserver=e,t.drainBuffer(),function(){t.dataObserver=null}}))]},t.prototype.passesPredicateValidation=function(e,t){if(!t)return!0;var n=t.predicates,r=t.type;return Object(v.y)(e,r,n)},t.prototype.pushToBuffer=function(e,t,n){this.buffer.push([e,t,n])},t.prototype.drainBuffer=function(){var e=this;this.dataObserver&&(this.buffer.forEach((function(t){return e.dataObserver.next(t)})),this.buffer=[])},t}()}).call(this,n(6).Buffer)},function(e){e.exports=JSON.parse('{"name":"@aws-sdk/client-lex-runtime-service","description":"AWS SDK for JavaScript Lex Runtime Service Client for Node.js, Browser and React Native","version":"1.0.0-rc.4","scripts":{"clean":"npm run remove-definitions && npm run remove-dist","build-documentation":"npm run clean && typedoc ./","prepublishOnly":"yarn build","pretest":"yarn build:cjs","remove-definitions":"rimraf ./types","remove-dist":"rimraf ./dist","remove-documentation":"rimraf ./docs","test:unit":"mocha **/cjs/**/*.spec.js","test":"yarn test:unit","build:cjs":"tsc -p tsconfig.json","build:es":"tsc -p tsconfig.es.json","build":"yarn build:cjs && yarn build:es"},"main":"./dist/cjs/index.js","types":"./types/index.d.ts","module":"./dist/es/index.js","browser":{"./runtimeConfig":"./runtimeConfig.browser"},"react-native":{"./runtimeConfig":"./runtimeConfig.native"},"sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"^1.0.0","@aws-crypto/sha256-js":"^1.0.0","@aws-sdk/config-resolver":"1.0.0-rc.3","@aws-sdk/credential-provider-node":"1.0.0-rc.3","@aws-sdk/fetch-http-handler":"1.0.0-rc.3","@aws-sdk/hash-node":"1.0.0-rc.3","@aws-sdk/invalid-dependency":"1.0.0-rc.3","@aws-sdk/middleware-content-length":"1.0.0-rc.3","@aws-sdk/middleware-host-header":"1.0.0-rc.3","@aws-sdk/middleware-logger":"1.0.0-rc.4","@aws-sdk/middleware-retry":"1.0.0-rc.4","@aws-sdk/middleware-serde":"1.0.0-rc.3","@aws-sdk/middleware-signing":"1.0.0-rc.3","@aws-sdk/middleware-stack":"1.0.0-rc.4","@aws-sdk/middleware-user-agent":"1.0.0-rc.3","@aws-sdk/node-config-provider":"1.0.0-rc.3","@aws-sdk/node-http-handler":"1.0.0-rc.3","@aws-sdk/protocol-http":"1.0.0-rc.3","@aws-sdk/smithy-client":"1.0.0-rc.4","@aws-sdk/types":"1.0.0-rc.3","@aws-sdk/url-parser-browser":"1.0.0-rc.3","@aws-sdk/url-parser-node":"1.0.0-rc.3","@aws-sdk/util-base64-browser":"1.0.0-rc.3","@aws-sdk/util-base64-node":"1.0.0-rc.3","@aws-sdk/util-body-length-browser":"1.0.0-rc.3","@aws-sdk/util-body-length-node":"1.0.0-rc.3","@aws-sdk/util-user-agent-browser":"1.0.0-rc.3","@aws-sdk/util-user-agent-node":"1.0.0-rc.3","@aws-sdk/util-utf8-browser":"1.0.0-rc.3","@aws-sdk/util-utf8-node":"1.0.0-rc.3","tslib":"^2.0.0"},"devDependencies":{"@aws-sdk/client-documentation-generator":"1.0.0-rc.3","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.7.5","jest":"^26.1.0","rimraf":"^3.0.0","typedoc":"^0.17.8","typescript":"~4.0.2"},"engines":{"node":">=10.0.0"},"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","homepage":"https://github.com/aws/aws-sdk-js-v3/tree/master/clients/client-lex-runtime-service","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-lex-runtime-service"}}')},,function(e,t,n){"use strict";n.r(t);var r=n(19),i=n(143);n.d(t,"Amplify",(function(){return r.a}));var o=n(63),s=n(26),a=n(491);n.d(t,"Analytics",(function(){return a.a}));var u=n(144);n.d(t,"AWSPinpointProvider",(function(){return u.a}));var c=n(145);n.d(t,"AWSKinesisProvider",(function(){return c.a}));var f=n(492);n.d(t,"AWSKinesisFirehoseProvider",(function(){return f.a}));var l=n(490);n.d(t,"AmazonPersonalizeProvider",(function(){return l.a})),n.d(t,"Auth",(function(){return o.a}));var d=n(140);n.d(t,"Storage",(function(){return d.a})),n.d(t,"StorageClass",(function(){return d.b}));var h=n(62);n.d(t,"API",(function(){return h.a})),n.d(t,"APIClass",(function(){return h.b}));var p=n(248);n.d(t,"graphqlOperation",(function(){return p.b}));var v=n(258);n.d(t,"DataStore",(function(){return v.a}));var g=n(9);n.d(t,"Predicates",(function(){return g.b}));var m=n(4);n.d(t,"SortDirection",(function(){return m.e})),n.d(t,"syncExpression",(function(){return m.n}));var b=n(105);n.d(t,"PubSub",(function(){return b.a})),n.d(t,"Cache",(function(){return s.a}));var y=n(489);n.d(t,"Interactions",(function(){return y.a}));var w=n(246);for(var _ in w)["default","Analytics","AWSPinpointProvider","AWSKinesisProvider","AWSKinesisFirehoseProvider","AmazonPersonalizeProvider","Auth","Storage","StorageClass","API","APIClass","graphqlOperation","DataStore","Predicates","SortDirection","syncExpression","PubSub","Cache","Interactions","XR","Predictions","Logger","Hub","JS","ClientDevice","Signer","I18n","ServiceWorker","withSSRContext","Amplify"].indexOf(_)<0&&function(e){n.d(t,e,(function(){return w[e]}))}(_);var S=n(493);n.d(t,"XR",(function(){return S.a}));var E=n(488);n.d(t,"Predictions",(function(){return E.a}));var M=n(44);n.d(t,"Logger",(function(){return M.a}));var A=n(88);n.d(t,"Hub",(function(){return A.a}));var I=n(33);n.d(t,"JS",(function(){return I.a}));var k=n(141);n.d(t,"ClientDevice",(function(){return k.a}));var O=n(104);n.d(t,"Signer",(function(){return O.a}));var x=n(142);n.d(t,"I18n",(function(){return x.a})),n.d(t,"ServiceWorker",(function(){return i.a}));var C=n(247);n.d(t,"withSSRContext",(function(){return C.a})),r.a.Auth=o.a,r.a.Cache=s.a,r.a.ServiceWorker=i.a,t.default=r.a},,,function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){var r;e.exports=(r=n(32),function(){if("function"==typeof ArrayBuffer){var e=r.lib.WordArray,t=e.init;(e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var n=e.byteLength,r=[],i=0;i>>2]|=e[i]<<24-i%4*8;t.call(this,r,n)}else t.apply(this,arguments)}).prototype=e}}(),r.lib.WordArray)},function(e,t,n){"use strict";var r=n(8).Buffer,i=n(273).Transform;function o(e){i.call(this),this._block=r.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n(7)(o,i),o.prototype._transform=function(e,t,n){var r=null;try{this.update(e,t)}catch(e){r=e}n(r)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!r.isBuffer(e)&&"string"!=typeof e)throw new TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");r.isBuffer(e)||(e=r.from(e,t));for(var n=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var o=this._blockOffset;o0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},function(e,t,n){"use strict";(function(t,r){var i;e.exports=A,A.ReadableState=M;n(49).EventEmitter;var o=function(e,t){return e.listeners(t).length},s=n(164),a=n(6).Buffer,u=t.Uint8Array||function(){};var c,f=n(274);c=f&&f.debuglog?f.debuglog("stream"):function(){};var l,d,h,p=n(275),v=n(165),g=n(166).getHighWaterMark,m=n(67).codes,b=m.ERR_INVALID_ARG_TYPE,y=m.ERR_STREAM_PUSH_AFTER_EOF,w=m.ERR_METHOD_NOT_IMPLEMENTED,_=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;n(7)(A,s);var S=v.errorOrDestroy,E=["error","close","destroy","pause","resume"];function M(e,t,r){i=i||n(68),e=e||{},"boolean"!=typeof r&&(r=t instanceof i),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,"readableHighWaterMark",r),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(l||(l=n(59).StringDecoder),this.decoder=new l(e.encoding),this.encoding=e.encoding)}function A(e){if(i=i||n(68),!(this instanceof A))return new A(e);var t=this instanceof i;this._readableState=new M(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),s.call(this)}function I(e,t,n,r,i){c("readableAddChunk",t);var o,s=e._readableState;if(null===t)s.reading=!1,function(e,t){if(c("onEofChunk"),t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?x(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,C(e)))}(e,s);else if(i||(o=function(e,t){var n;r=t,a.isBuffer(r)||r instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new b("chunk",["string","Buffer","Uint8Array"],t));var r;return n}(s,t)),o)S(e,o);else if(s.objectMode||t&&t.length>0)if("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===a.prototype||(t=function(e){return a.from(e)}(t)),r)s.endEmitted?S(e,new _):k(e,s,t,!0);else if(s.ended)S(e,new y);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?k(e,s,t,!1):T(e,s)):k(e,s,t,!1)}else r||(s.reading=!1,T(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;c("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,r.nextTick(C,e))}function C(e){var t=e._readableState;c("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,j(e)}function T(e,t){t.readingMore||(t.readingMore=!0,r.nextTick(P,e,t))}function P(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function R(e){c("readable nexttick read 0"),e.read(0)}function L(e,t){c("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function D(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function U(e){var t=e._readableState;c("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,r.nextTick(B,t,e))}function B(e,t){if(c("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function F(e,t){for(var n=0,r=e.length;n=t.highWaterMark:t.length>0)||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?U(this):x(this),null;if(0===(e=O(e,t))&&t.ended)return 0===t.length&&U(this),null;var r,i=t.needReadable;return c("need readable",i),(0===t.length||t.length-e0?D(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&U(this)),null!==r&&this.emit("data",r),r},A.prototype._read=function(e){S(this,new w("_read()"))},A.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,c("pipe count=%d opts=%j",i.pipesCount,t);var s=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:g;function a(t,r){c("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,c("cleanup"),e.removeListener("close",p),e.removeListener("finish",v),e.removeListener("drain",f),e.removeListener("error",h),e.removeListener("unpipe",a),n.removeListener("end",u),n.removeListener("end",g),n.removeListener("data",d),l=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||f())}function u(){c("onend"),e.end()}i.endEmitted?r.nextTick(s):n.once("end",s),e.on("unpipe",a);var f=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&o(e,"data")&&(t.flowing=!0,j(e))}}(n);e.on("drain",f);var l=!1;function d(t){c("ondata");var r=e.write(t);c("dest.write",r),!1===r&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==F(i.pipes,e))&&!l&&(c("false write response, pause",i.awaitDrain),i.awaitDrain++),n.pause())}function h(t){c("onerror",t),g(),e.removeListener("error",h),0===o(e,"error")&&S(e,t)}function p(){e.removeListener("finish",v),g()}function v(){c("onfinish"),e.removeListener("close",p),g()}function g(){c("unpipe"),n.unpipe(e)}return n.on("data",d),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",h),e.once("close",p),e.once("finish",v),e.emit("pipe",n),i.flowing||(c("pipe resume"),n.resume()),e},A.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c("on readable",i.length,i.reading),i.length?x(this):i.reading||r.nextTick(R,this))),n},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(e,t){var n=s.prototype.removeListener.call(this,e,t);return"readable"===e&&r.nextTick(N,this),n},A.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||r.nextTick(N,this),t},A.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,r.nextTick(L,e,t))}(this,e)),e.paused=!1,this},A.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",(function(){if(c("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(c("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(e,t,n){n(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(e,t,n){var i=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,t,n){t.ending=!0,T(e,t),n&&(t.finished?r.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,i,n),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),A.prototype.destroy=l.destroy,A.prototype._undestroy=l.undestroy,A.prototype._destroy=function(e,t){t(e)}}).call(this,n(31),n(20))},function(e,t,n){"use strict";e.exports=f;var r=n(67).codes,i=r.ERR_METHOD_NOT_IMPLEMENTED,o=r.ERR_MULTIPLE_CALLBACK,s=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=r.ERR_TRANSFORM_WITH_LENGTH_0,u=n(68);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new o);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(u,i),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,p=0|this._f,v=0|this._g,g=0|this._h,m=0;m<16;++m)n[m]=e.readInt32BE(4*m);for(;m<64;++m)n[m]=0|(((t=n[m-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[m-7]+h(n[m-15])+n[m-16];for(var b=0;b<64;++b){var y=g+d(u)+c(u,p,v)+s[b]+n[b]|0,w=l(r)+f(r,i,o)|0;g=v,v=p,p=u,u=a+y|0,a=o,o=i,i=r,r=y+w|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0,this._f=p+this._f|0,this._g=v+this._g|0,this._h=g+this._h|0},u.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u},function(e,t,n){var r=n(7),i=n(69),o=n(8).Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function u(){this.init(),this._w=a,i.call(this,128,112)}function c(e,t,n){return n^e&(t^n)}function f(e,t,n){return e&t|n&(e|t)}function l(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function v(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function m(e,t){return e>>>0>>0?1:0}r(u,i),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,u=0|this._fh,b=0|this._gh,y=0|this._hh,w=0|this._al,_=0|this._bl,S=0|this._cl,E=0|this._dl,M=0|this._el,A=0|this._fl,I=0|this._gl,k=0|this._hl,O=0;O<32;O+=2)t[O]=e.readInt32BE(4*O),t[O+1]=e.readInt32BE(4*O+4);for(;O<160;O+=2){var x=t[O-30],C=t[O-30+1],T=h(x,C),P=p(C,x),N=v(x=t[O-4],C=t[O-4+1]),R=g(C,x),L=t[O-14],j=t[O-14+1],D=t[O-32],U=t[O-32+1],B=P+j|0,F=T+L+m(B,P)|0;F=(F=F+N+m(B=B+R|0,R)|0)+D+m(B=B+U|0,U)|0,t[O]=F,t[O+1]=B}for(var z=0;z<160;z+=2){F=t[z],B=t[z+1];var q=f(n,r,i),K=f(w,_,S),H=l(n,w),V=l(w,n),G=d(a,M),W=d(M,a),$=s[z],Y=s[z+1],J=c(a,u,b),Z=c(M,A,I),X=k+W|0,Q=y+G+m(X,k)|0;Q=(Q=(Q=Q+J+m(X=X+Z|0,Z)|0)+$+m(X=X+Y|0,Y)|0)+F+m(X=X+B|0,B)|0;var ee=V+K|0,te=H+q+m(ee,V)|0;y=b,k=I,b=u,I=A,u=a,A=M,a=o+Q+m(M=E+X|0,E)|0,o=i,E=S,i=r,S=_,r=n,_=w,n=Q+te+m(w=X+ee|0,X)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+S|0,this._dl=this._dl+E|0,this._el=this._el+M|0,this._fl=this._fl+A|0,this._gl=this._gl+I|0,this._hl=this._hl+k|0,this._ah=this._ah+n+m(this._al,w)|0,this._bh=this._bh+r+m(this._bl,_)|0,this._ch=this._ch+i+m(this._cl,S)|0,this._dh=this._dh+o+m(this._dl,E)|0,this._eh=this._eh+a+m(this._el,M)|0,this._fh=this._fh+u+m(this._fl,A)|0,this._gh=this._gh+b+m(this._gl,I)|0,this._hh=this._hh+y+m(this._hl,k)|0},u.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u},function(e,t,n){"use strict";(function(t,r){var i=n(92);e.exports=y;var o,s=n(160);y.ReadableState=b;n(49).EventEmitter;var a=function(e,t){return e.listeners(t).length},u=n(172),c=n(119).Buffer,f=t.Uint8Array||function(){};var l=Object.create(n(80));l.inherits=n(7);var d=n(286),h=void 0;h=d&&d.debuglog?d.debuglog("stream"):function(){};var p,v=n(287),g=n(173);l.inherits(y,u);var m=["error","close","destroy","pause","resume"];function b(e,t){e=e||{};var r=t instanceof(o=o||n(60));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new v,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(59).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function y(e){if(o=o||n(60),!(this instanceof y))return new y(e);this._readableState=new b(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function w(e,t,n,r,i){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,E(e)}(e,s)):(i||(o=function(e,t){var n;r=t,c.isBuffer(r)||r instanceof f||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):_(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?_(e,s,t,!1):A(e,s)):_(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function E(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(M,e):M(e))}function M(e){h("emit readable"),e.emit("readable"),x(e)}function A(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(I,e,t))}function I(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;eo.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0===(e-=s)){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=c.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function T(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(P,t,e))}function P(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function N(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?T(this):E(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&T(this),null;var r,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e0?C(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&T(this)),null!==r&&this.emit("data",r),r},y.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,h("pipe count=%d opts=%j",o.pipesCount,t);var u=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?f:y;function c(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",m),e.removeListener("finish",b),e.removeListener("drain",l),e.removeListener("error",g),e.removeListener("unpipe",c),n.removeListener("end",f),n.removeListener("end",y),n.removeListener("data",v),d=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function f(){h("onend"),e.end()}o.endEmitted?i.nextTick(u):n.once("end",u),e.on("unpipe",c);var l=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,x(e))}}(n);e.on("drain",l);var d=!1;var p=!1;function v(t){h("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==N(o.pipes,e))&&!d&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function g(t){h("onerror",t),y(),e.removeListener("error",g),0===a(e,"error")&&e.emit("error",t)}function m(){e.removeListener("finish",b),y()}function b(){h("onfinish"),e.removeListener("close",m),y()}function y(){h("unpipe"),n.unpipe(e)}return n.on("data",v),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",g),e.once("close",m),e.once("finish",b),e.emit("pipe",n),o.flowing||(h("pipe resume"),n.resume()),e},y.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;on)?t=("rmd160"===e?new u:c(e)).update(t).digest():t.lengthn||t!=t)throw new TypeError("Bad key length")}},function(e,t,n){(function(t){var n;if(t.browser)n="utf-8";else if(t.version){n=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else n="utf-8";e.exports=n}).call(this,n(20))},function(e,t,n){var r=n(176),i=n(116),o=n(117),s=n(8).Buffer,a=n(179),u=n(180),c=n(182),f=s.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(e,t,n){var a=function(e){function t(t){return o(e).update(t).digest()}return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?r:t}(e),u="sha512"===e||"sha384"===e?128:64;t.length>u?t=a(t):t.length>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,r){for(var i=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[r+0]=i>>>0,n[r+1]=o>>>0},t.rip=function(e,t,n,r){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)i<<=1,i|=t>>>a+s&1,i<<=1,i|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.pc1=function(e,t,n,r){for(var i=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,i){for(var o=0,s=0,a=r.length>>>1,u=0;u>>r[u]&1;for(u=a;u>>r[u]&1;n[i+0]=o>>>0,n[i+1]=s>>>0},t.expand=function(e,t,n){var r=0,i=0;r=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)r<<=6,r|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[n+0]=r>>>0,t[n+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++){n<<=4,n|=i[64*r+(e>>>18-6*r&63)]}for(r=0;r<4;r++){n<<=4,n|=i[256+64*r+(t>>>18-6*r&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var r=e.toString(2);r.length>>1];n=o.r28shl(n,a),i=o.r28shl(i,a),o.pc2(n,i,e.keys,s)}},u.prototype._update=function(e,t,n,r){var i=this._desState,s=o.readUInt32BE(e,t),a=o.readUInt32BE(e,t+4);o.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],o.writeUInt32BE(n,s,r),o.writeUInt32BE(n,a,r+4)},u.prototype._pad=function(e,t){for(var n=e.length-t,r=t;r>>0,s=d}o.rip(a,s,r,i)},u.prototype._decrypt=function(e,t,n,r,i){for(var s=n,a=t,u=e.keys.length-2;u>=0;u-=2){var c=e.keys[u],f=e.keys[u+1];o.expand(s,e.tmp,0),c^=e.tmp[0],f^=e.tmp[1];var l=o.substitute(c,f),d=s;s=(a^o.permute(l))>>>0,a=d}o.rip(s,a,r,i)}},function(e,t,n){var r=n(81),i=n(8).Buffer,o=n(186);function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*n)]);for(var a=0;ae;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(u),t.cmp(u)){if(!t.cmp(c))for(;n.mod(f).cmp(l);)n.iadd(h)}else for(;n.mod(o).cmp(d);)n.iadd(h);if(g(p=n.shrn(1))&&g(n)&&m(p)&&m(n)&&s.test(p)&&s.test(n))return n}}},function(e,t,n){var r=n(29),i=n(124);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var i=new r(this.rand.generate(n))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var i=e.bitLength(),o=r.mont(e),s=new r(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),u=0;!a.testn(u);u++);for(var c=e.shrn(u),f=a.toRed(o);t>0;t--){var l=this._randrange(new r(2),a);n&&n(l);var d=l.toRed(o).redPow(c);if(0!==d.cmp(s)&&0!==d.cmp(f)){for(var h=1;h0;t--){var f=this._randrange(new r(2),s),l=e.gcd(f);if(0!==l.cmpn(1))return l;var d=f.toRed(i).redPow(u);if(0!==d.cmp(o)&&0!==d.cmp(c)){for(var h=1;h0)if("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===a.prototype||(t=function(e){return a.from(e)}(t)),r)s.endEmitted?S(e,new _):k(e,s,t,!0);else if(s.ended)S(e,new y);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?k(e,s,t,!1):T(e,s)):k(e,s,t,!1)}else r||(s.reading=!1,T(e,s));return!s.ended&&(s.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=1073741824?e=1073741824:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;c("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,r.nextTick(C,e))}function C(e){var t=e._readableState;c("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,j(e)}function T(e,t){t.readingMore||(t.readingMore=!0,r.nextTick(P,e,t))}function P(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function R(e){c("readable nexttick read 0"),e.read(0)}function L(e,t){c("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),j(e),t.flowing&&!t.reading&&e.read(0)}function j(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function D(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function U(e){var t=e._readableState;c("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,r.nextTick(B,t,e))}function B(e,t){if(c("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function F(e,t){for(var n=0,r=e.length;n=t.highWaterMark:t.length>0)||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?U(this):x(this),null;if(0===(e=O(e,t))&&t.ended)return 0===t.length&&U(this),null;var r,i=t.needReadable;return c("need readable",i),(0===t.length||t.length-e0?D(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&U(this)),null!==r&&this.emit("data",r),r},A.prototype._read=function(e){S(this,new w("_read()"))},A.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,c("pipe count=%d opts=%j",i.pipesCount,t);var s=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:g;function a(t,r){c("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,c("cleanup"),e.removeListener("close",p),e.removeListener("finish",v),e.removeListener("drain",f),e.removeListener("error",h),e.removeListener("unpipe",a),n.removeListener("end",u),n.removeListener("end",g),n.removeListener("data",d),l=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||f())}function u(){c("onend"),e.end()}i.endEmitted?r.nextTick(s):n.once("end",s),e.on("unpipe",a);var f=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&o(e,"data")&&(t.flowing=!0,j(e))}}(n);e.on("drain",f);var l=!1;function d(t){c("ondata");var r=e.write(t);c("dest.write",r),!1===r&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==F(i.pipes,e))&&!l&&(c("false write response, pause",i.awaitDrain),i.awaitDrain++),n.pause())}function h(t){c("onerror",t),g(),e.removeListener("error",h),0===o(e,"error")&&S(e,t)}function p(){e.removeListener("finish",v),g()}function v(){c("onfinish"),e.removeListener("close",p),g()}function g(){c("unpipe"),n.unpipe(e)}return n.on("data",d),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",h),e.once("close",p),e.once("finish",v),e.emit("pipe",n),i.flowing||(c("pipe resume"),n.resume()),e},A.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c("on readable",i.length,i.reading),i.length?x(this):i.reading||r.nextTick(R,this))),n},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(e,t){var n=s.prototype.removeListener.call(this,e,t);return"readable"===e&&r.nextTick(N,this),n},A.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||r.nextTick(N,this),t},A.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,r.nextTick(L,e,t))}(this,e)),e.paused=!1,this},A.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",(function(){if(c("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(c("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(e,t,n){n(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(e,t,n){var i=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,t,n){t.ending=!0,T(e,t),n&&(t.finished?r.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,i,n),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),A.prototype.destroy=l.destroy,A.prototype._undestroy=l.undestroy,A.prototype._destroy=function(e,t){t(e)}}).call(this,n(31),n(20))},function(e,t,n){"use strict";e.exports=f;var r=n(70).codes,i=r.ERR_METHOD_NOT_IMPLEMENTED,o=r.ERR_MULTIPLE_CALLBACK,s=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=r.ERR_TRANSFORM_WITH_LENGTH_0,u=n(71);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new o);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>8,s=255&i;o?n.push(o,s):n.push(s)}return n},r.zero2=i,r.toHex=o,r.encode=function(e,t){return"hex"===t?o(e):e}},function(e,t,n){"use strict";var r=t;r.base=n(95),r.short=n(332),r.mont=n(333),r.edwards=n(334)},function(e,t,n){"use strict";var r=n(51).rotr32;function i(e,t,n){return e&t^~e&n}function o(e,t,n){return e&t^e&n^t&n}function s(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?i(t,n,r):1===e||3===e?s(t,n,r):2===e?o(t,n,r):void 0},t.ch32=i,t.maj32=o,t.p32=s,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,n){"use strict";var r=n(51),i=n(82),o=n(200),s=n(46),a=r.sum32,u=r.sum32_4,c=r.sum32_5,f=o.ch32,l=o.maj32,d=o.s0_256,h=o.s1_256,p=o.g0_256,v=o.g1_256,g=i.BlockHash,m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=m,this.W=new Array(64)}r.inherits(b,g),e.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r=49&&c<=54?c-49+10:c>=17&&c<=22?c-17+10:c,s|=u}return r(!(240&s),"Invalid character in "+e),i}function u(e,t,n,i){for(var o=0,s=0,a=Math.min(e.length,n),u=t;u=49?c-49+10:c>=17?c-17+10:c,r(c>=0&&s0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this._strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)i=a(e,n,n+6),this.words[r]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);n+6!==t&&(i=a(e,t,n+6),this.words[r]|=i<>>26-o&4194303),this._strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,s=o%r,a=Math.min(o,o-s)+n,c=0,f=n;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch(e){o.prototype.inspect=f}else o.prototype.inspect=f;function f(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],f=h[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var v=p.modrn(f).toString(e);n=(p=p.idivn(f)).isZero()?v+n:l[c-v.length]+v+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)}),o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function p(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=d;h++){var p=c-h|0;f+=(s=(i=0|e.words[p])*(o=0|t.words[h])+l)/67108864|0,l=67108863&s}n.words[c]=0|l,u=0|f}return 0!==u?n.words[c]=0|u:n.length--,n._strip()}o.prototype.toArrayLike=function(e,t,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](s,i),s},o.prototype._toArrayLikeLE=function(e,t){for(var n=0,r=0,i=0,o=0;i>8&255),n>16&255),6===o?(n>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n=0&&(e[n--]=s>>8&255),n>=0&&(e[n--]=s>>16&255),6===o?(n>=0&&(e[n--]=s>>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n>=0)for(e[n--]=r;n>=0;)e[n--]=0},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;re.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,h=0|s[1],p=8191&h,v=h>>>13,g=0|s[2],m=8191&g,b=g>>>13,y=0|s[3],w=8191&y,_=y>>>13,S=0|s[4],E=8191&S,M=S>>>13,A=0|s[5],I=8191&A,k=A>>>13,O=0|s[6],x=8191&O,C=O>>>13,T=0|s[7],P=8191&T,N=T>>>13,R=0|s[8],L=8191&R,j=R>>>13,D=0|s[9],U=8191&D,B=D>>>13,F=0|a[0],z=8191&F,q=F>>>13,K=0|a[1],H=8191&K,V=K>>>13,G=0|a[2],W=8191&G,$=G>>>13,Y=0|a[3],J=8191&Y,Z=Y>>>13,X=0|a[4],Q=8191&X,ee=X>>>13,te=0|a[5],ne=8191&te,re=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,fe=0|a[8],le=8191&fe,de=fe>>>13,he=0|a[9],pe=8191&he,ve=he>>>13;n.negative=e.negative^t.negative,n.length=19;var ge=(c+(r=Math.imul(l,z))|0)+((8191&(i=(i=Math.imul(l,q))+Math.imul(d,z)|0))<<13)|0;c=((o=Math.imul(d,q))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(p,z),i=(i=Math.imul(p,q))+Math.imul(v,z)|0,o=Math.imul(v,q);var me=(c+(r=r+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,V)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(m,z),i=(i=Math.imul(m,q))+Math.imul(b,z)|0,o=Math.imul(b,q),r=r+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0;var be=(c+(r=r+Math.imul(l,W)|0)|0)+((8191&(i=(i=i+Math.imul(l,$)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(w,z),i=(i=Math.imul(w,q))+Math.imul(_,z)|0,o=Math.imul(_,q),r=r+Math.imul(m,H)|0,i=(i=i+Math.imul(m,V)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,V)|0,r=r+Math.imul(p,W)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,$)|0;var ye=(c+(r=r+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,Z)|0)+Math.imul(d,J)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(E,z),i=(i=Math.imul(E,q))+Math.imul(M,z)|0,o=Math.imul(M,q),r=r+Math.imul(w,H)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,V)|0,r=r+Math.imul(m,W)|0,i=(i=i+Math.imul(m,$)|0)+Math.imul(b,W)|0,o=o+Math.imul(b,$)|0,r=r+Math.imul(p,J)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,Z)|0;var we=(c+(r=r+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,ee)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(I,z),i=(i=Math.imul(I,q))+Math.imul(k,z)|0,o=Math.imul(k,q),r=r+Math.imul(E,H)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(w,W)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,$)|0,r=r+Math.imul(m,J)|0,i=(i=i+Math.imul(m,Z)|0)+Math.imul(b,J)|0,o=o+Math.imul(b,Z)|0,r=r+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,ee)|0;var _e=(c+(r=r+Math.imul(l,ne)|0)|0)+((8191&(i=(i=i+Math.imul(l,re)|0)+Math.imul(d,ne)|0))<<13)|0;c=((o=o+Math.imul(d,re)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(C,z)|0,o=Math.imul(C,q),r=r+Math.imul(I,H)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,V)|0,r=r+Math.imul(E,W)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,$)|0,r=r+Math.imul(w,J)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,J)|0,o=o+Math.imul(_,Z)|0,r=r+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,ee)|0,r=r+Math.imul(p,ne)|0,i=(i=i+Math.imul(p,re)|0)+Math.imul(v,ne)|0,o=o+Math.imul(v,re)|0;var Se=(c+(r=r+Math.imul(l,oe)|0)|0)+((8191&(i=(i=i+Math.imul(l,se)|0)+Math.imul(d,oe)|0))<<13)|0;c=((o=o+Math.imul(d,se)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(P,z),i=(i=Math.imul(P,q))+Math.imul(N,z)|0,o=Math.imul(N,q),r=r+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,V)|0,r=r+Math.imul(I,W)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,$)|0,r=r+Math.imul(E,J)|0,i=(i=i+Math.imul(E,Z)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,Z)|0,r=r+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,r=r+Math.imul(m,ne)|0,i=(i=i+Math.imul(m,re)|0)+Math.imul(b,ne)|0,o=o+Math.imul(b,re)|0,r=r+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,se)|0;var Ee=(c+(r=r+Math.imul(l,ue)|0)|0)+((8191&(i=(i=i+Math.imul(l,ce)|0)+Math.imul(d,ue)|0))<<13)|0;c=((o=o+Math.imul(d,ce)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(L,z),i=(i=Math.imul(L,q))+Math.imul(j,z)|0,o=Math.imul(j,q),r=r+Math.imul(P,H)|0,i=(i=i+Math.imul(P,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(x,W)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,$)|0,r=r+Math.imul(I,J)|0,i=(i=i+Math.imul(I,Z)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,Z)|0,r=r+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,ee)|0,r=r+Math.imul(w,ne)|0,i=(i=i+Math.imul(w,re)|0)+Math.imul(_,ne)|0,o=o+Math.imul(_,re)|0,r=r+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,se)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,se)|0,r=r+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0;var Me=(c+(r=r+Math.imul(l,le)|0)|0)+((8191&(i=(i=i+Math.imul(l,de)|0)+Math.imul(d,le)|0))<<13)|0;c=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(U,z),i=(i=Math.imul(U,q))+Math.imul(B,z)|0,o=Math.imul(B,q),r=r+Math.imul(L,H)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(j,H)|0,o=o+Math.imul(j,V)|0,r=r+Math.imul(P,W)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,$)|0,r=r+Math.imul(x,J)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(C,J)|0,o=o+Math.imul(C,Z)|0,r=r+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(M,ne)|0,o=o+Math.imul(M,re)|0,r=r+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,r=r+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,ce)|0)+Math.imul(b,ue)|0,o=o+Math.imul(b,ce)|0,r=r+Math.imul(p,le)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(v,le)|0,o=o+Math.imul(v,de)|0;var Ae=(c+(r=r+Math.imul(l,pe)|0)|0)+((8191&(i=(i=i+Math.imul(l,ve)|0)+Math.imul(d,pe)|0))<<13)|0;c=((o=o+Math.imul(d,ve)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(U,H),i=(i=Math.imul(U,V))+Math.imul(B,H)|0,o=Math.imul(B,V),r=r+Math.imul(L,W)|0,i=(i=i+Math.imul(L,$)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,$)|0,r=r+Math.imul(P,J)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(N,J)|0,o=o+Math.imul(N,Z)|0,r=r+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,ee)|0,r=r+Math.imul(I,ne)|0,i=(i=i+Math.imul(I,re)|0)+Math.imul(k,ne)|0,o=o+Math.imul(k,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,se)|0,r=r+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,r=r+Math.imul(m,le)|0,i=(i=i+Math.imul(m,de)|0)+Math.imul(b,le)|0,o=o+Math.imul(b,de)|0;var Ie=(c+(r=r+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ve)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,ve)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(U,W),i=(i=Math.imul(U,$))+Math.imul(B,W)|0,o=Math.imul(B,$),r=r+Math.imul(L,J)|0,i=(i=i+Math.imul(L,Z)|0)+Math.imul(j,J)|0,o=o+Math.imul(j,Z)|0,r=r+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,ee)|0,r=r+Math.imul(x,ne)|0,i=(i=i+Math.imul(x,re)|0)+Math.imul(C,ne)|0,o=o+Math.imul(C,re)|0,r=r+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,r=r+Math.imul(w,le)|0,i=(i=i+Math.imul(w,de)|0)+Math.imul(_,le)|0,o=o+Math.imul(_,de)|0;var ke=(c+(r=r+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,ve)|0)+Math.imul(b,pe)|0))<<13)|0;c=((o=o+Math.imul(b,ve)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(U,J),i=(i=Math.imul(U,Z))+Math.imul(B,J)|0,o=Math.imul(B,Z),r=r+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,ee)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,ee)|0,r=r+Math.imul(P,ne)|0,i=(i=i+Math.imul(P,re)|0)+Math.imul(N,ne)|0,o=o+Math.imul(N,re)|0,r=r+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,r=r+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,r=r+Math.imul(E,le)|0,i=(i=i+Math.imul(E,de)|0)+Math.imul(M,le)|0,o=o+Math.imul(M,de)|0;var Oe=(c+(r=r+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,ve)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ve)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(U,Q),i=(i=Math.imul(U,ee))+Math.imul(B,Q)|0,o=Math.imul(B,ee),r=r+Math.imul(L,ne)|0,i=(i=i+Math.imul(L,re)|0)+Math.imul(j,ne)|0,o=o+Math.imul(j,re)|0,r=r+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,se)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,se)|0,r=r+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(C,ue)|0,o=o+Math.imul(C,ce)|0,r=r+Math.imul(I,le)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,de)|0;var xe=(c+(r=r+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,ve)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,ve)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(U,ne),i=(i=Math.imul(U,re))+Math.imul(B,ne)|0,o=Math.imul(B,re),r=r+Math.imul(L,oe)|0,i=(i=i+Math.imul(L,se)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,se)|0,r=r+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(N,ue)|0,o=o+Math.imul(N,ce)|0,r=r+Math.imul(x,le)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(C,le)|0,o=o+Math.imul(C,de)|0;var Ce=(c+(r=r+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ve)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,ve)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(U,oe),i=(i=Math.imul(U,se))+Math.imul(B,oe)|0,o=Math.imul(B,se),r=r+Math.imul(L,ue)|0,i=(i=i+Math.imul(L,ce)|0)+Math.imul(j,ue)|0,o=o+Math.imul(j,ce)|0,r=r+Math.imul(P,le)|0,i=(i=i+Math.imul(P,de)|0)+Math.imul(N,le)|0,o=o+Math.imul(N,de)|0;var Te=(c+(r=r+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,ve)|0)+Math.imul(C,pe)|0))<<13)|0;c=((o=o+Math.imul(C,ve)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(U,ue),i=(i=Math.imul(U,ce))+Math.imul(B,ue)|0,o=Math.imul(B,ce),r=r+Math.imul(L,le)|0,i=(i=i+Math.imul(L,de)|0)+Math.imul(j,le)|0,o=o+Math.imul(j,de)|0;var Pe=(c+(r=r+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,ve)|0)+Math.imul(N,pe)|0))<<13)|0;c=((o=o+Math.imul(N,ve)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(U,le),i=(i=Math.imul(U,de))+Math.imul(B,le)|0,o=Math.imul(B,de);var Ne=(c+(r=r+Math.imul(L,pe)|0)|0)+((8191&(i=(i=i+Math.imul(L,ve)|0)+Math.imul(j,pe)|0))<<13)|0;c=((o=o+Math.imul(j,ve)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var Re=(c+(r=Math.imul(U,pe))|0)+((8191&(i=(i=Math.imul(U,ve))+Math.imul(B,pe)|0))<<13)|0;return c=((o=Math.imul(B,ve))+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,u[0]=ge,u[1]=me,u[2]=be,u[3]=ye,u[4]=we,u[5]=_e,u[6]=Se,u[7]=Ee,u[8]=Me,u[9]=Ae,u[10]=Ie,u[11]=ke,u[12]=Oe,u[13]=xe,u[14]=Ce,u[15]=Te,u[16]=Pe,u[17]=Ne,u[18]=Re,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function m(e,t,n){return g(e,t,n)}function b(e,t){this.x=e,this.y=t}Math.imul||(v=p),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?v(this,e,t):n<63?p(this,e,t):n<1024?g(this,e,t):m(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,r=0;r>=1;return r},b.prototype.permute=function(e,t,n,r,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,n+=o/67108864|0,n+=s>>>26,this.words[i]=67108863&s}return 0!==n&&(this.words[i]=n,this.length++),t?this.ineg():this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>i&1}return t}(e);if(0===t.length)return new o(1);for(var n=this,r=0;r=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==f||c>=i);c--){var l=0|this.words[c];this.words[c]=f<<26-o|l>>>o,f=l&a}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,u=r.length-i.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|r.words[i.length+l])+(0|r.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,l);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,l),r.isZero()||(r.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),r._strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modrn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modrn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=(1<<26)%e,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%e;return t?-i:i},o.prototype.modn=function(e){return this.modrn(e)},o.prototype.idivn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/e|0,n=o%e}return this._strip(),t?this.ineg():this},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var f=n.clone(),l=t.clone();!t.isZero();){for(var d=0,h=1;0==(t.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(f),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,v=1;0==(n.words[0]&v)&&p<26;++p,v<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(f),u.isub(l)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(a),s.isub(u)):(n.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){ri&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new A(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function w(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function E(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function I(e){A.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},w.prototype.split=function(e,t){e.iushrn(this.n,0,t)},w.prototype.imulK=function(e){return e.imul(this.k)},i(_,w),_.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r>>22,i=o}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new S;else if("p192"===e)t=new E;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new M}return y[e]=t,t},A.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},A.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},A.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(c(e,e.umod(this.m)._forceRed(this)),e)},A.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},A.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},A.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},A.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},A.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},A.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},A.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},A.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},A.prototype.isqr=function(e){return this.imul(e,e.clone())},A.prototype.sqr=function(e){return this.mul(e,e)},A.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new o(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var l=this.pow(f,i),d=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(a);){for(var v=h,g=0;0!==v.cmp(a);g++)v=v.redSqr();r(g=0;r--){for(var c=t.words[r],f=u-1;f>=0;f--){var l=c>>f&1;i!==n[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===r&&0===f)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}u=26}return i},A.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},A.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new I(e)},i(I,A),I.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},I.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},I.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},I.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},I.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,n(57)(e))},function(e,t,n){"use strict";const r=t;r.bignum=n(29),r.define=n(351).define,r.base=n(354),r.constants=n(355),r.decoders=n(207),r.encoders=n(205)},function(e,t,n){"use strict";const r=t;r.der=n(206),r.pem=n(352)},function(e,t,n){"use strict";const r=n(7),i=n(130).Buffer,o=n(131),s=n(133);function a(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new u,this.tree._init(e.body)}function u(e){o.call(this,"der",e)}function c(e){return e<10?"0"+e:e}e.exports=a,a.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},r(u,o),u.prototype._encodeComposite=function(e,t,n,r){const o=function(e,t,n,r){let i;"seqof"===e?e="seq":"setof"===e&&(e="set");if(s.tagByName.hasOwnProperty(e))i=s.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return r.error("Unknown tag: "+e);i=e}if(i>=31)return r.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=s.tagClassByName[n||"universal"]<<6,i}(e,t,n,this.reporter);if(r.length<128){const e=i.alloc(2);return e[0]=o,e[1]=r.length,this._createEncoderBuffer([e,r])}let a=1;for(let e=r.length;e>=256;e>>=8)a++;const u=i.alloc(2+a);u[0]=o,u[1]=128|a;for(let e=1+a,t=r.length;t>0;e--,t>>=8)u[e]=255&t;return this._createEncoderBuffer([u,r])},u.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){const t=i.alloc(2*e.length);for(let n=0;n=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}let r=0;for(let t=0;t=128;n>>=7)r++}const o=i.alloc(r);let s=o.length-1;for(let t=e.length-1;t>=0;t--){let n=e[t];for(o[s--]=127&n;(n>>=7)>0;)o[s--]=128|127&n}return this._createEncoderBuffer(o)},u.prototype._encodeTime=function(e,t){let n;const r=new Date(e);return"gentime"===t?n=[c(r.getUTCFullYear()),c(r.getUTCMonth()+1),c(r.getUTCDate()),c(r.getUTCHours()),c(r.getUTCMinutes()),c(r.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[c(r.getUTCFullYear()%100),c(r.getUTCMonth()+1),c(r.getUTCDate()),c(r.getUTCHours()),c(r.getUTCMinutes()),c(r.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){const t=e.toArray();!e.sign&&128&t[0]&&t.unshift(0),e=i.from(t)}if(i.isBuffer(e)){let t=e.length;0===e.length&&t++;const n=i.alloc(t);return e.copy(n),0===e.length&&(n[0]=0),this._createEncoderBuffer(n)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);let n=1;for(let t=e;t>=256;t>>=8)n++;const r=new Array(n);for(let t=r.length-1;t>=0;t--)r[t]=255&e,e>>=8;return 128&r[0]&&r.unshift(0),this._createEncoderBuffer(i.from(r))},u.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},u.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},u.prototype._skipDefault=function(e,t,n){const r=this._baseState;let i;if(null===r.default)return!1;const o=e.join();if(void 0===r.defaultBuffer&&(r.defaultBuffer=this._encodeValue(r.default,t,n).join()),o.length!==r.defaultBuffer.length)return!1;for(i=0;i>6],i=0==(32&n);if(31==(31&n)){let r=n;for(n=0;128==(128&r);){if(r=e.readUInt8(t),e.isError(r))return r;n<<=7,n|=127&r}}else n&=31;return{cls:r,primitive:i,tag:n,tagStr:a.tag[n]}}function l(e,t,n){let r=e.readUInt8(n);if(e.isError(r))return r;if(!t&&128===r)return null;if(0==(128&r))return r;const i=127&r;if(i>4)return e.error("length octect is too long");r=0;for(let t=0;t>>((3&t)<<3)&255;return i}}},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=n;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join("")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(217),i=n(218),o=n(249),s=n(134),a=function(){function e(e){e?(this.operation=function(e){return new Promise((function(t,n){var r=s.locateWindow().msCrypto.subtle.importKey("raw",u(e),i.SHA_256_HMAC_ALGO,!1,["sign"]);r.oncomplete=function(){r.result&&t(r.result),n("ImportKey completed without importing key.")},r.onerror=function(){n("ImportKey failed to import key.")}}))}(e).then((function(e){return s.locateWindow().msCrypto.subtle.sign(i.SHA_256_HMAC_ALGO,e)})),this.operation.catch((function(){}))):this.operation=Promise.resolve(s.locateWindow().msCrypto.subtle.digest("SHA-256"))}return e.prototype.update=function(e){var t=this;r.isEmptyData(e)||(this.operation=this.operation.then((function(n){return n.onerror=function(){t.operation=Promise.reject(new Error("Error encountered updating hash"))},n.process(u(e)),n})),this.operation.catch((function(){})))},e.prototype.digest=function(){return this.operation.then((function(e){return new Promise((function(t,n){e.onerror=function(){n("Error encountered finalizing hash")},e.oncomplete=function(){e.result&&t(new Uint8Array(e.result)),n("Error encountered finalizing hash")},e.finish()}))}))},e}();function u(e){return"string"==typeof e?o.fromUtf8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}t.Sha256=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EMPTY_DATA_SHA_256=t.SHA_256_HMAC_ALGO=t.SHA_256_HASH=void 0,t.SHA_256_HASH={name:"SHA-256"},t.SHA_256_HMAC_ALGO={name:"HMAC",hash:t.SHA_256_HASH},t.EMPTY_DATA_SHA_256=new Uint8Array([227,176,196,66,152,252,28,20,154,251,244,200,153,111,185,36,39,174,65,228,100,155,147,76,164,149,153,27,120,82,184,85])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(249),i=n(217),o=n(218),s=n(134),a=function(){function e(e){this.toHash=new Uint8Array(0),void 0!==e&&(this.key=new Promise((function(t,n){s.locateWindow().crypto.subtle.importKey("raw",u(e),o.SHA_256_HMAC_ALGO,!1,["sign"]).then(t,n)})),this.key.catch((function(){})))}return e.prototype.update=function(e){if(!i.isEmptyData(e)){var t=u(e),n=new Uint8Array(this.toHash.byteLength+t.byteLength);n.set(this.toHash,0),n.set(t,this.toHash.byteLength),this.toHash=n}},e.prototype.digest=function(){var e=this;return this.key?this.key.then((function(t){return s.locateWindow().crypto.subtle.sign(o.SHA_256_HMAC_ALGO,t,e.toHash).then((function(e){return new Uint8Array(e)}))})):i.isEmptyData(this.toHash)?Promise.resolve(o.EMPTY_DATA_SHA_256):Promise.resolve().then((function(){return s.locateWindow().crypto.subtle.digest(o.SHA_256_HASH,e.toHash)})).then((function(e){return Promise.resolve(new Uint8Array(e))}))},e}();function u(e){return"string"==typeof e?r.fromUtf8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}t.Sha256=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=new(n(44).a)("Parser"),i=function(e){var t,n={};if(e.aws_mobile_analytics_app_id){var i={AWSPinpoint:{appId:e.aws_mobile_analytics_app_id,region:e.aws_mobile_analytics_app_region}};n.Analytics=i}return(e.aws_cognito_identity_pool_id||e.aws_user_pools_id)&&(n.Auth={userPoolId:e.aws_user_pools_id,userPoolWebClientId:e.aws_user_pools_web_client_id,region:e.aws_cognito_region,identityPoolId:e.aws_cognito_identity_pool_id,identityPoolRegion:e.aws_cognito_region,mandatorySignIn:"enable"===e.aws_mandatory_sign_in}),t=e.aws_user_files_s3_bucket?{AWSS3:{bucket:e.aws_user_files_s3_bucket,region:e.aws_user_files_s3_bucket_region,dangerouslyConnectToHttpEndpointForTesting:e.aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing}}:e?e.Storage||e:{},n.Analytics=Object.assign({},n.Analytics,e.Analytics),n.Auth=Object.assign({},n.Auth,e.Auth),n.Storage=Object.assign({},t),r.debug("parse config",e,"to amplifyconfig",n),n},o=function(){function e(){}return e.parseMobilehubConfig=i,e}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(31))},function(e,t,n){var r=n(84),i=n(225);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){var r=n(229),i=n(420),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))o.call(e,n)&&"constructor"!=n&&t.push(n);return t}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(422),i=n(137),o=n(423),s=n(424),a=n(425),u=n(84),c=n(226),f=c(r),l=c(i),d=c(o),h=c(s),p=c(a),v=u;(r&&"[object DataView]"!=v(new r(new ArrayBuffer(1)))||i&&"[object Map]"!=v(new i)||o&&"[object Promise]"!=v(o.resolve())||s&&"[object Set]"!=v(new s)||a&&"[object WeakMap]"!=v(new a))&&(v=function(e){var t=u(e),n="[object Object]"==t?e.constructor:void 0,r=n?c(n):"";if(r)switch(r){case f:return"[object DataView]";case l:return"[object Map]";case d:return"[object Promise]";case h:return"[object Set]";case p:return"[object WeakMap]"}return t}),e.exports=v},function(e,t,n){var r=n(426),i=n(85),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return i(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=u},function(e,t,n){var r=n(224),i=n(233);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},function(e,t){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var r=n(439),i=n(442),o=n(443);e.exports=function(e,t,n,s,a,u){var c=1&n,f=e.length,l=t.length;if(f!=l&&!(c&&l>f))return!1;var d=u.get(e),h=u.get(t);if(d&&h)return d==t&&h==e;var p=-1,v=!0,g=2&n?new r:void 0;for(u.set(e,t),u.set(t,e);++p=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){u.headers[e]=r.merge(o)})),e.exports=u}).call(this,n(20))},function(e,t,n){"use strict";var r=n(45),i=n(471),o=n(473),s=n(236),a=n(474),u=n(477),c=n(478),f=n(240);e.exports=function(e){return new Promise((function(t,n){var l=e.data,d=e.headers;r.isFormData(l)&&delete d["Content-Type"];var h=new XMLHttpRequest;if(e.auth){var p=e.auth.username||"",v=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(p+":"+v)}var g=a(e.baseURL,e.url);if(h.open(e.method.toUpperCase(),s(g,e.params,e.paramsSerializer),!0),h.timeout=e.timeout,h.onreadystatechange=function(){if(h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in h?u(h.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?h.response:h.responseText,status:h.status,statusText:h.statusText,headers:r,config:e,request:h};i(t,n,o),h=null}},h.onabort=function(){h&&(n(f("Request aborted",e,"ECONNABORTED",h)),h=null)},h.onerror=function(){n(f("Network Error",e,null,h)),h=null},h.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(f(t,e,"ECONNABORTED",h)),h=null},r.isStandardBrowserEnv()){var m=(e.withCredentials||c(g))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;m&&(d[e.xsrfHeaderName]=m)}if("setRequestHeader"in h&&r.forEach(d,(function(e,t){void 0===l&&"content-type"===t.toLowerCase()?delete d[t]:h.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(h.withCredentials=!!e.withCredentials),e.responseType)try{h.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&h.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){h&&(h.abort(),n(e),h=null)})),l||(l=null),h.send(l)}))}},function(e,t,n){"use strict";var r=n(472);e.exports=function(e,t,n,i,o){var s=new Error(e);return r(s,t,n,i,o)}},function(e,t,n){"use strict";var r=n(45);e.exports=function(e,t){t=t||{};var n={},i=["url","method","data"],o=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function u(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function c(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=u(void 0,e[i])):n[i]=u(e[i],t[i])}r.forEach(i,(function(e){r.isUndefined(t[e])||(n[e]=u(void 0,t[e]))})),r.forEach(o,c),r.forEach(s,(function(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=u(void 0,e[i])):n[i]=u(void 0,t[i])})),r.forEach(a,(function(r){r in t?n[r]=u(e[r],t[r]):r in e&&(n[r]=u(void 0,e[r]))}));var f=i.concat(o).concat(s).concat(a),l=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===f.indexOf(e)}));return r.forEach(l,c),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t){var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(n){var r=new Uint8Array(16);e.exports=function(){return n(r),r}}else{var i=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=n;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join("")}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(){function e(){}return e.createPredicateBuilder=function(t){var n=t.name,r=new Set(Object.keys(t.fields)),i=new Proxy({},{get:function(t,i,o){var s=i;if(!r.has(s))throw new Error("Invalid field for model. field: "+s+", model: "+n);return function(t){return e.sortPredicateGroupsMap.get(o).push({field:s,sortDirection:t}),o}}});return e.sortPredicateGroupsMap.set(i,[]),i},e.isValidPredicate=function(t){return e.sortPredicateGroupsMap.has(t)},e.getPredicates=function(t,n){if(void 0===n&&(n=!0),n&&!e.isValidPredicate(t))throw new Error("The predicate is not valid");return e.sortPredicateGroupsMap.get(t)},e.createFromExisting=function(t,n){if(n&&t)return n(e.createPredicateBuilder(t))},e.sortPredicateGroupsMap=new WeakMap,e}()},function(e,t,n){(function(e){var n,r,i,o;function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}o=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==s(e)&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),r(n(1)),r(n(2)),r(n(3)),r(n(4)),r(n(5)),r(n(6)),r(n(7)),r(n(8)),r(n(9)),r(n(10)),r(n(11)),r(n(12)),r(n(13))},function(e,t,n){e.exports={a:"Anchor__a___1_Iz8"}},function(e,t,n){e.exports={button:"Button__button___vS7Mv",signInButton:"Button__signInButton___3bUH-",googleSignInButton:"Button__googleSignInButton___1YiCu",signInButtonIcon:"Button__signInButtonIcon___ihN75",auth0SignInButton:"Button__auth0SignInButton___znnCj",facebookSignInButton:"Button__facebookSignInButton___34Txh",amazonSignInButton:"Button__amazonSignInButton___2EMtl",oAuthSignInButton:"Button__oAuthSignInButton___3UGOl",signInButtonContent:"Button__signInButtonContent___xqTXJ"}},function(e,t,n){e.exports={formContainer:"Form__formContainer___1GA3x",formSection:"Form__formSection___1PPvW",formField:"Form__formField___38Ikl",formRow:"Form__formRow___2mwRs"}},function(e,t,n){e.exports={hint:"Hint__hint___2XngB"}},function(e,t,n){e.exports={input:"Input__input___3e_bf",inputLabel:"Input__inputLabel___3VF0S",label:"Input__label___23sO8",radio:"Input__radio___2hllK"}},function(e,t,n){e.exports={navBar:"Nav__navBar___xtCFA",navRight:"Nav__navRight___1QG2J",nav:"Nav__nav___2Dx2Y",navItem:"Nav__navItem___1LtFQ"}},function(e,t,n){e.exports={photoPickerButton:"PhotoPicker__photoPickerButton___2XdVn",photoPlaceholder:"PhotoPicker__photoPlaceholder___2JXO4",photoPlaceholderIcon:"PhotoPicker__photoPlaceholderIcon___3Et71"}},function(e,t,n){e.exports={container:"Section__container___3YYTG",actionRow:"Section__actionRow___2LWSU",sectionHeader:"Section__sectionHeader___2djyg",sectionHeaderHint:"Section__sectionHeaderHint___3Wxdc",sectionBody:"Section__sectionBody___ihqqd",sectionHeaderContent:"Section__sectionHeaderContent___1UCqa",sectionFooter:"Section__sectionFooter___1T54C",sectionFooterPrimaryContent:"Section__sectionFooterPrimaryContent___2r9ZX",sectionFooterSecondaryContent:"Section__sectionFooterSecondaryContent___Nj41Q"}},function(e,t,n){e.exports={selectInput:"SelectInput__selectInput___3efO4"}},function(e,t,n){e.exports={strike:"Strike__strike___1XV1b",strikeContent:"Strike__strikeContent___10gLb"}},function(e,t,n){e.exports={toast:"Toast__toast___XXr3v",toastClose:"Toast__toastClose___18lU4"}},function(e,t,n){e.exports={totpQrcode:"Totp__totpQrcode___1crLx"}},function(e,t,n){e.exports={sumerianSceneContainer:"XR__sumerianSceneContainer___3nVMt",sumerianScene:"XR__sumerianScene___2Tt7-",loadingOverlay:"XR__loadingOverlay___IbqcI",loadingContainer:"XR__loadingContainer___2Itxb",loadingLogo:"XR__loadingLogo___Ub7xQ",loadingSceneName:"XR__loadingSceneName___3__ne",loadingBar:"XR__loadingBar___2vcke",loadingBarFill:"XR__loadingBarFill___3M-D9",sceneErrorText:"XR__sceneErrorText___2y0tp",sceneBar:"XR__sceneBar___2ShrP",sceneName:"XR__sceneName___1ApHr",sceneActions:"XR__sceneActions___7plGs",actionButton:"XR__actionButton___2poIM",tooltip:"XR__tooltip___UYyhn",actionIcon:"XR__actionIcon___2qnd2",autoShowTooltip:"XR__autoShowTooltip___V1QH7"}}])},"object"==s(t)&&"object"==s(e)?e.exports=o():(r=[],void 0===(i="function"==typeof(n=o)?n.apply(t,r):n)||(e.exports=i))}).call(this,n(57)(e))},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(52),i=n(63),o=n(89),s=n(19),a=n(146),u=n(258),c=function(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n2&&void 0!==arguments[2]?arguments[2]:i,r=void 0,u=Array.isArray(e),c=[e],f=-1,l=[],d=void 0,h=void 0,p=void 0,v=[],g=[],m=e;do{var b=++f===c.length,y=b&&0!==l.length;if(b){if(h=0===g.length?void 0:v[v.length-1],d=p,p=g.pop(),y){if(u)d=d.slice();else{var w={};for(var _ in d)d.hasOwnProperty(_)&&(w[_]=d[_]);d=w}for(var S=0,E=0;E0||m(0,"line in locationOffset is 1-indexed and must be positive"),this.locationOffset.column>0||m(0,"column in locationOffset is 1-indexed and must be positive")};function _(e,t,n){return new r.a("Syntax Error: ".concat(n),void 0,e,[t])}function S(e){for(var t=e.split(/\r\n|[\n\r]/g),n=null,r=1;r0&&M(t[0]);)t.shift();for(;t.length>0&&M(t[t.length-1]);)t.pop();return t.join("\n")}function E(e){for(var t=0;t",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});function x(e){var t=e.value;return t?"".concat(e.kind,' "').concat(t,'"'):e.kind}var C=String.prototype.charCodeAt,T=String.prototype.slice;function P(e,t,n,r,i,o,s){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=s,this.prev=o,this.next=null}function N(e){return isNaN(e)?O.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function R(e,t){var n=e.source,r=n.body,i=r.length,o=function(e,t,n){var r=e.length,i=t;for(;i=i)return new P(O.EOF,i,i,s,a,t);var u=C.call(r,o);switch(u){case 33:return new P(O.BANG,o,o+1,s,a,t);case 35:return function(e,t,n,r,i){var o,s=e.body,a=t;do{o=C.call(s,++a)}while(null!==o&&(o>31||9===o));return new P(O.COMMENT,t,a,n,r,i,T.call(s,t+1,a))}(n,o,s,a,t);case 36:return new P(O.DOLLAR,o,o+1,s,a,t);case 38:return new P(O.AMP,o,o+1,s,a,t);case 40:return new P(O.PAREN_L,o,o+1,s,a,t);case 41:return new P(O.PAREN_R,o,o+1,s,a,t);case 46:if(46===C.call(r,o+1)&&46===C.call(r,o+2))return new P(O.SPREAD,o,o+3,s,a,t);break;case 58:return new P(O.COLON,o,o+1,s,a,t);case 61:return new P(O.EQUALS,o,o+1,s,a,t);case 64:return new P(O.AT,o,o+1,s,a,t);case 91:return new P(O.BRACKET_L,o,o+1,s,a,t);case 93:return new P(O.BRACKET_R,o,o+1,s,a,t);case 123:return new P(O.BRACE_L,o,o+1,s,a,t);case 124:return new P(O.PIPE,o,o+1,s,a,t);case 125:return new P(O.BRACE_R,o,o+1,s,a,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,i){var o=e.body,s=o.length,a=t+1,u=0;for(;a!==s&&null!==(u=C.call(o,a))&&(95===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122);)++a;return new P(O.NAME,t,a,n,r,i,T.call(o,t,a))}(n,o,s,a,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,r,i,o){var s=e.body,a=n,u=t,c=!1;45===a&&(a=C.call(s,++u));if(48===a){if((a=C.call(s,++u))>=48&&a<=57)throw _(e,u,"Invalid number, unexpected digit after 0: ".concat(N(a),"."))}else u=L(e,u,a),a=C.call(s,u);46===a&&(c=!0,a=C.call(s,++u),u=L(e,u,a),a=C.call(s,u));69!==a&&101!==a||(c=!0,43!==(a=C.call(s,++u))&&45!==a||(a=C.call(s,++u)),u=L(e,u,a));return new P(c?O.FLOAT:O.INT,t,u,r,i,o,T.call(s,t,u))}(n,o,u,s,a,t);case 34:return 34===C.call(r,o+1)&&34===C.call(r,o+2)?function(e,t,n,r,i){var o=e.body,s=t+3,a=s,u=0,c="";for(;s=48&&o<=57){do{o=C.call(r,++i)}while(o>=48&&o<=57);return i}throw _(e,i,"Invalid number, expected digit but got: ".concat(N(o),"."))}function j(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}P.prototype.toJSON=P.prototype.inspect=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}};var D=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"}),U=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});function B(e,t){var n="string"==typeof e?new w(e):e;if(!(n instanceof w))throw new TypeError("Must provide Source. Received: ".concat(g(n)));return function(e){var t=e.token;return{kind:D.DOCUMENT,definitions:Te(e,O.SOF,z,O.EOF),loc:Ee(e,t)}}(A(n,t||{}))}function F(e){var t=ke(e,O.NAME);return{kind:D.NAME,value:t.value,loc:Ee(e,t)}}function z(e){if(Ae(e,O.NAME))switch(e.token.value){case"query":case"mutation":case"subscription":case"fragment":return q(e);case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return ce(e);case"extend":return function(e){var t=e.lookahead();if(t.kind===O.NAME)switch(t.value){case"schema":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"schema");var n=oe(e,!0),r=Ae(e,O.BRACE_L)?Te(e,O.BRACE_L,de,O.BRACE_R):[];if(0===n.length&&0===r.length)throw xe(e);return{kind:D.SCHEMA_EXTENSION,directives:n,operationTypes:r,loc:Ee(e,t)}}(e);case"scalar":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"scalar");var n=F(e),r=oe(e,!0);if(0===r.length)throw xe(e);return{kind:D.SCALAR_TYPE_EXTENSION,name:n,directives:r,loc:Ee(e,t)}}(e);case"type":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"type");var n=F(e),r=he(e),i=oe(e,!0),o=pe(e);if(0===r.length&&0===i.length&&0===o.length)throw xe(e);return{kind:D.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:o,loc:Ee(e,t)}}(e);case"interface":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"interface");var n=F(e),r=oe(e,!0),i=pe(e);if(0===r.length&&0===i.length)throw xe(e);return{kind:D.INTERFACE_TYPE_EXTENSION,name:n,directives:r,fields:i,loc:Ee(e,t)}}(e);case"union":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"union");var n=F(e),r=oe(e,!0),i=be(e);if(0===r.length&&0===i.length)throw xe(e);return{kind:D.UNION_TYPE_EXTENSION,name:n,directives:r,types:i,loc:Ee(e,t)}}(e);case"enum":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"enum");var n=F(e),r=oe(e,!0),i=ye(e);if(0===r.length&&0===i.length)throw xe(e);return{kind:D.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i,loc:Ee(e,t)}}(e);case"input":return function(e){var t=e.token;Oe(e,"extend"),Oe(e,"input");var n=F(e),r=oe(e,!0),i=_e(e);if(0===r.length&&0===i.length)throw xe(e);return{kind:D.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i,loc:Ee(e,t)}}(e)}throw xe(e,t)}(e)}else{if(Ae(e,O.BRACE_L))return q(e);if(fe(e))return ce(e)}throw xe(e)}function q(e){if(Ae(e,O.NAME))switch(e.token.value){case"query":case"mutation":case"subscription":return K(e);case"fragment":return function(e){var t=e.token;if(Oe(e,"fragment"),e.options.experimentalFragmentVariables)return{kind:D.FRAGMENT_DEFINITION,name:Q(e),variableDefinitions:V(e),typeCondition:(Oe(e,"on"),ue(e)),directives:oe(e,!1),selectionSet:$(e),loc:Ee(e,t)};return{kind:D.FRAGMENT_DEFINITION,name:Q(e),typeCondition:(Oe(e,"on"),ue(e)),directives:oe(e,!1),selectionSet:$(e),loc:Ee(e,t)}}(e)}else if(Ae(e,O.BRACE_L))return K(e);throw xe(e)}function K(e){var t=e.token;if(Ae(e,O.BRACE_L))return{kind:D.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:$(e),loc:Ee(e,t)};var n,r=H(e);return Ae(e,O.NAME)&&(n=F(e)),{kind:D.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:V(e),directives:oe(e,!1),selectionSet:$(e),loc:Ee(e,t)}}function H(e){var t=ke(e,O.NAME);switch(t.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw xe(e,t)}function V(e){return Ae(e,O.PAREN_L)?Te(e,O.PAREN_L,G,O.PAREN_R):[]}function G(e){var t=e.token;return e.options.experimentalVariableDefinitionDirectives?{kind:D.VARIABLE_DEFINITION,variable:W(e),type:(ke(e,O.COLON),ae(e)),defaultValue:Ie(e,O.EQUALS)?ee(e,!0):void 0,directives:oe(e,!0),loc:Ee(e,t)}:{kind:D.VARIABLE_DEFINITION,variable:W(e),type:(ke(e,O.COLON),ae(e)),defaultValue:Ie(e,O.EQUALS)?ee(e,!0):void 0,loc:Ee(e,t)}}function W(e){var t=e.token;return ke(e,O.DOLLAR),{kind:D.VARIABLE,name:F(e),loc:Ee(e,t)}}function $(e){var t=e.token;return{kind:D.SELECTION_SET,selections:Te(e,O.BRACE_L,Y,O.BRACE_R),loc:Ee(e,t)}}function Y(e){return Ae(e,O.SPREAD)?function(e){var t,n=e.token;if(ke(e,O.SPREAD),Ae(e,O.NAME)&&"on"!==e.token.value)return{kind:D.FRAGMENT_SPREAD,name:Q(e),directives:oe(e,!1),loc:Ee(e,n)};"on"===e.token.value&&(e.advance(),t=ue(e));return{kind:D.INLINE_FRAGMENT,typeCondition:t,directives:oe(e,!1),selectionSet:$(e),loc:Ee(e,n)}}(e):function(e){var t,n,r=e.token,i=F(e);Ie(e,O.COLON)?(t=i,n=F(e)):n=i;return{kind:D.FIELD,alias:t,name:n,arguments:J(e,!1),directives:oe(e,!1),selectionSet:Ae(e,O.BRACE_L)?$(e):void 0,loc:Ee(e,r)}}(e)}function J(e,t){var n=t?X:Z;return Ae(e,O.PAREN_L)?Te(e,O.PAREN_L,n,O.PAREN_R):[]}function Z(e){var t=e.token;return{kind:D.ARGUMENT,name:F(e),value:(ke(e,O.COLON),ee(e,!1)),loc:Ee(e,t)}}function X(e){var t=e.token;return{kind:D.ARGUMENT,name:F(e),value:(ke(e,O.COLON),ne(e)),loc:Ee(e,t)}}function Q(e){if("on"===e.token.value)throw xe(e);return F(e)}function ee(e,t){var n=e.token;switch(n.kind){case O.BRACKET_L:return function(e,t){var n=e.token,r=t?ne:re;return{kind:D.LIST,values:Ce(e,O.BRACKET_L,r,O.BRACKET_R),loc:Ee(e,n)}}(e,t);case O.BRACE_L:return function(e,t){var n=e.token;ke(e,O.BRACE_L);var r=[];for(;!Ie(e,O.BRACE_R);)r.push(ie(e,t));return{kind:D.OBJECT,fields:r,loc:Ee(e,n)}}(e,t);case O.INT:return e.advance(),{kind:D.INT,value:n.value,loc:Ee(e,n)};case O.FLOAT:return e.advance(),{kind:D.FLOAT,value:n.value,loc:Ee(e,n)};case O.STRING:case O.BLOCK_STRING:return te(e);case O.NAME:return"true"===n.value||"false"===n.value?(e.advance(),{kind:D.BOOLEAN,value:"true"===n.value,loc:Ee(e,n)}):"null"===n.value?(e.advance(),{kind:D.NULL,loc:Ee(e,n)}):(e.advance(),{kind:D.ENUM,value:n.value,loc:Ee(e,n)});case O.DOLLAR:if(!t)return W(e)}throw xe(e)}function te(e){var t=e.token;return e.advance(),{kind:D.STRING,value:t.value,block:t.kind===O.BLOCK_STRING,loc:Ee(e,t)}}function ne(e){return ee(e,!0)}function re(e){return ee(e,!1)}function ie(e,t){var n=e.token;return{kind:D.OBJECT_FIELD,name:F(e),value:(ke(e,O.COLON),ee(e,t)),loc:Ee(e,n)}}function oe(e,t){for(var n=[];Ae(e,O.AT);)n.push(se(e,t));return n}function se(e,t){var n=e.token;return ke(e,O.AT),{kind:D.DIRECTIVE,name:F(e),arguments:J(e,t),loc:Ee(e,n)}}function ae(e){var t,n=e.token;return Ie(e,O.BRACKET_L)?(t=ae(e),ke(e,O.BRACKET_R),t={kind:D.LIST_TYPE,type:t,loc:Ee(e,n)}):t=ue(e),Ie(e,O.BANG)?{kind:D.NON_NULL_TYPE,type:t,loc:Ee(e,n)}:t}function ue(e){var t=e.token;return{kind:D.NAMED_TYPE,name:F(e),loc:Ee(e,t)}}function ce(e){var t=fe(e)?e.lookahead():e.token;if(t.kind===O.NAME)switch(t.value){case"schema":return function(e){var t=e.token;Oe(e,"schema");var n=oe(e,!0),r=Te(e,O.BRACE_L,de,O.BRACE_R);return{kind:D.SCHEMA_DEFINITION,directives:n,operationTypes:r,loc:Ee(e,t)}}(e);case"scalar":return function(e){var t=e.token,n=le(e);Oe(e,"scalar");var r=F(e),i=oe(e,!0);return{kind:D.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i,loc:Ee(e,t)}}(e);case"type":return function(e){var t=e.token,n=le(e);Oe(e,"type");var r=F(e),i=he(e),o=oe(e,!0),s=pe(e);return{kind:D.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:o,fields:s,loc:Ee(e,t)}}(e);case"interface":return function(e){var t=e.token,n=le(e);Oe(e,"interface");var r=F(e),i=oe(e,!0),o=pe(e);return{kind:D.INTERFACE_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o,loc:Ee(e,t)}}(e);case"union":return function(e){var t=e.token,n=le(e);Oe(e,"union");var r=F(e),i=oe(e,!0),o=be(e);return{kind:D.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:o,loc:Ee(e,t)}}(e);case"enum":return function(e){var t=e.token,n=le(e);Oe(e,"enum");var r=F(e),i=oe(e,!0),o=ye(e);return{kind:D.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:o,loc:Ee(e,t)}}(e);case"input":return function(e){var t=e.token,n=le(e);Oe(e,"input");var r=F(e),i=oe(e,!0),o=_e(e);return{kind:D.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o,loc:Ee(e,t)}}(e);case"directive":return function(e){var t=e.token,n=le(e);Oe(e,"directive"),ke(e,O.AT);var r=F(e),i=ge(e);Oe(e,"on");var o=function(e){Ie(e,O.PIPE);var t=[];do{t.push(Se(e))}while(Ie(e,O.PIPE));return t}(e);return{kind:D.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,locations:o,loc:Ee(e,t)}}(e)}throw xe(e,t)}function fe(e){return Ae(e,O.STRING)||Ae(e,O.BLOCK_STRING)}function le(e){if(fe(e))return te(e)}function de(e){var t=e.token,n=H(e);ke(e,O.COLON);var r=ue(e);return{kind:D.OPERATION_TYPE_DEFINITION,operation:n,type:r,loc:Ee(e,t)}}function he(e){var t=[];if("implements"===e.token.value){e.advance(),Ie(e,O.AMP);do{t.push(ue(e))}while(Ie(e,O.AMP)||e.options.allowLegacySDLImplementsInterfaces&&Ae(e,O.NAME))}return t}function pe(e){return e.options.allowLegacySDLEmptyFields&&Ae(e,O.BRACE_L)&&e.lookahead().kind===O.BRACE_R?(e.advance(),e.advance(),[]):Ae(e,O.BRACE_L)?Te(e,O.BRACE_L,ve,O.BRACE_R):[]}function ve(e){var t=e.token,n=le(e),r=F(e),i=ge(e);ke(e,O.COLON);var o=ae(e),s=oe(e,!0);return{kind:D.FIELD_DEFINITION,description:n,name:r,arguments:i,type:o,directives:s,loc:Ee(e,t)}}function ge(e){return Ae(e,O.PAREN_L)?Te(e,O.PAREN_L,me,O.PAREN_R):[]}function me(e){var t=e.token,n=le(e),r=F(e);ke(e,O.COLON);var i,o=ae(e);Ie(e,O.EQUALS)&&(i=ne(e));var s=oe(e,!0);return{kind:D.INPUT_VALUE_DEFINITION,description:n,name:r,type:o,defaultValue:i,directives:s,loc:Ee(e,t)}}function be(e){var t=[];if(Ie(e,O.EQUALS)){Ie(e,O.PIPE);do{t.push(ue(e))}while(Ie(e,O.PIPE))}return t}function ye(e){return Ae(e,O.BRACE_L)?Te(e,O.BRACE_L,we,O.BRACE_R):[]}function we(e){var t=e.token,n=le(e),r=F(e),i=oe(e,!0);return{kind:D.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i,loc:Ee(e,t)}}function _e(e){return Ae(e,O.BRACE_L)?Te(e,O.BRACE_L,me,O.BRACE_R):[]}function Se(e){var t=e.token,n=F(e);if(U.hasOwnProperty(n.value))return n;throw xe(e,t)}function Ee(e,t){if(!e.options.noLocation)return new Me(t,e.lastToken,e.source)}function Me(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function Ae(e,t){return e.token.kind===t}function Ie(e,t){var n=e.token.kind===t;return n&&e.advance(),n}function ke(e,t){var n=e.token;if(n.kind===t)return e.advance(),n;throw _(e.source,n.start,"Expected ".concat(t,", found ").concat(x(n)))}function Oe(e,t){var n=e.token;if(n.kind===O.NAME&&n.value===t)return e.advance(),n;throw _(e.source,n.start,'Expected "'.concat(t,'", found ').concat(x(n)))}function xe(e,t){var n=t||e.token;return _(e.source,n.start,"Unexpected ".concat(x(n)))}function Ce(e,t,n,r){ke(e,t);for(var i=[];!Ie(e,r);)i.push(n(e));return i}function Te(e,t,n,r){ke(e,t);for(var i=[n(e)];!Ie(e,r);)i.push(n(e));return i}Me.prototype.toJSON=Me.prototype.inspect=function(){return{start:this.start,end:this.end}};var Pe=n(44),Ne=n(89),Re=n(5),Le=n(103),je=n(19),De=n(34),Ue=n(42),Be=n(26),Fe=n(254),ze=function(){return(ze=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Ge=new Pe.a("GraphQLAPI"),We=function(e,t){return void 0===t&&(t={}),{query:e,variables:t}},$e=function(){function e(e){this._api=null,this.Auth=Ue.a,this.Cache=Be.a,this.Credentials=Ne.a,this._options=e,Ge.debug("API Options",this._options)}return e.prototype.getModuleName=function(){return"GraphQLAPI"},e.prototype.configure=function(e){var t=e||{},n=t.API,r=void 0===n?{}:n,i=He(t,["API"]),o=ze(ze({},i),r);return Ge.debug("configure GraphQL API",{opt:o}),o.aws_project_region&&(o=Object.assign({},o,{region:o.aws_project_region,header:{}})),void 0!==o.graphql_headers&&"function"!=typeof o.graphql_headers&&(Ge.warn("graphql_headers should be a function"),o.graphql_headers=void 0),this._options=Object.assign({},this._options,o),this.createInstance(),this._options},e.prototype.createInstance=function(){return Ge.debug("create Rest instance"),this._options?(this._api=new Fe.a(this._options),this._api.Credentials=this.Credentials,!0):Promise.reject("API not configured")},e.prototype._headerBasedAuth=function(e){return qe(this,void 0,void 0,(function(){var t,n,r,i,o,s,a,u;return Ke(this,(function(c){switch(c.label){case 0:switch(t=this._options,n=t.aws_appsync_authenticationType,r=t.aws_appsync_apiKey,i={},e||n||"AWS_IAM"){case"API_KEY":return[3,1];case"AWS_IAM":return[3,2];case"OPENID_CONNECT":return[3,4];case"AMAZON_COGNITO_USER_POOLS":return[3,9]}return[3,11];case 1:if(!r)throw new Error("No api-key configured");return i={Authorization:null,"X-Api-Key":r},[3,12];case 2:return[4,this._ensureCredentials()];case 3:if(!c.sent())throw new Error("No credentials");return[3,12];case 4:return o=void 0,[4,Be.a.getItem("federatedInfo")];case 5:return(s=c.sent())?(o=s.token,[3,8]):[3,6];case 6:return[4,Ue.a.currentAuthenticatedUser()];case 7:(a=c.sent())&&(o=a.token),c.label=8;case 8:if(!o)throw new Error("No federated jwt");return i={Authorization:o},[3,12];case 9:return[4,this.Auth.currentSession()];case 10:return u=c.sent(),i={Authorization:u.getAccessToken().getJwtToken()},[3,12];case 11:return i={Authorization:null},[3,12];case 12:return[2,i]}}))}))},e.prototype.getGraphqlOperationType=function(e){var t=B(e);return Ve(t.definitions,1)[0].operation},e.prototype.graphql=function(e,t){var n=e.query,r=e.variables,i=void 0===r?{}:r,o=e.authMode,s=B("string"==typeof n?n:u(n)),a=Ve(s.definitions.filter((function(e){return"OperationDefinition"===e.kind})),1)[0],c=(void 0===a?{}:a).operation;switch(c){case"query":case"mutation":var f=this._api.getCancellableToken(),l={cancellableToken:f},d=this._graphql({query:s,variables:i,authMode:o},t,l);return this._api.updateRequestToBeCancellable(d,f),d;case"subscription":return this._graphqlSubscribe({query:s,variables:i,authMode:o},t)}throw new Error("invalid operation type: "+c)},e.prototype._graphql=function(e,t,n){var i=e.query,o=e.variables,s=e.authMode;return void 0===t&&(t={}),void 0===n&&(n={}),qe(this,void 0,void 0,(function(){var e,a,c,f,l,d,h,p,v,g,m,b,y,w,_,S,E,M,A,I,k;return Ke(this,(function(O){switch(O.label){case 0:return this._api?[3,2]:[4,this.createInstance()];case 1:O.sent(),O.label=2;case 2:return e=this._options,a=e.aws_appsync_region,c=e.aws_appsync_graphqlEndpoint,f=e.graphql_headers,l=void 0===f?function(){return{}}:f,d=e.graphql_endpoint,h=e.graphql_endpoint_iam_region,v=[{}],(g=!d)?[4,this._headerBasedAuth(s)]:[3,4];case 3:g=O.sent(),O.label=4;case 4:return m=[ze.apply(void 0,v.concat([g]))],(b=d)?h?[4,this._headerBasedAuth(s)]:[3,6]:[3,8];case 5:return y=O.sent(),[3,7];case 6:y={Authorization:null},O.label=7;case 7:b=y,O.label=8;case 8:return w=[ze.apply(void 0,m.concat([b]))],[4,l({query:i,variables:o})];case 9:if(p=ze.apply(void 0,[ze.apply(void 0,[ze.apply(void 0,w.concat([O.sent()])),t]),!d&&(k={},k["x-amz-user-agent"]=Re.a.userAgent,k)]),_={query:u(i),variables:o},S=Object.assign({headers:p,body:_,signerServiceInfo:{service:d?"execute-api":"appsync",region:d?h:a}},n),!(E=d||c))throw{data:{},errors:[new r.a("No graphql endpoint provided.")]};O.label=10;case 10:return O.trys.push([10,12,,13]),[4,this._api.post(E,S)];case 11:return M=O.sent(),[3,13];case 12:if(A=O.sent(),this._api.isCancel(A))throw A;return M={data:{},errors:[new r.a(A.message)]},[3,13];case 13:if((I=M.errors)&&I.length)throw M;return[2,M]}}))}))},e.prototype.isCancel=function(e){return this._api.isCancel(e)},e.prototype.cancel=function(e,t){return this._api.cancel(e,t)},e.prototype._graphqlSubscribe=function(e,t){var n=e.query,r=e.variables,i=e.authMode;void 0===t&&(t={});var o=this._options,s=o.aws_appsync_region,a=o.aws_appsync_graphqlEndpoint,c=o.aws_appsync_authenticationType,f=o.aws_appsync_apiKey,l=o.graphql_headers,d=void 0===l?function(){return{}}:l,h=i||c||"AWS_IAM";if(De.b&&"function"==typeof De.b.subscribe)return De.b.subscribe("",{provider:Le.b,appSyncGraphqlEndpoint:a,authenticationType:h,apiKey:f,query:u(n),region:s,variables:r,graphql_headers:d,additionalHeaders:t});throw Ge.debug("No pubsub module applied for subscription"),new Error("No pubsub module applied for subscription")},e.prototype._ensureCredentials=function(){var e=this;return this.Credentials.get().then((function(t){if(!t)return!1;var n=e.Credentials.shear(t);return Ge.debug("set credentials for api",n),!0})).catch((function(e){return Ge.warn("ensure credentials error",e),!1}))},e}(),Ye=new $e(null);je.a.register(Ye)},function(e,t,n){"use strict";n.r(t),n.d(t,"fromUtf8",(function(){return r})),n.d(t,"toUtf8",(function(){return i}));var r=function(e){return"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):function(e){for(var t=[],n=0,r=e.length;n>6|192,63&i|128);else if(n+1>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)}(e)},i=function(e){return"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):function(e){for(var t="",n=0,r=e.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0){var s=n.substring(0,i),a=n.substring(i+r.length);n=s+t[o]+a}return n},S=[0,6,77,81,73,115,100,112,3],E=[0,4,77,81,84,84,4],M=function(e,t){for(var n in this.type=e,t)t.hasOwnProperty(n)&&(this[n]=t[n])};function A(e,t){var n,r=t,f=e[t],d=f>>4,p=f&=15;t+=1;var v=0,g=1;do{if(t==e.length)return[null,r];v+=(127&(n=e[t++]))*g,g*=128}while(0!=(128&n));var m=t+v;if(m>e.length)return[null,r];var b=new M(d);switch(d){case i:1&e[t++]&&(b.sessionPresent=!0),b.returnCode=e[t++];break;case o:var y=p>>1&3,w=O(e,t),_=T(e,t+=2,w);t+=w,y>0&&(b.messageIdentifier=O(e,t),t+=2);var S=new L(e.subarray(t,m));1==(1&p)&&(S.retained=!0),8==(8&p)&&(S.duplicate=!0),S.qos=y,S.destinationName=_,b.payloadMessage=S;break;case s:case a:case u:case c:case h:b.messageIdentifier=O(e,t);break;case l:b.messageIdentifier=O(e,t),t+=2,b.returnCode=e.subarray(t,m)}return[b,m]}function I(e,t,n){return t[n++]=e>>8,t[n++]=e%256,n}function k(e,t,n,r){return C(e,n,r=I(t,n,r)),r+t}function O(e,t){return 256*e[t]+e[t+1]}function x(e){for(var t=0,n=0;n2047?(55296<=r&&r<=56319&&(n++,t++),t+=3):r>127?t+=2:t++}return t}function C(e,t,n){for(var r=n,i=0;i>6&31|192,t[r++]=63&o|128):o<=65535?(t[r++]=o>>12&15|224,t[r++]=o>>6&63|128,t[r++]=63&o|128):(t[r++]=o>>18&7|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=63&o|128)}return t}function T(e,t,n){for(var r,i="",o=t;o65535&&(r-=65536,i+=String.fromCharCode(55296+(r>>10)),r=56320+(1023&r)),i+=String.fromCharCode(r)}return i}M.prototype.encode=function(){var e,t=(15&this.type)<<4,n=0,i=[],s=0;switch(void 0!==this.messageIdentifier&&(n+=2),this.type){case r:switch(this.mqttVersion){case 3:n+=S.length+3;break;case 4:n+=E.length+3}n+=x(this.clientId)+2,void 0!==this.willMessage&&(n+=x(this.willMessage.destinationName)+2,(e=this.willMessage.payloadBytes)instanceof Uint8Array||(e=new Uint8Array(c)),n+=e.byteLength+2),void 0!==this.userName&&(n+=x(this.userName)+2),void 0!==this.password&&(n+=x(this.password)+2);break;case f:t|=2;for(var a=0;a>=7)>0&&(r|=128),t[n++]=r}while(e>0&&n<4);return t}(n),h=l.length+1,p=new ArrayBuffer(n+h),v=new Uint8Array(p);if(v[0]=t,v.set(l,1),this.type==o)h=k(this.payloadMessage.destinationName,s,v,h);else if(this.type==r){switch(this.mqttVersion){case 3:v.set(S,h),h+=S.length;break;case 4:v.set(E,h),h+=E.length}var g=0;this.cleanSession&&(g=2),void 0!==this.willMessage&&(g|=4,g|=this.willMessage.qos<<3,this.willMessage.retained&&(g|=32)),void 0!==this.userName&&(g|=128),void 0!==this.password&&(g|=64),v[h++]=g,h=I(this.keepAliveInterval,v,h)}switch(void 0!==this.messageIdentifier&&(h=I(this.messageIdentifier,v,h)),this.type){case r:h=k(this.clientId,x(this.clientId),v,h),void 0!==this.willMessage&&(h=k(this.willMessage.destinationName,x(this.willMessage.destinationName),v,h),h=I(e.byteLength,v,h),v.set(e,h),h+=e.byteLength),void 0!==this.userName&&(h=k(this.userName,x(this.userName),v,h)),void 0!==this.password&&(h=k(this.password,x(this.password),v,h));break;case o:v.set(c,h);break;case f:for(a=0;a0&&(this.timeout=setTimeout(r(this),this._keepAliveInterval))},this.cancel=function(){clearTimeout(this.timeout)}},N=function(e,t,n,r){t||(t=30),this.timeout=setTimeout(function(e,t,n){return function(){return e.apply(t,n)}}(n,e,r),1e3*t),this.cancel=function(){clearTimeout(this.timeout)}},R=function(t,r,i,o,s){if(!("WebSocket"in e)||null===e.WebSocket)throw new Error(_(y.UNSUPPORTED,["WebSocket"]));if(!("ArrayBuffer"in e)||null===e.ArrayBuffer)throw new Error(_(y.UNSUPPORTED,["ArrayBuffer"]));for(var a in this._trace("Paho.Client",t,r,i,o,s),this.host=r,this.port=i,this.path=o,this.uri=t,this.clientId=s,this._wsuri=null,this._localKey=r+":"+i+("/mqtt"!=o?":"+o:"")+":"+s+":",this._msg_queue=[],this._buffered_msg_queue=[],this._sentMessages={},this._receivedMessages={},this._notify_msg_sent={},this._message_identifier=1,this._sequence=0,n)0!==a.indexOf("Sent:"+this._localKey)&&0!==a.indexOf("Received:"+this._localKey)||this.restore(a)};R.prototype.host=null,R.prototype.port=null,R.prototype.path=null,R.prototype.uri=null,R.prototype.clientId=null,R.prototype.socket=null,R.prototype.connected=!1,R.prototype.maxMessageIdentifier=65536,R.prototype.connectOptions=null,R.prototype.hostIndex=null,R.prototype.onConnected=null,R.prototype.onConnectionLost=null,R.prototype.onMessageDelivered=null,R.prototype.onMessageArrived=null,R.prototype.traceFunction=null,R.prototype._msg_queue=null,R.prototype._buffered_msg_queue=null,R.prototype._connectTimeout=null,R.prototype.sendPinger=null,R.prototype.receivePinger=null,R.prototype._reconnectInterval=1,R.prototype._reconnecting=!1,R.prototype._reconnectTimeout=null,R.prototype.disconnectedPublishing=!1,R.prototype.disconnectedBufferSize=5e3,R.prototype.receiveBuffer=null,R.prototype._traceBuffer=null,R.prototype._MAX_TRACE_ENTRIES=100,R.prototype.connect=function(e){var t=this._traceMask(e,"password");if(this._trace("Client.connect",t,this.socket,this.connected),this.connected)throw new Error(_(y.INVALID_STATE,["already connected"]));if(this.socket)throw new Error(_(y.INVALID_STATE,["already connected"]));this._reconnecting&&(this._reconnectTimeout.cancel(),this._reconnectTimeout=null,this._reconnecting=!1),this.connectOptions=e,this._reconnectInterval=1,this._reconnecting=!1,e.uris?(this.hostIndex=0,this._doConnect(e.uris[0])):this._doConnect(this.uri)},R.prototype.subscribe=function(e,t){if(this._trace("Client.subscribe",e,t),!this.connected)throw new Error(_(y.INVALID_STATE,["not connected"]));var n=new M(f);n.topics=e.constructor===Array?e:[e],void 0===t.qos&&(t.qos=0),n.requestedQos=[];for(var r=0;r0?this._requires_ack(t):this.onMessageDelivered&&(this._notify_msg_sent[t]=this.onMessageDelivered(t.payloadMessage)),this._schedule_message(t);else{if(!this._reconnecting||!this.disconnectedPublishing)throw new Error(_(y.INVALID_STATE,["not connected"]));if(Object.keys(this._sentMessages).length+this._buffered_msg_queue.length>this.disconnectedBufferSize)throw new Error(_(y.BUFFER_FULL,[this.disconnectedBufferSize]));e.qos>0?this._requires_ack(t):(t.sequence=++this._sequence,this._buffered_msg_queue.unshift(t))}},R.prototype.disconnect=function(){if(this._trace("Client.disconnect"),this._reconnecting&&(this._reconnectTimeout.cancel(),this._reconnectTimeout=null,this._reconnecting=!1),!this.socket)throw new Error(_(y.INVALID_STATE,["not connecting or connected"]));var e=new M(g);this._notify_msg_sent[e]=b(this._disconnected,this),this._schedule_message(e)},R.prototype.getTraceLog=function(){if(null!==this._traceBuffer){for(var e in this._trace("Client.getTraceLog",new Date),this._trace("Client.getTraceLog in flight messages",this._sentMessages.length),this._sentMessages)this._trace("_sentMessages ",e,this._sentMessages[e]);for(var e in this._receivedMessages)this._trace("_receivedMessages ",e,this._receivedMessages[e]);return this._traceBuffer}},R.prototype.startTrace=function(){null===this._traceBuffer&&(this._traceBuffer=[]),this._trace("Client.startTrace",new Date,"@VERSION@-@BUILDLEVEL@")},R.prototype.stopTrace=function(){delete this._traceBuffer},R.prototype._doConnect=function(e){if(this.connectOptions.useSSL){var t=e.split(":");t[0]="wss",e=t.join(":")}this._wsuri=e,this.connected=!1,this.connectOptions.mqttVersion<4?this.socket=new WebSocket(e,["mqttv3.1"]):this.socket=new WebSocket(e,["mqtt"]),this.socket.binaryType="arraybuffer",this.socket.onopen=b(this._on_socket_open,this),this.socket.onmessage=b(this._on_socket_message,this),this.socket.onerror=b(this._on_socket_error,this),this.socket.onclose=b(this._on_socket_close,this),this.sendPinger=new P(this,this.connectOptions.keepAliveInterval),this.receivePinger=new P(this,this.connectOptions.keepAliveInterval),this._connectTimeout&&(this._connectTimeout.cancel(),this._connectTimeout=null),this._connectTimeout=new N(this,this.connectOptions.timeout,this._disconnected,[y.CONNECT_TIMEOUT.code,_(y.CONNECT_TIMEOUT)])},R.prototype._schedule_message=function(e){this._msg_queue.unshift(e),this.connected&&this._process_queue()},R.prototype.store=function(e,t){var r={type:t.type,messageIdentifier:t.messageIdentifier,version:1};switch(t.type){case o:t.pubRecReceived&&(r.pubRecReceived=!0),r.payloadMessage={};for(var i="",s=t.payloadMessage.payloadBytes,a=0;a=2;){var f=parseInt(s.substring(0,2),16);s=s.substring(2,s.length),u[c++]=f}var l=new L(u);l.qos=r.payloadMessage.qos,l.destinationName=r.payloadMessage.destinationName,r.payloadMessage.duplicate&&(l.duplicate=!0),r.payloadMessage.retained&&(l.retained=!0),i.payloadMessage=l;break;default:throw Error(_(y.INVALID_STORED_DATA,[e,t]))}0===e.indexOf("Sent:"+this._localKey)?(i.payloadMessage.duplicate=!0,this._sentMessages[i.messageIdentifier]=i):0===e.indexOf("Received:"+this._localKey)&&(this._receivedMessages[i.messageIdentifier]=i)},R.prototype._process_queue=function(){for(var e=null;e=this._msg_queue.pop();)this._socket_send(e),this._notify_msg_sent[e]&&(this._notify_msg_sent[e](),delete this._notify_msg_sent[e])},R.prototype._requires_ack=function(e){var t=Object.keys(this._sentMessages).length;if(t>this.maxMessageIdentifier)throw Error("Too many messages:"+t);for(;void 0!==this._sentMessages[this._message_identifier];)this._message_identifier++;e.messageIdentifier=this._message_identifier,this._sentMessages[e.messageIdentifier]=e,e.type===o&&this.store("Sent:",e),this._message_identifier===this.maxMessageIdentifier&&(this._message_identifier=1)},R.prototype._on_socket_open=function(){var e=new M(r,this.connectOptions);e.clientId=this.clientId,this._socket_send(e)},R.prototype._on_socket_message=function(e){this._trace("Client._on_socket_message",e.data);for(var t=this._deframeMessages(e.data),n=0;n0)for(var m=null;m=this._buffered_msg_queue.pop();)d.push(m),this.onMessageDelivered&&(this._notify_msg_sent[m]=this.onMessageDelivered(m.payloadMessage));d=d.sort((function(e,t){return e.sequence-t.sequence}));for(var b=0,S=d.length;b65535)throw new Error(_(y.INVALID_ARGUMENT,[r,"clientId"]));var f=new R(i,e,t,n,r);Object.defineProperties(this,{host:{get:function(){return e},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},port:{get:function(){return t},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},path:{get:function(){return n},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},uri:{get:function(){return i},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},clientId:{get:function(){return f.clientId},set:function(){throw new Error(_(y.UNSUPPORTED_OPERATION))}},onConnected:{get:function(){return f.onConnected},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onConnected"]));f.onConnected=e}},disconnectedPublishing:{get:function(){return f.disconnectedPublishing},set:function(e){f.disconnectedPublishing=e}},disconnectedBufferSize:{get:function(){return f.disconnectedBufferSize},set:function(e){f.disconnectedBufferSize=e}},onConnectionLost:{get:function(){return f.onConnectionLost},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onConnectionLost"]));f.onConnectionLost=e}},onMessageDelivered:{get:function(){return f.onMessageDelivered},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onMessageDelivered"]));f.onMessageDelivered=e}},onMessageArrived:{get:function(){return f.onMessageArrived},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onMessageArrived"]));f.onMessageArrived=e}},trace:{get:function(){return f.traceFunction},set:function(e){if("function"!=typeof e)throw new Error(_(y.INVALID_TYPE,[typeof e,"onTrace"]));f.traceFunction=e}}}),this.connect=function(e){if(m(e=e||{},{timeout:"number",userName:"string",password:"string",willMessage:"object",keepAliveInterval:"number",cleanSession:"boolean",useSSL:"boolean",invocationContext:"object",onSuccess:"function",onFailure:"function",hosts:"object",ports:"object",reconnect:"boolean",mqttVersion:"number",mqttVersionExplicit:"boolean",uris:"object"}),void 0===e.keepAliveInterval&&(e.keepAliveInterval=60),e.mqttVersion>4||e.mqttVersion<3)throw new Error(_(y.INVALID_ARGUMENT,[e.mqttVersion,"connectOptions.mqttVersion"]));if(void 0===e.mqttVersion?(e.mqttVersionExplicit=!1,e.mqttVersion=4):e.mqttVersionExplicit=!0,void 0!==e.password&&void 0===e.userName)throw new Error(_(y.INVALID_ARGUMENT,[e.password,"connectOptions.password"]));if(e.willMessage){if(!(e.willMessage instanceof L))throw new Error(_(y.INVALID_TYPE,[e.willMessage,"connectOptions.willMessage"]));if(e.willMessage.stringPayload=null,void 0===e.willMessage.destinationName)throw new Error(_(y.INVALID_TYPE,[typeof e.willMessage.destinationName,"connectOptions.willMessage.destinationName"]))}if(void 0===e.cleanSession&&(e.cleanSession=!0),e.hosts){if(!(e.hosts instanceof Array))throw new Error(_(y.INVALID_ARGUMENT,[e.hosts,"connectOptions.hosts"]));if(e.hosts.length<1)throw new Error(_(y.INVALID_ARGUMENT,[e.hosts,"connectOptions.hosts"]));for(var t=!1,r=0;r=3&&(i.qos=n),arguments.length>=4&&(i.retained=r),f.send(i)},this.publish=function(e,t,n,r){var i;if(0===arguments.length)throw new Error("Invalid argument.length");if(1==arguments.length){if(!(e instanceof L)&&"string"!=typeof e)throw new Error("Invalid argument:"+typeof e);if(void 0===(i=e).destinationName)throw new Error(_(y.INVALID_ARGUMENT,[i.destinationName,"Message.destinationName"]));f.send(i)}else(i=new L(t)).destinationName=e,arguments.length>=3&&(i.qos=n),arguments.length>=4&&(i.retained=r),f.send(i)},this.disconnect=function(){f.disconnect()},this.getTraceLog=function(){return f.getTraceLog()},this.startTrace=function(){f.startTrace()},this.stopTrace=function(){f.stopTrace()},this.isConnected=function(){return f.connected}},Message:L}}(void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},e.exports=n()}).call(this,n(31))},function(e,t,n){"use strict";var r,i,o=n(486);function s(e,t,n){if(e._observer)a(e._observer,t,n);else if(e._observers){var r=[];e._observers.forEach((function(e){r.push(e)})),r.forEach((function(e){a(e,t,n)}))}}function a(e,t,n){if(!e.closed)switch(t){case"next":return e.next(n);case"error":return e.error(n);case"complete":return e.complete(n)}}function u(e){return e._observer||e._observers&&e._observers.size>0}function c(e){var t=this;this._observer=null,this._observers=null,this._observable=new o((function(n){return function(e,t){!u(e)&&t&&t.start&&t.start()}(t,e),function(e,t){e._observers?e._observers.add(t):e._observer?(e._observers=new Set,e._observers.add(e._observer),e._observers.add(t),e._observer=null):e._observer=t}(t,n),function(){!function(e,t){e._observers?e._observers.delete(t):e._observer===t&&(e._observer=null)}(t,n),function(e,t){!u(e)&&t&&t.pause&&t.pause()}(t,e)}}))}r=c.prototype,i={get observable(){return this._observable},get observed(){return u(this)},next:function(e){s(this,"next",e)},error:function(e){s(this,"error",e)},complete:function(e){s(this,"complete",e)}},Object.keys(i).forEach((function(e){var t=Object.getOwnPropertyDescriptor(i,e);t.enumerable=!1,Object.defineProperty(r,e,t)})),e.exports=c},function(e,t,n){"use strict";n.d(t,"a",(function(){return Nt}));var r=n(44),i=n(33),o=n(88),s=n(19);function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:g(e)?2:m(e)?3:0}function d(e,t){return 2===l(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function h(e,t){return 2===l(e)?e.get(t):e[t]}function p(e,t,n){var r=l(e);2===r?e.set(t,n):3===r?(e.delete(t),e.add(n)):e[t]=n}function v(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function g(e){return G&&e instanceof Map}function m(e){return W&&e instanceof Set}function b(e){return e.o||e.t}function y(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Q(e);delete t[Z];for(var n=X(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=_),Object.freeze(e),t&&f(e,(function(e,t){return w(t,!0)}),!0)),e}function _(){a(2)}function S(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function E(e){var t=ee[e];return t||a(18,e),t}function M(e,t){ee[e]||(ee[e]=t)}function A(){return H}function I(e,t){t&&(E("Patches"),e.u=[],e.s=[],e.v=t)}function k(e){O(e),e.p.forEach(C),e.p=null}function O(e){e===H&&(H=e.l)}function x(e){return H={p:[],l:H,h:e,m:!0,_:0}}function C(e){var t=e[Z];0===t.i||1===t.i?t.j():t.g=!0}function T(e,t){t._=t.p.length;var n=t.p[0],r=void 0!==e&&e!==n;return t.h.O||E("ES5").S(t,e,r),r?(n[Z].P&&(k(t),a(4)),c(e)&&(e=P(t,e),t.l||R(t,e)),t.u&&E("Patches").M(n[Z],e,t.u,t.s)):e=P(t,n,[]),k(t),t.u&&t.v(t.u,t.s),e!==Y?e:void 0}function P(e,t,n){if(S(t))return t;var r=t[Z];if(!r)return f(t,(function(i,o){return N(e,r,t,i,o,n)}),!0),t;if(r.A!==e)return t;if(!r.P)return R(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=4===r.i||5===r.i?r.o=y(r.k):r.o;f(3===r.i?new Set(i):i,(function(t,o){return N(e,r,i,t,o,n)})),R(e,i,!1),n&&e.u&&E("Patches").R(r,n,e.u,e.s)}return r.o}function N(e,t,n,r,i,o){if(u(i)){var s=P(e,i,o&&t&&3!==t.i&&!d(t.D,r)?o.concat(r):void 0);if(p(n,r,s),!u(s))return;e.m=!1}if(c(i)&&!S(i)){if(!e.h.N&&e._<1)return;P(e,i),t&&t.A.l||R(e,i)}}function R(e,t,n){void 0===n&&(n=!1),e.h.N&&e.m&&w(t,n)}function L(e,t){var n=e[Z];return(n?b(n):e)[t]}function j(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function D(e){e.P||(e.P=!0,e.l&&D(e.l))}function U(e){e.o||(e.o=y(e.t))}function B(e,t,n){var r=g(t)?E("MapSet").T(t,n):m(t)?E("MapSet").F(t,n):e.O?function(e,t){var n=Array.isArray(e),r={i:n?1:0,A:t?t.A:A(),P:!1,I:!1,D:{},l:t,t:e,k:null,o:null,j:null,C:!1},i=r,o=te;n&&(i=[r],o=ne);var s=Proxy.revocable(i,o),a=s.revoke,u=s.proxy;return r.k=u,r.j=a,u}(t,n):E("ES5").J(t,n);return(n?n.A:A()).p.push(r),r}function F(e){return u(e)||a(22,e),function e(t){if(!c(t))return t;var n,r=t[Z],i=l(t);if(r){if(!r.P&&(r.i<4||!E("ES5").K(r)))return r.t;r.I=!0,n=z(t,i),r.I=!1}else n=z(t,i);return f(n,(function(t,i){r&&h(r.t,t)===i||p(n,t,e(i))})),3===i?new Set(n):n}(e)}function z(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return y(e)}function q(){function e(t){if(!c(t))return t;if(Array.isArray(t))return t.map(e);if(g(t))return new Map(Array.from(t.entries()).map((function(t){return[t[0],e(t[1])]})));if(m(t))return new Set(Array.from(t).map(e));var n=Object.create(Object.getPrototypeOf(t));for(var r in t)n[r]=e(t[r]);return n}function t(t){return u(t)?e(t):t}var n="add";M("Patches",{$:function(t,r){return r.forEach((function(r){for(var i=r.path,o=r.op,s=t,u=0;u1?o-1:0),a=1;a1?n-1:0),o=1;o=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}var i=E("Patches").$;return u(e)?i(e,t):this.produce(e,(function(e){return i(e,t.slice(n+1))}))},e}()),oe=(ie.produce,ie.produceWithPatches.bind(ie),ie.setAutoFreeze.bind(ie)),se=(ie.setUseProxies.bind(ie),ie.applyPatches.bind(ie),ie.createDraft.bind(ie),ie.finishDraft.bind(ie),n(109),n(14)),ae=n(9),ue=n(245),ce=function(){function e(){this._queue=[],this._pending=!1}return e.prototype.isLocked=function(){return this._pending},e.prototype.acquire=function(){var e=this,t=new Promise((function(t){return e._queue.push(t)}));return this._pending||this._dispatchNext(),t},e.prototype.runExclusive=function(e){return this.acquire().then((function(t){var n;try{n=e()}catch(e){throw t(),e}return Promise.resolve(n).then((function(e){return t(),e}),(function(e){throw t(),e}))}))},e.prototype._dispatchNext=function(){this._queue.length>0?(this._pending=!0,this._queue.shift()(this._dispatchNext.bind(this))):this._pending=!1},e}(),fe=n(257),le=n.n(fe),de=n(4),he=n(3),pe=function(){return Object(i.b)().isBrowser&&window.indexedDB||Object(i.c)()&&self.indexedDB?n(495).default:new(0,n(496).AsyncStorageAdapter)},ve=function(){return(ve=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},we=new r.a("DataStore"),_e=function(){function e(e,t,n,r,i,o){this.schema=e,this.namespaceResolver=t,this.getModelConstructorByModelName=n,this.modelInstanceCreator=r,this.adapter=i,this.sessionId=o,this.adapter=pe(),this.pushStream=new le.a}return e.getNamespace=function(){return{name:he.b,relationships:{},enums:{},models:{},nonModels:{}}},e.prototype.init=function(){return ge(this,void 0,void 0,(function(){var e,t;return me(this,(function(n){switch(n.label){case 0:return void 0===this.initialized?[3,2]:[4,this.initialized];case 1:return n.sent(),[2];case 2:return we.debug("Starting Storage"),this.initialized=new Promise((function(n,r){e=n,t=r})),this.adapter.setUp(this.schema,this.namespaceResolver,this.modelInstanceCreator,this.getModelConstructorByModelName,this.sessionId).then(e,t),[4,this.initialized];case 3:return n.sent(),[2]}}))}))},e.prototype.save=function(e,t,n,r){return ge(this,void 0,void 0,(function(){var i,o=this;return me(this,(function(s){switch(s.label){case 0:return[4,this.init()];case 1:return s.sent(),[4,this.adapter.save(e,t)];case 2:return(i=s.sent()).forEach((function(e){var i,s=ye(e,2),a=s[0],u=s[1];if(u===de.c.UPDATE&&r&&r.length){i={},r.map((function(e){return e.path&&e.path[0]})).forEach((function(e){i[e]=a[e]}));var c=a.id,f=a._version,l=a._lastChangedAt,d=a._deleted;i=ve(ve({},i),{id:c,_version:f,_lastChangedAt:l,_deleted:d})}var h=i||a,p=Object.getPrototypeOf(a).constructor;o.pushStream.next({model:p,opType:u,element:h,mutator:n,condition:ae.a.getPredicates(t,!1)})})),[2,i]}}))}))},e.prototype.delete=function(e,t,n){return ge(this,void 0,void 0,(function(){var r,i,o,s,a=this;return me(this,(function(u){switch(u.label){case 0:return[4,this.init()];case 1:return u.sent(),[4,this.adapter.delete(e,t)];case 2:return s=ye.apply(void 0,[u.sent(),2]),i=s[0],r=s[1],o=new Set(i.map((function(e){return e.id}))),Object(he.s)(e)||Array.isArray(r)||(r=[r]),r.forEach((function(r){var i,s=Object.getPrototypeOf(r).constructor;Object(he.s)(e)||(i=o.has(r.id)?ae.a.getPredicates(t,!1):void 0),a.pushStream.next({model:s,opType:de.c.DELETE,element:r,mutator:n,condition:i})})),[2,[i,r]]}}))}))},e.prototype.query=function(e,t,n){return ge(this,void 0,void 0,(function(){return me(this,(function(r){switch(r.label){case 0:return[4,this.init()];case 1:return r.sent(),[4,this.adapter.query(e,t,n)];case 2:return[2,r.sent()]}}))}))},e.prototype.queryOne=function(e,t){return void 0===t&&(t=de.d.FIRST),ge(this,void 0,void 0,(function(){return me(this,(function(n){switch(n.label){case 0:return[4,this.init()];case 1:return n.sent(),[4,this.adapter.queryOne(e,t)];case 2:return[2,n.sent()]}}))}))},e.prototype.observe=function(e,t,n){var r=!e,i=ae.a.getPredicates(t,!1)||{},o=i.predicates,s=i.type,a=!!o,u=this.pushStream.observable.filter((function(e){var t=e.mutator;return!n||t!==n})).map((function(e){e.mutator;return be(e,["mutator"])}));return r||(u=u.filter((function(t){var n=t.model,r=t.element;return e===n&&(!a||Object(he.y)(r,s,o))}))),u},e.prototype.clear=function(e){return void 0===e&&(e=!0),ge(this,void 0,void 0,(function(){return me(this,(function(t){switch(t.label){case 0:return this.initialized=void 0,[4,this.adapter.clear()];case 1:return t.sent(),e&&this.pushStream.complete(),[2]}}))}))},e.prototype.batchSave=function(e,t,n){return ge(this,void 0,void 0,(function(){var r,i=this;return me(this,(function(o){switch(o.label){case 0:return[4,this.init()];case 1:return o.sent(),[4,this.adapter.batchSave(e,t)];case 2:return(r=o.sent()).forEach((function(t){var r=ye(t,2),o=r[0],s=r[1];i.pushStream.next({model:e,opType:s,element:o,mutator:n,condition:void 0})})),[2,r]}}))}))},e}(),Se=function(){function e(e,t,n,r,i,o){this.mutex=new ce,this.storage=new _e(e,t,n,r,i,o)}return e.prototype.runExclusive=function(e){return this.mutex.runExclusive(e.bind(this,this.storage))},e.prototype.save=function(e,t,n,r){return ge(this,void 0,void 0,(function(){return me(this,(function(i){return[2,this.runExclusive((function(i){return i.save(e,t,n,r)}))]}))}))},e.prototype.delete=function(e,t,n){return ge(this,void 0,void 0,(function(){return me(this,(function(r){return[2,this.runExclusive((function(r){if(Object(he.s)(e)){var i=e;return r.delete(i,t,n)}var o=e;return r.delete(o,t,n)}))]}))}))},e.prototype.query=function(e,t,n){return ge(this,void 0,void 0,(function(){return me(this,(function(r){return[2,this.runExclusive((function(r){return r.query(e,t,n)}))]}))}))},e.prototype.queryOne=function(e,t){return void 0===t&&(t=de.d.FIRST),ge(this,void 0,void 0,(function(){return me(this,(function(n){return[2,this.runExclusive((function(n){return n.queryOne(e,t)}))]}))}))},e.getNamespace=function(){return _e.getNamespace()},e.prototype.observe=function(e,t,n){return this.storage.observe(e,t,n)},e.prototype.clear=function(){return ge(this,void 0,void 0,(function(){return me(this,(function(e){switch(e.label){case 0:return[4,this.storage.clear()];case 1:return e.sent(),[2]}}))}))},e.prototype.batchSave=function(e,t){return this.storage.batchSave(e,t)},e.prototype.init=function(){return ge(this,void 0,void 0,(function(){return me(this,(function(e){return[2,this.storage.init()]}))}))},e}(),Ee=n(34),Me=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ae=(new(function(){function e(){}return e.prototype.networkMonitor=function(t){if(Object(i.b)().isNode)return se.a.from([{online:!0}]);var n=Object(i.c)()?self:window;return new se.a((function(t){t.next({online:n.navigator.onLine});var r=function(){return t.next({online:!0})},i=function(){return t.next({online:!1})};return n.addEventListener("online",r),n.addEventListener("offline",i),e._observers.push(t),function(){n.removeEventListener("online",r),n.removeEventListener("offline",i),e._observers=e._observers.filter((function(e){return e!==t}))}}))},e._observerOverride=function(t){var n,r,i=function(n){if(n.closed)return e._observers=e._observers.filter((function(e){return e!==n})),"continue";n.next(t)};try{for(var o=Me(e._observers),s=o.next();!s.done;s=o.next()){i(s.value)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e._observers=[],e}())).networkMonitor(),Ie=function(){return(Ie=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Te=function(){function e(e,t){this.outbox=e,this.ownSymbol=t}return e.prototype.merge=function(e,t){return Oe(this,void 0,void 0,(function(){var n,r,i,o,s;return xe(this,(function(a){switch(a.label){case 0:return[4,this.outbox.getForModel(e,t)];case 1:return r=a.sent(),i=t._deleted,0!==r.length?[3,5]:i?(n=de.c.DELETE,[4,e.delete(t,void 0,this.ownSymbol)]):[3,3];case 2:return a.sent(),[3,5];case 3:return[4,e.save(t,void 0,this.ownSymbol)];case 4:o=Ce.apply(void 0,[a.sent(),1]),s=Ce(o[0],2),n=s[1],a.label=5;case 5:return[2,n]}}))}))},e.prototype.mergePage=function(e,t,n){return Oe(this,void 0,void 0,(function(){return xe(this,(function(r){switch(r.label){case 0:return[4,e.batchSave(t,n,this.ownSymbol)];case 1:return[2,r.sent()]}}))}))},e}(),Pe=n(13),Ne=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},Re=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},je=function(){function e(e,t,n,r){this.schema=e,this.namespaceResolver=t,this.MutationEvent=n,this.ownSymbol=r}return e.prototype.enqueue=function(e,t){return Ne(this,void 0,void 0,(function(){var n=this;return Re(this,(function(r){return e.runExclusive((function(e){return Ne(n,void 0,void 0,(function(){var n,r,i,o,s,a,u,c=this;return Re(this,(function(f){switch(f.label){case 0:return n=this.schema.namespaces[he.c].models.MutationEvent,r=ae.a.createFromExisting(n,(function(e){return e.modelId("eq",t.modelId).id("ne",c.inProgressMutationEventId)})),[4,e.query(this.MutationEvent,r)];case 1:return i=Le.apply(void 0,[f.sent(),1]),void 0!==(o=i[0])?[3,3]:[4,e.save(t,void 0,this.ownSymbol)];case 2:return f.sent(),[2];case 3:return s=t.operation,o.operation!==Pe.a.CREATE?[3,8]:s!==Pe.a.DELETE?[3,5]:[4,e.delete(this.MutationEvent,r)];case 4:return f.sent(),[3,7];case 5:return[4,e.save(this.MutationEvent.copyOf(o,(function(e){e.data=t.data})),void 0,this.ownSymbol)];case 6:f.sent(),f.label=7;case 7:return[3,12];case 8:return a=t.condition,u=JSON.parse(a),0!==Object.keys(u).length?[3,10]:[4,e.delete(this.MutationEvent,r)];case 9:f.sent(),f.label=10;case 10:return[4,e.save(t,void 0,this.ownSymbol)];case 11:f.sent(),f.label=12;case 12:return[2]}}))}))})),[2]}))}))},e.prototype.dequeue=function(e){return Ne(this,void 0,void 0,(function(){var t;return Re(this,(function(n){switch(n.label){case 0:return[4,this.peek(e)];case 1:return t=n.sent(),[4,e.delete(t)];case 2:return n.sent(),this.inProgressMutationEventId=void 0,[2,t]}}))}))},e.prototype.peek=function(e){return Ne(this,void 0,void 0,(function(){var t;return Re(this,(function(n){switch(n.label){case 0:return[4,e.queryOne(this.MutationEvent,de.d.FIRST)];case 1:return t=n.sent(),this.inProgressMutationEventId=t?t.id:void 0,[2,t]}}))}))},e.prototype.getForModel=function(e,t){return Ne(this,void 0,void 0,(function(){var n;return Re(this,(function(r){switch(r.label){case 0:return n=this.schema.namespaces[he.c].models.MutationEvent,[4,e.query(this.MutationEvent,ae.a.createFromExisting(n,(function(e){return e.modelId("eq",t.id)})))];case 1:return[2,r.sent()]}}))}))},e.prototype.getModelIds=function(e){return Ne(this,void 0,void 0,(function(){var t,n;return Re(this,(function(r){switch(r.label){case 0:return[4,e.query(this.MutationEvent)];case 1:return t=r.sent(),n=new Set,t.forEach((function(e){var t=e.modelId;return n.add(t)})),[2,n]}}))}))},e}(),De=n(52),Ue=n(514),Be=function(){return(Be=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},He=new r.a("DataStore"),Ve=function(){function e(e,t,n,r,i,o,s,a){this.schema=e,this.storage=t,this.userClasses=n,this.outbox=r,this.modelInstanceCreator=i,this.MutationEvent=o,this.conflictHandler=s,this.errorHandler=a,this.typeQuery=new WeakMap,this.processing=!1,this.generateQueries()}return e.prototype.generateQueries=function(){var e=this;Object.values(this.schema.namespaces).forEach((function(t){Object.values(t.models).filter((function(e){return e.syncable})).forEach((function(n){var r=Ke(Object(Pe.b)(t,n,"CREATE"),1)[0],i=Ke(Object(Pe.b)(t,n,"UPDATE"),1)[0],o=Ke(Object(Pe.b)(t,n,"DELETE"),1)[0];e.typeQuery.set(n,[r,i,o])}))}))},e.prototype.isReady=function(){return void 0!==this.observer},e.prototype.start=function(){var e=this;return new se.a((function(t){return e.observer=t,e.resume(),function(){e.pause()}}))},e.prototype.resume=function(){return Fe(this,void 0,void 0,(function(){var e,t,n,r,i,o,s,a,u,c,f,l,d,h,p;return ze(this,(function(v){switch(v.label){case 0:if(this.processing||!this.isReady())return[2];this.processing=!0,t=he.d,v.label=1;case 1:return(n=this.processing)?[4,this.outbox.peek(this.storage)]:[3,3];case 2:n=void 0!==(e=v.sent()),v.label=3;case 3:if(!n)return[3,12];r=e.model,i=e.operation,o=e.data,s=e.condition,a=this.userClasses[r],u=void 0,c=void 0,f=void 0,v.label=4;case 4:return v.trys.push([4,6,,7]),[4,this.jitteredRetry(t,r,i,o,s,a,this.MutationEvent,e)];case 5:return p=Ke.apply(void 0,[v.sent(),3]),u=p[0],c=p[1],f=p[2],[3,7];case 6:return"Offline"===(l=v.sent()).message||"RetryMutation"===l.message?[3,1]:[3,7];case 7:return void 0!==u?[3,9]:(He.debug("done retrying"),[4,this.outbox.dequeue(this.storage)]);case 8:return v.sent(),[3,1];case 9:return d=u.data[c],[4,this.outbox.dequeue(this.storage)];case 10:return v.sent(),[4,this.outbox.peek(this.storage)];case 11:return h=void 0!==v.sent(),this.observer.next({operation:i,modelDefinition:f,model:d,hasMore:h}),[3,1];case 12:return this.pause(),[2]}}))}))},e.prototype.jitteredRetry=function(e,t,n,r,i,o,s,a){return Fe(this,void 0,void 0,(function(){var u=this;return ze(this,(function(c){switch(c.label){case 0:return[4,Object(Ue.b)((function(t,n,r,i,o,s,a){return Fe(u,void 0,void 0,(function(){var u,c,f,l,d,h,p,v,g,m,b,y,w,_,S,E,M,A,I,k,O;return ze(this,(function(x){switch(x.label){case 0:u=Ke(this.createQueryVariables(e,t,n,r,i),5),c=u[0],f=u[1],l=u[2],d=u[3],h=u[4],p={query:c,variables:f},v=0,g=this.opTypeFromTransformerOperation(n),x.label=1;case 1:return x.trys.push([1,3,,13]),[4,De.a.graphql(p)];case 2:return[2,[x.sent(),d,h]];case 3:if(!((m=x.sent()).errors&&m.errors.length>0))return[3,12];if(b=Ke(m.errors,1),"Network Error"===(y=b[0]).message){if(!this.processing)throw new Ue.a("Offline");throw new Error("Network Error")}return"ConflictUnhandled"!==y.errorType?[3,11]:(v++,w=void 0,v>10?(w=de.a,[3,7]):[3,4]);case 4:return x.trys.push([4,6,,7]),[4,this.conflictHandler({modelConstructor:o,localModel:this.modelInstanceCreator(o,f.input),remoteModel:this.modelInstanceCreator(o,y.data),operation:g,attempts:v})];case 5:return w=x.sent(),[3,7];case 6:return _=x.sent(),He.warn("conflict trycatch",_),[3,13];case 7:return w!==de.a?[3,9]:(S=Ke(Object(Pe.b)(this.schema.namespaces[e],h,"GET"),1),E=Ke(S[0],3),M=E[1],A=E[2],[4,De.a.graphql({query:A,variables:{id:f.input.id}})]);case 8:return[2,[x.sent(),M,h]];case 9:return I=this.schema.namespaces[e],k=Object(Pe.d)(I.relationships,h,g,o,w,l,s,this.modelInstanceCreator,a.id),[4,this.storage.save(k)];case 10:throw x.sent(),new Ue.a("RetryMutation");case 11:try{this.errorHandler({localModel:this.modelInstanceCreator(o,f.input),message:y.message,operation:n,errorType:y.errorType,errorInfo:y.errorInfo,remoteModel:y.data?this.modelInstanceCreator(o,y.data):null})}catch(e){He.warn("failed to execute errorHandler",e)}finally{return[2,y.data?[{data:(O={},O[d]=y.data,O)},d,h]:[]]}x.label=12;case 12:return[3,13];case 13:if(p)return[3,1];x.label=14;case 14:return[2]}}))}))}),[t,n,r,i,o,s,a])];case 1:return[2,c.sent()]}}))}))},e.prototype.createQueryVariables=function(e,t,n,r,i){var o=this.schema.namespaces[e].models[t],s=this.typeQuery.get(o),a=Ke(s.find((function(e){return Ke(e,1)[0]===n})),3),u=a[1],c=a[2],f=JSON.parse(r),l=f._version,d=qe(f,["_version"]),h=n===Pe.a.DELETE?{id:d.id}:Object.values(o.fields).filter((function(e){var t=e.name,r=e.type,i=e.association;return Object(de.h)(r)?!(!Object(de.m)(i)||"BELONGS_TO"!==i.connectionType):n!==Pe.a.UPDATE||d.hasOwnProperty(t)})).map((function(e){var t=e.name,n=e.type,r=e.association,i=t,o=d[t];return Object(de.h)(n)&&Object(de.m)(r)&&(i=r.targetName,o=d[i]),[i,o]})).reduce((function(e,t){var n=Ke(t,2),r=n[0],i=n[1];return e[r]=i,e}),{}),p=Be(Be({},h),{_version:l}),v=JSON.parse(i);return[c,Be({input:p},n===Pe.a.CREATE?{}:{condition:Object.keys(v).length>0?v:null}),v,u,o]},e.prototype.opTypeFromTransformerOperation=function(e){switch(e){case Pe.a.CREATE:return de.c.INSERT;case Pe.a.DELETE:return de.c.DELETE;case Pe.a.UPDATE:return de.c.UPDATE;case Pe.a.GET:break;default:Object(he.f)(e)}},e.prototype.pause=function(){this.processing=!1},e}(),Ge=n(154),We=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},$e=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},Je=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ze=new r.a("DataStore"),Xe=function(){function e(e,t,n,r){void 0===t&&(t=1e4),void 0===n&&(n=1e3),this.schema=e,this.maxRecordsToSync=t,this.syncPageSize=n,this.syncPredicates=r,this.typeQuery=new WeakMap,this.generateQueries()}return e.prototype.generateQueries=function(){var e=this;Object.values(this.schema.namespaces).forEach((function(t){Object.values(t.models).filter((function(e){return e.syncable})).forEach((function(n){var r=Ye(Object(Pe.b)(t,n,"LIST"),1),i=Ye(r[0]).slice(1);e.typeQuery.set(n,i)}))}))},e.prototype.graphqlFilterFromPredicate=function(e){if(!this.syncPredicates)return null;var t=ae.a.getPredicates(this.syncPredicates.get(e),!1);return t?Object(Pe.h)(t):null},e.prototype.retrievePage=function(e,t,n,r,i){return void 0===r&&(r=null),We(this,void 0,void 0,(function(){var o,s,a,u,c,f,l,d,h;return $e(this,(function(p){switch(p.label){case 0:return o=Ye(this.typeQuery.get(e),2),s=o[0],a=o[1],u={limit:r,nextToken:n,lastSync:t,filter:i},[4,this.jitteredRetry(a,u,s)];case 1:return c=p.sent().data,f=c[s],l=f.items,d=f.nextToken,h=f.startedAt,[2,{nextToken:d,startedAt:h,items:l}]}}))}))},e.prototype.jitteredRetry=function(e,t,n){return We(this,void 0,void 0,(function(){var r=this;return $e(this,(function(i){switch(i.label){case 0:return[4,Object(Ue.b)((function(e,t){return We(r,void 0,void 0,(function(){var r,i;return $e(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,De.a.graphql({query:e,variables:t})];case 1:return[2,o.sent()];case 2:if(r=o.sent(),r.errors.some((function(e){return"Unauthorized"===e.errorType})))return(i=r).data[n].items=i.data[n].items.filter((function(e){return null!==e})),Ze.warn("queryError","User is unauthorized, some items could not be returned."),[2,i];throw r;case 3:return[2]}}))}))}),[e,t])];case 1:return[2,i.sent()]}}))}))},e.prototype.start=function(e){var t=this,n=!0,r=void 0!==this.maxRecordsToSync?this.maxRecordsToSync:1e4,i=void 0!==this.syncPageSize?this.syncPageSize:1e3,o=new Map;return new se.a((function(s){var a=Object.values(t.schema.namespaces).reduce((function(t,n){var r,i;try{for(var o=Je(Array.from(n.modelTopologicalOrdering.keys())),s=o.next();!s.done;s=o.next()){var a=s.value,u=e.get(n.models[a]);t.set(n.models[a],u)}}catch(e){r={error:e}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return t}),new Map),u=Array.from(a.entries()).filter((function(e){return Ye(e,1)[0].syncable})).map((function(e){var a=Ye(e,2),u=a[0],c=Ye(a[1],2),f=c[0],l=c[1];return We(t,void 0,void 0,(function(){var e,t,a,c,d,h,p,v,g,m=this;return $e(this,(function(b){switch(b.label){case 0:return e=!1,t=null,a=null,c=null,d=0,h=this.graphqlFilterFromPredicate(u),p=this.schema.namespaces[f].modelTopologicalOrdering.get(u.name),v=p.map((function(e){return o.get(f+"_"+e)})),g=new Promise((function(o){return We(m,void 0,void 0,(function(){var p,g;return $e(this,(function(m){switch(m.label){case 0:return[4,Promise.all(v)];case 1:m.sent(),m.label=2;case 2:return n?(p=Math.min(r-d,i),[4,this.retrievePage(u,l,t,p,h)]):[2];case 3:g=m.sent(),c=g.items,t=g.nextToken,a=g.startedAt,d+=c.length,e=null===t||d>=r,s.next({namespace:f,modelDefinition:u,items:c,done:e,startedAt:a,isFullSync:!l}),m.label=4;case 4:if(!e)return[3,2];m.label=5;case 5:return o(),[2]}}))}))})),o.set(f+"_"+u.name,g),[4,g];case 1:return b.sent(),[2]}}))}))}));return Promise.all(u).then((function(){s.complete()})),function(){n=!1}}))},e}(),Qe=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},et=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},nt=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},rt=function(){for(var e=[],t=0;t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s};oe(!0),q();var ht,pt,vt,gt,mt,bt=new r.a("DataStore"),yt=(Object(he.v)(Date.now()),i.a.browserOrNode().isNode),wt=new WeakMap,_t=new WeakMap,St=function(e){var t=wt.get(e);return ht.namespaces[t].models[e.name]},Et=function(e){return Object(he.s)(e)&&wt.has(e)},Mt=function(e){return wt.get(e)},At=new WeakSet;function It(e,t){return At.add(t),new e(t)}var kt;function Ot(e){return"string"==typeof e}function xt(e){var t=e.localModel,n=e.modelConstructor,r=e.remoteModel._version;return It(n,ut(ut({},t),{_version:r}))}function Ct(e){bt.warn(e)}function Tt(e,t){var n;switch(e){case he.a:n=pt[t];break;case he.d:n=vt[t];break;case he.c:n=gt[t];break;case he.b:n=mt[t];break;default:Object(he.f)(e)}if(Et(n))return n;var r="Model name is not valid for namespace. modelName: "+t+", namespace: "+e;throw bt.error(r),new Error(r)}function Pt(e,t){return ct(this,void 0,void 0,(function(){var n,r,i=this;return ft(this,(function(o){switch(o.label){case 0:return n=pt.Setting,r=ht.namespaces[he.a].models.Setting,[4,e.runExclusive((function(e){return ct(i,void 0,void 0,(function(){var i,o;return ft(this,(function(s){switch(s.label){case 0:return[4,e.query(n,ae.a.createFromExisting(r,(function(e){return e.key("eq","schemaVersion")})),{page:0,limit:1})];case 1:return i=dt.apply(void 0,[s.sent(),1]),void 0===(o=i[0])||void 0===o.value?[3,4]:JSON.parse(o.value)===t?[3,3]:[4,e.clear(!1)];case 2:s.sent(),s.label=3;case 3:return[3,6];case 4:return[4,e.save(It(n,{key:"schemaVersion",value:JSON.stringify(t)}))];case 5:s.sent(),s.label=6;case 6:return[2]}}))}))}))];case 1:return o.sent(),[2]}}))}))}var Nt=new(function(){function e(){var e=this;this.amplifyConfig={},this.syncPredicates=new WeakMap,this.start=function(){return ct(e,void 0,void 0,(function(){var e,t,n,r=this;return ft(this,(function(i){switch(i.label){case 0:return void 0!==this.initialized?[3,1]:(bt.debug("Starting DataStore"),this.initialized=new Promise((function(e,t){r.initResolve=e,r.initReject=t})),[3,3]);case 1:return[4,this.initialized];case 2:return i.sent(),[2];case 3:return this.storage=new Se(ht,Mt,Tt,It,void 0,this.sessionId),[4,this.storage.init()];case 4:return i.sent(),[4,Pt(this.storage,ht.version)];case 5:return i.sent(),(e=this.amplifyConfig.aws_appsync_graphqlEndpoint)?(bt.debug("GraphQL endpoint available",e),t=this,[4,this.processSyncExpressions()]):[3,7];case 6:return t.syncPredicates=i.sent(),this.sync=new at(ht,Mt,gt,vt,this.storage,It,this.maxRecordsToSync,this.syncPageSize,this.conflictHandler,this.errorHandler,this.syncPredicates,this.amplifyConfig),n=1e3*this.fullSyncInterval*60,kt=this.sync.start({fullSyncInterval:n}).subscribe({next:function(e){var t=e.type,n=e.data;t===(yt?re.SYNC_ENGINE_SYNC_QUERIES_READY:re.SYNC_ENGINE_STORAGE_SUBSCRIBED)&&r.initResolve(),o.a.dispatch("datastore",{event:t,data:n})},error:function(e){bt.warn("Sync error",e),r.initReject()}}),[3,8];case 7:bt.warn("Data won't be synchronized. No GraphQL endpoint configured. Did you forget `Amplify.configure(awsconfig)`?",{config:this.amplifyConfig}),this.initResolve(),i.label=8;case 8:return[4,this.initialized];case 9:return i.sent(),[2]}}))}))},this.query=function(t,n,r){return ct(e,void 0,void 0,(function(){var e,i,o,s,a;return ft(this,(function(u){switch(u.label){case 0:return[4,this.start()];case 1:if(u.sent(),!Et(t))throw e="Constructor is not for a valid model",bt.error(e,{modelConstructor:t}),new Error(e);return"string"==typeof n&&void 0!==r&&bt.warn("Pagination is ignored when querying by id"),i=St(t),o=Ot(n)?ae.a.createForId(i,n):Object(ae.c)(n)?void 0:ae.a.createFromExisting(i,n),s=this.processPagination(i,r),bt.debug("params ready",{modelConstructor:t,predicate:ae.a.getPredicates(o,!1),pagination:ut(ut({},s),{sort:ue.a.getPredicates(s.sort,!1)})}),[4,this.storage.query(t,o,s)];case 2:return a=u.sent(),[2,Ot(n)?a[0]:a]}}))}))},this.save=function(t,n){return ct(e,void 0,void 0,(function(){var e,r,i,o,s,a,u=this;return ft(this,(function(c){switch(c.label){case 0:return[4,this.start()];case 1:if(c.sent(),e=_t.get(t),r=t?t.constructor:void 0,!Et(r))throw i="Object is not an instance of a valid model",bt.error(i,{model:t}),new Error(i);return o=St(r),s=ae.a.createFromExisting(o,n),[4,this.storage.runExclusive((function(n){return ct(u,void 0,void 0,(function(){return ft(this,(function(i){switch(i.label){case 0:return[4,n.save(t,s,void 0,e)];case 1:return i.sent(),[2,n.query(r,ae.a.createForId(o,t.id))]}}))}))}))];case 2:return a=dt.apply(void 0,[c.sent(),1]),[2,a[0]]}}))}))},this.setConflictHandler=function(t){var n=t.DataStore;return n?n.conflictHandler:e.conflictHandler===xt&&t.conflictHandler?t.conflictHandler:e.conflictHandler||xt},this.setErrorHandler=function(t){var n=t.DataStore;return n?n.errorHandler:e.errorHandler===Ct&&t.errorHandler?t.errorHandler:e.errorHandler||Ct},this.delete=function(t,n){return ct(e,void 0,void 0,(function(){var e,r,i,o,s,a,u,c,f;return ft(this,(function(l){switch(l.label){case 0:return[4,this.start()];case 1:if(l.sent(),!t)throw u="Model or Model Constructor required",bt.error(u,{modelOrConstructor:t}),new Error(u);if(!Et(t))return[3,3];if(o=t,!n)throw u="Id to delete or criteria required. Do you want to delete all? Pass Predicates.ALL",bt.error(u,{idOrCriteria:n}),new Error(u);if("string"==typeof n)e=ae.a.createForId(St(o),n);else if(!(e=ae.a.createFromExisting(St(o),n))||!ae.a.isValidPredicate(e))throw u="Criteria required. Do you want to delete all? Pass Predicates.ALL",bt.error(u,{condition:e}),new Error(u);return[4,this.storage.delete(o,e)];case 2:return r=dt.apply(void 0,[l.sent(),1]),[2,r[0]];case 3:if(i=t,o=Object.getPrototypeOf(i||{}).constructor,!Et(o))throw u="Object is not an instance of a valid model",bt.error(u,{model:i}),new Error(u);if(s=St(o),a=ae.a.createForId(s,i.id),n){if("function"!=typeof n)throw u="Invalid criteria",bt.error(u,{idOrCriteria:n}),new Error(u);e=n(a)}else e=a;return[4,this.storage.delete(i,e)];case 4:return c=dt.apply(void 0,[l.sent(),1]),f=dt(c[0],1),[2,f[0]]}}))}))},this.observe=function(t,n){var r,i=t&&Et(t)?t:void 0;if(t&&void 0===i){var o=t,s=o&&Object.getPrototypeOf(o).constructor;if(Et(s))return n&&bt.warn("idOrCriteria is ignored when using a model instance",{model:o,idOrCriteria:n}),e.observe(s,o.id);var a="The model is not an instance of a PersistentModelConstructor";throw bt.error(a,{model:o}),new Error(a)}if(void 0!==n&&void 0===i){a="Cannot provide criteria without a modelConstructor";throw bt.error(a,n),new Error(a)}if(i&&!Et(i)){a="Constructor is not for a valid model";throw bt.error(a,{modelConstructor:i}),new Error(a)}return r="string"==typeof n?ae.a.createForId(St(i),n):i&&ae.a.createFromExisting(St(i),n),new se.a((function(t){var n;return ct(e,void 0,void 0,(function(){return ft(this,(function(e){switch(e.label){case 0:return[4,this.start()];case 1:return e.sent(),n=this.storage.observe(i,r).filter((function(e){var t=e.model;return Mt(t)===he.d})).subscribe(t),[2]}}))})),function(){n&&n.unsubscribe()}}))},this.configure=function(t){void 0===t&&(t={});var n=t.DataStore,r=(t.conflictHandler,t.errorHandler,t.maxRecordsToSync),i=t.syncPageSize,o=t.fullSyncInterval,s=t.syncExpressions,a=lt(t,["DataStore","conflictHandler","errorHandler","maxRecordsToSync","syncPageSize","fullSyncInterval","syncExpressions"]);e.amplifyConfig=ut(ut({},a),e.amplifyConfig),e.conflictHandler=e.setConflictHandler(t),e.errorHandler=e.setErrorHandler(t),e.syncExpressions=n&&n.syncExpressions||e.syncExpressions||s,e.maxRecordsToSync=n&&n.maxRecordsToSync||e.maxRecordsToSync||r,e.syncPageSize=n&&n.syncPageSize||e.syncPageSize||i,e.fullSyncInterval=n&&n.fullSyncInterval||e.fullSyncInterval||o||1440,e.sessionId=e.retrieveSessionId()},this.clear=function(){return ct(this,void 0,void 0,(function(){return ft(this,(function(e){switch(e.label){case 0:return void 0===this.storage?[2]:(kt&&!kt.closed&&kt.unsubscribe(),[4,this.storage.clear()]);case 1:return e.sent(),this.sync&&this.sync.unsubscribeConnectivity(),this.initialized=void 0,this.storage=void 0,this.sync=void 0,this.syncPredicates=new WeakMap,[2]}}))}))},this.stop=function(){return ct(this,void 0,void 0,(function(){return ft(this,(function(e){switch(e.label){case 0:return void 0===this.initialized?[3,2]:[4,this.start()];case 1:e.sent(),e.label=2;case 2:return kt&&!kt.closed&&kt.unsubscribe(),this.sync&&this.sync.unsubscribeConnectivity(),this.initialized=void 0,this.sync=void 0,[2]}}))}))}}return e.prototype.getModuleName=function(){return"DataStore"},e.prototype.processPagination=function(e,t){var n,r=t||{},i=r.limit,o=r.page,s=r.sort;if(void 0!==o&&void 0===i)throw new Error("Limit is required when requesting a page");if(void 0!==o){if("number"!=typeof o)throw new Error("Page should be a number");if(o<0)throw new Error("Page can't be negative")}if(void 0!==i){if("number"!=typeof i)throw new Error("Limit should be a number");if(i<0)throw new Error("Limit can't be negative")}return s&&(n=ue.a.createFromExisting(e,t.sort)),{limit:i,page:o,sort:n}},e.prototype.processSyncExpressions=function(){return ct(this,void 0,void 0,(function(){var e,t=this;return ft(this,(function(n){switch(n.label){case 0:return this.syncExpressions&&this.syncExpressions.length?[4,Promise.all(this.syncExpressions.map((function(e){return ct(t,void 0,void 0,(function(){var t,n,r,i,o,s;return ft(this,(function(a){switch(a.label){case 0:return[4,e];case 1:return t=a.sent(),n=t.modelConstructor,r=t.conditionProducer,i=St(n),[4,this.unwrapPromise(r)];case 2:return o=a.sent(),Object(ae.c)(o)?[2,[i,null]]:(s=this.createFromCondition(i,o),[2,[i,s]])}}))}))})))]:[2,new WeakMap];case 1:return e=n.sent(),[2,this.weakMapFromEntries(e)]}}))}))},e.prototype.createFromCondition=function(e,t){try{return ae.a.createFromExisting(e,t)}catch(e){throw bt.error("Error creating Sync Predicate"),e}},e.prototype.unwrapPromise=function(e){return ct(this,void 0,void 0,(function(){var t;return ft(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,e()];case 1:return[2,n.sent()];case 2:if((t=n.sent())instanceof TypeError)return[2,e];throw t;case 3:return[2]}}))}))},e.prototype.weakMapFromEntries=function(e){return e.reduce((function(e,t){var n=dt(t,2),r=n[0],i=n[1];if(e.has(r)){var o=r.name;return bt.warn("You can only utilize one Sync Expression per model.\n Subsequent sync expressions for the "+o+" model will be ignored."),e}return i&&e.set(r,i),e}),new WeakMap)},e.prototype.retrieveSessionId=function(){try{var e=sessionStorage.getItem("datastoreSessionId");if(e){var t=this.amplifyConfig.aws_appsync_graphqlEndpoint.split("/")[2];return e+"-"+dt(t.split("."),1)[0]}}catch(e){return}},e}());s.a.register(Nt)},,,,,,,,,,,function(e,t,n){"use strict";t.byteLength=function(e){var t=c(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,r=c(e),s=r[0],a=r[1],u=new o(function(e,t,n){return 3*(t+n)/4-n}(0,s,a)),f=0,l=a>0?s-4:s;for(n=0;n>16&255,u[f++]=t>>8&255,u[f++]=255&t;2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[f++]=255&t);1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[f++]=t>>8&255,u[f++]=255&t);return u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],s=0,a=n-i;sa?a:s+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=s.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function f(e,t,n){for(var i,o,s=[],a=t;a>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,u=(1<>1,f=-7,l=n?i-1:0,d=n?-1:1,h=e[t+l];for(l+=d,o=h&(1<<-f)-1,h>>=-f,f+=a;f>0;o=256*o+e[t+l],l+=d,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=r;f>0;s=256*s+e[t+l],l+=d,f-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,r),o-=c}return(h?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,u,c=8*o-i-1,f=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,p=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+l>=1?d/u:d*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=f?(a=0,s=f):s+l>=1?(a=(t*u-1)*Math.pow(2,i),s+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;e[n+h]=255&a,h+=p,a/=256,i-=8);for(s=s<0;e[n+h]=255&s,h+=p,s/=256,c-=8);e[n+h-p]|=128*v}},function(e,t,n){var r,i,o,s;e.exports=(r=n(32),o=(i=r).lib.Base,s=i.enc.Utf8,void(i.algo.HMAC=o.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),a=i.words,u=o.words,c=0;c0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return s.alloc(0);for(var t,n,r,i=s.allocUnsafe(e>>>0),o=this.head,a=0;o;)t=o.data,n=i,r=a,s.prototype.copy.call(t,n,r),a+=o.data.length,o=o.next;return i}},{key:"consume",value:function(e,t){var n;return ei.length?i.length:e;if(o===i.length?r+=i:r+=i.slice(0,e),0==(e-=o)){o===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=s.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r}return this.length-=r,t}},{key:u,value:function(e,t){return a(this,function(e){for(var t=1;t0,(function(e){r||(r=e),e&&s.forEach(c),o||(s.forEach(c),i(r))}))}));return t.reduce(f)}},function(e,t,n){var r=n(7),i=n(69),o=n(8).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<30|e>>>2}function f(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,l=0;l<16;++l)n[l]=e.readInt32BE(4*l);for(;l<80;++l)n[l]=n[l-3]^n[l-8]^n[l-14]^n[l-16];for(var d=0;d<80;++d){var h=~~(d/20),p=0|((t=r)<<5|t>>>27)+f(h,i,o,a)+u+n[d]+s[h];u=a,a=o,o=c(i),i=r,r=p}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},function(e,t,n){var r=n(7),i=n(69),o=n(8).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<5|e>>>27}function f(e){return e<<30|e>>>2}function l(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,u=0|this._e,d=0;d<16;++d)n[d]=e.readInt32BE(4*d);for(;d<80;++d)n[d]=(t=n[d-3]^n[d-8]^n[d-14]^n[d-16])<<1|t>>>31;for(var h=0;h<80;++h){var p=~~(h/20),v=c(r)+l(p,i,o,a)+u+n[h]+s[p]|0;u=a,a=o,o=f(i),i=r,r=v}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u},function(e,t,n){var r=n(7),i=n(169),o=n(69),s=n(8).Buffer,a=new Array(64);function u(){this.init(),this._w=a,o.call(this,64,56)}r(u,i),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=u},function(e,t,n){var r=n(7),i=n(170),o=n(69),s=n(8).Buffer,a=new Array(160);function u(){this.init(),this._w=a,o.call(this,128,112)}r(u,i),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u},function(e,t,n){e.exports=i;var r=n(49).EventEmitter;function i(){r.call(this)}n(7)(i,r),i.Readable=n(118),i.Writable=n(292),i.Duplex=n(293),i.Transform=n(294),i.PassThrough=n(295),i.Stream=i,i.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",u));var s=!1;function a(){s||(s=!0,e.end())}function u(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(f(),0===r.listenerCount(this,"error"))throw e}function f(){n.removeListener("data",i),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",u),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",f),n.removeListener("close",f),e.removeListener("close",f)}return n.on("error",c),e.on("error",c),n.on("end",f),n.on("close",f),e.on("close",f),e.emit("pipe",n),e}},function(e,t){},function(e,t,n){"use strict";var r=n(119).Buffer,i=n(288);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,i,o=r.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=o,i=a,t.copy(n,i),a+=s.data.length,s=s.next;return o},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(290),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(31))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,s,a,u=1,c={},f=!1,l=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){p(e.data)},r=function(e){o.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(i=l.documentElement,r=function(e){var t=l.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),r=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n64?t=e(t):t.length<64&&(t=i.concat([t,s],64));for(var n=this._ipad=i.allocUnsafe(64),r=this._opad=i.allocUnsafe(64),a=0;a<64;a++)n[a]=54^t[a],r[a]=92^t[a];this._hash=[n]}r(a,o),a.prototype._update=function(e){this._hash.push(e)},a.prototype._final=function(){var e=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,e]))},e.exports=a},function(e,t,n){e.exports=n(177)},function(e,t,n){(function(t,r){var i,o=n(8).Buffer,s=n(179),a=n(180),u=n(181),c=n(182),f=t.crypto&&t.crypto.subtle,l={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function h(e,t,n,r,i){return f.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return f.deriveBits({name:"PBKDF2",salt:t,iterations:n,hash:{name:i}},e,r<<3)})).then((function(e){return o.from(e)}))}e.exports=function(e,n,p,v,g,m){"function"==typeof g&&(m=g,g=void 0);var b=l[(g=g||"sha1").toLowerCase()];if(!b||"function"!=typeof t.Promise)return r.nextTick((function(){var t;try{t=u(e,n,p,v,g)}catch(e){return m(e)}m(null,t)}));if(s(p,v),e=c(e,a,"Password"),n=c(n,a,"Salt"),"function"!=typeof m)throw new Error("No callback provided to pbkdf2");!function(e,t){e.then((function(e){r.nextTick((function(){t(null,e)}))}),(function(e){r.nextTick((function(){t(e)}))}))}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!f||!f.importKey||!f.deriveBits)return Promise.resolve(!1);if(void 0!==d[e])return d[e];var n=h(i=i||o.alloc(8),i,10,128,e).then((function(){return!0})).catch((function(){return!1}));return d[e]=n,n}(b).then((function(t){return t?h(e,n,p,v,b):u(e,n,p,v,g)})),m)}}).call(this,n(31),n(20))},function(e,t,n){var r=n(300),i=n(122),o=n(123),s=n(313),a=n(94);function u(e,t,n){if(e=e.toLowerCase(),o[e])return i.createCipheriv(e,t,n);if(s[e])return new r({key:t,iv:n,mode:e});throw new TypeError("invalid suite type")}function c(e,t,n){if(e=e.toLowerCase(),o[e])return i.createDecipheriv(e,t,n);if(s[e])return new r({key:t,iv:n,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var n,r;if(e=e.toLowerCase(),o[e])n=o[e].key,r=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,r=s[e].iv}var i=a(t,!1,n,r);return u(e,i.key,i.iv)},t.createCipheriv=t.Cipheriv=u,t.createDecipher=t.Decipher=function(e,t){var n,r;if(e=e.toLowerCase(),o[e])n=o[e].key,r=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,r=s[e].iv}var i=a(t,!1,n,r);return c(e,i.key,i.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(s).concat(i.getCiphers())}},function(e,t,n){var r=n(56),i=n(301),o=n(7),s=n(8).Buffer,a={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function u(e){r.call(this);var t,n=e.mode.toLowerCase(),i=a[n];t=e.decrypt?"decrypt":"encrypt";var o=e.key;s.isBuffer(o)||(o=s.from(o)),"des-ede"!==n&&"des-ede-cbc"!==n||(o=s.concat([o,o.slice(0,8)]));var u=e.iv;s.isBuffer(u)||(u=s.from(u)),this._des=i.create({key:o,iv:u,type:t})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],e.exports=u,o(u,r),u.prototype._update=function(e){return s.from(this._des.update(e))},u.prototype._final=function(){return s.from(this._des.final())}},function(e,t,n){"use strict";t.utils=n(183),t.Cipher=n(121),t.DES=n(184),t.CBC=n(302),t.EDE=n(303)},function(e,t,n){"use strict";var r=n(46),i=n(7),o={};function s(e){r.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},d.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),n=-1;++n>s%8,e._prev=o(e._prev,n?r:i);return a}function o(e,t){var n=e.length,i=-1,o=r.allocUnsafe(e.length);for(e=r.concat([e,r.from([t])]);++i>7;return o}t.encrypt=function(e,t,n){for(var o=t.length,s=r.allocUnsafe(o),a=-1;++a>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function s(e){this.h=e,this.state=r.alloc(16,0),this.cache=r.allocUnsafe(0)}s.prototype.ghash=function(e){for(var t=-1;++t0;t--)r[t]=r[t]>>>1|(1&r[t-1])<<31;r[0]=r[0]>>>1,n&&(r[0]=r[0]^225<<24)}this.state=o(i)},s.prototype.update=function(e){var t;for(this.cache=r.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},s.prototype.final=function(e,t){return this.cache.length&&this.ghash(r.concat([this.cache,i],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=s},function(e,t,n){var r=n(188),i=n(8).Buffer,o=n(123),s=n(189),a=n(56),u=n(93),c=n(94);function f(e,t,n){a.call(this),this._cache=new l,this._last=void 0,this._cipher=new u.AES(t),this._prev=i.from(n),this._mode=e,this._autopadding=!0}function l(){this.cache=i.allocUnsafe(0)}function d(e,t,n){var a=o[e.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof n&&(n=i.from(n)),"GCM"!==a.mode&&n.length!==a.iv)throw new TypeError("invalid iv length "+n.length);if("string"==typeof t&&(t=i.from(t)),t.length!==a.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===a.type?new s(a.module,t,n,!0):"auth"===a.type?new r(a.module,t,n,!0):new f(a.module,t,n)}n(7)(f,a),f.prototype._update=function(e){var t,n;this._cache.add(e);for(var r=[];t=this._cache.get(this._autopadding);)n=this._mode.decrypt(this,t),r.push(n);return i.concat(r)},f.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");var n=-1;for(;++n16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var n=o[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var r=c(t,!1,n.key,n.iv);return d(e,r.key,r.iv)},t.createDecipheriv=d},function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},function(e,t,n){(function(e){var r=n(190),i=n(317),o=n(318);var s={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var n=new e(i[t].prime,"hex"),r=new e(i[t].gen,"hex");return new o(n,r)},t.createDiffieHellman=t.DiffieHellman=function t(n,i,a,u){return e.isBuffer(i)||void 0===s[i]?t(n,"binary",i,a):(i=i||"binary",u=u||"binary",a=a||new e([2]),e.isBuffer(a)||(a=new e(a,u)),"number"==typeof n?new o(r(n,a),a,!0):(e.isBuffer(n)||(n=new e(n,i)),new o(n,a,!0)))}}).call(this,n(6).Buffer)},function(e,t){},function(e,t){},function(e){e.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(e,t,n){(function(t){var r=n(29),i=new(n(191)),o=new r(24),s=new r(11),a=new r(10),u=new r(3),c=new r(7),f=n(190),l=n(66);function d(e,n){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),this._pub=new r(e),this}function h(e,n){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),this._priv=new r(e),this}e.exports=v;var p={};function v(e,t,n){this.setGenerator(t),this.__prime=new r(e),this._prime=r.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,n?(this.setPublicKey=d,this.setPrivateKey=h):this._primeCode=8}function g(e,n){var r=new t(e.toArray());return n?r.toString(n):r}Object.defineProperty(v.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var n=t.toString("hex"),r=[n,e.toString(16)].join("_");if(r in p)return p[r];var l,d=0;if(e.isEven()||!f.simpleSieve||!f.fermatTest(e)||!i.test(e))return d+=1,d+="02"===n||"05"===n?8:4,p[r]=d,d;switch(i.test(e.shrn(1))||(d+=2),n){case"02":e.mod(o).cmp(s)&&(d+=8);break;case"05":(l=e.mod(a)).cmp(u)&&l.cmp(c)&&(d+=8);break;default:d+=4}return p[r]=d,d}(this.__prime,this.__gen)),this._primeCode}}),v.prototype.generateKeys=function(){return this._priv||(this._priv=new r(l(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},v.prototype.computeSecret=function(e){var n=(e=(e=new r(e)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new t(n.toArray()),o=this.getPrime();if(i.length0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return s.alloc(0);for(var t,n,r,i=s.allocUnsafe(e>>>0),o=this.head,a=0;o;)t=o.data,n=i,r=a,s.prototype.copy.call(t,n,r),a+=o.data.length,o=o.next;return i}},{key:"consume",value:function(e,t){var n;return ei.length?i.length:e;if(o===i.length?r+=i:r+=i.slice(0,e),0==(e-=o)){o===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(o));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=s.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0==(e-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r}return this.length-=r,t}},{key:u,value:function(e,t){return a(this,function(e){for(var t=1;t0,(function(e){r||(r=e),e&&s.forEach(c),o||(s.forEach(c),i(r))}))}));return t.reduce(f)}},function(e,t,n){var r=n(8).Buffer,i=n(175),o=n(126),s=n(127).ec,a=n(203),u=n(96),c=n(209);function f(e,t,n,o){if((e=r.from(e.toArray())).length0&&n.ishrn(r),n}function d(e,t,n){var o,s;do{for(o=r.alloc(0);8*o.length=49&&c<=54?c-49+10:c>=17&&c<=22?c-17+10:c,s|=u}return r(!(240&s),"Invalid character in "+e),i}function u(e,t,n,i){for(var o=0,s=0,a=Math.min(e.length,n),u=t;u=49?c-49+10:c>=17?c-17+10:c,r(c>=0&&s0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this._strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n=t;n-=6)i=a(e,n,n+6),this.words[r]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);n+6!==t&&(i=a(e,t,n+6),this.words[r]|=i<>>26-o&4194303),this._strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,s=o%r,a=Math.min(o,o-s)+n,c=0,f=n;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch(e){o.prototype.inspect=f}else o.prototype.inspect=f;function f(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var c=d[e],f=h[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var v=p.modrn(f).toString(e);n=(p=p.idivn(f)).isZero()?v+n:l[c-v.length]+v+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)}),o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)};function p(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;n.words[0]=a;for(var c=1;c>>26,l=67108863&u,d=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=d;h++){var p=c-h|0;f+=(s=(i=0|e.words[p])*(o=0|t.words[h])+l)/67108864|0,l=67108863&s}n.words[c]=0|l,u=0|f}return 0!==u?n.words[c]=0|u:n.length--,n._strip()}o.prototype.toArrayLike=function(e,t,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,o);return this["_toArrayLike"+("le"===t?"LE":"BE")](s,i),s},o.prototype._toArrayLikeLE=function(e,t){for(var n=0,r=0,i=0,o=0;i>8&255),n>16&255),6===o?(n>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n=0&&(e[n--]=s>>8&255),n>=0&&(e[n--]=s>>16&255),6===o?(n>=0&&(e[n--]=s>>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n>=0)for(e[n--]=r;n>=0;)e[n--]=0},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;ne.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;re.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,h=0|s[1],p=8191&h,v=h>>>13,g=0|s[2],m=8191&g,b=g>>>13,y=0|s[3],w=8191&y,_=y>>>13,S=0|s[4],E=8191&S,M=S>>>13,A=0|s[5],I=8191&A,k=A>>>13,O=0|s[6],x=8191&O,C=O>>>13,T=0|s[7],P=8191&T,N=T>>>13,R=0|s[8],L=8191&R,j=R>>>13,D=0|s[9],U=8191&D,B=D>>>13,F=0|a[0],z=8191&F,q=F>>>13,K=0|a[1],H=8191&K,V=K>>>13,G=0|a[2],W=8191&G,$=G>>>13,Y=0|a[3],J=8191&Y,Z=Y>>>13,X=0|a[4],Q=8191&X,ee=X>>>13,te=0|a[5],ne=8191&te,re=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,fe=0|a[8],le=8191&fe,de=fe>>>13,he=0|a[9],pe=8191&he,ve=he>>>13;n.negative=e.negative^t.negative,n.length=19;var ge=(c+(r=Math.imul(l,z))|0)+((8191&(i=(i=Math.imul(l,q))+Math.imul(d,z)|0))<<13)|0;c=((o=Math.imul(d,q))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(p,z),i=(i=Math.imul(p,q))+Math.imul(v,z)|0,o=Math.imul(v,q);var me=(c+(r=r+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,V)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(m,z),i=(i=Math.imul(m,q))+Math.imul(b,z)|0,o=Math.imul(b,q),r=r+Math.imul(p,H)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0;var be=(c+(r=r+Math.imul(l,W)|0)|0)+((8191&(i=(i=i+Math.imul(l,$)|0)+Math.imul(d,W)|0))<<13)|0;c=((o=o+Math.imul(d,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(w,z),i=(i=Math.imul(w,q))+Math.imul(_,z)|0,o=Math.imul(_,q),r=r+Math.imul(m,H)|0,i=(i=i+Math.imul(m,V)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,V)|0,r=r+Math.imul(p,W)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,$)|0;var ye=(c+(r=r+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,Z)|0)+Math.imul(d,J)|0))<<13)|0;c=((o=o+Math.imul(d,Z)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(E,z),i=(i=Math.imul(E,q))+Math.imul(M,z)|0,o=Math.imul(M,q),r=r+Math.imul(w,H)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,V)|0,r=r+Math.imul(m,W)|0,i=(i=i+Math.imul(m,$)|0)+Math.imul(b,W)|0,o=o+Math.imul(b,$)|0,r=r+Math.imul(p,J)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(v,J)|0,o=o+Math.imul(v,Z)|0;var we=(c+(r=r+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,ee)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(I,z),i=(i=Math.imul(I,q))+Math.imul(k,z)|0,o=Math.imul(k,q),r=r+Math.imul(E,H)|0,i=(i=i+Math.imul(E,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,r=r+Math.imul(w,W)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,$)|0,r=r+Math.imul(m,J)|0,i=(i=i+Math.imul(m,Z)|0)+Math.imul(b,J)|0,o=o+Math.imul(b,Z)|0,r=r+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,ee)|0;var _e=(c+(r=r+Math.imul(l,ne)|0)|0)+((8191&(i=(i=i+Math.imul(l,re)|0)+Math.imul(d,ne)|0))<<13)|0;c=((o=o+Math.imul(d,re)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(C,z)|0,o=Math.imul(C,q),r=r+Math.imul(I,H)|0,i=(i=i+Math.imul(I,V)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,V)|0,r=r+Math.imul(E,W)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,$)|0,r=r+Math.imul(w,J)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,J)|0,o=o+Math.imul(_,Z)|0,r=r+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,ee)|0,r=r+Math.imul(p,ne)|0,i=(i=i+Math.imul(p,re)|0)+Math.imul(v,ne)|0,o=o+Math.imul(v,re)|0;var Se=(c+(r=r+Math.imul(l,oe)|0)|0)+((8191&(i=(i=i+Math.imul(l,se)|0)+Math.imul(d,oe)|0))<<13)|0;c=((o=o+Math.imul(d,se)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(P,z),i=(i=Math.imul(P,q))+Math.imul(N,z)|0,o=Math.imul(N,q),r=r+Math.imul(x,H)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,V)|0,r=r+Math.imul(I,W)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,$)|0,r=r+Math.imul(E,J)|0,i=(i=i+Math.imul(E,Z)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,Z)|0,r=r+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,r=r+Math.imul(m,ne)|0,i=(i=i+Math.imul(m,re)|0)+Math.imul(b,ne)|0,o=o+Math.imul(b,re)|0,r=r+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,se)|0;var Ee=(c+(r=r+Math.imul(l,ue)|0)|0)+((8191&(i=(i=i+Math.imul(l,ce)|0)+Math.imul(d,ue)|0))<<13)|0;c=((o=o+Math.imul(d,ce)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(L,z),i=(i=Math.imul(L,q))+Math.imul(j,z)|0,o=Math.imul(j,q),r=r+Math.imul(P,H)|0,i=(i=i+Math.imul(P,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,r=r+Math.imul(x,W)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,$)|0,r=r+Math.imul(I,J)|0,i=(i=i+Math.imul(I,Z)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,Z)|0,r=r+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,ee)|0,r=r+Math.imul(w,ne)|0,i=(i=i+Math.imul(w,re)|0)+Math.imul(_,ne)|0,o=o+Math.imul(_,re)|0,r=r+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,se)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,se)|0,r=r+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0;var Me=(c+(r=r+Math.imul(l,le)|0)|0)+((8191&(i=(i=i+Math.imul(l,de)|0)+Math.imul(d,le)|0))<<13)|0;c=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(U,z),i=(i=Math.imul(U,q))+Math.imul(B,z)|0,o=Math.imul(B,q),r=r+Math.imul(L,H)|0,i=(i=i+Math.imul(L,V)|0)+Math.imul(j,H)|0,o=o+Math.imul(j,V)|0,r=r+Math.imul(P,W)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,$)|0,r=r+Math.imul(x,J)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(C,J)|0,o=o+Math.imul(C,Z)|0,r=r+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(M,ne)|0,o=o+Math.imul(M,re)|0,r=r+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,r=r+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,ce)|0)+Math.imul(b,ue)|0,o=o+Math.imul(b,ce)|0,r=r+Math.imul(p,le)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(v,le)|0,o=o+Math.imul(v,de)|0;var Ae=(c+(r=r+Math.imul(l,pe)|0)|0)+((8191&(i=(i=i+Math.imul(l,ve)|0)+Math.imul(d,pe)|0))<<13)|0;c=((o=o+Math.imul(d,ve)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(U,H),i=(i=Math.imul(U,V))+Math.imul(B,H)|0,o=Math.imul(B,V),r=r+Math.imul(L,W)|0,i=(i=i+Math.imul(L,$)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,$)|0,r=r+Math.imul(P,J)|0,i=(i=i+Math.imul(P,Z)|0)+Math.imul(N,J)|0,o=o+Math.imul(N,Z)|0,r=r+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,ee)|0,r=r+Math.imul(I,ne)|0,i=(i=i+Math.imul(I,re)|0)+Math.imul(k,ne)|0,o=o+Math.imul(k,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,se)|0,r=r+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,r=r+Math.imul(m,le)|0,i=(i=i+Math.imul(m,de)|0)+Math.imul(b,le)|0,o=o+Math.imul(b,de)|0;var Ie=(c+(r=r+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ve)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,ve)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(U,W),i=(i=Math.imul(U,$))+Math.imul(B,W)|0,o=Math.imul(B,$),r=r+Math.imul(L,J)|0,i=(i=i+Math.imul(L,Z)|0)+Math.imul(j,J)|0,o=o+Math.imul(j,Z)|0,r=r+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,ee)|0,r=r+Math.imul(x,ne)|0,i=(i=i+Math.imul(x,re)|0)+Math.imul(C,ne)|0,o=o+Math.imul(C,re)|0,r=r+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,r=r+Math.imul(w,le)|0,i=(i=i+Math.imul(w,de)|0)+Math.imul(_,le)|0,o=o+Math.imul(_,de)|0;var ke=(c+(r=r+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,ve)|0)+Math.imul(b,pe)|0))<<13)|0;c=((o=o+Math.imul(b,ve)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(U,J),i=(i=Math.imul(U,Z))+Math.imul(B,J)|0,o=Math.imul(B,Z),r=r+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,ee)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,ee)|0,r=r+Math.imul(P,ne)|0,i=(i=i+Math.imul(P,re)|0)+Math.imul(N,ne)|0,o=o+Math.imul(N,re)|0,r=r+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,r=r+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,r=r+Math.imul(E,le)|0,i=(i=i+Math.imul(E,de)|0)+Math.imul(M,le)|0,o=o+Math.imul(M,de)|0;var Oe=(c+(r=r+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,ve)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ve)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(U,Q),i=(i=Math.imul(U,ee))+Math.imul(B,Q)|0,o=Math.imul(B,ee),r=r+Math.imul(L,ne)|0,i=(i=i+Math.imul(L,re)|0)+Math.imul(j,ne)|0,o=o+Math.imul(j,re)|0,r=r+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,se)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,se)|0,r=r+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(C,ue)|0,o=o+Math.imul(C,ce)|0,r=r+Math.imul(I,le)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,de)|0;var xe=(c+(r=r+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,ve)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,ve)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(U,ne),i=(i=Math.imul(U,re))+Math.imul(B,ne)|0,o=Math.imul(B,re),r=r+Math.imul(L,oe)|0,i=(i=i+Math.imul(L,se)|0)+Math.imul(j,oe)|0,o=o+Math.imul(j,se)|0,r=r+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(N,ue)|0,o=o+Math.imul(N,ce)|0,r=r+Math.imul(x,le)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(C,le)|0,o=o+Math.imul(C,de)|0;var Ce=(c+(r=r+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ve)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,ve)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(U,oe),i=(i=Math.imul(U,se))+Math.imul(B,oe)|0,o=Math.imul(B,se),r=r+Math.imul(L,ue)|0,i=(i=i+Math.imul(L,ce)|0)+Math.imul(j,ue)|0,o=o+Math.imul(j,ce)|0,r=r+Math.imul(P,le)|0,i=(i=i+Math.imul(P,de)|0)+Math.imul(N,le)|0,o=o+Math.imul(N,de)|0;var Te=(c+(r=r+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,ve)|0)+Math.imul(C,pe)|0))<<13)|0;c=((o=o+Math.imul(C,ve)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(U,ue),i=(i=Math.imul(U,ce))+Math.imul(B,ue)|0,o=Math.imul(B,ce),r=r+Math.imul(L,le)|0,i=(i=i+Math.imul(L,de)|0)+Math.imul(j,le)|0,o=o+Math.imul(j,de)|0;var Pe=(c+(r=r+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,ve)|0)+Math.imul(N,pe)|0))<<13)|0;c=((o=o+Math.imul(N,ve)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(U,le),i=(i=Math.imul(U,de))+Math.imul(B,le)|0,o=Math.imul(B,de);var Ne=(c+(r=r+Math.imul(L,pe)|0)|0)+((8191&(i=(i=i+Math.imul(L,ve)|0)+Math.imul(j,pe)|0))<<13)|0;c=((o=o+Math.imul(j,ve)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var Re=(c+(r=Math.imul(U,pe))|0)+((8191&(i=(i=Math.imul(U,ve))+Math.imul(B,pe)|0))<<13)|0;return c=((o=Math.imul(B,ve))+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,u[0]=ge,u[1]=me,u[2]=be,u[3]=ye,u[4]=we,u[5]=_e,u[6]=Se,u[7]=Ee,u[8]=Me,u[9]=Ae,u[10]=Ie,u[11]=ke,u[12]=Oe,u[13]=xe,u[14]=Ce,u[15]=Te,u[16]=Pe,u[17]=Ne,u[18]=Re,0!==c&&(u[19]=c,n.length++),n};function g(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function m(e,t,n){return g(e,t,n)}function b(e,t){this.x=e,this.y=t}Math.imul||(v=p),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?v(this,e,t):n<63?p(this,e,t):n<1024?g(this,e,t):m(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,r=0;r>=1;return r},b.prototype.permute=function(e,t,n,r,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,n+=o/67108864|0,n+=s>>>26,this.words[i]=67108863&s}return 0!==n&&(this.words[i]=n,this.length++),t?this.ineg():this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n>>i&1}return t}(e);if(0===t.length)return new o(1);for(var n=this,r=0;r=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==f||c>=i);c--){var l=0|this.words[c];this.words[c]=f<<26-o|l>>>o,f=l&a}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,u=r.length-i.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;l--){var d=67108864*(0|r.words[i.length+l])+(0|r.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,l);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,l),r.isZero()||(r.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),r._strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modrn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modrn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=(1<<26)%e,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%e;return t?-i:i},o.prototype.modn=function(e){return this.modrn(e)},o.prototype.idivn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/e|0,n=o%e}return this._strip(),t?this.ineg():this},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var f=n.clone(),l=t.clone();!t.isZero();){for(var d=0,h=1;0==(t.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(f),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,v=1;0==(n.words[0]&v)&&p<26;++p,v<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(f),u.isub(l)),a.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(a),s.isub(u)):(n.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){ri&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new A(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function w(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function E(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function I(e){A.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},w.prototype.split=function(e,t){e.iushrn(this.n,0,t)},w.prototype.imulK=function(e){return e.imul(this.k)},i(_,w),_.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r>>22,i=o}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},_.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new _;else if("p224"===e)t=new S;else if("p192"===e)t=new E;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new M}return y[e]=t,t},A.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},A.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},A.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(c(e,e.umod(this.m)._forceRed(this)),e)},A.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},A.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},A.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},A.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},A.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},A.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},A.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},A.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},A.prototype.isqr=function(e){return this.imul(e,e.clone())},A.prototype.sqr=function(e){return this.mul(e,e)},A.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new o(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var l=this.pow(f,i),d=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(a);){for(var v=h,g=0;0!==v.cmp(a);g++)v=v.redSqr();r(g=0;r--){for(var c=t.words[r],f=u-1;f>=0;f--){var l=c>>f&1;i!==n[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===r&&0===f)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}u=26}return i},A.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},A.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new I(e)},i(I,A),I.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},I.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},I.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},I.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},I.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,n(57)(e))},function(e,t){},function(e){e.exports=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny ","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')},function(e,t,n){"use strict";var r=n(47),i=n(29),o=n(7),s=n(95),a=r.assert;function u(e){s.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,n,r){s.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function f(e,t,n,r){s.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(n,16),this.z=new i(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,s),e.exports=u,u.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);t=(t=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(e.lambda)n=new i(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?n=o[0]:(n=o[1],a(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(n)}}},u.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),n=new i(2).toRed(t).redInvm(),r=n.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(n);return[r.redAdd(o).fromRed(),r.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(e){for(var t,n,r,o,s,a,u,c,f,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,h=this.n.clone(),p=new i(1),v=new i(0),g=new i(0),m=new i(1),b=0;0!==d.cmpn(0);){var y=h.div(d);c=h.sub(y.mul(d)),f=g.sub(y.mul(p));var w=m.sub(y.mul(v));if(!r&&c.cmp(l)<0)t=u.neg(),n=p,r=c.neg(),o=f;else if(r&&2==++b)break;u=c,h=d,d=c,g=p,p=f,m=v,v=w}s=c.neg(),a=f;var _=r.sqr().add(o.sqr());return s.sqr().add(a.sqr()).cmp(_)>=0&&(s=t,a=n),r.negative&&(r=r.neg(),o=o.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:r,b:o},{a:s,b:a}]},u.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),s=i.mul(n.a),a=o.mul(r.a),u=i.mul(n.b),c=o.mul(r.b);return{k1:e.sub(s).sub(a),k2:u.add(c).neg()}},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var o=r.fromRed().isOdd();return(t&&!o||!t&&o)&&(r=r.redNeg()),this.point(e,r)},u.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},c.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(f,s.BasePoint),u.prototype.jpoint=function(e,t,n){return new f(this,e,t,n)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(n.redMul(this.z)),a=r.redSub(i),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),f=c.redMul(a),l=r.redMul(c),d=u.redSqr().redIAdd(f).redISub(l).redISub(l),h=u.redMul(l.redISub(d)).redISub(o.redMul(f)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(d,h,p)},f.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),s=n.redSub(r),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),f=n.redMul(u),l=a.redSqr().redIAdd(c).redISub(f).redISub(f),d=a.redMul(f.redISub(l)).redISub(i.redMul(c)),h=this.z.redMul(s);return this.curve.jpoint(l,d,h)},f.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,n){"use strict";var r=n(29),i=n(7),o=n(95),s=n(47);function a(e){o.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(e,t,n){o.BasePoint.call(this,e,"projective"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(a,o),e.exports=a,a.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),r=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return 0===r.redSqrt().redSqr().cmp(r)},i(u,o.BasePoint),a.prototype.decodePoint=function(e,t){return this.point(s.toArray(e,t),1)},a.prototype.point=function(e,t){return new u(this,e,t)},a.prototype.pointFromJSON=function(e){return u.fromJSON(this,e)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(e,t){return new u(e,t[0],t[1]||e.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),r=e.redMul(t),i=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(r,i)},u.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),r=this.x.redSub(this.z),i=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(n),s=i.redMul(r),a=t.z.redMul(o.redAdd(s).redSqr()),u=t.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,u)},u.prototype.mul=function(e){for(var t=e.clone(),n=this,r=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(n=n.diffAdd(r,this),r=r.dbl()):(r=n.diffAdd(r,this),n=n.dbl());return r},u.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},u.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,n){"use strict";var r=n(47),i=n(29),o=n(7),s=n(95),a=r.assert;function u(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,s.call(this,"edwards",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function c(e,t,n,r,o){s.BasePoint.call(this,e,"projective"),null===t&&null===n&&null===r?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(t,16),this.y=new i(n,16),this.z=r?new i(r,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(u,s),e.exports=u,u.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},u.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},u.prototype.jpoint=function(e,t,n,r){return this.point(e,t,n,r)},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),r=this.c2.redSub(this.a.redMul(n)),o=this.one.redSub(this.c2.redMul(this.d).redMul(n)),s=r.redMul(o.redInvm()),a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");var u=a.fromRed().isOdd();return(t&&!u||!t&&u)&&(a=a.redNeg()),this.point(e,a)},u.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),r=n.redSub(this.c2),o=n.redMul(this.d).redMul(this.c2).redSub(this.a),s=r.redMul(o.redInvm());if(0===s.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==t&&(a=a.redNeg()),this.point(a,e)},u.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),n=e.y.redSqr(),r=t.redMul(this.a).redAdd(n),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(n)));return 0===r.cmp(i)},o(c,s.BasePoint),u.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},u.prototype.point=function(e,t,n,r){return new c(this,e,t,n,r)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var r=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=r.redAdd(t),s=o.redSub(n),a=r.redSub(t),u=i.redMul(s),c=o.redMul(a),f=i.redMul(a),l=s.redMul(o);return this.curve.point(u,c,l,f)},c.prototype._projDbl=function(){var e,t,n,r,i,o,s=this.x.redAdd(this.y).redSqr(),a=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var c=(r=this.curve._mulA(a)).redAdd(u);this.zOne?(e=s.redSub(a).redSub(u).redMul(c.redSub(this.curve.two)),t=c.redMul(r.redSub(u)),n=c.redSqr().redSub(c).redSub(c)):(i=this.z.redSqr(),o=c.redSub(i).redISub(i),e=s.redSub(a).redISub(u).redMul(o),t=c.redMul(r.redSub(u)),n=c.redMul(o))}else r=a.redAdd(u),i=this.curve._mulC(this.z).redSqr(),o=r.redSub(i).redSub(i),e=this.curve._mulC(s.redISub(r)).redMul(o),t=this.curve._mulC(r).redMul(a.redISub(u)),n=r.redMul(o);return this.curve.point(e,t,n)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),o=n.redSub(t),s=i.redSub(r),a=i.redAdd(r),u=n.redAdd(t),c=o.redMul(s),f=a.redMul(u),l=o.redMul(u),d=s.redMul(a);return this.curve.point(c,f,d,l)},c.prototype._projAdd=function(e){var t,n,r=this.z.redMul(e.z),i=r.redSqr(),o=this.x.redMul(e.x),s=this.y.redMul(e.y),a=this.curve.d.redMul(o).redMul(s),u=i.redSub(a),c=i.redAdd(a),f=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(s),l=r.redMul(u).redMul(f);return this.curve.twisted?(t=r.redMul(c).redMul(s.redSub(this.curve._mulA(o))),n=u.redMul(c)):(t=r.redMul(c).redMul(s.redSub(o)),n=this.curve._mulC(u).redMul(c)),this.curve.point(l,t,n)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},c.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),r=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),0===this.x.cmp(t))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},function(e,t,n){"use strict";t.sha1=n(336),t.sha224=n(337),t.sha256=n(201),t.sha384=n(338),t.sha512=n(202)},function(e,t,n){"use strict";var r=n(51),i=n(82),o=n(200),s=r.rotl32,a=r.sum32,u=r.sum32_5,c=o.ft_1,f=i.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(d,f),e.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;rthis.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t0))return s.iaddn(1),this.keyFromPrivate(s)}},l.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},l.prototype.sign=function(e,t,n,o){"object"==typeof n&&(o=n,n=null),o||(o={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new r(e,16));for(var s=this.n.byteLength(),a=t.getPrivate().toArray("be",s),u=e.toArray("be",s),c=new i({hash:this.hash,entropy:a,nonce:u,pers:o.pers,persEnc:o.persEnc||"utf8"}),l=this.n.sub(new r(1)),d=0;;d++){var h=o.k?o.k(d):new r(c.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(l)>=0)){var p=this.g.mul(h);if(!p.isInfinity()){var v=p.getX(),g=v.umod(this.n);if(0!==g.cmpn(0)){var m=h.invm(this.n).mul(g.mul(t.getPrivate()).iadd(e));if(0!==(m=m.umod(this.n)).cmpn(0)){var b=(p.getY().isOdd()?1:0)|(0!==v.cmp(g)?2:0);return o.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),b^=1),new f({r:g,s:m,recoveryParam:b})}}}}}},l.prototype.verify=function(e,t,n,i){e=this._truncateToN(new r(e,16)),n=this.keyFromPublic(n,i);var o=(t=new f(t,"hex")).r,s=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,u=s.invm(this.n),c=u.mul(e).umod(this.n),l=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,n.getPublic(),l)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(c,n.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(e,t,n,i){u((3&n)===n,"The recovery param is more than two bits"),t=new f(t,i);var o=this.n,s=new r(e),a=t.r,c=t.s,l=1&n,d=n>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");a=d?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var h=t.r.invm(o),p=o.sub(s).mul(h).umod(o),v=c.mul(h).umod(o);return this.g.mulAdd(p,a,v)},l.prototype.getKeyRecoveryParam=function(e,t,n,r){if(null!==(t=new f(t,r)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(n))return i}throw new Error("Unable to find valid recovery factor")}},function(e,t,n){"use strict";var r=n(129),i=n(198),o=n(46);function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),n=i.toArray(e.nonce,e.nonceEnc||"hex"),r=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,r)}e.exports=s,s.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},s.prototype.generate=function(e,t,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=n,n=t,t=null),n&&(n=i.toArray(n,r||"hex"),this._update(n));for(var o=[];o.length"}},function(e,t,n){"use strict";var r=n(29),i=n(47),o=i.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new r(e.r,16),this.s=new r(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(){this.place=0}function u(e,t){var n=e[t.place++];if(!(128&n))return n;var r=15&n;if(0===r||r>4)return!1;for(var i=0,o=0,s=t.place;o>>=0;return!(i<=127)&&(t.place=s,i)}function c(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}e.exports=s,s.prototype._importDER=function(e,t){e=i.toArray(e,t);var n=new a;if(48!==e[n.place++])return!1;var o=u(e,n);if(!1===o)return!1;if(o+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var s=u(e,n);if(!1===s)return!1;var c=e.slice(n.place,s+n.place);if(n.place+=s,2!==e[n.place++])return!1;var f=u(e,n);if(!1===f)return!1;if(e.length!==f+n.place)return!1;var l=e.slice(n.place,f+n.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new r(c),this.s=new r(l),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=c(t),n=c(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];f(r,t.length),(r=r.concat(t)).push(2),f(r,n.length);var o=r.concat(n),s=[48];return f(s,o.length),s=s.concat(o),i.encode(s,e)}},function(e,t,n){"use strict";var r=n(129),i=n(128),o=n(47),s=o.assert,a=o.parseBytes,u=n(347),c=n(348);function f(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof f))return new f(e);e=i[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}e.exports=f,f.prototype.sign=function(e,t){e=a(e);var n=this.keyFromSecret(t),r=this.hashInt(n.messagePrefix(),e),i=this.g.mul(r),o=this.encodePoint(i),s=this.hashInt(o,n.pubBytes(),e).mul(n.priv()),u=r.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},f.prototype.verify=function(e,t,n){e=a(e),t=this.makeSignature(t);var r=this.keyFromPublic(n),i=this.hashInt(t.Rencoded(),r.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(r.pub().mul(i)).eq(o)},f.prototype.hashInt=function(){for(var e=this.hash(),t=0;t=t)throw new Error("invalid sig")}e.exports=function(e,t,n,c,f){var l=s(n);if("ec"===l.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var r=a[n.data.algorithm.curve.join(".")];if(!r)throw new Error("unknown curve "+n.data.algorithm.curve.join("."));var i=new o(r),s=n.data.subjectPrivateKey.data;return i.verify(t,e,s)}(e,t,l)}if("dsa"===l.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var r=n.data.p,o=n.data.q,a=n.data.g,c=n.data.pub_key,f=s.signature.decode(e,"der"),l=f.s,d=f.r;u(l,o),u(d,o);var h=i.mont(r),p=l.invm(o);return 0===a.toRed(h).redPow(new i(t).mul(p).mod(o)).fromRed().mul(c.toRed(h).redPow(d.mul(p).mod(o)).fromRed()).mod(r).mod(o).cmp(d)}(e,t,l)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");t=r.concat([f,t]);for(var d=l.modulus.byteLength(),h=[1],p=0;t.length+h.length+2n-d-2)throw new Error("message too long");var h=l.alloc(n-r-d-2),p=n-f-1,v=i(f),g=a(l.concat([c,h,l.alloc(1,1),t],p),s(v,p)),m=a(v,s(g,f));return new u(l.concat([l.alloc(1),m,g],n))}(p,t);else if(1===d)h=function(e,t,n){var r,o=t.length,s=e.modulus.byteLength();if(o>s-11)throw new Error("message too long");r=n?l.alloc(s-o-3,255):function(e){var t,n=l.allocUnsafe(e),r=0,o=i(2*e),s=0;for(;r=0)throw new Error("data too long for modulus")}return n?f(h,p):c(h,p)}},function(e,t,n){var r=n(96),i=n(210),o=n(211),s=n(29),a=n(126),u=n(79),c=n(212),f=n(8).Buffer;e.exports=function(e,t,n){var l;l=e.padding?e.padding:n?1:4;var d,h=r(e),p=h.modulus.byteLength();if(t.length>p||new s(t).cmp(h.modulus)>=0)throw new Error("decryption error");d=n?c(new s(t),h):a(t,h);var v=f.alloc(p-d.length);if(d=f.concat([v,d],p),4===l)return function(e,t){var n=e.modulus.byteLength(),r=u("sha1").update(f.alloc(0)).digest(),s=r.length;if(0!==t[0])throw new Error("decryption error");var a=t.slice(1,s+1),c=t.slice(s+1),l=o(a,i(c,s)),d=o(c,i(l,n-s-1));if(function(e,t){e=f.from(e),t=f.from(t);var n=0,r=e.length;e.length!==t.length&&(n++,r=Math.min(e.length,t.length));var i=-1;for(;++i=t.length){o++;break}var s=t.slice(2,i-1);("0002"!==r.toString("hex")&&!n||"0001"!==r.toString("hex")&&n)&&o++;s.length<8&&o++;if(o)throw new Error("decryption error");return t.slice(i)}(0,d,n);if(3===l)return d;throw new Error("unknown padding")}},function(e,t,n){"use strict";(function(e,r){function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=n(8),s=n(66),a=o.Buffer,u=o.kMaxLength,c=e.crypto||e.msCrypto,f=Math.pow(2,32)-1;function l(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>f||e<0)throw new TypeError("offset must be a uint32");if(e>u||e>t)throw new RangeError("offset out of range")}function d(e,t,n){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>f||e<0)throw new TypeError("size must be a uint32");if(e+t>n||e>u)throw new RangeError("buffer too small")}function h(e,t,n,i){if(r.browser){var o=e.buffer,a=new Uint8Array(o,t,n);return c.getRandomValues(a),i?void r.nextTick((function(){i(null,e)})):e}if(!i)return s(n).copy(e,t),e;s(n,(function(n,r){if(n)return i(n);r.copy(e,t),i(null,e)}))}c&&c.getRandomValues||!r.browser?(t.randomFill=function(t,n,r,i){if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof n)i=n,n=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-n;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return l(n,t.length),d(r,n,t.length),h(t,n,r,i)},t.randomFillSync=function(t,n,r){void 0===n&&(n=0);if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');l(n,t.length),void 0===r&&(r=t.length-n);return d(r,n,t.length),h(t,n,r)}):(t.randomFill=i,t.randomFillSync=i)}).call(this,n(31),n(20))},function(e,t,n){e.exports=self.fetch||(self.fetch=n(213).default||n(213))},function(e,t,n){(function(e,r){var i;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){t&&t.nodeType,e&&e.nodeType;var s="object"==typeof r&&r;s.global!==s&&s.window!==s&&s.self;var a,u=2147483647,c=/^xn--/,f=/[^\x20-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=Math.floor,p=String.fromCharCode;function v(e){throw new RangeError(d[e])}function g(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function m(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+g((e=e.replace(l,".")).split("."),t).join(".")}function b(e){for(var t,n,r=[],i=0,o=e.length;i=55296&&t<=56319&&i65535&&(t+=p((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=p(e)})).join("")}function w(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function _(e,t,n){var r=0;for(e=n?h(e/700):e>>1,e+=h(e/t);e>455;r+=36)e=h(e/35);return h(r+36*e/(e+38))}function S(e){var t,n,r,i,o,s,a,c,f,l,d,p=[],g=e.length,m=0,b=128,w=72;for((n=e.lastIndexOf("-"))<0&&(n=0),r=0;r=128&&v("not-basic"),p.push(e.charCodeAt(r));for(i=n>0?n+1:0;i=g&&v("invalid-input"),((c=(d=e.charCodeAt(i++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:36)>=36||c>h((u-m)/s))&&v("overflow"),m+=c*s,!(c<(f=a<=w?1:a>=w+26?26:a-w));a+=36)s>h(u/(l=36-f))&&v("overflow"),s*=l;w=_(m-o,t=p.length+1,0==o),h(m/t)>u-b&&v("overflow"),b+=h(m/t),m%=t,p.splice(m++,0,b)}return y(p)}function E(e){var t,n,r,i,o,s,a,c,f,l,d,g,m,y,S,E=[];for(g=(e=b(e)).length,t=128,n=0,o=72,s=0;s=t&&dh((u-n)/(m=r+1))&&v("overflow"),n+=(a-t)*m,t=a,s=0;su&&v("overflow"),d==t){for(c=n,f=36;!(c<(l=f<=o?1:f>=o+26?26:f-o));f+=36)S=c-l,y=36-l,E.push(p(w(l+S%y,0))),c=h(S/y);E.push(p(w(c,0))),o=_(n,m,r==i),n=0,++r}++n,++t}return E.join("")}a={version:"1.4.1",ucs2:{decode:b,encode:y},decode:S,encode:E,toASCII:function(e){return m(e,(function(e){return f.test(e)?"xn--"+E(e):e}))},toUnicode:function(e){return m(e,(function(e){return c.test(e)?S(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return a}.call(t,n,t,e))||(e.exports=i)}()}).call(this,n(57)(e),n(31))},function(e,t,n){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,n){"use strict";t.decode=t.parse=n(369),t.encode=t.stringify=n(370)},function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,o){t=t||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var a=/\+/g;e=e.split(t);var u=1e3;o&&"number"==typeof o.maxKeys&&(u=o.maxKeys);var c=e.length;u>0&&c>u&&(c=u);for(var f=0;f=0?(l=v.substr(0,g),d=v.substr(g+1)):(l=v,d=""),h=decodeURIComponent(l),p=decodeURIComponent(d),r(s,h)?i(s[h])?s[h].push(p):s[h]=[s[h],p]:s[h]=p}return s};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?o(s(e),(function(s){var a=encodeURIComponent(r(s))+n;return i(e[s])?o(e[s],(function(e){return a+encodeURIComponent(r(e))})).join(t):a+encodeURIComponent(r(e[s]))})).join(t):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function o(e,t){if(e.map)return e.map(t);for(var n=[],r=0;ra)&&void 0===e.nsecs&&(v=0),v>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=p,u=v,i=d;var m=(1e4*(268435455&(p+=122192928e5))+v)%4294967296;f[c++]=m>>>24&255,f[c++]=m>>>16&255,f[c++]=m>>>8&255,f[c++]=255&m;var b=p/4294967296*1e4&268435455;f[c++]=b>>>8&255,f[c++]=255&b,f[c++]=b>>>24&15|16,f[c++]=b>>>16&255,f[c++]=d>>>8|128,f[c++]=255&d;for(var y=0;y<6;++y)f[c+y]=l[y];return t||s(f)}},function(e,t,n){var r=n(214),i=n(215);e.exports=function(e,t,n){var o=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;a<16;++a)t[o+a]=s[a];return t||i(s)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(216),i=n(219),o=n(374),s=n(377),a=n(379),u=n(134),c=function(){function e(e){s.supportsWebCrypto(u.locateWindow())?this.hash=new i.Sha256(e):a.isMsWindow(u.locateWindow())?this.hash=new r.Sha256(e):this.hash=new o.Sha256(e)}return e.prototype.update=function(e,t){this.hash.update(e,t)},e.prototype.digest=function(){return this.hash.digest()},e}();t.Sha256=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(1).__exportStar(n(375),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var r=n(1),i=n(220),o=n(376),s=n(497),a=function(){function e(e){if(this.hash=new o.RawSha256,e){this.outer=new o.RawSha256;var t=function(e){var t=u(e);if(t.byteLength>i.BLOCK_SIZE){var n=new o.RawSha256;n.update(t),t=n.digest()}var r=new Uint8Array(i.BLOCK_SIZE);return r.set(t),r}(e),n=new Uint8Array(i.BLOCK_SIZE);n.set(t);for(var r=0;rr.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===r.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%r.BLOCK_SIZE>=r.BLOCK_SIZE-8){for(var i=this.bufferLength;i>>24&255,o[4*i+1]=this.state[i]>>>16&255,o[4*i+2]=this.state[i]>>>8&255,o[4*i+3]=this.state[i]>>>0&255;return o},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,n=t[0],i=t[1],o=t[2],s=t[3],a=t[4],u=t[5],c=t[6],f=t[7],l=0;l>>17|d<<15)^(d>>>19|d<<13)^d>>>10,p=((d=this.temp[l-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3;this.temp[l]=(h+this.temp[l-7]|0)+(p+this.temp[l-16]|0)}var v=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&u^~a&c)|0)+(f+(r.KEY[l]+this.temp[l]|0)|0)|0,g=((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&i^n&o^i&o)|0;f=c,c=u,u=a,a=s+v|0,s=o,o=i,i=n,n=v+g|0}t[0]+=n,t[1]+=i,t[2]+=o,t[3]+=s,t[4]+=a,t[5]+=u,t[6]+=c,t[7]+=f},e}();t.RawSha256=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(1).__exportStar(n(378),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.supportsZeroByteGCM=t.supportsSubtleCrypto=t.supportsSecureRandom=t.supportsWebCrypto=void 0;var r=n(1),i=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];function o(e){return"object"==typeof e&&"object"==typeof e.crypto&&"function"==typeof e.crypto.getRandomValues}function s(e){return e&&i.every((function(t){return"function"==typeof e[t]}))}t.supportsWebCrypto=function(e){return!(!o(e)||"object"!=typeof e.crypto.subtle)&&s(e.crypto.subtle)},t.supportsSecureRandom=o,t.supportsSubtleCrypto=s,t.supportsZeroByteGCM=function(e){return r.__awaiter(this,void 0,void 0,(function(){var t;return r.__generator(this,(function(n){switch(n.label){case 0:if(!s(e))return[2,!1];n.label=1;case 1:return n.trys.push([1,4,,5]),[4,e.generateKey({name:"AES-GCM",length:128},!1,["encrypt"])];case 2:return t=n.sent(),[4,e.encrypt({name:"AES-GCM",iv:new Uint8Array(Array(12)),additionalData:new Uint8Array(Array(16)),tagLength:128},t,new Uint8Array(0))];case 3:return[2,16===n.sent().byteLength];case 4:return n.sent(),[2,!1];case 5:return[2]}}))}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1);r.__exportStar(n(380),t),r.__exportStar(n(381),t),r.__exportStar(n(382),t),r.__exportStar(n(383),t),r.__exportStar(n(384),t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMsWindow=void 0;var r=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];t.isMsWindow=function(e){if(function(e){return"MSInputMethodContext"in e&&"msCrypto"in e}(e)&&void 0!==e.msCrypto.subtle){var t=e.msCrypto,n=t.getRandomValues,i=t.subtle;return r.map((function(e){return i[e]})).concat(n).every((function(e){return"function"==typeof e}))}return!1}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(222),o=n(386),s=n(494),a=function(){function e(e){if(this.hash=new o.RawSha256,e){this.outer=new o.RawSha256;var t=function(e){var t=u(e);if(t.byteLength>i.BLOCK_SIZE){var n=new o.RawSha256;n.update(t),t=n.digest()}var r=new Uint8Array(i.BLOCK_SIZE);return r.set(t),r}(e),n=new Uint8Array(i.BLOCK_SIZE);n.set(t);for(var r=0;rr.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=e[t++],n--,this.bufferLength===r.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(t.setUint8(this.bufferLength++,128),n%r.BLOCK_SIZE>=r.BLOCK_SIZE-8){for(var i=this.bufferLength;i>>24&255,o[4*i+1]=this.state[i]>>>16&255,o[4*i+2]=this.state[i]>>>8&255,o[4*i+3]=this.state[i]>>>0&255;return o},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,n=t[0],i=t[1],o=t[2],s=t[3],a=t[4],u=t[5],c=t[6],f=t[7],l=0;l>>17|d<<15)^(d>>>19|d<<13)^d>>>10,p=((d=this.temp[l-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3;this.temp[l]=(h+this.temp[l-7]|0)+(p+this.temp[l-16]|0)}var v=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&u^~a&c)|0)+(f+(r.KEY[l]+this.temp[l]|0)|0)|0,g=((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+(n&i^n&o^i&o)|0;f=c,c=u,u=a,a=s+v|0,s=o,o=i,i=n,n=v+g|0}t[0]+=n,t[1]+=i,t[2]+=o,t[3]+=s,t[4]+=a,t[5]+=u,t[6]+=c,t[7]+=f},e}();t.RawSha256=i},function(e,t,n){var r=n(388),i=n(419);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n-1}},function(e,t,n){var r=n(100);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(101);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(101);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(101);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(101);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},function(e,t,n){var r=n(417);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){var r=n(97),i=n(418),o=n(61),s=n(135),a=r?r.prototype:void 0,u=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(s(t))return u?u.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n-1&&e%1==0&&e1){o[u]=[];for(let n in e.child[u])e.child[u].hasOwnProperty(n)&&o[u].push(i(e.child[u][n],t,u))}else{const s=i(e.child[u][0],t,u),a=!0===t.arrayMode&&"object"==typeof s||r.isTagNameInArrayMode(u,t.arrayMode,n);o[u]=a?[s]:s}}return o};t.convertToJson=i},function(e,t,n){"use strict";e.exports=function(e,t,n){this.tagname=e,this.parent=t,this.child={},this.attrsMap={},this.val=n,this.addChild=function(e){Array.isArray(this.child[e.tagname])?this.child[e.tagname].push(e):this.child[e.tagname]=[e]}}},function(e,t,n){"use strict";const r=n(54),i={allowBooleanAttributes:!1},o=["allowBooleanAttributes"];function s(e,t){for(var n=t;t5&&"xml"===r)return d("InvalidXml","XML declaration allowed only at the start of the document.",p(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function a(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let n=1;for(t+=8;t"===e[t]&&(n--,0===n))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t"===e[t+2]){t+=2;break}return t}t.validate=function(e,t){t=r.buildOptions(t,i,o);const n=[];let c=!1,h=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let i=0;i"!==e[i]&&" "!==e[i]&&"\t"!==e[i]&&"\n"!==e[i]&&"\r"!==e[i];i++)g+=e[i];if(g=g.trim(),"/"===g[g.length-1]&&(g=g.substring(0,g.length-1),i--),v=g,!r.isName(v)){let t;return t=0===g.trim().length?"There is an unnecessary space between tag name and backward slash '0)return d("InvalidTag","Closing tag '"+g+"' can't have attributes or invalid starting.",p(e,i));{const t=n.pop();if(g!==t)return d("InvalidTag","Closing tag '"+t+"' is expected inplace of '"+g+"'.",p(e,i));0==n.length&&(h=!0)}}else{const r=f(b,t);if(!0!==r)return d(r.err.code,r.err.msg,p(e,i-b.length+r.err.line));if(!0===h)return d("InvalidXml","Multiple possible root nodes found.",p(e,i));n.push(g),c=!0}for(i++;i0)||d("InvalidXml","Invalid '"+JSON.stringify(n,null,4).replace(/\r?\n/g,"")+"' found.",1):d("InvalidXml","Start tag expected.",1)};function u(e,t){let n="",r="",i=!1;for(;t"===e[t]&&""===r){i=!0;break}n+=e[t]}return""===r&&{value:n,index:t,tagClosed:i}}const c=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function f(e,t){const n=r.getAllMatches(e,c),i={};for(let r=0;r1){for(var u in i+='"'+a+'" : [ ',e.child[a])i+=s(e.child[a][u],t)+" , ";i=i.substr(0,i.length-1)+" ] "}else i+='"'+a+'" : '+s(e.child[a][0],t)+" ,"}return r.merge(i,e.attrsMap),r.isEmptyObject(i)?r.isExist(e.val)?e.val:"":(r.isExist(e.val)&&("string"!=typeof e.val||""!==e.val&&e.val!==t.cdataPositionChar)&&(i+='"'+t.textNodeName+'" : '+(!0!==(c=e.val)&&!1!==c&&isNaN(c)?'"'+c+'"':c)),","===i[i.length-1]&&(i=i.substr(0,i.length-2)),i+"}");var c};t.convertToJsonString=function(e,t){return(t=i(t,o.defaultOptions,o.props)).indentBy=t.indentBy||"",s(e,t,0)}},function(e,t,n){"use strict";const r=n(54).buildOptions,i={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataTagName:!1,cdataPositionChar:"\\c",format:!1,indentBy:" ",supressEmptyNode:!1,tagValueProcessor:function(e){return e},attrValueProcessor:function(e){return e}},o=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","cdataTagName","cdataPositionChar","format","indentBy","supressEmptyNode","tagValueProcessor","attrValueProcessor"];function s(e){this.options=r(e,i,o),this.options.ignoreAttributes||this.options.attrNodeName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=p),this.options.cdataTagName?this.isCDATA=v:this.isCDATA=function(){return!1},this.replaceCDATAstr=a,this.replaceCDATAarr=u,this.options.format?(this.indentate=h,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine=""),this.options.supressEmptyNode?(this.buildTextNode=d,this.buildObjNode=f):(this.buildTextNode=l,this.buildObjNode=c),this.buildTextValNode=l,this.buildObjectNode=c}function a(e,t){return e=this.options.tagValueProcessor(""+e),""===this.options.cdataPositionChar||""===e?e+"");return e+this.newLine}function c(e,t,n,r){return n&&!e.includes("<")?this.indentate(r)+"<"+t+n+">"+e+""+this.options.tagValueProcessor(e)+"=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([n]):s[t]?s[t]+", "+n:n}})),s):s}},function(e,t,n){"use strict";var r=n(45);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=i(window.location.href),function(t){var n=r.isString(t)?i(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var r=n(242);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(t){e=t})),cancel:e}},e.exports=i},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n1,i=!1,o=arguments[1],s=o;return new n((function(n){return t.subscribe({next:function(t){var o=!i;if(i=!0,!o||r)try{s=e(s,t)}catch(e){return n.error(e)}else s=t},error:function(e){n.error(e)},complete:function(){if(!i&&!r)return n.error(new TypeError("Cannot reduce an empty sequence"));n.next(s),n.complete()}})}))}},{key:"concat",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r=0&&i.splice(e,1),s()}});i.push(o)},error:function(e){r.error(e)},complete:function(){s()}});function s(){o.closed&&0===i.length&&r.complete()}return function(){i.forEach((function(e){return e.unsubscribe()})),o.unsubscribe()}}))}},{key:f,value:function(){return this}}],[{key:"from",value:function(t){var n="function"==typeof this?this:e;if(null==t)throw new TypeError(t+" is not an object");var r=d(t,f);if(r){var i=r.call(t);if(Object(i)!==i)throw new TypeError(i+" is not an object");return p(i)&&i.constructor===n?i:new n((function(e){return i.subscribe(e)}))}if(a("iterator")&&(r=d(t,c)))return new n((function(e){g((function(){if(!e.closed){var n=!0,i=!1,o=void 0;try{for(var s,a=r.call(t)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){var u=s.value;if(e.next(u),e.closed)return}}catch(e){i=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw o}}e.complete()}}))}));if(Array.isArray(t))return new n((function(e){g((function(){if(!e.closed){for(var n=0;na)&&void 0===e.nsecs&&(v=0),v>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=p,u=v,i=d;var m=(1e4*(268435455&(p+=122192928e5))+v)%4294967296;f[c++]=m>>>24&255,f[c++]=m>>>16&255,f[c++]=m>>>8&255,f[c++]=255&m;var b=p/4294967296*1e4&268435455;f[c++]=b>>>8&255,f[c++]=255&b,f[c++]=b>>>24&15|16,f[c++]=b>>>16&255,f[c++]=d>>>8|128,f[c++]=255&d;for(var y=0;y<6;++y)f[c+y]=l[y];return t||s(f)}},function(e,t,n){var r=n(243),i=n(244);e.exports=function(e,t,n){var o=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;a<16;++a)t[o+a]=s[a];return t||i(s)}},function(e,t){},function(e,t,n){e.exports=n(487).Observable},function(e,t,n){"use strict";(function(e){!function(e,t){function n(e){return"function"==typeof Symbol&&Boolean(Symbol[e])}function r(e){return n(e)?Symbol[e]:"@@"+e}function i(e){setTimeout((function(){throw e}))}function o(e,t){var n=e[t];if(null!=n){if("function"!=typeof n)throw new TypeError(n+" is not a function");return n}}function s(e){var t=e.constructor;return void 0!==t&&null===(t=t[r("species")])&&(t=void 0),void 0!==t?t:d}function a(e,t){Object.keys(t).forEach((function(n){var r=Object.getOwnPropertyDescriptor(t,n);r.enumerable=!1,Object.defineProperty(e,n,r)}))}function u(e){var t=e._cleanup;if(t){e._cleanup=void 0;try{t()}catch(e){i(e)}}}function c(e){return void 0===e._observer}function f(e,t){if(Object(e)!==e)throw new TypeError("Observer must be an object");this._cleanup=void 0,this._observer=e;try{var n=o(e,"start");n&&n.call(e,this)}catch(e){i(e)}if(!c(this)){e=new l(this);try{var r=t.call(void 0,e);if(null!=r){if("function"==typeof r.unsubscribe)s=r,r=function(){s.unsubscribe()};else if("function"!=typeof r)throw new TypeError(r+" is not a function");this._cleanup=r}}catch(t){return void e.error(t)}var s;c(this)&&u(this)}}function l(e){this._subscription=e}function d(e){if(!(this instanceof d))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof e)throw new TypeError("Observable initializer must be a function");this._subscriber=e}"function"!=typeof Symbol||Symbol.observable||(Symbol.observable=Symbol("observable")),a(f.prototype={},{get closed(){return c(this)},unsubscribe:function(){var e;c(e=this)||(e._observer=void 0,u(e))}}),a(l.prototype={},{get closed(){return c(this._subscription)},next:function(e){var t=this._subscription;if(!c(t)){var n=t._observer;try{var r=o(n,"next");r&&r.call(n,e)}catch(e){i(e)}}},error:function(e){var t=this._subscription;if(c(t))i(e);else{var n=t._observer;t._observer=void 0;try{var r=o(n,"error");if(!r)throw e;r.call(n,e)}catch(e){i(e)}u(t)}},complete:function(){var e=this._subscription;if(!c(e)){var t=e._observer;e._observer=void 0;try{var n=o(t,"complete");n&&n.call(t)}catch(e){i(e)}u(e)}}}),a(d.prototype,{subscribe:function(e){for(var t=[],n=1;n1,i=!1,o=arguments[1],a=o;return new n((function(n){return t.subscribe({next:function(t){if(!n.closed){var o=!i;if(i=!0,!o||r)try{a=e(a,t)}catch(e){return n.error(e)}else a=t}},error:function(e){n.error(e)},complete:function(){if(!i&&!r)return n.error(new TypeError("Cannot reduce an empty sequence"));n.next(a),n.complete()}})}))}}),Object.defineProperty(d.prototype,r("observable"),{value:function(){return this},writable:!0,configurable:!0}),a(d,{from:function(e){var t="function"==typeof this?this:d;if(null==e)throw new TypeError(e+" is not an object");var i=o(e,r("observable"));if(i){var s=i.call(e);if(Object(s)!==s)throw new TypeError(s+" is not an object");return s.constructor===t?s:new t((function(e){return s.subscribe(e)}))}if(n("iterator")&&(i=o(e,r("iterator"))))return new t((function(t){for(var n,r=i.call(e)[Symbol.iterator]();!(n=r.next()).done;){var o=n.value;if(t.next(o),t.closed)return}t.complete()}));if(Array.isArray(e))return new t((function(t){for(var n=0;n0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},a=function(){for(var e=[],t=0;t",e),null):t},e.prototype.removePluggable=function(e){this._convertPluggables=this._convertPluggables.filter((function(t){return t.getProviderName()!==e})),this._identifyPluggables=this._identifyPluggables.filter((function(t){return t.getProviderName()!==e})),this._interpretPluggables=this._interpretPluggables.filter((function(t){return t.getProviderName()!==e}))},e.prototype.configure=function(e){var t=this,n=e?e.predictions||e:{};n=o(o({},n),e),this._options=Object.assign({},this._options,n),u.debug("configure Predictions",this._options),this.getAllProviders().forEach((function(e){return t.configurePluggable(e)}))},e.prototype.interpret=function(e,t){return this.getPluggableToExecute(this._interpretPluggables,t).interpret(e)},e.prototype.convert=function(e,t){return this.getPluggableToExecute(this._convertPluggables,t).convert(e)},e.prototype.identify=function(e,t){return this.getPluggableToExecute(this._identifyPluggables,t).identify(e)},e.prototype.getPluggableToExecute=function(e,t){if(t&&t.providerName)return a(e).find((function(e){return e.getProviderName()===t.providerName}));if(1===e.length)return e[0];throw new Error("More than one or no providers are configured, Either specify a provider name or configure exactly one provider")},e.prototype.getAllProviders=function(){return a(this._convertPluggables,this._identifyPluggables,this._interpretPluggables)},e.prototype.configurePluggable=function(e){var t=Object.assign({},this._options.predictions,this._options[e.getCategory().toLowerCase()]);e.configure(t)},e.prototype.implementsConvertPluggable=function(e){return e&&"function"==typeof e.convert},e.prototype.implementsIdentifyPluggable=function(e){return e&&"function"==typeof e.identify},e.prototype.implementsInterpretPluggable=function(e){return e&&"function"==typeof e.interpret},e}())({});i.a.register(c)},function(e,t,n){"use strict";n.d(t,"a",(function(){return ft}));var r=n(44),i=n(19),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}Object.create;var p,v,g,m,b,y,w,_,S,E,M,A,I,k,O,x,C,T,P,N,R,L,j,D,U,B,F,z,q,K,H,V,G,W,$,Y=n(155),J=n(38),Z=n(18),X=n(24),Q=n(11),ee=n(39),te=n(17),ne=n(40),re=n(41),ie=n(15),oe=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),se=new Set(["cn-north-1","cn-northwest-1"]),ae=new Set(["us-iso-east-1"]),ue=new Set(["us-isob-east-1"]),ce=new Set(["us-gov-east-1","us-gov-west-1"]),fe=f(f({},{apiVersion:"2016-11-28",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"eu-west-1":n={hostname:"runtime.lex.eu-west-1.amazonaws.com",partition:"aws",signingService:"lex"};break;case"us-east-1":n={hostname:"runtime.lex.us-east-1.amazonaws.com",partition:"aws",signingService:"lex"};break;case"us-west-2":n={hostname:"runtime.lex.us-west-2.amazonaws.com",partition:"aws",signingService:"lex"};break;default:oe.has(e)&&(n={hostname:"runtime.lex.{region}.amazonaws.com".replace("{region}",e),partition:"aws",signingService:"lex"}),se.has(e)&&(n={hostname:"runtime.lex.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),ae.has(e)&&(n={hostname:"runtime.lex.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),ue.has(e)&&(n={hostname:"runtime.lex.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),ce.has(e)&&(n={hostname:"runtime.lex.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"runtime.lex.{region}.amazonaws.com".replace("{region}",e),partition:"aws",signingService:"lex"})}return Promise.resolve(n)},signingName:"lex"}),{runtime:"browser",base64Decoder:te.a,base64Encoder:te.b,bodyLengthChecker:ne.a,credentialDefaultProvider:Object(X.a)("Credential is missing"),defaultUserAgent:Object(re.a)(Y.name,Y.version),maxAttempts:Q.a,region:Object(X.a)("Region is missing"),requestHandler:new Z.a,sha256:J.Sha256,streamCollector:Z.b,urlParser:ee.a,utf8Decoder:ie.a,utf8Encoder:ie.b}),le=n(22),de=n(37),he=n(21),pe=n(43),ve=n(25),ge=n(23),me=n(0),be=function(e){function t(t){var n=this,r=f(f({},fe),t),i=Object(le.b)(r),o=Object(le.a)(i),s=Object(ve.b)(o),a=Object(Q.c)(s),u=Object(ge.b)(a),c=Object(he.b)(u);return(n=e.call(this,c)||this).config=c,n.middlewareStack.use(Object(ve.a)(n.config)),n.middlewareStack.use(Object(Q.b)(n.config)),n.middlewareStack.use(Object(ge.a)(n.config)),n.middlewareStack.use(Object(de.a)(n.config)),n.middlewareStack.use(Object(he.a)(n.config)),n.middlewareStack.use(Object(pe.a)(n.config)),n}return c(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(me.a);(p||(p={})).filterSensitiveLog=function(e){return f({},e)},(v||(v={})).filterSensitiveLog=function(e){return f({},e)},(g||(g={})).filterSensitiveLog=function(e){return f({},e)},(m||(m={})).filterSensitiveLog=function(e){return f({},e)},(b||(b={})).filterSensitiveLog=function(e){return f({},e)},(y||(y={})).filterSensitiveLog=function(e){return f({},e)},(w||(w={})).filterSensitiveLog=function(e){return f({},e)},(_||(_={})).filterSensitiveLog=function(e){return f({},e)},function(e){e.FAILED="Failed",e.FULFILLED="Fulfilled",e.READY_FOR_FULFILLMENT="ReadyForFulfillment"}(S||(S={})),function(e){e.COMPOSITE="Composite",e.CUSTOM_PAYLOAD="CustomPayload",e.PLAIN_TEXT="PlainText",e.SSML="SSML"}(E||(E={})),function(e){e.CLOSE="Close",e.CONFIRM_INTENT="ConfirmIntent",e.DELEGATE="Delegate",e.ELICIT_INTENT="ElicitIntent",e.ELICIT_SLOT="ElicitSlot"}(M||(M={})),(A||(A={})).filterSensitiveLog=function(e){return f(f(f({},e),e.slots&&{slots:me.d}),e.message&&{message:me.d})},function(e){e.CONFIRMED="Confirmed",e.DENIED="Denied",e.NONE="None"}(I||(I={})),(k||(k={})).filterSensitiveLog=function(e){return f(f({},e),e.slots&&{slots:me.d})},(O||(O={})).filterSensitiveLog=function(e){return f(f(f(f({},e),e.dialogAction&&{dialogAction:A.filterSensitiveLog(e.dialogAction)}),e.recentIntentSummaryView&&{recentIntentSummaryView:e.recentIntentSummaryView.map((function(e){return k.filterSensitiveLog(e)}))}),e.sessionAttributes&&{sessionAttributes:me.d})},(x||(x={})).filterSensitiveLog=function(e){return f({},e)},(C||(C={})).filterSensitiveLog=function(e){return f({},e)},(T||(T={})).filterSensitiveLog=function(e){return f({},e)},(P||(P={})).filterSensitiveLog=function(e){return f({},e)},(N||(N={})).filterSensitiveLog=function(e){return f(f(f({},e),e.requestAttributes&&{requestAttributes:me.d}),e.sessionAttributes&&{sessionAttributes:me.d})},function(e){e.CONFIRM_INTENT="ConfirmIntent",e.ELICIT_INTENT="ElicitIntent",e.ELICIT_SLOT="ElicitSlot",e.FAILED="Failed",e.FULFILLED="Fulfilled",e.READY_FOR_FULFILLMENT="ReadyForFulfillment"}(R||(R={})),(L||(L={})).filterSensitiveLog=function(e){return f(f({},e),e.message&&{message:me.d})},(j||(j={})).filterSensitiveLog=function(e){return f({},e)},(D||(D={})).filterSensitiveLog=function(e){return f({},e)},(U||(U={})).filterSensitiveLog=function(e){return f(f(f(f({},e),e.requestAttributes&&{requestAttributes:me.d}),e.inputText&&{inputText:me.d}),e.sessionAttributes&&{sessionAttributes:me.d})},(B||(B={})).filterSensitiveLog=function(e){return f({},e)},(F||(F={})).filterSensitiveLog=function(e){return f(f({},e),e.slots&&{slots:me.d})},function(e){e.GENERIC="application/vnd.amazonaws.card.generic"}(z||(z={})),(q||(q={})).filterSensitiveLog=function(e){return f({},e)},(K||(K={})).filterSensitiveLog=function(e){return f({},e)},(H||(H={})).filterSensitiveLog=function(e){return f({},e)},(V||(V={})).filterSensitiveLog=function(e){return f({},e)},(G||(G={})).filterSensitiveLog=function(e){return f(f(f(f(f({},e),e.alternativeIntents&&{alternativeIntents:e.alternativeIntents.map((function(e){return F.filterSensitiveLog(e)}))}),e.message&&{message:me.d}),e.sessionAttributes&&{sessionAttributes:me.d}),e.slots&&{slots:me.d})},(W||(W={})).filterSensitiveLog=function(e){return f(f(f(f({},e),e.dialogAction&&{dialogAction:A.filterSensitiveLog(e.dialogAction)}),e.recentIntentSummaryView&&{recentIntentSummaryView:e.recentIntentSummaryView.map((function(e){return k.filterSensitiveLog(e)}))}),e.sessionAttributes&&{sessionAttributes:me.d})},($||($={})).filterSensitiveLog=function(e){return f(f({},e),e.message&&{message:me.d})};var ye,we=n(2),_e=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p,v,g,m,b,y,w,_;return d(this,(function(d){switch(d.label){case 0:return r=[f({},e)],_={},[4,Ge(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(_.body=d.sent(),_)])),o="UnknownError",o=We(e,n.body),o){case"BadGatewayException":case"com.amazonaws.lexruntimeservice#BadGatewayException":return[3,2];case"BadRequestException":case"com.amazonaws.lexruntimeservice#BadRequestException":return[3,4];case"ConflictException":case"com.amazonaws.lexruntimeservice#ConflictException":return[3,6];case"DependencyFailedException":case"com.amazonaws.lexruntimeservice#DependencyFailedException":return[3,8];case"InternalFailureException":case"com.amazonaws.lexruntimeservice#InternalFailureException":return[3,10];case"LimitExceededException":case"com.amazonaws.lexruntimeservice#LimitExceededException":return[3,12];case"LoopDetectedException":case"com.amazonaws.lexruntimeservice#LoopDetectedException":return[3,14];case"NotAcceptableException":case"com.amazonaws.lexruntimeservice#NotAcceptableException":return[3,16];case"NotFoundException":case"com.amazonaws.lexruntimeservice#NotFoundException":return[3,18];case"RequestTimeoutException":case"com.amazonaws.lexruntimeservice#RequestTimeoutException":return[3,20];case"UnsupportedMediaTypeException":case"com.amazonaws.lexruntimeservice#UnsupportedMediaTypeException":return[3,22]}return[3,24];case 2:return s=[{}],[4,Ee(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 4:return a=[{}],[4,Me(n,t)];case 5:return i=f.apply(void 0,[f.apply(void 0,a.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 6:return u=[{}],[4,Ae(n,t)];case 7:return i=f.apply(void 0,[f.apply(void 0,u.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 8:return c=[{}],[4,Ie(n,t)];case 9:return i=f.apply(void 0,[f.apply(void 0,c.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 10:return l=[{}],[4,ke(n,t)];case 11:return i=f.apply(void 0,[f.apply(void 0,l.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 12:return h=[{}],[4,Oe(n,t)];case 13:return i=f.apply(void 0,[f.apply(void 0,h.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 14:return p=[{}],[4,xe(n,t)];case 15:return i=f.apply(void 0,[f.apply(void 0,p.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 16:return v=[{}],[4,Ce(n,t)];case 17:return i=f.apply(void 0,[f.apply(void 0,v.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 18:return g=[{}],[4,Te(n,t)];case 19:return i=f.apply(void 0,[f.apply(void 0,g.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 20:return m=[{}],[4,Pe(n,t)];case 21:return i=f.apply(void 0,[f.apply(void 0,m.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 22:return b=[{}],[4,Ne(n,t)];case 23:return i=f.apply(void 0,[f.apply(void 0,b.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,25];case 24:y=n.body,o=y.code||y.Code||o,i=f(f({},y),{name:""+o,message:y.message||y.Message||o,$fault:"client",$metadata:Ke(e)}),d.label=25;case 25:return w=i.message||i.Message||o,i.message=w,delete i.Message,[2,Promise.reject(Object.assign(new Error(w),i))]}}))}))},Se=function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l,h,p,v,g,m,b;return d(this,(function(d){switch(d.label){case 0:return r=[f({},e)],b={},[4,Ge(e.body,t)];case 1:switch(n=f.apply(void 0,r.concat([(b.body=d.sent(),b)])),o="UnknownError",o=We(e,n.body),o){case"BadGatewayException":case"com.amazonaws.lexruntimeservice#BadGatewayException":return[3,2];case"BadRequestException":case"com.amazonaws.lexruntimeservice#BadRequestException":return[3,4];case"ConflictException":case"com.amazonaws.lexruntimeservice#ConflictException":return[3,6];case"DependencyFailedException":case"com.amazonaws.lexruntimeservice#DependencyFailedException":return[3,8];case"InternalFailureException":case"com.amazonaws.lexruntimeservice#InternalFailureException":return[3,10];case"LimitExceededException":case"com.amazonaws.lexruntimeservice#LimitExceededException":return[3,12];case"LoopDetectedException":case"com.amazonaws.lexruntimeservice#LoopDetectedException":return[3,14];case"NotFoundException":case"com.amazonaws.lexruntimeservice#NotFoundException":return[3,16]}return[3,18];case 2:return s=[{}],[4,Ee(n,t)];case 3:return i=f.apply(void 0,[f.apply(void 0,s.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 4:return a=[{}],[4,Me(n,t)];case 5:return i=f.apply(void 0,[f.apply(void 0,a.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 6:return u=[{}],[4,Ae(n,t)];case 7:return i=f.apply(void 0,[f.apply(void 0,u.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 8:return c=[{}],[4,Ie(n,t)];case 9:return i=f.apply(void 0,[f.apply(void 0,c.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 10:return l=[{}],[4,ke(n,t)];case 11:return i=f.apply(void 0,[f.apply(void 0,l.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 12:return h=[{}],[4,Oe(n,t)];case 13:return i=f.apply(void 0,[f.apply(void 0,h.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 14:return p=[{}],[4,xe(n,t)];case 15:return i=f.apply(void 0,[f.apply(void 0,p.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 16:return v=[{}],[4,Te(n,t)];case 17:return i=f.apply(void 0,[f.apply(void 0,v.concat([d.sent()])),{name:o,$metadata:Ke(e)}]),[3,19];case 18:g=n.body,o=g.code||g.Code||o,i=f(f({},g),{name:""+o,message:g.message||g.Message||o,$fault:"client",$metadata:Ke(e)}),d.label=19;case 19:return m=i.message||i.Message||o,i.message=m,delete i.Message,[2,Promise.reject(Object.assign(new Error(m),i))]}}))}))},Ee=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"BadGatewayException",$fault:"server",$metadata:Ke(e),Message:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),[2,t]}))}))},Me=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"BadRequestException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Ae=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"ConflictException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Ie=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"DependencyFailedException",$fault:"client",$metadata:Ke(e),Message:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),[2,t]}))}))},ke=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"InternalFailureException",$fault:"server",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Oe=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"LimitExceededException",$fault:"client",$metadata:Ke(e),message:void 0,retryAfterSeconds:void 0},void 0!==e.headers["retry-after"]&&(t.retryAfterSeconds=e.headers["retry-after"]),void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},xe=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"LoopDetectedException",$fault:"server",$metadata:Ke(e),Message:void 0},void 0!==(n=e.body).Message&&null!==n.Message&&(t.Message=n.Message),[2,t]}))}))},Ce=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"NotAcceptableException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Te=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"NotFoundException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Pe=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"RequestTimeoutException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Ne=function(e,t){return l(void 0,void 0,void 0,(function(){var t,n;return d(this,(function(r){return t={name:"UnsupportedMediaTypeException",$fault:"client",$metadata:Ke(e),message:void 0},void 0!==(n=e.body).message&&null!==n.message&&(t.message=n.message),[2,t]}))}))},Re=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=h(t,2),i=r[0],o=r[1];return f(f({},e),((n={})[i]=o,n))}),{})},Le=function(e,t){return(e||[]).map((function(e){return function(e,t){return{attachmentLinkUrl:void 0!==e.attachmentLinkUrl&&null!==e.attachmentLinkUrl?e.attachmentLinkUrl:void 0,buttons:void 0!==e.buttons&&null!==e.buttons?Ue(e.buttons,t):void 0,imageUrl:void 0!==e.imageUrl&&null!==e.imageUrl?e.imageUrl:void 0,subTitle:void 0!==e.subTitle&&null!==e.subTitle?e.subTitle:void 0,title:void 0!==e.title&&null!==e.title?e.title:void 0}}(e,t)}))},je=function(e,t){return{score:void 0!==e.score&&null!==e.score?e.score:void 0}},De=function(e,t){return(e||[]).map((function(e){return Be(e,t)}))},Ue=function(e,t){return(e||[]).map((function(e){return function(e,t){return{text:void 0!==e.text&&null!==e.text?e.text:void 0,value:void 0!==e.value&&null!==e.value?e.value:void 0}}(e)}))},Be=function(e,t){return{intentName:void 0!==e.intentName&&null!==e.intentName?e.intentName:void 0,nluIntentConfidence:void 0!==e.nluIntentConfidence&&null!==e.nluIntentConfidence?je(e.nluIntentConfidence,t):void 0,slots:void 0!==e.slots&&null!==e.slots?qe(e.slots,t):void 0}},Fe=function(e,t){return{contentType:void 0!==e.contentType&&null!==e.contentType?e.contentType:void 0,genericAttachments:void 0!==e.genericAttachments&&null!==e.genericAttachments?Le(e.genericAttachments,t):void 0,version:void 0!==e.version&&null!==e.version?e.version:void 0}},ze=function(e,t){return{sentimentLabel:void 0!==e.sentimentLabel&&null!==e.sentimentLabel?e.sentimentLabel:void 0,sentimentScore:void 0!==e.sentimentScore&&null!==e.sentimentScore?e.sentimentScore:void 0}},qe=function(e,t){return Object.entries(e).reduce((function(e,t){var n,r=h(t,2),i=r[0],o=r[1];return f(f({},e),((n={})[i]=o,n))}),{})},Ke=function(e){return{httpStatusCode:e.statusCode,httpHeaders:e.headers,requestId:e.headers["x-amzn-requestid"]}},He=function(e,t){return function(e,t){return void 0===e&&(e=new Uint8Array),e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array)}(e,t).then((function(e){return t.utf8Encoder(e)}))},Ve=function(e){return!(void 0===e||""===e||Object.getOwnPropertyNames(e).includes("length")&&0==e.length||Object.getOwnPropertyNames(e).includes("size")&&0==e.size)},Ge=function(e,t){return He(e,t).then((function(e){return e.length?JSON.parse(e):{}}))},We=function(e,t){var n,r,i=function(e){var t=e;return t.indexOf(":")>=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},o=(n=e.headers,r="x-amzn-errortype",Object.keys(n).find((function(e){return e.toLowerCase()===r.toLowerCase()})));return void 0!==o?i(e.headers[o]):void 0!==t.code?i(t.code):void 0!==t.__type?i(t.__type):""},$e=n(10),Ye=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object($e.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"LexRuntimeServiceClient",commandName:"PostTextCommand",inputFilterSensitiveLog:U.filterSensitiveLog,outputFilterSensitiveLog:G.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"LexRuntimeServiceClient",commandName:"PostTextCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n={"Content-Type":"application/json"},r="/bot/{botName}/alias/{botAlias}/user/{userId}/text",void 0===e.userId)throw new Error("No value provided for input HTTP label: userId.");if((i=e.userId).length<=0)throw new Error("Empty value provided for input HTTP label: userId.");if(r=r.replace("{userId}",Object(me.f)(i)),void 0===e.botAlias)throw new Error("No value provided for input HTTP label: botAlias.");if((i=e.botAlias).length<=0)throw new Error("Empty value provided for input HTTP label: botAlias.");if(r=r.replace("{botAlias}",Object(me.f)(i)),void 0===e.botName)throw new Error("No value provided for input HTTP label: botName.");if((i=e.botName).length<=0)throw new Error("Empty value provided for input HTTP label: botName.");return r=r.replace("{botName}",Object(me.f)(i)),o=JSON.stringify(f(f(f({},void 0!==e.inputText&&{inputText:e.inputText}),void 0!==e.requestAttributes&&{requestAttributes:Re(e.requestAttributes,t)}),void 0!==e.sessionAttributes&&{sessionAttributes:Re(e.sessionAttributes,t)})),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new we.a({protocol:c,hostname:a,port:l,method:"POST",headers:n,path:r,body:o})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){switch(i.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,Se(e,t)]:(n={$metadata:Ke(e),alternativeIntents:void 0,botVersion:void 0,dialogState:void 0,intentName:void 0,message:void 0,messageFormat:void 0,nluIntentConfidence:void 0,responseCard:void 0,sentimentResponse:void 0,sessionAttributes:void 0,sessionId:void 0,slotToElicit:void 0,slots:void 0},[4,Ge(e.body,t)]);case 1:return void 0!==(r=i.sent()).alternativeIntents&&null!==r.alternativeIntents&&(n.alternativeIntents=De(r.alternativeIntents,t)),void 0!==r.botVersion&&null!==r.botVersion&&(n.botVersion=r.botVersion),void 0!==r.dialogState&&null!==r.dialogState&&(n.dialogState=r.dialogState),void 0!==r.intentName&&null!==r.intentName&&(n.intentName=r.intentName),void 0!==r.message&&null!==r.message&&(n.message=r.message),void 0!==r.messageFormat&&null!==r.messageFormat&&(n.messageFormat=r.messageFormat),void 0!==r.nluIntentConfidence&&null!==r.nluIntentConfidence&&(n.nluIntentConfidence=je(r.nluIntentConfidence,t)),void 0!==r.responseCard&&null!==r.responseCard&&(n.responseCard=Fe(r.responseCard,t)),void 0!==r.sentimentResponse&&null!==r.sentimentResponse&&(n.sentimentResponse=ze(r.sentimentResponse,t)),void 0!==r.sessionAttributes&&null!==r.sessionAttributes&&(n.sessionAttributes=qe(r.sessionAttributes,t)),void 0!==r.sessionId&&null!==r.sessionId&&(n.sessionId=r.sessionId),void 0!==r.slotToElicit&&null!==r.slotToElicit&&(n.slotToElicit=r.slotToElicit),void 0!==r.slots&&null!==r.slots&&(n.slots=qe(r.slots,t)),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(me.b),Je=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return c(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object($e.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"LexRuntimeServiceClient",commandName:"PostContentCommand",inputFilterSensitiveLog:N.filterSensitiveLog,outputFilterSensitiveLog:L.filterSensitiveLog};"function"==typeof i.info&&i.info({clientName:"LexRuntimeServiceClient",commandName:"PostContentCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,l;return d(this,(function(d){switch(d.label){case 0:if(n=f(f(f(f({"Content-Type":"application/octet-stream","x-amz-content-sha256":"UNSIGNED-PAYLOAD"},Ve(e.requestAttributes)&&{"x-amz-lex-request-attributes":me.c.fromObject(e.requestAttributes)}),Ve(e.sessionAttributes)&&{"x-amz-lex-session-attributes":me.c.fromObject(e.sessionAttributes)}),Ve(e.contentType)&&{"Content-Type":e.contentType}),Ve(e.accept)&&{Accept:e.accept}),r="/bot/{botName}/alias/{botAlias}/user/{userId}/content",void 0===e.botAlias)throw new Error("No value provided for input HTTP label: botAlias.");if((i=e.botAlias).length<=0)throw new Error("Empty value provided for input HTTP label: botAlias.");if(r=r.replace("{botAlias}",Object(me.f)(i)),void 0===e.botName)throw new Error("No value provided for input HTTP label: botName.");if((i=e.botName).length<=0)throw new Error("Empty value provided for input HTTP label: botName.");if(r=r.replace("{botName}",Object(me.f)(i)),void 0===e.userId)throw new Error("No value provided for input HTTP label: userId.");if((i=e.userId).length<=0)throw new Error("Empty value provided for input HTTP label: userId.");return r=r.replace("{userId}",Object(me.f)(i)),void 0!==e.inputStream&&(o=e.inputStream),[4,t.endpoint()];case 1:return s=d.sent(),a=s.hostname,u=s.protocol,c=void 0===u?"https":u,l=s.port,[2,new we.a({protocol:c,hostname:a,port:l,method:"POST",headers:n,path:r,body:o})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return l(void 0,void 0,void 0,(function(){var n,r;return d(this,(function(i){return 200!==e.statusCode&&e.statusCode>=300?[2,_e(e,t)]:(n={$metadata:Ke(e),alternativeIntents:void 0,audioStream:void 0,botVersion:void 0,contentType:void 0,dialogState:void 0,inputTranscript:void 0,intentName:void 0,message:void 0,messageFormat:void 0,nluIntentConfidence:void 0,sentimentResponse:void 0,sessionAttributes:void 0,sessionId:void 0,slotToElicit:void 0,slots:void 0},void 0!==e.headers["x-amz-lex-alternative-intents"]&&(n.alternativeIntents=new me.c(e.headers["x-amz-lex-alternative-intents"])),void 0!==e.headers["x-amz-lex-message-format"]&&(n.messageFormat=e.headers["x-amz-lex-message-format"]),void 0!==e.headers["content-type"]&&(n.contentType=e.headers["content-type"]),void 0!==e.headers["x-amz-lex-message"]&&(n.message=e.headers["x-amz-lex-message"]),void 0!==e.headers["x-amz-lex-bot-version"]&&(n.botVersion=e.headers["x-amz-lex-bot-version"]),void 0!==e.headers["x-amz-lex-sentiment"]&&(n.sentimentResponse=e.headers["x-amz-lex-sentiment"]),void 0!==e.headers["x-amz-lex-slots"]&&(n.slots=new me.c(e.headers["x-amz-lex-slots"])),void 0!==e.headers["x-amz-lex-input-transcript"]&&(n.inputTranscript=e.headers["x-amz-lex-input-transcript"]),void 0!==e.headers["x-amz-lex-slot-to-elicit"]&&(n.slotToElicit=e.headers["x-amz-lex-slot-to-elicit"]),void 0!==e.headers["x-amz-lex-session-attributes"]&&(n.sessionAttributes=new me.c(e.headers["x-amz-lex-session-attributes"])),void 0!==e.headers["x-amz-lex-session-id"]&&(n.sessionId=e.headers["x-amz-lex-session-id"]),void 0!==e.headers["x-amz-lex-dialog-state"]&&(n.dialogState=e.headers["x-amz-lex-dialog-state"]),void 0!==e.headers["x-amz-lex-intent-name"]&&(n.intentName=e.headers["x-amz-lex-intent-name"]),void 0!==e.headers["x-amz-lex-nlu-intent-confidence"]&&(n.nluIntentConfidence=new me.c(e.headers["x-amz-lex-nlu-intent-confidence"])),r=e.body,n.audioStream=r,[2,Promise.resolve(n)])}))}))}(e,t)},t}(me.b),Ze=n(89),Xe=n(50),Qe=function(e){if(e instanceof Blob||e instanceof ReadableStream)return new Response(e).arrayBuffer().then((function(e){return new Uint8Array(e)}));throw new Error("Readable is not supported.")},et=(ye=function(e,t){return(ye=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}ye(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),tt=function(){return(tt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},o=(n=e.headers,r="x-amzn-errortype",Object.keys(n).find((function(e){return e.toLowerCase()===r.toLowerCase()})));return void 0!==o?i(e.headers[o]):void 0!==t.code?i(t.code):void 0!==t.__type?i(t.__type):""},N=n(10),R=function(e){function t(t){var n=e.call(this)||this;return n.input=t,n}return u(t,e),t.prototype.resolveMiddleware=function(e,t,n){this.middlewareStack.use(Object(N.a)(t,this.serialize,this.deserialize));var r=e.concat(this.middlewareStack),i=t.logger,o={logger:i,clientName:"PersonalizeEventsClient",commandName:"PutEventsCommand",inputFilterSensitiveLog:p.filterSensitiveLog,outputFilterSensitiveLog:function(e){return e}};"function"==typeof i.info&&i.info({clientName:"PersonalizeEventsClient",commandName:"PutEventsCommand"});var s=t.requestHandler;return r.resolve((function(e){return s.handle(e.request,n||{})}),o)},t.prototype.serialize=function(e,t){return function(e,t){return f(void 0,void 0,void 0,(function(){var n,r,i,o,s,a,u,f;return l(this,(function(l){switch(l.label){case 0:return n={"Content-Type":"application/json"},r="/events",i=JSON.stringify(c(c(c(c({},void 0!==e.eventList&&{eventList:k(e.eventList,t)}),void 0!==e.sessionId&&{sessionId:e.sessionId}),void 0!==e.trackingId&&{trackingId:e.trackingId}),void 0!==e.userId&&{userId:e.userId})),[4,t.endpoint()];case 1:return o=l.sent(),s=o.hostname,a=o.protocol,u=void 0===a?"https":a,f=o.port,[2,new E.a({protocol:u,hostname:s,port:f,method:"POST",headers:n,path:r,body:i})]}}))}))}(e,t)},t.prototype.deserialize=function(e,t){return function(e,t){return f(void 0,void 0,void 0,(function(){var n;return l(this,(function(r){switch(r.label){case 0:return 200!==e.statusCode&&e.statusCode>=300?[2,A(e,t)]:(n={$metadata:x(e)},[4,C(e.body,t)]);case 1:return r.sent(),[2,Promise.resolve(n)]}}))}))}(e,t)},t}(M.b),L=n(152),j=n(38),D=n(18),U=n(24),B=n(11),F=n(39),z=n(17),q=n(40),K=n(41),H=n(15),V="personalize-events.{region}.amazonaws.com",G=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),W=new Set(["cn-north-1","cn-northwest-1"]),$=new Set(["us-iso-east-1"]),Y=new Set(["us-isob-east-1"]),J=new Set(["us-gov-east-1","us-gov-west-1"]),Z=c(c({},{apiVersion:"2018-03-22",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;return G.has(e)&&(n={hostname:V.replace("{region}",e),partition:"aws"}),W.has(e)&&(n={hostname:"personalize-events.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),$.has(e)&&(n={hostname:"personalize-events.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),Y.has(e)&&(n={hostname:"personalize-events.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),J.has(e)&&(n={hostname:"personalize-events.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:V.replace("{region}",e),partition:"aws"}),Promise.resolve(n)},signingName:"personalize"}),{runtime:"browser",base64Decoder:z.a,base64Encoder:z.b,bodyLengthChecker:q.a,credentialDefaultProvider:Object(U.a)("Credential is missing"),defaultUserAgent:Object(K.a)(L.name,L.version),maxAttempts:B.a,region:Object(U.a)("Region is missing"),requestHandler:new D.a,sha256:j.Sha256,streamCollector:D.b,urlParser:F.a,utf8Decoder:H.a,utf8Encoder:H.b}),X=n(22),Q=n(37),ee=n(21),te=n(43),ne=n(25),re=n(23),ie=function(e){function t(t){var n=this,r=c(c({},Z),t),i=Object(X.b)(r),o=Object(X.a)(i),s=Object(ne.b)(o),a=Object(B.c)(s),u=Object(re.b)(a),f=Object(ee.b)(u);return(n=e.call(this,f)||this).config=f,n.middlewareStack.use(Object(ne.a)(n.config)),n.middlewareStack.use(Object(B.b)(n.config)),n.middlewareStack.use(Object(re.a)(n.config)),n.middlewareStack.use(Object(Q.a)(n.config)),n.middlewareStack.use(Object(ee.a)(n.config)),n.middlewareStack.use(Object(te.a)(n.config)),n}return u(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(M.a),oe=n(36),se=n.n(oe),ae=n(108),ue=n.n(ae),ce=n(27),fe=n(26),le=(new r.a("AmazonPersonalizeProvider"),function(){function e(e){void 0===e&&(e=""),this._isBrowser=i.a.browserOrNode().isBrowser,this._timerKey=Object(ce.v1)().substr(0,15),this._refreshTimer()}return e.prototype._refreshTimer=function(){this._timer&&clearInterval(this._timer);var e=this;this._timer=setInterval((function(){e._timerKey=Object(ce.v1)().substr(0,15)}),3e4)},e.prototype.storeValue=function(e,t){var n=new Date,r=new Date;r.setTime(n.getTime()+6048e5),fe.a.setItem(this._getCachePrefix(e),t,{expires:r.getTime()})},e.prototype.retrieveValue=function(e){return fe.a.getItem(this._getCachePrefix(e))},e.prototype._getCachePrefix=function(e){return this._isBrowser?e+"."+window.location.host:"peronslize"},e.prototype.getTimerKey=function(){return this._timerKey},e.prototype.updateSessionInfo=function(e,t){var n=t.userId,r=t.sessionId;if(this._isRequireNewSession(e,n,r)){var i=Object(ce.v1)();this.storeValue("_awsct_uid",e),this.storeValue("_awsct_sid",i),t.sessionId=i}else this._isRequireUpdateSessionInfo(e,n,r)&&this.storeValue("_awsct_uid",e);t.userId=e},e.prototype._isRequireUpdateSessionInfo=function(e,t,n){return!se()(n)&&se()(t)&&!se()(e)},e.prototype.retrieveSessionInfo=function(e){var t={};return t.trackingId=e,t.sessionId=this.retrieveValue("_awsct_sid"),t.userId=this.retrieveValue("_awsct_uid"),se()(t.sessionId)&&(t.sessionId=Object(ce.v1)(),this.storeValue("_awsct_sid",t.sessionId)),this.storeValue("_awsct",e),t},e.prototype._isRequireNewSession=function(e,t,n){var r=se()(n),i=se()(e)&&!se()(t),o=!se()(e)&&!se()(t)&&!ue()(e,t);return r||i||o},e}());!function(e){e.PLAY="play",e.PAUSE="pause",e.ENDED="Ended"}(w||(w={})),function(e){e.IFRAME="IFRAME",e.VIDEO="VIDEO",e.AUDIO="AUDIO"}(_||(_={})),function(e){e.PLAY="Play",e.ENDED="Ended",e.PAUSE="Pause",e.TIME_WATCHED="TimeWatched"}(S||(S={}));var de=function(){function e(e,t){var n;this.eventActionMapping=((n={})[S.ENDED]=this.endedEventAction.bind(this),n[S.PLAY]=this.playEventAction.bind(this),n[S.PAUSE]=this.pauseEventAction.bind(this),n);var r=e.eventData;this._params=e,this._mediaElement=document.getElementById(r.properties.domElementId),this._started=!1,this._provider=t,{IFRAME:this._iframeMediaTracker,VIDEO:this._html5MediaTracker,AUDIO:this._html5MediaTracker}[this._mediaElement.tagName].bind(this)(),this._initYoutubeFrame()}return e.prototype._initYoutubeFrame=function(){this._youTubeIframeLoader={src:"https://www.youtube.com/iframe_api",loading:!1,loaded:!1,listeners:[],load:function(e){var t=this;if(this.listeners.push(e),this.loaded)setTimeout((function(){t.done()}));else if(!this.loading){this.loading=!0,window.onYouTubeIframeAPIReady=function(){t.loaded=!0,t.done()};var n=document.createElement("script");n.type="text/javascript",n.src=this.src,document.body.appendChild(n)}},done:function(){for(delete window.onYouTubeIframeAPIReady;this.listeners.length;)this.listeners.pop()(window.YT)}}},e.prototype._iframeMediaTracker=function(){var e=this;setInterval((function(){e._started&&e.recordEvent(_.IFRAME,S.TIME_WATCHED)}),3e3),this._youTubeIframeLoader.load((function(t){e._iframePlayer=new t.Player(e._mediaElement.id,{events:{onStateChange:e._onPlayerStateChange.bind(e)}})}))},e.prototype._onPlayerStateChange=function(e){var t={0:S.ENDED,1:S.PLAY,2:S.PAUSE}[e.data];t&&this.eventActionMapping[t](_.IFRAME)},e.prototype._html5MediaTracker=function(){var e=this;setInterval((function(){e._started&&e.recordEvent(_.VIDEO,S.TIME_WATCHED)}),3e3),this._mediaElement.addEventListener(w.PLAY,(function(){e.eventActionMapping[S.PLAY](_.VIDEO)}),!1),this._mediaElement.addEventListener(w.PAUSE,(function(){e.eventActionMapping[S.PAUSE](_.VIDEO)}),!1),this._mediaElement.addEventListener(w.ENDED,(function(){e.eventActionMapping[S.ENDED](_.VIDEO)}),!1)},e.prototype.playEventAction=function(e){this._started=!0,this.recordEvent(e,S.PLAY)},e.prototype.pauseEventAction=function(e){this._started=!1,this.recordEvent(e,S.PAUSE)},e.prototype.endedEventAction=function(e){this._started=!1,this.recordEvent(e,S.ENDED)},e.prototype.recordEvent=function(e,t){var n=Object.assign({},this._params),r=n.eventData;r.eventType=t,e===_.VIDEO?(r.properties.timestamp=this._mediaElement.currentTime,r.properties.duration=this._mediaElement.duration):(r.properties.timestamp=this._financial(this._iframePlayer.getCurrentTime()),r.properties.duration=this._financial(this._iframePlayer.getDuration()));var i=parseFloat(r.properties.timestamp)/parseFloat(r.properties.duration);r.properties.eventValue=Number(i.toFixed(4)),delete r.properties.domElementId,this._provider.putToBuffer(n)},e.prototype._financial=function(e){return Number.parseFloat(e).toFixed(4)},e}(),he=n(252),pe=n.n(he),ve=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},ge=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this._config.flushSize<=10?this._config.flushSize:5,this._config.flushInterval=this._config.flushInterval||5e3,this._sessionManager=new le,se()(this._config.trackingId)||(this._sessionInfo=this._sessionManager.retrieveSessionInfo(this._config.trackingId)),this._isBrowser=i.a.browserOrNode().isBrowser,this._setupTimer()}return e.prototype._setupTimer=function(){this._timer&&clearInterval(this._timer);var e=this._config.flushInterval,t=this;this._timer=setInterval((function(){t._sendFromBuffer()}),e)},e.prototype.record=function(e){return ve(this,void 0,void 0,(function(){var t,n,r,i,o;return ge(this,(function(s){switch(s.label){case 0:return[4,this._getCredentials()];case 1:return(t=s.sent())?(Object.assign(e,{config:this._config,credentials:t,sentAt:new Date}),n=e.event,r=n.eventType,i=n.properties,"Identify"===r?(this._sessionManager.updateSessionInfo(i&&i.userId?i.userId:"",this._sessionInfo),[2]):(se()(e.event.userId)||this._sessionManager.updateSessionInfo(e.event.userId,this._sessionInfo),o=this.generateRequestParams(e,this._sessionInfo),"MediaAutoTrack"!==r?[3,7]:this._isBrowser?se()(pe()(o,"eventData.properties.domElementId",null))?[3,3]:[4,this.isElementFullyLoaded(this.loadElement,o.eventData.properties.domElementId,500,5)]:[3,5])):[2,Promise.resolve(!1)];case 2:return s.sent()?new de(o,this):me.debug("Cannot find the media element."),[3,4];case 3:me.debug("Missing domElementId field in 'properties' for MediaAutoTrack event type."),s.label=4;case 4:return[3,6];case 5:me.debug("MediaAutoTrack only for browser"),s.label=6;case 6:return[2];case 7:return[2,this.putToBuffer(o)]}}))}))},e.prototype.loadElement=function(e){return new Promise((function(t,n){return document.getElementById(e)&&document.getElementById(e).clientHeight?t(!0):n(!0)}))},e.prototype.isElementFullyLoaded=function(e,t,n,r){var i=this;return new Promise((function(o,s){return e(t).then(o).catch((function(a){return r-1>0?(u=n,new Promise((function(e){return setTimeout(e,u)}))).then(i.isElementFullyLoaded.bind(null,e,t,n,r-1)).then(o).catch(s):s(a);var u}))}))},e.prototype.getCategory=function(){return"Analytics"},e.prototype.getProviderName=function(){return"AmazonPersonalize"},e.prototype.configure=function(e){me.debug("configure Analytics",e);var t=e||{};return this._config=Object.assign({},this._config,t),se()(this._config.trackingId)||(this._sessionInfo=this._sessionManager.retrieveSessionInfo(this._config.trackingId)),this._setupTimer(),this._config},e.prototype.generateRequestParams=function(e,t){var n={},r=e.event,i=r.eventType,o=r.properties;return n.eventData={eventType:i,properties:o},n.sessionInfo=t,n.sentAt=e.sentAt,n.credentials=e.credentials,n.config=e.config,n},e.prototype._sendEvents=function(e){var t=e.length;if(0!==t){var n=e[0],r=n.config,i=n.credentials,o=n.sessionInfo;if(!this._init(r,i))return!1;if(t>0){for(var s=[],a=0;a0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},c=function(){for(var e=[],t=0;t0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=300?[2,st(e,t)]:[4,Et(e.body,t)];case 1:return n=o.sent(),{},r=gt(n,t),i=a({$metadata:wt(e)},r),[2,Promise.resolve(i)]}}))}))}(e,t)},t}(rt.b),It=n(151),kt=n(38),Ot=n(18),xt=n(24),Ct=n(11),Tt=n(39),Pt=n(17),Nt=n(40),Rt=n(41),Lt=n(15),jt=new Set(["ap-east-1","ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","me-south-1","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"]),Dt=new Set(["cn-north-1","cn-northwest-1"]),Ut=new Set(["us-iso-east-1"]),Bt=new Set(["us-isob-east-1"]),Ft=new Set(["us-gov-east-1","us-gov-west-1"]),zt=a(a({},{apiVersion:"2015-08-04",disableHostPrefix:!1,logger:{},regionInfoProvider:function(e,t){var n=void 0;switch(e){case"ap-east-1":n={hostname:"firehose.ap-east-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-1":n={hostname:"firehose.ap-northeast-1.amazonaws.com",partition:"aws"};break;case"ap-northeast-2":n={hostname:"firehose.ap-northeast-2.amazonaws.com",partition:"aws"};break;case"ap-south-1":n={hostname:"firehose.ap-south-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-1":n={hostname:"firehose.ap-southeast-1.amazonaws.com",partition:"aws"};break;case"ap-southeast-2":n={hostname:"firehose.ap-southeast-2.amazonaws.com",partition:"aws"};break;case"ca-central-1":n={hostname:"firehose.ca-central-1.amazonaws.com",partition:"aws"};break;case"cn-north-1":n={hostname:"firehose.cn-north-1.amazonaws.com.cn",partition:"aws-cn"};break;case"cn-northwest-1":n={hostname:"firehose.cn-northwest-1.amazonaws.com.cn",partition:"aws-cn"};break;case"eu-central-1":n={hostname:"firehose.eu-central-1.amazonaws.com",partition:"aws"};break;case"eu-north-1":n={hostname:"firehose.eu-north-1.amazonaws.com",partition:"aws"};break;case"eu-west-1":n={hostname:"firehose.eu-west-1.amazonaws.com",partition:"aws"};break;case"eu-west-2":n={hostname:"firehose.eu-west-2.amazonaws.com",partition:"aws"};break;case"eu-west-3":n={hostname:"firehose.eu-west-3.amazonaws.com",partition:"aws"};break;case"me-south-1":n={hostname:"firehose.me-south-1.amazonaws.com",partition:"aws"};break;case"sa-east-1":n={hostname:"firehose.sa-east-1.amazonaws.com",partition:"aws"};break;case"us-east-1":n={hostname:"firehose.us-east-1.amazonaws.com",partition:"aws"};break;case"us-east-2":n={hostname:"firehose.us-east-2.amazonaws.com",partition:"aws"};break;case"us-gov-east-1":n={hostname:"firehose.us-gov-east-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-gov-west-1":n={hostname:"firehose.us-gov-west-1.amazonaws.com",partition:"aws-us-gov"};break;case"us-west-1":n={hostname:"firehose.us-west-1.amazonaws.com",partition:"aws"};break;case"us-west-2":n={hostname:"firehose.us-west-2.amazonaws.com",partition:"aws"};break;default:jt.has(e)&&(n={hostname:"firehose.{region}.amazonaws.com".replace("{region}",e),partition:"aws"}),Dt.has(e)&&(n={hostname:"firehose.{region}.amazonaws.com.cn".replace("{region}",e),partition:"aws-cn"}),Ut.has(e)&&(n={hostname:"firehose.{region}.c2s.ic.gov".replace("{region}",e),partition:"aws-iso"}),Bt.has(e)&&(n={hostname:"firehose.{region}.sc2s.sgov.gov".replace("{region}",e),partition:"aws-iso-b"}),Ft.has(e)&&(n={hostname:"firehose.{region}.amazonaws.com".replace("{region}",e),partition:"aws-us-gov"}),void 0===n&&(n={hostname:"firehose.{region}.amazonaws.com".replace("{region}",e),partition:"aws"})}return Promise.resolve(n)},signingName:"firehose"}),{runtime:"browser",base64Decoder:Pt.a,base64Encoder:Pt.b,bodyLengthChecker:Nt.a,credentialDefaultProvider:Object(xt.a)("Credential is missing"),defaultUserAgent:Object(Rt.a)(It.name,It.version),maxAttempts:Ct.a,region:Object(xt.a)("Region is missing"),requestHandler:new Ot.a,sha256:kt.Sha256,streamCollector:Ot.b,urlParser:Tt.a,utf8Decoder:Lt.a,utf8Encoder:Lt.b}),qt=n(22),Kt=n(37),Ht=n(21),Vt=n(43),Gt=n(25),Wt=n(23),$t=function(e){function t(t){var n=this,r=a(a({},zt),t),i=Object(qt.b)(r),o=Object(qt.a)(i),s=Object(Gt.b)(o),u=Object(Ct.c)(s),c=Object(Wt.b)(u),f=Object(Ht.b)(c);return(n=e.call(this,f)||this).config=f,n.middlewareStack.use(Object(Gt.a)(n.config)),n.middlewareStack.use(Object(Ct.b)(n.config)),n.middlewareStack.use(Object(Wt.a)(n.config)),n.middlewareStack.use(Object(Kt.a)(n.config)),n.middlewareStack.use(Object(Ht.a)(n.config)),n.middlewareStack.use(Object(Vt.a)(n.config)),n}return s(t,e),t.prototype.destroy=function(){e.prototype.destroy.call(this)},t}(rt.a),Yt=(it=function(e,t){return(it=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}it(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),Jt=new r.a("AWSKineisFirehoseProvider"),Zt=function(e){function t(t){return e.call(this,t)||this}return Yt(t,e),t.prototype.getProviderName=function(){return"AWSKinesisFirehose"},t.prototype._sendEvents=function(e){var t=this;if(0!==e.length){var n=e[0],r=n.config,i=n.credentials;if(!this._init(r,i))return!1;var o={};e.map((function(e){var t=e.event,n=t.streamName,r=t.data;void 0===o[n]&&(o[n]=[]);var i=r&&"string"!=typeof r?JSON.stringify(r):r,s={Data:Object(Lt.a)(i)};o[n].push(s)})),Object.keys(o).map((function(e){Jt.debug("putting records to kinesis",e,"with records",o[e]),t._kinesisFirehose.send(new At({Records:o[e],DeliveryStreamName:e})).then((function(t){return Jt.debug("Upload records to stream",e)})).catch((function(e){return Jt.debug("Failed to upload records to Kinesis",e)}))}))}},t.prototype._init=function(e,t){if(Jt.debug("init clients"),this._kinesisFirehose&&this._config.credentials&&this._config.credentials.sessionToken===t.sessionToken&&this._config.credentials.identityId===t.identityId)return Jt.debug("no change for analytics config, directly return from init"),!0;this._config.credentials=t;var n=e.region;return this._initFirehose(n,t)},t.prototype._initFirehose=function(e,t){return Jt.debug("initialize kinesis firehose with credentials",t),this._kinesisFirehose=new $t({apiVersion:"2015-08-04",region:e,credentials:t}),!0},t}(i.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return T}));var r,i=n(44),o=n(19),s=n(5),a=n(89),u=n(104),c=function(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},A=new i.a("SumerianProvider"),I=function(e){function t(t){return void 0===t&&(t={}),e.call(this,t)||this}return w(t,e),t.prototype.getProviderName=function(){return"SumerianProvider"},t.prototype.loadScript=function(e){return S(this,void 0,void 0,(function(){return E(this,(function(t){return[2,new Promise((function(t,n){var r=document.createElement("script");r.src=e,r.addEventListener("load",(function(e){t()})),r.addEventListener("error",(function(t){n(new Error("Failed to load script: "+e))})),document.head.appendChild(r)}))]}))}))},t.prototype.loadScene=function(e,t,n){return S(this,void 0,void 0,(function(){var r,i,o,c,f,l,d,h,p,v,g,y,w,S,I,k,O,x,C,T,P,N,R,L,j,D,U;return E(this,(function(E){switch(E.label){case 0:if(!e)throw l="No scene name passed into loadScene",A.error(l),new b(l);if(!t)throw l="No dom element id passed into loadScene",A.error(l),new m(l);if(!(r=document.getElementById(t)))throw l="DOM element id, "+t+" not found",A.error(l),new m(l);if(!(i=this.getScene(e)).sceneConfig)throw l="No scene config configured for scene: "+e,A.error(l),new b(l);if(o=i.sceneConfig.url,c=i.sceneConfig.sceneId,i.sceneConfig.hasOwnProperty("region"))f=i.sceneConfig.region;else{if(!this.options.hasOwnProperty("region"))throw l="No region configured for scene: "+e,A.error(l),new b(l);f=this.options.region}d={region:f,customUserAgent:s.a.userAgent+"-SumerianScene"},h={headers:{"X-Amz-User-Agent":s.a.userAgent}},p=o,E.label=1;case 1:return E.trys.push([1,3,,4]),[4,a.a.get()];case 2:return v=E.sent(),d.credentials=v,g={secret_key:v.secretAccessKey,access_key:v.accessKeyId,session_token:v.sessionToken},y={region:f,service:"sumerian"},w=u.a.sign({method:"GET",url:o},g,y),h.headers=_(_({},h.headers),w.headers),p=w.url,[3,4];case 3:return E.sent(),A.debug("No credentials available, the request will be unsigned"),[3,4];case 4:return[4,fetch(p,h)];case 5:return[4,(S=E.sent()).json()];case 6:if(I=E.sent(),403===S.status)throw I.message?(A.error("Failure to authenticate user: "+I.message),new b("Failure to authenticate user: "+I.message)):(A.error("Failure to authenticate user"),new b("Failure to authenticate user"));return k=I.bundleData[c],[4,fetch(k.url,{headers:k.headers})];case 7:return[4,E.sent().json()];case 8:O=E.sent(),E.label=9;case 9:return E.trys.push([9,11,,12]),[4,this.loadScript(O[c].bootstrapperUrl)];case 10:return E.sent(),[3,12];case 11:throw x=E.sent(),A.error(x),new b(x);case 12:return C=n.progressCallback?n.progressCallback:void 0,T=i.publishParamOverrides?i.publishParamOverrides:void 0,P={element:r,sceneId:c,sceneBundle:O,apiResponse:I,progressCallback:C,publishParamOverrides:T,awsSDKConfigOverride:d},[4,window.SumerianBootstrapper.loadScene(P)];case 13:N=E.sent(),i.sceneController=N,i.isLoaded=!0;try{for(R=M(N.sceneLoadWarnings),L=R.next();!L.done;L=R.next())j=L.value,A.warn("loadScene warning: "+j)}catch(e){D={error:e}}finally{try{L&&!L.done&&(U=R.return)&&U.call(R)}finally{if(D)throw D.error}}return[2]}}))}))},t.prototype.isSceneLoaded=function(e){return this.getScene(e).isLoaded||!1},t.prototype.getScene=function(e){if(!this.options.scenes){var t="No scenes were defined in the configuration";throw A.error(t),new p(t)}if(!e){t="No scene name was passed";throw A.error(t),new v(t)}if(!this.options.scenes[e]){t="Scene '"+e+"' is not configured";throw A.error(t),new v(t)}return this.options.scenes[e]},t.prototype.getSceneController=function(e){if(!this.options.scenes){var t="No scenes were defined in the configuration";throw A.error(t),new p(t)}var n=this.options.scenes[e];if(!n){t="Scene '"+e+"' is not configured";throw A.error(t),new v(t)}var r=n.sceneController;if(!r){t="Scene controller for '"+e+"' has not been loaded";throw A.error(t),new g(t)}return r},t.prototype.isVRCapable=function(e){return this.getSceneController(e).vrCapable},t.prototype.isVRPresentationActive=function(e){return this.getSceneController(e).vrPresentationActive},t.prototype.start=function(e){this.getSceneController(e).start()},t.prototype.enterVR=function(e){this.getSceneController(e).enterVR()},t.prototype.exitVR=function(e){this.getSceneController(e).exitVR()},t.prototype.isMuted=function(e){return this.getSceneController(e).muted},t.prototype.setMuted=function(e,t){this.getSceneController(e).muted=t},t.prototype.onSceneEvent=function(e,t,n){this.getSceneController(e).on(t,n)},t.prototype.enableAudio=function(e){this.getSceneController(e).enableAudio()},t}(l),k=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},O=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},C=new i.a("XR"),T=new(function(){function e(e){this._options=e,C.debug("XR Options",this._options),this._defaultProvider="SumerianProvider",this._pluggables={},this.addPluggable(new I)}return e.prototype.configure=function(e){var t=this,n=e?e.XR||e:{};return C.debug("configure XR",{opt:n}),this._options=Object.assign({},this._options,n),Object.entries(this._pluggables).map((function(e){var r=x(e,2),i=r[0],o=r[1];i!==t._defaultProvider||n[t._defaultProvider]?o.configure(t._options[i]):o.configure(t._options)})),this._options},e.prototype.addPluggable=function(e){return k(this,void 0,void 0,(function(){return O(this,(function(t){return e&&"XR"===e.getCategory()?(this._pluggables[e.getProviderName()]=e,[2,e.configure(this._options)]):[2]}))}))},e.prototype.loadScene=function(e,t,n,r){return void 0===n&&(n={}),void 0===r&&(r=this._defaultProvider),k(this,void 0,void 0,(function(){return O(this,(function(i){switch(i.label){case 0:if(!this._pluggables[r])throw new y("Provider '"+r+"' not configured");return[4,this._pluggables[r].loadScene(e,t,n)];case 1:return[2,i.sent()]}}))}))},e.prototype.isSceneLoaded=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].isSceneLoaded(e)},e.prototype.getSceneController=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].getSceneController(e)},e.prototype.isVRCapable=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].isVRCapable(e)},e.prototype.isVRPresentationActive=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].isVRPresentationActive(e)},e.prototype.start=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].start(e)},e.prototype.enterVR=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].enterVR(e)},e.prototype.exitVR=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].exitVR(e)},e.prototype.isMuted=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].isMuted(e)},e.prototype.setMuted=function(e,t,n){if(void 0===n&&(n=this._defaultProvider),!this._pluggables[n])throw new y("Provider '"+n+"' not configured");return this._pluggables[n].setMuted(e,t)},e.prototype.onSceneEvent=function(e,t,n,r){if(void 0===r&&(r=this._defaultProvider),!this._pluggables[r])throw new y("Provider '"+r+"' not configured");return this._pluggables[r].onSceneEvent(e,t,n)},e.prototype.enableAudio=function(e,t){if(void 0===t&&(t=this._defaultProvider),!this._pluggables[t])throw new y("Provider '"+t+"' not configured");return this._pluggables[t].enableAudio(e)},e}())(null);o.a.register(T)},function(e,t,n){"use strict";n.r(t),n.d(t,"fromUtf8",(function(){return r})),n.d(t,"toUtf8",(function(){return i}));var r=function(e){return"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):function(e){for(var t=[],n=0,r=e.length;n>6|192,63&i|128);else if(n+1>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)}(e)},i=function(e){return"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):function(e){for(var t="",n=0,r=e.length;n(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function d(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(o||(o=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(v(this),t),p(s.get(this))}:function(...t){return p(e.apply(v(this),t))}:function(t,...n){const r=e.call(v(this),t,...n);return u.set(r,t.sort?t.sort():[t]),p(r)}}function h(e){return"function"==typeof e?d(e):(e instanceof IDBTransaction&&function(e){if(a.has(e))return;const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",o),e.removeEventListener("abort",o)},i=()=>{t(),r()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",i),e.addEventListener("error",o),e.addEventListener("abort",o)});a.set(e,t)}(e),t=e,(i||(i=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(e=>t instanceof e)?new Proxy(e,l):e);var t}function p(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("success",i),e.removeEventListener("error",o)},i=()=>{t(p(e.result)),r()},o=()=>{n(e.error),r()};e.addEventListener("success",i),e.addEventListener("error",o)});return t.then(t=>{t instanceof IDBCursor&&s.set(t,e)}).catch(()=>{}),f.set(t,e),t}(e);if(c.has(e))return c.get(e);const t=h(e);return t!==e&&(c.set(e,t),f.set(t,e)),t}const v=e=>f.get(e);function g(e,t,{blocked:n,upgrade:r,blocking:i,terminated:o}={}){const s=indexedDB.open(e,t),a=p(s);return r&&s.addEventListener("upgradeneeded",e=>{r(p(s.result),e.oldVersion,e.newVersion,p(s.transaction))}),n&&s.addEventListener("blocked",()=>n()),a.then(e=>{o&&e.addEventListener("close",()=>o()),i&&e.addEventListener("versionchange",()=>i())}).catch(()=>{}),a}function m(e,{blocked:t}={}){const n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",()=>t()),p(n).then(()=>{})}const b=["get","getKey","getAll","getAllKeys","count"],y=["put","add","delete","clear"],w=new Map;function _(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,i=y.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!i&&!b.includes(n))return;const o=async function(e,...t){const o=this.transaction(e,i?"readwrite":"readonly");let s=o.store;r&&(s=s.index(t.shift()));const a=await s[n](...t);return i&&await o.done,a};return w.set(t,o),o}l=(e=>({...e,get:(t,n,r)=>_(t,n)||e.get(t,n,r),has:(t,n)=>!!_(t,n)||e.has(t,n)}))(l);var S=n(9),E=n(245),M=n(4),A=n(3);function I(e){return(I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var k=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},O=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},T=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},P=function(){for(var e=[],t=0;t0?u+a:e.length;return e.slice(u,c)}return e},e.prototype.enginePagination=function(e,t){return k(this,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d;return O(this,(function(h){switch(h.label){case 0:return t?(r=t.page,i=void 0===r?0:r,o=t.limit,s=void 0===o?0:o,a=Math.max(0,i*s)||0,[4,this.db.transaction(e).objectStore(e).openCursor()]):[3,7];case 1:return(u=h.sent())&&a>0?[4,u.advance(a)]:[3,3];case 2:h.sent(),h.label=3;case 3:c=[],f="number"==typeof s&&s>0,l=!0,d=s,h.label=4;case 4:return l&&u&&u.value?(c.push(u.value),[4,u.continue()]):[3,6];case 5:return u=h.sent(),f?(d--,l=d>0&&null!==u):l=null!==u,[3,4];case 6:return n=c,[3,9];case 7:return[4,this.db.getAll(e)];case 8:n=h.sent(),h.label=9;case 9:return[2,n]}}))}))},e.prototype.queryOne=function(e,t){return void 0===t&&(t=M.d.FIRST),k(this,void 0,void 0,(function(){var n,r,i;return O(this,(function(o){switch(o.label){case 0:return[4,this.checkPrivate()];case 1:return o.sent(),n=this.getStorenameForModel(e),[4,this.db.transaction([n],"readonly").objectStore(n).openCursor(void 0,t===M.d.FIRST?"next":"prev")];case 2:return r=o.sent(),[2,(i=r?r.value:void 0)&&this.modelInstanceCreator(e,i)]}}))}))},e.prototype.delete=function(e,t){return k(this,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d,h,p,v,g;return O(this,(function(m){switch(m.label){case 0:return[4,this.checkPrivate()];case 1:return m.sent(),n=[],Object(A.s)(e)?(o=e,s=this.namespaceResolver(o),a=this.getStorenameForModel(o),[4,this.query(o,t)]):[3,9];case 2:return r=m.sent(),v=this.schema.namespaces[s].relationships[o.name].relationTypes,void 0===t?[3,5]:[4,this.deleteTraverse(v,r,o.name,s,n)];case 3:return m.sent(),[4,this.deleteItem(n)];case 4:return m.sent(),g=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[r,g]];case 5:return[4,this.deleteTraverse(v,r,o.name,s,n)];case 6:return m.sent(),[4,this.db.transaction([a],"readwrite").objectStore(a).clear()];case 7:return m.sent(),g=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[r,g]];case 8:return[3,17];case 9:return i=e,o=Object.getPrototypeOf(i).constructor,s=this.namespaceResolver(o),a=this.getStorenameForModel(o),t?(u=this.db.transaction([a],"readwrite"),c=u.objectStore(a),[4,this._get(c,i.id)]):[3,13];case 10:if(void 0===(f=m.sent()))return p="Model instance not found in storage",N.warn(p,{model:i}),[2,[[i],[]]];if(l=S.a.getPredicates(t),d=l.predicates,h=l.type,!Object(A.y)(f,h,d))throw p="Conditional update failed",N.error(p,{model:f,condition:d}),new Error(p);return[4,u.done];case 11:return m.sent(),v=this.schema.namespaces[s].relationships[o.name].relationTypes,[4,this.deleteTraverse(v,[i],o.name,s,n)];case 12:return m.sent(),[3,15];case 13:return v=this.schema.namespaces[s].relationships[o.name].relationTypes,[4,this.deleteTraverse(v,[i],o.name,s,n)];case 14:m.sent(),m.label=15;case 15:return[4,this.deleteItem(n)];case 16:return m.sent(),g=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[[i],g]];case 17:return[2]}}))}))},e.prototype.deleteItem=function(e){var t,n,r,i,o,s;return k(this,void 0,void 0,(function(){var a,u,c,f,l,d,h,p,v,g,m,b;return O(this,(function(y){switch(y.label){case 0:a=e.map((function(e){return e.storeName})),u=this.db.transaction(P(a),"readwrite"),y.label=1;case 1:y.trys.push([1,22,23,28]),t=x(e),y.label=2;case 2:return[4,t.next()];case 3:if((n=y.sent()).done)return[3,21];c=n.value,f=c.storeName,l=c.items,d=u.objectStore(f),y.label=4;case 4:y.trys.push([4,14,15,20]),h=x(l),y.label=5;case 5:return[4,h.next()];case 6:return(p=y.sent()).done?[3,13]:(v=p.value)?(g=void 0,"object"!==I(v)?[3,8]:[4,d.index("byId").getKey(v.id)]):[3,12];case 7:return g=y.sent(),[3,10];case 8:return[4,d.index("byId").getKey(v.toString())];case 9:g=y.sent(),y.label=10;case 10:return void 0===g?[3,12]:[4,d.delete(g)];case 11:y.sent(),y.label=12;case 12:return[3,5];case 13:return[3,20];case 14:return m=y.sent(),o={error:m},[3,20];case 15:return y.trys.push([15,,18,19]),p&&!p.done&&(s=h.return)?[4,s.call(h)]:[3,17];case 16:y.sent(),y.label=17;case 17:return[3,19];case 18:if(o)throw o.error;return[7];case 19:return[7];case 20:return[3,2];case 21:return[3,28];case 22:return b=y.sent(),r={error:b},[3,28];case 23:return y.trys.push([23,,26,27]),n&&!n.done&&(i=t.return)?[4,i.call(t)]:[3,25];case 24:y.sent(),y.label=25;case 25:return[3,27];case 26:if(r)throw r.error;return[7];case 27:return[7];case 28:return[2]}}))}))},e.prototype.deleteTraverse=function(e,t,n,r,i){var o,s,a,u,c,f,l,d,h,p,v,g;return k(this,void 0,void 0,(function(){var m,b,y,w,_,S,E,M,I,k,C,T=this;return O(this,(function(O){switch(O.label){case 0:O.trys.push([0,35,36,41]),o=x(e),O.label=1;case 1:return[4,o.next()];case 2:if((s=O.sent()).done)return[3,34];switch(m=s.value,b=m.relationType,m.fieldName,y=m.modelName,w=this.getStorename(r,y),_=Object(A.g)(this.schema.namespaces[r].relationships[y].relationTypes,n)||Object(A.h)(this.schema.namespaces[r].relationships[y].indexes,m.associatedWith),b){case"HAS_ONE":return[3,3];case"HAS_MANY":return[3,17];case"BELONGS_TO":return[3,31]}return[3,32];case 3:O.trys.push([3,10,11,16]),a=x(t),O.label=4;case 4:return[4,a.next()];case 5:return(u=O.sent()).done?[3,9]:(M=u.value,[4,this.db.transaction(w,"readwrite").objectStore(w).index(_).get(M.id)]);case 6:return S=O.sent(),[4,this.deleteTraverse(this.schema.namespaces[r].relationships[y].relationTypes,S?[S]:[],y,r,i)];case 7:O.sent(),O.label=8;case 8:return[3,4];case 9:return[3,16];case 10:return E=O.sent(),h={error:E},[3,16];case 11:return O.trys.push([11,,14,15]),u&&!u.done&&(p=a.return)?[4,p.call(a)]:[3,13];case 12:O.sent(),O.label=13;case 13:return[3,15];case 14:if(h)throw h.error;return[7];case 15:return[7];case 16:return[3,33];case 17:O.trys.push([17,24,25,30]),c=x(t),O.label=18;case 18:return[4,c.next()];case 19:return(f=O.sent()).done?[3,23]:(M=f.value,[4,this.db.transaction(w,"readwrite").objectStore(w).index(_).getAll(M.id)]);case 20:return I=O.sent(),[4,this.deleteTraverse(this.schema.namespaces[r].relationships[y].relationTypes,I,y,r,i)];case 21:O.sent(),O.label=22;case 22:return[3,18];case 23:return[3,30];case 24:return k=O.sent(),v={error:k},[3,30];case 25:return O.trys.push([25,,28,29]),f&&!f.done&&(g=c.return)?[4,g.call(c)]:[3,27];case 26:O.sent(),O.label=27;case 27:return[3,29];case 28:if(v)throw v.error;return[7];case 29:return[7];case 30:case 31:return[3,33];case 32:return Object(A.f)(b),[3,33];case 33:return[3,1];case 34:return[3,41];case 35:return C=O.sent(),l={error:C},[3,41];case 36:return O.trys.push([36,,39,40]),s&&!s.done&&(d=o.return)?[4,d.call(o)]:[3,38];case 37:O.sent(),O.label=38;case 38:return[3,40];case 39:if(l)throw l.error;return[7];case 40:return[7];case 41:return i.push({storeName:this.getStorename(r,n),items:t.map((function(e){return T.modelInstanceCreator(T.getModelConstructorByModelName(r,n),e)}))}),[2]}}))}))},e.prototype.clear=function(){return k(this,void 0,void 0,(function(){return O(this,(function(e){switch(e.label){case 0:return[4,this.checkPrivate()];case 1:return e.sent(),this.db.close(),[4,m(this.dbName)];case 2:return e.sent(),this.db=void 0,this.initPromise=void 0,[2]}}))}))},e.prototype.batchSave=function(e,t){return k(this,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,l,d,h;return O(this,(function(p){switch(p.label){case 0:return 0===t.length?[2,[]]:[4,this.checkPrivate()];case 1:p.sent(),n=[],r=this.getStorenameForModel(e),i=this.db.transaction(r,"readwrite"),o=i.store,s=function(t){var r,i,s,u,c;return O(this,(function(f){switch(f.label){case 0:return r=Object(A.x)(e.name,a.modelInstanceCreator(e,t),a.schema.namespaces[a.namespaceResolver(e)],a.modelInstanceCreator,a.getModelConstructorByModelName),i=t.id,s=t._deleted,[4,o.index("byId").getKey(i)];case 1:return u=f.sent(),s?[3,3]:(c=r.find((function(e){return e.instance.id===i})).instance,n.push([c,u?M.c.UPDATE:M.c.INSERT]),[4,o.put(c,u)]);case 2:return f.sent(),[3,5];case 3:return n.push([t,M.c.DELETE]),u?[4,o.delete(u)]:[3,5];case 4:f.sent(),f.label=5;case 5:return[2]}}))},a=this,p.label=2;case 2:p.trys.push([2,7,8,9]),u=C(t),c=u.next(),p.label=3;case 3:return c.done?[3,6]:(f=c.value,[5,s(f)]);case 4:p.sent(),p.label=5;case 5:return c=u.next(),[3,3];case 6:return[3,9];case 7:return l=p.sent(),d={error:l},[3,9];case 8:try{c&&!c.done&&(h=u.return)&&h.call(u)}finally{if(d)throw d.error}return[7];case 9:return[4,i.done];case 10:return p.sent(),[2,n]}}))}))},e}();t.default=new R},function(e,t,n){"use strict";n.r(t),n.d(t,"AsyncStorageAdapter",(function(){return I}));var r=n(44),i=n(4),o=n(3),s=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},a=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},c=function(){var e=this;this.db=new Map,this.getAllKeys=function(){return s(e,void 0,void 0,(function(){return a(this,(function(e){return[2,Array.from(this.db.keys())]}))}))},this.multiGet=function(t){return s(e,void 0,void 0,(function(){var e=this;return a(this,(function(n){return[2,t.reduce((function(t,n){return t.push([n,e.db.get(n)]),t}),[])]}))}))},this.multiRemove=function(t,n){return s(e,void 0,void 0,(function(){var e=this;return a(this,(function(r){return t.forEach((function(t){return e.db.delete(t)})),n(),[2]}))}))},this.multiSet=function(t,n){return s(e,void 0,void 0,(function(){var e=this;return a(this,(function(r){return t.forEach((function(t){var n=u(t,2),r=n[0],i=n[1];e.setItem(r,i)})),n(),[2]}))}))},this.setItem=function(t,n){return s(e,void 0,void 0,(function(){return a(this,(function(e){return[2,this.db.set(t,n)]}))}))},this.removeItem=function(t){return s(e,void 0,void 0,(function(){return a(this,(function(e){return[2,this.db.delete(t)]}))}))},this.getItem=function(t){return s(e,void 0,void 0,(function(){return a(this,(function(e){return[2,this.db.get(t)]}))}))}};var f=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},l=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},h=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},p="@AmplifyDatastore",v=new Map,g=function(){function e(){this._collectionInMemoryIndex=new Map,this.storage=new c}return e.prototype.getCollectionIndex=function(e){return this._collectionInMemoryIndex.has(e)||this._collectionInMemoryIndex.set(e,new Map),this._collectionInMemoryIndex.get(e)},e.prototype.getMonotonicFactory=function(e){return v.has(e)||v.set(e,Object(o.v)()),v.get(e)},e.prototype.init=function(){return f(this,void 0,void 0,(function(){var e,t,n,r,i,o,s,a,u,c,f,v,g,m,b,y,w,_,S,E;return l(this,(function(l){switch(l.label){case 0:return this._collectionInMemoryIndex.clear(),[4,this.storage.getAllKeys()];case 1:e=l.sent(),t=[],l.label=2;case 2:l.trys.push([2,12,13,14]),n=d(e),r=n.next(),l.label=3;case 3:return r.done?[3,11]:(i=r.value,o=h(i.split("::"),5),s=o[0],a=o[1],u=o[2],c=o[3],f=o[4],s!==p?[3,10]:"Data"!==u?[3,9]:(v=void 0,void 0!==f?[3,7]:(g=c,m=this.getMonotonicFactory(a)(),b=this.getLegacyKeyForItem(a,g),y=this.getKeyForItem(a,g,m),[4,this.storage.getItem(b)])));case 4:return w=l.sent(),[4,this.storage.setItem(y,w)];case 5:return l.sent(),[4,this.storage.removeItem(b)];case 6:return l.sent(),v=m,[3,8];case 7:v=c,l.label=8;case 8:return this.getCollectionIndex(a).set(f,v),[3,10];case 9:"Collection"===u&&t.push(i),l.label=10;case 10:return r=n.next(),[3,3];case 11:return[3,14];case 12:return _=l.sent(),S={error:_},[3,14];case 13:try{r&&!r.done&&(E=n.return)&&E.call(n)}finally{if(S)throw S.error}return[7];case 14:return t.length>0?[4,this.storage.multiRemove(t)]:[3,16];case 15:l.sent(),l.label=16;case 16:return[2]}}))}))},e.prototype.save=function(e,t){return f(this,void 0,void 0,(function(){var n,r;return l(this,(function(i){switch(i.label){case 0:return n=this.getCollectionIndex(t).get(e.id)||this.getMonotonicFactory(t)(),r=this.getKeyForItem(t,e.id,n),this.getCollectionIndex(t).set(e.id,n),[4,this.storage.setItem(r,JSON.stringify(e))];case 1:return i.sent(),[2]}}))}))},e.prototype.batchSave=function(e,t){return f(this,void 0,void 0,(function(){var n,r,o,s,a,u,c,f,p,v,g,m,b,y,w,_,S,E,M,A,I,k=this;return l(this,(function(l){switch(l.label){case 0:if(0===t.length)return[2,[]];n=[],r=this.getCollectionIndex(e),o=new Set,s=new Set,a=[],u={};try{for(c=d(t),f=c.next();!f.done;f=c.next())p=f.value,v=p.id,g=p._deleted,m=r.get(v)||this.getMonotonicFactory(e)(),S=this.getKeyForItem(e,v,m),a.push(S),u[S]={ulid:m,model:p},g?o.add(S):s.add(S)}catch(e){E={error:e}}finally{try{f&&!f.done&&(M=c.return)&&M.call(c)}finally{if(E)throw E.error}}return[4,this.storage.multiGet(a)];case 1:return b=l.sent(),y=b.filter((function(e){return!!h(e,2)[1]})).reduce((function(e,t){var n=h(t,1)[0];return e.add(n)}),new Set),[4,new Promise((function(e,t){if(0!==o.size){var n=Array.from(o);n.forEach((function(e){return r.delete(u[e].model.id)})),k.storage.multiRemove(n,(function(n){n&&n.length>0?t(n):e()}))}else e()}))];case 2:return l.sent(),[4,new Promise((function(e,t){if(0!==s.size){var n=Array.from(s).map((function(e){return[e,JSON.stringify(u[e].model)]}));s.forEach((function(e){var t=u[e],n=t.model.id,i=t.ulid;r.set(n,i)})),k.storage.multiSet(n,(function(n){n&&n.length>0?t(n):e()}))}else e()}))];case 3:l.sent();try{for(w=d(a),_=w.next();!_.done;_=w.next())S=_.value,o.has(S)&&y.has(S)?n.push([u[S].model,i.c.DELETE]):s.has(S)&&n.push([u[S].model,y.has(S)?i.c.UPDATE:i.c.INSERT])}catch(e){A={error:e}}finally{try{_&&!_.done&&(I=w.return)&&I.call(w)}finally{if(A)throw A.error}}return[2,n]}}))}))},e.prototype.get=function(e,t){return f(this,void 0,void 0,(function(){var n,r,i;return l(this,(function(o){switch(o.label){case 0:return n=this.getCollectionIndex(t).get(e),r=this.getKeyForItem(t,e,n),[4,this.storage.getItem(r)];case 1:return i=o.sent(),[2,i&&JSON.parse(i)]}}))}))},e.prototype.getOne=function(e,t){return f(this,void 0,void 0,(function(){var n,r,o,s,a,u,c;return l(this,(function(f){switch(f.label){case 0:return n=this.getCollectionIndex(t),r=h(e===i.d.FIRST?function(){var e,t,r,i,o;try{for(var s=d(n),a=s.next();!a.done;a=s.next()){i=(r=h(a.value,2))[0],o=r[1];break}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}return[i,o]}():function(){var e,t,r,i,o;try{for(var s=d(n),a=s.next();!a.done;a=s.next())i=(r=h(a.value,2))[0],o=r[1]}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}return[i,o]}(),2),o=r[0],s=r[1],a=this.getKeyForItem(t,o,s),(c=a)?[4,this.storage.getItem(a)]:[3,2];case 1:c=f.sent(),f.label=2;case 2:return[2,(u=c)&&JSON.parse(u)||void 0]}}))}))},e.prototype.getAll=function(e,t){return f(this,void 0,void 0,(function(){var n,r,i,o,s,a,u,c,f,p,v,g,m,b,y,w,_,S;return l(this,(function(l){switch(l.label){case 0:n=this.getCollectionIndex(e),i=(r=t||{}).page,o=void 0===i?0:i,s=r.limit,a=void 0===s?0:s,u=Math.max(0,o*a)||0,c=a>0?u+a:void 0,f=[],p=0;try{for(v=d(n),g=v.next();!g.done&&(m=h(g.value,2),b=m[0],y=m[1],++p<=u||(f.push(this.getKeyForItem(e,b,y)),p!==c));g=v.next());}catch(e){_={error:e}}finally{try{g&&!g.done&&(S=v.return)&&S.call(v)}finally{if(_)throw _.error}}return[4,this.storage.multiGet(f)];case 1:return w=l.sent(),[2,w.filter((function(e){return h(e,2)[1]})).map((function(e){var t=h(e,2)[1];return JSON.parse(t)}))]}}))}))},e.prototype.delete=function(e,t){return f(this,void 0,void 0,(function(){var n,r;return l(this,(function(i){switch(i.label){case 0:return n=this.getCollectionIndex(t).get(e),r=this.getKeyForItem(t,e,n),this.getCollectionIndex(t).delete(e),[4,this.storage.removeItem(r)];case 1:return i.sent(),[2]}}))}))},e.prototype.clear=function(){return f(this,void 0,void 0,(function(){var e,t;return l(this,(function(n){switch(n.label){case 0:return[4,this.storage.getAllKeys()];case 1:return e=n.sent(),t=e.filter((function(e){return e.startsWith(p)})),[4,this.storage.multiRemove(t)];case 2:return n.sent(),this._collectionInMemoryIndex.clear(),[2]}}))}))},e.prototype.getKeyForItem=function(e,t,n){return this.getKeyPrefixForStoreItems(e)+"::"+n+"::"+t},e.prototype.getLegacyKeyForItem=function(e,t){return this.getKeyPrefixForStoreItems(e)+"::"+t},e.prototype.getKeyPrefixForStoreItems=function(e){return p+"::"+e+"::Data"},e}(),m=n(9),b=n(245);function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var w=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},_=function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},M=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},A=new r.a("DataStore"),I=function(){function e(){}return e.prototype.getStorenameForModel=function(e){var t=this.namespaceResolver(e),n=e.name;return this.getStorename(t,n)},e.prototype.getStorename=function(e,t){return e+"_"+t},e.prototype.setUp=function(e,t,n,r){return w(this,void 0,void 0,(function(){var i,o=this;return _(this,(function(s){switch(s.label){case 0:return this.initPromise?[3,1]:(this.initPromise=new Promise((function(e,t){o.resolve=e,o.reject=t})),[3,3]);case 1:return[4,this.initPromise];case 2:return s.sent(),[2];case 3:this.schema=e,this.namespaceResolver=t,this.modelInstanceCreator=n,this.getModelConstructorByModelName=r,s.label=4;case 4:return s.trys.push([4,7,,8]),this.db?[3,6]:(this.db=new g,[4,this.db.init()]);case 5:s.sent(),this.resolve(),s.label=6;case 6:return[3,8];case 7:return i=s.sent(),this.reject(i),[3,8];case 8:return[2]}}))}))},e.prototype.save=function(e,t){var n,r;return w(this,void 0,void 0,(function(){var s,a,u,c,f,l,d,h,p,v,g,b,y,w,E,M,I,k,O,x,C,T=this;return _(this,(function(_){switch(_.label){case 0:return s=Object.getPrototypeOf(e).constructor,a=this.getStorenameForModel(s),u=Object(o.x)(s.name,e,this.schema.namespaces[this.namespaceResolver(s)],this.modelInstanceCreator,this.getModelConstructorByModelName),c=this.namespaceResolver(s),f=new Set,l=Object.values(u).map((function(e){var t=e.modelName,n=e.item,r=e.instance,i=T.getStorename(c,t);return f.add(i),{storeName:i,item:n,instance:r}})),[4,this.db.get(e.id,a)];case 1:if(d=_.sent(),t&&d&&(h=m.a.getPredicates(t),p=h.predicates,v=h.type,!Object(o.y)(d,v,p)))throw g="Conditional update failed",A.error(g,{model:d,condition:p}),new Error(g);b=[],_.label=2;case 2:_.trys.push([2,11,12,17]),y=S(l),_.label=3;case 3:return[4,y.next()];case 4:return(w=_.sent()).done?[3,10]:(E=w.value,M=E.storeName,I=E.item,k=E.instance,O=I.id,[4,this.db.get(O,M)]);case 5:return x=_.sent()?i.c.UPDATE:i.c.INSERT,O!==e.id?[3,7]:[4,this.db.save(I,M)];case 6:return _.sent(),b.push([k,x]),[3,9];case 7:return x!==i.c.INSERT?[3,9]:[4,this.db.save(I,M)];case 8:_.sent(),b.push([k,x]),_.label=9;case 9:return[3,3];case 10:return[3,17];case 11:return C=_.sent(),n={error:C},[3,17];case 12:return _.trys.push([12,,15,16]),w&&!w.done&&(r=y.return)?[4,r.call(y)]:[3,14];case 13:_.sent(),_.label=14;case 14:return[3,16];case 15:if(n)throw n.error;return[7];case 16:return[7];case 17:return[2,b]}}))}))},e.prototype.load=function(e,t,n){var r,i,s,a,u,c,f,l,d,h;return w(this,void 0,void 0,(function(){var p,v,g,m,b,y,w,E,M,A,I,k,O,x,C,T,P,N,R=this;return _(this,(function(_){switch(_.label){case 0:if(p=this.schema.namespaces[e],v=p.relationships[t].relationTypes,g=v.map((function(t){var n=t.modelName;return R.getStorename(e,n)})),m=this.getModelConstructorByModelName(e,t),0===g.length)return[2,n.map((function(e){return R.modelInstanceCreator(m,e)}))];_.label=1;case 1:_.trys.push([1,34,35,40]),b=S(v),_.label=2;case 2:return[4,b.next()];case 3:if((y=_.sent()).done)return[3,33];switch(w=y.value,E=w.fieldName,M=w.modelName,A=w.targetName,I=w.relationType,k=this.getStorename(e,M),O=this.getModelConstructorByModelName(e,M),I){case"HAS_ONE":return[3,4];case"BELONGS_TO":return[3,17];case"HAS_MANY":return[3,30]}return[3,31];case 4:_.trys.push([4,10,11,16]),r=S(n),_.label=5;case 5:return[4,r.next()];case 6:return(i=_.sent()).done?[3,9]:(C=i.value)[E]?[4,this.db.get(C[E],k)]:[3,8];case 7:T=_.sent(),C[E]=T&&this.modelInstanceCreator(O,T),_.label=8;case 8:return[3,5];case 9:return[3,16];case 10:return x=_.sent(),f={error:x},[3,16];case 11:return _.trys.push([11,,14,15]),i&&!i.done&&(l=r.return)?[4,l.call(r)]:[3,13];case 12:_.sent(),_.label=13;case 13:return[3,15];case 14:if(f)throw f.error;return[7];case 15:return[7];case 16:return[3,32];case 17:_.trys.push([17,23,24,29]),s=S(n),_.label=18;case 18:return[4,s.next()];case 19:return(a=_.sent()).done?[3,22]:(C=a.value)[A]?[4,this.db.get(C[A],k)]:[3,21];case 20:T=_.sent(),C[E]=T&&this.modelInstanceCreator(O,T),delete C[A],_.label=21;case 21:return[3,18];case 22:return[3,29];case 23:return P=_.sent(),d={error:P},[3,29];case 24:return _.trys.push([24,,27,28]),a&&!a.done&&(h=s.return)?[4,h.call(s)]:[3,26];case 25:_.sent(),_.label=26;case 26:return[3,28];case 27:if(d)throw d.error;return[7];case 28:return[7];case 29:case 30:return[3,32];case 31:return Object(o.f)(I),[3,32];case 32:return[3,2];case 33:return[3,40];case 34:return N=_.sent(),u={error:N},[3,40];case 35:return _.trys.push([35,,38,39]),y&&!y.done&&(c=b.return)?[4,c.call(b)]:[3,37];case 36:_.sent(),_.label=37;case 37:return[3,39];case 38:if(u)throw u.error;return[7];case 39:return[7];case 40:return[2,n.map((function(e){return R.modelInstanceCreator(m,e)}))]}}))}))},e.prototype.query=function(e,t,n){return w(this,void 0,void 0,(function(){var r,s,a,u,c,f,l,d,h,p,v,g,b,y;return _(this,(function(w){switch(w.label){case 0:return r=this.getStorenameForModel(e),s=this.namespaceResolver(e),a=n&&n.sort,t?(u=m.a.getPredicates(t))?(c=u.predicates,f=u.type,(l=1===c.length&&c.find((function(e){return Object(i.k)(e)&&"id"===e.field&&"eq"===e.operator})))?(d=l.operand,[4,this.db.get(d,r)]):[3,4]):[3,7]:[3,7];case 1:return(h=w.sent())?[4,this.load(s,e.name,[h])]:[3,3];case 2:return p=E.apply(void 0,[w.sent(),1]),[2,[p[0]]];case 3:return[2,[]];case 4:return[4,this.db.getAll(r)];case 5:return v=w.sent(),g=c?v.filter((function(e){return Object(o.y)(e,f,c)})):v,[4,this.load(s,e.name,this.inMemoryPagination(g,n))];case 6:return[2,w.sent()];case 7:return a?[4,this.db.getAll(r)]:[3,10];case 8:return b=w.sent(),[4,this.load(s,e.name,this.inMemoryPagination(b,n))];case 9:return[2,w.sent()];case 10:return[4,this.db.getAll(r,n)];case 11:return y=w.sent(),[4,this.load(s,e.name,y)];case 12:return[2,w.sent()]}}))}))},e.prototype.inMemoryPagination=function(e,t){if(t){if(t.sort){var n=b.a.getPredicates(t.sort);if(n.length){var r=Object(o.w)(n);e.sort(r)}}var i=t.page,s=void 0===i?0:i,a=t.limit,u=void 0===a?0:a,c=Math.max(0,s*u)||0,f=u>0?c+u:e.length;return e.slice(c,f)}return e},e.prototype.queryOne=function(e,t){return void 0===t&&(t=i.d.FIRST),w(this,void 0,void 0,(function(){var n,r;return _(this,(function(i){switch(i.label){case 0:return n=this.getStorenameForModel(e),[4,this.db.getOne(t,n)];case 1:return[2,(r=i.sent())&&this.modelInstanceCreator(e,r)]}}))}))},e.prototype.delete=function(e,t){return w(this,void 0,void 0,(function(){var n,r,i,s,a,u,c,f,l,d,h,p,v;return _(this,(function(g){switch(g.label){case 0:return n=[],Object(o.s)(e)?(s=e,a=this.namespaceResolver(s),[4,this.query(s,t)]):[3,8];case 1:return r=g.sent(),p=this.schema.namespaces[a].relationships[s.name].relationTypes,void 0===t?[3,4]:[4,this.deleteTraverse(p,r,s.name,a,n)];case 2:return g.sent(),[4,this.deleteItem(n)];case 3:return g.sent(),v=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[r,v]];case 4:return[4,this.deleteTraverse(p,r,s.name,a,n)];case 5:return g.sent(),[4,this.deleteItem(n)];case 6:return g.sent(),v=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[r,v]];case 7:return[3,15];case 8:return i=e,s=Object.getPrototypeOf(i).constructor,a=this.namespaceResolver(s),u=this.getStorenameForModel(s),t?[4,this.db.get(i.id,u)]:[3,11];case 9:if(void 0===(c=g.sent()))return h="Model instance not found in storage",A.warn(h,{model:i}),[2,[[i],[]]];if(f=m.a.getPredicates(t),l=f.predicates,d=f.type,!Object(o.y)(c,d,l))throw h="Conditional update failed",A.error(h,{model:c,condition:l}),new Error(h);return p=this.schema.namespaces[a].relationships[s.name].relationTypes,[4,this.deleteTraverse(p,[i],s.name,a,n)];case 10:return g.sent(),[3,13];case 11:return p=this.schema.namespaces[a].relationships[s.name].relationTypes,[4,this.deleteTraverse(p,[i],s.name,a,n)];case 12:g.sent(),g.label=13;case 13:return[4,this.deleteItem(n)];case 14:return g.sent(),v=n.reduce((function(e,t){var n=t.items;return e.concat(n)}),[]),[2,[[i],v]];case 15:return[2]}}))}))},e.prototype.deleteItem=function(e){var t,n,r,i,o,s;return w(this,void 0,void 0,(function(){var a,u,c,f,l,d,h,p,v;return _(this,(function(g){switch(g.label){case 0:g.trys.push([0,17,18,23]),t=S(e),g.label=1;case 1:return[4,t.next()];case 2:if((n=g.sent()).done)return[3,16];a=n.value,u=a.storeName,c=a.items,g.label=3;case 3:g.trys.push([3,9,10,15]),f=S(c),g.label=4;case 4:return[4,f.next()];case 5:return(l=g.sent()).done?[3,8]:(d=l.value)?"object"!==y(d)?[3,7]:(h=d.id,[4,this.db.delete(h,u)]):[3,7];case 6:g.sent(),g.label=7;case 7:return[3,4];case 8:return[3,15];case 9:return p=g.sent(),o={error:p},[3,15];case 10:return g.trys.push([10,,13,14]),l&&!l.done&&(s=f.return)?[4,s.call(f)]:[3,12];case 11:g.sent(),g.label=12;case 12:return[3,14];case 13:if(o)throw o.error;return[7];case 14:return[7];case 15:return[3,1];case 16:return[3,23];case 17:return v=g.sent(),r={error:v},[3,23];case 18:return g.trys.push([18,,21,22]),n&&!n.done&&(i=t.return)?[4,i.call(t)]:[3,20];case 19:g.sent(),g.label=20;case 20:return[3,22];case 21:if(r)throw r.error;return[7];case 22:return[7];case 23:return[2]}}))}))},e.prototype.deleteTraverse=function(e,t,n,r,i){var s,a,u,c,f,l,d,h,p,v,g,m;return w(this,void 0,void 0,(function(){var b,y,w,E,M,A,I,k,O,x,C,T,P=this;return _(this,(function(_){switch(_.label){case 0:_.trys.push([0,35,36,41]),s=S(e),_.label=1;case 1:return[4,s.next()];case 2:if((a=_.sent()).done)return[3,34];switch(b=a.value,y=b.relationType,w=b.modelName,E=this.getStorename(r,w),M=Object(o.g)(this.schema.namespaces[r].relationships[w].relationTypes,n)||Object(o.h)(this.schema.namespaces[r].relationships[w].indexes,b.associatedWith),y){case"HAS_ONE":return[3,3];case"HAS_MANY":return[3,17];case"BELONGS_TO":return[3,31]}return[3,32];case 3:_.trys.push([3,10,11,16]),u=S(t),_.label=4;case 4:return[4,u.next()];case 5:return(c=_.sent()).done?[3,9]:(k=c.value,[4,this.db.getAll(E)]);case 6:return O=_.sent(),A=O.filter((function(e){return e[M]===k.id})),[4,this.deleteTraverse(this.schema.namespaces[r].relationships[w].relationTypes,A,w,r,i)];case 7:_.sent(),_.label=8;case 8:return[3,4];case 9:return[3,16];case 10:return I=_.sent(),p={error:I},[3,16];case 11:return _.trys.push([11,,14,15]),c&&!c.done&&(v=u.return)?[4,v.call(u)]:[3,13];case 12:_.sent(),_.label=13;case 13:return[3,15];case 14:if(p)throw p.error;return[7];case 15:return[7];case 16:return[3,33];case 17:_.trys.push([17,24,25,30]),f=S(t),_.label=18;case 18:return[4,f.next()];case 19:return(l=_.sent()).done?[3,23]:(k=l.value,[4,this.db.getAll(E)]);case 20:return O=_.sent(),x=O.filter((function(e){return e[M]===k.id})),[4,this.deleteTraverse(this.schema.namespaces[r].relationships[w].relationTypes,x,w,r,i)];case 21:_.sent(),_.label=22;case 22:return[3,18];case 23:return[3,30];case 24:return C=_.sent(),g={error:C},[3,30];case 25:return _.trys.push([25,,28,29]),l&&!l.done&&(m=f.return)?[4,m.call(f)]:[3,27];case 26:_.sent(),_.label=27;case 27:return[3,29];case 28:if(g)throw g.error;return[7];case 29:return[7];case 30:case 31:return[3,33];case 32:return Object(o.f)(y),[3,33];case 33:return[3,1];case 34:return[3,41];case 35:return T=_.sent(),d={error:T},[3,41];case 36:return _.trys.push([36,,39,40]),a&&!a.done&&(h=s.return)?[4,h.call(s)]:[3,38];case 37:_.sent(),_.label=38;case 38:return[3,40];case 39:if(d)throw d.error;return[7];case 40:return[7];case 41:return i.push({storeName:this.getStorename(r,n),items:t.map((function(e){return P.modelInstanceCreator(P.getModelConstructorByModelName(r,n),e)}))}),[2]}}))}))},e.prototype.clear=function(){return w(this,void 0,void 0,(function(){return _(this,(function(e){switch(e.label){case 0:return[4,this.db.clear()];case 1:return e.sent(),this.db=void 0,this.initPromise=void 0,[2]}}))}))},e.prototype.batchSave=function(e,t){return w(this,void 0,void 0,(function(){var n,r,i,s,a,u,c,f,l,d,h;return _(this,(function(p){switch(p.label){case 0:n=e.name,r=this.namespaceResolver(e),i=this.getStorename(r,n),s=[],a=function(t){var n=t.id,r=Object(o.x)(e.name,u.modelInstanceCreator(e,t),u.schema.namespaces[u.namespaceResolver(e)],u.modelInstanceCreator,u.getModelConstructorByModelName).find((function(e){return e.instance.id===n})).instance;s.push(r)},u=this;try{for(c=M(t),f=c.next();!f.done;f=c.next())l=f.value,a(l)}catch(e){d={error:e}}finally{try{f&&!f.done&&(h=c.return)&&h.call(c)}finally{if(d)throw d.error}}return[4,this.db.batchSave(i,s)];case 1:return[2,p.sent()]}}))}))},e}();t.default=new I},function(e,t,n){"use strict";n.r(t),n.d(t,"fromUtf8",(function(){return r})),n.d(t,"toUtf8",(function(){return i}));var r=function(e){return"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):function(e){for(var t=[],n=0,r=e.length;n>6|192,63&i|128);else if(n+1>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}else t.push(i>>12|224,i>>6&63|128,63&i|128)}return Uint8Array.from(t)}(e)},i=function(e){return"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):function(e){for(var t="",n=0,r=e.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s},c=function(){for(var e=[],t=0;te)&&n}}(n))}}])})); + +// version: 3.3.18 diff --git a/docs/javascript/extra.js b/docs/javascript/extra.js new file mode 100644 index 0000000000..f6e6680bbb --- /dev/null +++ b/docs/javascript/extra.js @@ -0,0 +1,91 @@ +const Amplify = window.aws_amplify.Amplify +const Analytics = Amplify.Analytics +const KinesisFirehoseProvider = window.aws_amplify.AWSKinesisFirehoseProvider + +const awsconfig = { + "aws_project_region": "eu-west-1", + "aws_cognito_identity_pool_id": "eu-west-1:3df3caec-4bb6-4891-b154-ee940c8264b8", + "aws_cognito_region": "eu-west-1", + "aws_kinesis_firehose_stream_name": "ClickStreamKinesisFirehose-OGX7PQdrynUo", +}; + +const RUNTIME = "typescript" +const BASE_ORIGIN = "awslabs.github.io" + +function copyToClipboard(e) { + e.preventDefault() + navigator.clipboard.writeText(e.target.textContent) + alert$.next("Copied to clipboard") +} + +function enableSearchOnBlurElement() { + if (document.location.hostname != BASE_ORIGIN) return // prevent unnecessary data + /* Register handler to log search on blur */ + document.addEventListener("DOMContentLoaded", function () { + recordPageView({ + prevLocation: document.referrer + }) + if (document.forms.search) { + let query = document.forms.search.query + query.addEventListener("blur", function () { + // If Search result is ever actionable + // we should populate `value` + if (this.value) { + let path = document.location.pathname; + console.info(`Search value: ${this.value}`) + recordPageView({ + searchPattern: this.value + }) + } + }) + } + }) + + // Register handler for page sections when browser history is changed + window.onpopstate = function (event) { + recordPageView({ + prevLocation: document.referrer + }) + }; +} + +function enableClipboardElements() { + let copyElements = document.querySelectorAll('.copyMe'); + copyElements.forEach(element => { + element.addEventListener('click', copyToClipboard); + }) +} + +const attachListeners = () => { + enableSearchOnBlurElement() + enableClipboardElements() +} + +const init = () => { + Analytics.addPluggable(new KinesisFirehoseProvider()) + Amplify.configure(awsconfig); + + Analytics.configure({ + AWSKinesisFirehose: { + region: awsconfig.aws_project_region + } + }) + + attachListeners() +} + +const recordPageView = ({prevLocation, searchPattern}) => { + Analytics.record({ + data: { + // Do not count page view for search + url: searchPattern ? null : window.location.href, + section: searchPattern ? null : location.pathname, + previous: prevLocation || null, + search: searchPattern || null, + language: RUNTIME + }, + streamName: awsconfig.aws_kinesis_firehose_stream_name + }, 'AWSKinesisFirehose') +} + +init() diff --git a/docs/media/aws-logo-light.svg b/docs/media/aws-logo-light.svg new file mode 100644 index 0000000000..982571b86e --- /dev/null +++ b/docs/media/aws-logo-light.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + diff --git a/docs/media/logger_utility_showcase.png b/docs/media/logger_utility_showcase.png new file mode 100644 index 0000000000000000000000000000000000000000..2421690dec509b68d8a5ed0b186d3b31b418174b GIT binary patch literal 309999 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 z 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

HeV2T8Ov!Q(|{xNTqd@I0x)>syAi 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 EUrXB3cmMzZ literal 0 HcmV?d00001 diff --git a/docs/media/logos/globaldatanet.png b/docs/media/logos/globaldatanet.png new file mode 100644 index 0000000000000000000000000000000000000000..d65d33ee35e628e499059bf539563fa0b259f4af GIT binary patch literal 4083 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 literal 0 HcmV?d00001 diff --git a/docs/media/logos/hashnode.png b/docs/media/logos/hashnode.png new file mode 100644 index 0000000000000000000000000000000000000000..f2ed425ca9a15e8b7ddeeb14f49bf86ee5954a1e GIT binary patch literal 12638 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�i2)*gUI8^L%#*Lkm@9p!_Tse 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 TqWHlk^tZmQkxsf6{^I`u45E-! literal 0 HcmV?d00001 diff --git a/docs/media/logos/trek10.jpg b/docs/media/logos/trek10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..98bab568f64f952293342964a6313e0b2b4bd2df GIT binary patch literal 362914 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

1+xiIAwm?+I= z&4C3^VyI1-3qN*cjH@}XQs4pz=VpdclZR$AuhqhO7qKHKsg8;)TIlzBGg^QPq1+!w z5gKO@Q_q|FDAE)tt7!fRs)p6Y6o8Wu;m?``G!n*z9t*sC!!T~E1r?&i8r37ZZH6pD zd?k~EC2%fb9xH9N?jBQ&gOA`Z& z5m~!jUI5nAz$Hs&YDOfB^gxhP(~_m6tVYi7D8SnDry7X_mx)#xVp zY^l`CvmP|n>t(pWu|;p}%$uwzw%Y6DdaVejpily)AS2gFnZ(Abnc@(+EU-Z^EtAz| z(pIcwpk~lk(#+Jj(Tw3$vN86k2xH&_{h5oVRKi%dwz9pI?0 zl}%%!IL#=Zbz}tZOnSY%6oJZkzZy;gq2}b;?KEBs$9~Can6qFO@NRZgYY?`v7;Pj< zM!Jw!NY6_B;V@~DZ7EZGdgu$PMygziDc~2dMr_bDO}O1bIyp+z+gXJgk<_HdHEMDL zR)*LjzDzlxF_Ke7Jk_(h5FRyDt=_d-2s5a3o7${eCM`k*PB~_VMn+~>tPPTso#~NM z4ATWC#VBruvu1i)3c|&l(iJJCU?syQZf6l;D%9z2mnDlzHEQz~=>C@FH@dLg_MT;Z zyt7^|ub$^Td>-YVcab^ZGuP$2zxR3LEv&ES+0&lad*>8Bm(}&$C?gbZG{XuMa}#aW z=gR0}Y33KC0h^Pg4$>PyP+?GHQc^YvMxO$RP^Od#hn-p60ny zf7W7KU}s0JC-HGKE_3l>UY>MC6c<%gYZxOX(%V%6bof@@t>&U^WR{ENLfjvz5?aCg zz^V%3lE;BrAWnr{1vpu#ku^&NjS8p5PHPdZ*ljKQKe`PZ!W)gIMtXXdvTji$~`L&)-tp+!4TIOf`7>hT$jN7RZX+4j+u8x z^-0(!eI10bL|plM3ZUVOKz>c4orL zYTKA~UDy~m?Ph;M4UlrN2AAxa3h|D;}N;!asVP>1t zVQ*Fn(}f^68RaWvPgLtPTh66RhFEJ$7}KUO-N^R{ zEm@b6RH^P^l%x|$yV-*})#}I-i2=9RI58Y%v|bgDdQJtAxbmb<>Qgc4poM@9ojR6x zF}Gz*(@0#_LEIh)t~`l@2^;q)uwF^cz~m~|IXYJkTgW0>G4acM=uNy)WSQ-hM8q+} z*Bb=b6@ zg<_|uyqP4*Ub~c(nwCQ42NTz;gq>tsC9{Y2;?T2-oqdT2>g2MFN!`LYZ2rFsh{My`s^h3YI1qRx7weQMpX{YOiW`f`W-jB~ zt%~`)yV~x(Y%Y{VH*MFkQkNHbuwjX519m9Ya2f|?u2hHyn5SSF8ex-sQx|mwn*z61 zx)ss>SX4ATN_MEp&=#w*iOc~puSV55&p|*_VyIx}_#m&yBQTSW*=(Cnp)S;Qv*R)| z8jQt!2TuE<)ljHLohu}bRx4X1RL88ux^2(YIiPA=QzITzLtUw4!}I`Es(o1J+h`f> z!*PAs80XtMO^rOQgpdW7k9@l1NnkS)#2H!p`jOQ2GN-<*9Nx8%I@QE+tvP`tex|yAW}5O%!MP! zXf*8(mC4tuPED0FAQt^R%sHhIQ)Noz%gu6G!7FeTQ~F7L(NmZJicA%&U=!dQ)NjbdR&h?vM^F}{4&48HsV%D3+ z;JXiX;E~{ifkIJ-&2dG`_p-KOf-P2MbkcCbsH!3*piZn1i^D0*0H19t=x|bFIIPon zlkAE@lTU@Y>YRruuRaq)qZpA@umh|P>r5eA<^%@pLzT=Zh_cl}J>AIWv&m9FJ7P#X zIf>~ySYby+VXELN4YvR2)mfbDju&2H#|u-4nG(BQI5tP=Vw5X4yRi^LK0`3FMH6%f z$RSNvhEvch)u5@Q#woOw?T&%3pxqQkv*sj)DN5++i>@b5h`5Q3C7V}UNRfxKnNBiL zI{8{bD_dhXmXL^<06#&q0-`lZcsPt=j2Sh_o`up=18C}^CmytA44u4 zd2NG~1<3?^9$KS*r_?NxFg^?Ycs6OZJ9@rpb?PyS^l{*3akT+VRs*YyVeSAmacDf5 z1LkUQ(&~rMut`{B7@>I>>~S-RMvbPYom!S|(*3G3A&5E)0xFY%-S$w#ur#IJN_PyX zCDjl{g7AVxS2%MHs5UEwC{qOcOlovRY3V88?ieGfv=_k{sx`ECn#Z4R%(LbBAZ$Gc z6vYfo~fhs6`bm5vIkUG^_0#)!Jd;1>=eiHbH{$fl+0BeX%`; z8rlOBY=Cs9zz+m=QsO1PpXF6K3#&a-9(B~Zri7V_SCG@yx)=u)BO|8d)mk`-0ZUo8Vs&!R&<-6P1fGnh6*icTf%AOak6hX) zPlJX)CTj!WoGFd6#dwG|T`prSrct?6?=`?z4Zx6PT|{mLIsw!W?B1)4V~Z-3^X+oY zA4ojkYcyx%n5_%#T3NtoKj@)waXe$e1Yo!|qmT9$dT3ABU_3)zX_x5V4nF-)Qgfk< zyo_Wnhxl2H=olb`<+@-8!gxx`4Kp(xn%c<0$x57#QnjR}(V;(+G~DF+fjI#lg^V>M zL}6CX5v8&p%mI~@K1-D%Ulzs5S5f!oKx5}%%aG$C_bt38KNjivfG`C zNcs8lu8;!G*G!c$#_h@+up+cODqRf)XPFce-uE~X@TRA0I5(#B4;2BQ6|ZO8ki145{lRD5sSEB#j(P*mr zJu)WBU8@$kxX>gTu~tEtItF{@A{HQlov*4&;Vj~Lq+twc7NHqgMsuc_FOiDZF){Ya$JUUU|!6Qg1}Ek6SwY@!*0}^OIgC$CfsT&LQS*>G%E^HYvgBl zTBANgA*Jfbb|Q7?SsAb3PiRu-V+A-*g@ub?Jc?b36~OpFx3Z(8t^q47*%do^r6`Z9 z!eml43n1|Aa44JWs%V*zTiGc^s3T(_OLSI7X}&dbQb-Tfn^RchtO3#rLnW+Cl(s*H zU@;mO>urK2Au%~r%5AHa!s`R6)2*g)6V8q}xnXBhNR%mnRkD>ULUs`r!L-p?ctv`R z{HUC?hoPdD8)9Bkw4e_B1R%r%_IOvyIobjXauAwNIaEF#y0)t*qa0u((osVX0vrF- zCe-Q+R+01;TixtoR){=0r_GA(mdHjqOqKE@uV0VLg^8z!mC^`!f?63lw%`$PpFky2 z53!My_R_gHXeCvntRn4Rza?+mnMOyEoRfETm??3T^a$X{w~&#HlvS>5SiBxh`%p(< zlya-u&S{7{gbLA=%JubhXcf!ExV9J^M7uF$Fv;<#dY{zC9iO$Pw&o0~aWW1kAu=9B zS&e6;8q?+UrlW%;n!~CUdL|b&F~^LXLy;RH=^^;4ZK2q3D=KGLVC*8CouM=)4G?XF+HlZEy<$z|1+v|U7cSE&oGt3( zv@jgCOraG&$j%g_inA0I`D|40RJo=;G$Vfo_GqVSus@s8t~}9lvk_1SHB+6m zl4B6?$c%k9&kTeL1I5yqS{O@UzcwQ0=s{ncOnPxXg_g>&A6GjH<)z6?SML@plTMnV zCC?LbG>jJ^9We~>HAvaRosm8u8JFa<2$95nXij0i;Ap@u$8%t36Nsw}Jg`y6R0nL! z_mXBqh^Av7NRcje8@h$hT-VfeCX=iTn-jx_{9R-D3&36TQmLZ3b;k#?i?3gI|33DA z@(uR#chb-LRq^td*c`Woae`0f=Pyt_jvJA+6mio_lhoEmedkeSJAUMVIT^D>~t@XAy zeYfY&s9(~3W1?%M@7f!l-{;vU&rdqoV(bvfyipJYXES+3-IUKF(57xaTijGEWO|zl zDqH|N74%%L*gZM*jJi7rTK>d;@mPDNNP36{hV2}@DObp)PJ_ufFsfthoU`0FbkO7p6`IzF1ei~v(snx+q9N80&u89 zywiha_ALug)JMDKZhrudPI!I-UVKdtWC6~h*rIlqkN7wxP=S&xGkB-G9V9PmEWc<` zU?<(!-d*8zr&}x(kxhtR00Jzk#Z84CI8Y&vKu{LR!|W*B2h0C&i0=7~w9kB{%K+t?VTI7P`hrrQCsi)6Add5)o^icAD zGqIyt|2I*0!}|A2c4NqM-~O9j&&{9Rp8lI%yD{XsZ~x7%=jP9DPyfxX-5B!RxBq6> zbMt4nr_aT%wL4Bv1Pi9E8>irG#Ha2_;LGR0|I2H|ilrs+-_nZh*N)VRWssc!b}6>K z_`m%7)E5)$_FTDXzk60LtxK#}x3qHI(o?r3jsk~BuUN5i8GZS5=;dp#wR`TpYRw+2 zSFTtt&_5utv}(oD%B7Vn_g%a9>Q#vsB$igJT(x@59(%4kaIf_Ty?E^lHXeKkTqr8d z=v^0Hcm3TjJoM;e(&%{d-R~ck!)X3Z?|#p6 zwc|_Td7nF>tG)gW;6+CQ3KoSvHu${`O)~N!yAA6!$1D{6|cSKoS*)#b@R1{OQE^`_B)>V!9#ER z!U^a6{*_N9_J8Of-AmBnjjzy}_T<;+T=3&3jQh^-kAD5D|N22{{YP%@ylBmlZya9p z8eeblv$?e~3 z$oj2Yt7qRf`TXE5SDkmn{kQM?z(#YpT=){<(_BUcEx$cN5Ae|`?DWD z@CRvlxpM}8^&h*+XOvBsKXCdb2cK{b^7Y%X_Z@r}d*k&dz5S-o{&H{(*ZSxYr@i@O z-+S;8`j-zraOoc=m%ZY%lf$Kn^z+L;blpAgx#L`28oCE;J?tN!z4Pt<#*@xC?56hT z5B&MZsRKXt&B}DWzv&|szn-z#Uh+?w?)TU8o&A2W#`m>d3t#3Reyii&DXr`x9s89-10r@qfGCL>u{~AW=35TB>W;5} z;*T@rwR=AKx|f{M{L6l?Jos&`%z+nO-Qf65cinKsqkrA_2~ql1_3~GI;s>|=?6M=@ zdAs&y=B01hk5!oUr`>e;BR@Uq@CSZy>D8T=zyHlwS5N%j8FwD><>1C|-~Z%;*Isk; zalwCou>Oxbw z9bOZh_tFn*y` zd*1);CoX#99_N4Py!9VzjlR^p`t^@aF8=g|-#yuOKX%5=pF6vB&(F<`vxk55lbiQv zzdXAck}EU-gh*z1%2rF&-mYZ{N{Up{lM@w$YazsZ~D^zVeh@; z+RBzZak|}Yw{zQ=oVo#nNyY?$1qPm*3?Wj_1anfLa$JG1Z2?C-O)`|cmoxuNd8=Ua8osdKANRndId zIqou6Oy(^QwlhOF0KB}7ISgWdEz_?-rI!_}dM^f5`rdq486u8OxodnA?0mUY#8#PE zE4$-6LJe3%es3LQSx~FGjZ$m)J#_b6X%BYy%os%NeO!{TI-NE*N6}ef`B&3}VokJM z*j>m^6F4q&tqxzb^bCDjO%7FCD1Wxr`Wr`#ELV2-IKr&V$v$HEeX+}I9^Ln6Z=)-7 z6iZ@5TVnah%<^UjKFQbmb>YjU^s+j*Lw+j?Pf+vQ$Ss#J#uE4E}$E3l)Nd_}Y_41CXhVGL#2MSfm^|1G9uX0ftXniTO+s)ATI$~_7 zC-ixedGl`B1@WDGt4Q5Wg2z*dz2zHu1Gc}+IQ}xK^5cG$Y~*5k%hCt(0*yw1KI?PM zhH+UTF|s?8MMcCfv|+PUB=*`bMS6712IV$IedF;%02KGYVTGLs7n-rcSZ(;2+$#LY zq&s}7j1dQh;gB*jDKFh?hb--Fn4zWfdEVWdN`n;l=WG+MF`nF~yNgTI!PEA|v65=- znb9QzZtBI5r2;lCW_Eg+JLo9n(ypYgzLsbCN#2o`M3Ebh>kJX7sO>-@y}JDed%kf@CpWJl-Xp(p06^kKp=VaoG&5t< z4i7QY7%`|#^BxH%X1V$^4&v?Im}}H=SPUo3L7ZfJ(dD!-%gH_9QvFhf68qU-c30mm z;S=s7BwnwCmmk=_-FcG(BU7HG$A`b>ii5Bg-nV@U`_O%HyH{DBs!zW>tN%Lr zEEbrNmy@B$50Pu$dFg8eDL#F>lQ5dak)?cqug!Ru;T6HO#{JGxkZ+x903?1$LCiN` z)8+%;;hqMu7HOsLlD6UNJI{VwD$3IOZ3mrdCS+{3^z>tYxp&x(iBitMs)hRYr~@CX zY$DI#Y1f0i!V>GCB`?aRrMH=pFDi(d?Fsy+r< zR0c=3SwjiBPTIsm{DoRm8VMK6Q2SUwf>^dXT#<|W5OhDsIO|Fac*WMYk5FMx^dyS; z&7okbJh>;OXSXXTDtxB)QtEH-KmS4Te+2?UDA&=QFeM%pr0?(tyV9HG(j%QK zwqD^peBX;X?Cdf(!D1M|3RB({8IfD~6jm{@hVvUMN$!YgK~KE#%t_95N7g7bGil>! zg8-W-&Zk|sz3@92@{imCm6p3prCiVY29zRcQiW(g)fe)fQ>$XV$r=`iKA$15_;iVg zi7of3yrlR?fxNpkEdP!b%C+0;u^Qn_ zoi2^ybJUZ`U`3?7sOo=uS3krRYEaM|$d%eiA`;%0%L&O}BS|f0Bn9qbcPuF5oIZFq za~FCbLEXR%g?io4_U=>6}N>|!arx#<~;S_fy)6Als5%Cb!0 z^2l|w>4#x@>L&C0nwRzkBsFk7nU+vkLmdr5GHKCFa;Q#%pFXjTcOG1&l~Sqk@;91f z1;&9*Q3_i1gM8y)c#jm2huWb})+Q|OJf&-BCCyEjL4|dL%O?{Dzm({jyeS?dRN;$h zEug}X*zocJqcwr4+cIIV`>W(Pk@gSq%pgtF;xHZ!?GyZ4~u3_roEPe z3f2u{#kU?+(;jv^7P^P#p%JFmp8;e{{^4_QT%@c0R`>!(1FF7=gG4|4WUHbs5D@q z2AqXmN!O}&cd@I6Gty+flt`n^6~Uglg)Q|?KiEcm=c4I0C$D7g(zKRW`KWk1EU5Bb zx^)vYYceRO;RlR2PuXwf^VenSBI%k-c`Y_QGRflk`Vqssq`N$K{j~hkuo}PQMugq0 z&rPxFv#*UL3v|_!(Bw+BN!7@mSbctHq4`_Dl?wQ3`m0zr%QZE(8lsR|s6oh_4z%xq zCN0=Hl|y7NxA&eOy~$ta7nIF4RIRUu7upUmpzTVNCzvXXrBIXafwUqM2e;nDmudSr z26&~gX^@J92eDkeEfnVi{gGKi9nIC2KBjl0J&A%XD^{hipzPy>`b|gMgUN^ERVJOX zvrYoF!p^&P2K@Cuk*&O`4jrIAl8)D73Kqa02RFZw|DkE${@PPJwg1|2)1Uq|sXLdQKzC8#A-Zg+vS$>n3cR-0K2rcP3`zHhi$wd9UHT72 z4NtrLr6b4s&u*?Py1fXoAhWz0_-;?Y)vIdk zwE%t}CdEQ4>Fn-kN%=7!d7o8`3$D#7uKKKXenOlPG8P{9yl2ffH+(59db-fa zT|R6Ha$LBn4SYCT?f-d7{)U^6NQ_RP#;V|9vvc59^S5Pt zKP_swX5mst2ZV_|j{y@yLlN(OkH{s`@|6hNJCIOsfjbYdf-k!$`Bl?K2mWO@2EE}q zb--w!fS7{ftJ4}%iONjVpn7$GA~wL?J>c~q1$+YA^ROlPXMTiMSj-xxIp-6$6vQJ# zcYj5sJ-8d!jc{Oqslpgc@rKN!&)p`$X^lBnd424u!K?$A_#83%L83(-d-6+{(!MFdKIQ-+>|6K@N zp9S$_=B34MaDhPKKV_f&g7zh$hi?cql3bSigg9N$mp4y%G!NqfzHv1AR=;j`nd+#e zxF$-%M@c0}`#s7sipro~ECD|pCmwjO%8`aVC4 z{~ac)1{7>7Pov=O(UgIotYvE?6qH_Hj)7cxtxzPr0A}t<8n! z(vEJA!#S9$U+Dp^&H1LgiMvI6!_rW8V1IktaKPy9L#H3%ih1TDZsiYs%h9sRaek8) zuDj6Y?G~FLegea12&|LQf>0@l>o3p{NAZ>ENrkkd{fgCQdF~v~(l4b>r0kCtOu?CZJbs#mB|qHhiw&$B ziVNzj1-Mq+)LV)C(AGYeXD{mXLWSa_v5z-*Xk{TVB__omzg&LdJcbBF`gNCQeHGyR zUjOTaq*c;-nHWBBrjS^Pj0z87tVifPhu#<^-=kdZ2>me2Ne+JO%o)Z z-5A{1x^zGk^OPQzdwHSK+0&g;(j))m6KmRQf2D`#S8J(Q8f5Bxx9N$LIHt>}h{bLr zAlHs(H9y*ya^pK<&OWijT^n&@t}k*Wo0NSvG=cm~@?;a1Bd zijD0H6acK)6uOf9De0Q79fzai;U0r1;R;8%3w%UR4{bOvbD%bN&25Y8bAL!?lZ8jU z4Vb(F9j*(^fBA}HIsoBPu_R*c7Kf*^=jY{O)7oE^R1S_?^UoCBXitXQ5AU@|OP(Kx zt66Pdtc7VL%oA^v>X*ms`TYVf@~JtPFR~tQnN^yyRlEHPZJ4uIG1lh1I>cV%UIG4? zGFfFP*z3N^=d4pu7AJD`J`a^FTglo<3Go<)Ey^uMG%I+l$-?n;H|RHx?%cj#-|Ga` zLO4TC2qg3-|Kr|pJ3eMsPjR(FnWM`yheL9eu{P@k-e!NjEIT4#TySoYmPC_Mtwt-q zt+l*zaj@u*|5Xt{WnbD6>Vjy_@yN9bBx_%FY>rEkEVErrWKARx@!tfjnpPB$l3I^uQh(Ut=&}0JB{Hy$w8($j2KDu_0hdnXjRXJ$l<; z9vx_BQ_HX^zOtM1+`XQW?xKUA4YzfxDk{nXK6lsf(Cj9nAGfxFI6)z4(;$$fR>7K; zsSIn)Z-^RsDZ`Me@wPE7WVPN=qifXZRYH`UXIMeWyhf?N?pwq%nGomju56!wzgyT~ zzv1GZ$-oZ=$L>&P>UgJ39QBXhAB8TTg*c9G3RAMsg;-N<1`r|NvEI5CIOlV{1mwiX zYlRw23-iAeOVw6T(7@vsP`h+tLZAfqQ#9;l$S+$BkuLt z?1yeItjQHJ&0hAu>T*{8>NWDt?+pdt8j4%AE)+!fz=!9E4opCRl@)}Gz%UVHOk=!W zT>MIil*W77o0~lzq9s7FD=6Xg)Lo4lN*4k|V2a@cV+hZH7uJvdSGo3&>;4lX@Bp3` zvW(fkY!69)r_yo%(ttQUrnRDD?$Za`=o=8TA77QkXr84$n$d5MGmtp~*LQtx+a3V? zK@E&m;$NHv->fk7$7=u=t#eEswFPSC<{at^1m7JZY$bYIMJGh)L~psPD-MW1`^JG6 zY;FELyqG`!ZjipfVDzh+IOpXh1Ps(#1BAC>+ShjLLwi!zh>M>!yDcm5LLI*vqXLyR z=8iY@i~r!-9}dzr0@XyzovdQ7CPsgffh{JLFLI$AE9#cyq%p z!^`*+s2mrB%Yl!iAS`T7;7BP9IrSD+*8t%S*@V5wul1Kr&np#${%(d~+ zp^)h-@}3mfqcJLL=6Vkd(_>TGmvBx$5OiW zhyn!GbKCA4hdX)Nc6xRXgPGSCNUi!>v{xlQ6z}Qc1MI*@(Svg~o37K2o>B+IvW-qU zKf8>p_II&`U#q;?^D%HzvMW=qpdaC~EHHapcDLVi|K}lC?%B28Kf`O4(^%Fq_`-D|8SVnu3iFnF3|SJ^-%KQNx8DHk8~M>!Er?|WT5Wr z#e}$ahV3fB*!C{ibkmqN{Vu;@PTC}L`7s#ShmYpGa+WSJ ze^Yw71PAc<4VpTCCpF#q#rYs;VWG>j#tFV#UZ$9Uiu!wB{zgGL_z0 z>428#`a~M@`M^{cY)eUK6;B6}m^jHbL67Lz2IvOw!D};Mcq6+*&qW!}JYpUJR&J0F zb&1zgf0-sG91k64eVHRj%L|!?)z3J2lJcpe#JQ^RA{Vd9txqyvv-o&x%54hb%r`V* z`p=XaDi20VY2wadfr~d+nMe^&0?O&NZO`5?gy$I#kwAGt~;! ziQ^6(np~7s!OV+@tHCOX%|K99JV{m4SUI7ekB2nzNs0N{k-hVvXD-yZ+{13DwbqB# z$x5=e&-D4^kON{0gp(o#O|GB_Pff4-CU1YJwoAol5<0+0BQd)QODo!1k=G3T=-LH% zBQ!_@su0`zMTsj7$&=PJUY6MEBGoxjl9f4{fDRI6V=_l)S4dV)7-{|!s=W_4?2rf< zinRCcc)cw6*|e=i*37humY{>Mp3wQ)a$n#b*~#l8zR$Pe>lj62w=FPEqM+n`TGBu- zXHE94KA_F+P65e(fdwwRWyu!QuKpWY_>ar~b_C8nN8C6R4Top+e-jCVr3<}9i9=w9ajl72D#dD4BnFReFO@fRC zAhI71!mFS4p^mSoY^|O7nua?{edF-JN3Fh0pAShDCa;Oa$b`ErKREP9?2j~QC6Ju9 zpz~8NPmk*?Px}DZ$IkU^-P3?hYH@>)+qV|!y)*7tPBkeJ-5G}twC01KvQ^ZR_BXe$ zV4ZC}*)@#RL@*@*ZJH>UjuqF_z!Xn4xaaP!6!}ShvgyDr3z>3K2WXZMk%v}oo{ZA? z*E}ZX!ABP~lax0b>s3v(Q-}E5Q&&p^RAbO2eGjHL$WNI0pIer-N4v9o*qW6|fDVHVlSQS4|B_fnG{3Jz8;pY3d?G$ z`h$V6Rhdd6tmT`pSRn^H*7o!W-#B=~+FEXvjGlkw4{JQ|=s-;@lBc~q-o#8?_o*B- zU8}-K?t9d!ms-u^G?RyK^g=7SI-*icwR%0_A4<6chIwQ%=9NC?CK)Z~-2joohH`Ho zS|;Vs2FSB@K-);L2G*#3O_r|x=f4AG#fAc(4^*cD*#Rfwq{AsTXv}^1{uaQ^smS*3 zNuqJ^NLcz*nOm~*O7b$md|BY;ph_Op`PVKcT~;VvSvn;&LdJJ{Wy}QeJbL0raGFdY z%<5B_up4M$iS4>h>)7n^N6v!M>N4-HgbS8zE?)o}B#=HZ3{Jlmt!dgJJ@y`-r5Yr7 zjtz`97e^MTsEBq+=&vvZ29k#cCYnq*S+k}zq(XmB9og-LnE%c>ex zg|+S5Z^!c#neS8tHkZ$hQ)@|=ZD-?h^SfMIr^F7a3wUDB0Bv*&@OJHmH({bHEwM>h z7n`H;ci{S;gyh2WovVZMKWt~`&j5LfOtstm3exbSQl7zGY%{*>j)%S;?bC>mj^Jc4 z(~n2OtKWI2YrK6=XBb=Qz%*b|<09a$A0Xtb4)4G)No$5af5#l4%O_S}0mDvDoxFw; zV3rwAs4e4$raYeGRHfhLKVQ=m!*Kd)N9xox{2966T`reB{pLK&!kgn6){Fi#qZxM;SO*WGjL zaJ{!KeXi}VZ=|0Y`CzA3{;Sk!KnS%l+mUZC2|avrDF4W;vD5tc^Q;K_&en&vtZLWe z+gd#dXNeV-n>06l(?uF|7o+!WVOn^>yptB;Al|K^m4;V^2Yqw%m%@VGCr!4XdkZuL zt;=%yTiWj;KK|wFJ{bRMR(9oxUhfrt!c!pm)wSr&~4*S`GpX7;>(dWO`_ z*X$70?yTB^(3Han-_5r3)FB>@+i5tyA5CJgJ12Kpo9Ywjr)6e{ir?%xsouZE#l<4V zNw^|LfMT9nP08h0k3KLOU=!zSSAL-*nmM%4w~&cj-sNf3PBX(iTQyqbT1sE-7?R)8 z@;#fzHYo<4Btb?u-p=iyPkG#$Y<2g%>KkzRX{|OoFksm0H%b5Orx0NBpaHMc`D+Pd2e1~WvnGg z-A$}~_-WQaaJ0m8c4=N*Z(K(arUc!M3a!a_W98u68IzRk=-kP^*mA#yknr=@nkY-K zPA8}%NYPDH20xNhfc72mhm|0b94}a$Y?a2J?(_9_$@T6kOh)vntJ8cePZe?wwz$7> zlsF}(lwqctQ+y8|9?e69PS%yOQ|+@?o_^!dSz+%`&GuWP=G#u3kKfVI;8XG1h>q)1 zY71*?&oho2$G>qvuOCXfBS{?*t;$-OTFX4F{N?HDjoV|VkHZg``Vr_W^K;zuN4$UW z(2Z{#HVwDsowypJ?@n#L-0P`PKlDVyn z8^=45`oO-asdK=C*VNNik!{nSHT$!M6zdU=ju?`s8#7ycr;V$RfB(yx-uuRp8-xrU zFFb~7Z_S*N!;Kv4Wg>1u8fGu7WdJveZI^nFS9h%je;TOpk*@@Y-*x9h( zPh9=RaYqZioYzo)9s+E7Y_Vf~T;7jyC=G1f$+Nrr##4 zFjhvJCdo#VY9U{Up*?CyL(}a?$u;>kLG~jnx=y#O%(#BL+H&7*$E_hov ztU0-PcytGWGrz%4AP%3l3CyBIqhrJqr2!VUTj@d77GTl3DonJ_~XMsOm zxoS;Yvx4)s7R&>Cg5u!+G}j&#v&5`VJGY4je(GoPm3($Tcxg*_$${lg2h0yol$CU! zB~(aRcD!uWD6y)u}#k`e1)|C|&yIUCqu(&Vq1EA3%zx~ce+y;9(M{TnBE z?h?`3&pPpCHZ#RgSfJeIUYHWLy-i==9AY(rl3tXN&VIDx{xV;HGiY^TyN}emnp7rS zT9qHcxa&Jw4CtVxl|FnqX#Qr_IgfwUp3~%{4hoY*66<@Bz_XQ=QbtVr)NRsFle2#) z2VV0HFCG|LW}X6-=~FvufzM2e-+%We1h$#ijA5_!7-xz>CaV?W83i=~=H8Wq@n0!* z4zox{B5|s=sRB*!tW~51nSxkxuU+)TPD_2&HLbgav6O{x91$IctavX4(Y+%n0o0kx z-^KG&&(}fu0<+-jlrfbZ1oxpqz(CMce&ZymXK9U!KFep<9oye*pYpRC_?LR(4zpHX z^%5y?tky9!|8SX%KO~Wu#n;vGo+ZZOyAp}bo3wso*?u)!S5!((y`eCnEVOLo%&x8o z)@x54(rb>tKcJ&m5C;p!a_ZafzK184x8 zO4JW3D*)F9omi%2;_q(jug}!x521ppnId33L4QX+6A2Ih>CIHB;l@!)pq@_a`Y9@AV4|w z>?6KxmgT;um~jwdQW{88-u$!@>~!aIiRciN|<@5-S_i1GE~`s+$o z^l9IER|h47xuYb7u<8)^E;&}Fe{^|`gww*x{fD?apF(d$mW!jh^^yi47>jvc+IG?Xe`c-9K~ zwCiDe$<;eR)w zsDkQn12!MHEv}g{yc+3H4$wUD?8* z2-~<4>BGBVCQU_&YWq83&a4A>{=6YC`Cz*7n1#Eqg36Z-Jp@p@N@2Ny1YOgzVi;Vf=o z25rc`u23<2ePcoX`<&8TYQLrR7~J{eV}>f)@}ZbSq@KLx3@#oaJjID8L_OHg_~Tz0 zT>gVkofi%S4O#OC)V@U9+NM?btC+q|2Gnb|*~hC7@vq(aLZ4rui0qs@w`#}Q?S(He_B{eSc{!=`jjxAIIF#WOU`*-XI^e&nC7+=_QWfJ!@%W4u9|= zUTyZ%g%U1}B_;~T6l5N15(qjcLj~S9dLy_-2gh!C)cy+P>wB>7&W&`F2%V;q-JVPd zJu6;RNlcXMdu*Qr`f8?aLZx56uZm*y7G>HcT6HVq>oyQ-qCfv#xSyjgI6S9rgflP` zl~<$0O1$=M6JdM~UPbg9grX!c`AS>>a$^%vuVkH>_)tl(Bw3a05T*O(!$b`C$kNLF z_z|wr0f&ilZE4sPY**Slz+b774n>GVYaaOnZ#=5~VJ5>qg*S05W?lC%@0zoW@m`aq z=}GBsUweyg{8_$)*ugD@^{#GP8DXY}&0e0_V-5Wx5Avb#e(I`H>d1w13|?zu=j7`X zC`69rY^+Ea>LA|eH;%=wVfmTHVB;I&#pg@6dXv1DWv49Ptgoqu{lN|@4NoU{A7y^R zd9-eSW#)ENQA$8oF5Pi#XL>`AA)0!x9;K`O!mnE4RmIbi(P7HS!w|5fkv%GF)@CU{ z7o9v$+w|5qd~}fOMS5Xy=?|wbe;2U-35dRf_`Vz1ed8xTbLQw;2xQ?EB?kg~57c~n zJlcB!Ve+4kRkYp~-}!9+{ki{Eo6zgR{%ukl+)q{R-eF}P#a6VF%NV6v<0@Cx?+|Yi zTH_naTx5(`x@Ym*{R{j38cEgm?6b@Ymw4ehJDhrSf#Y6SPJ2NKF*gFJ54tTIGj+z5 zZyf3luet(8HeZFVe6`*9SpT?z7${X>W%H#%`z`sy7i8pTD0VG|uRS#1<95))js&yN zuD%|ifEd<>-M6o2J&td*)=4%xPlpnamN}4h_U`BQS)VC5=hxE#Rmz;+FFD|HQdiBN zrq1j1L+YDj2l7{F!nWDD-#F|}W7R%Uq6Z~LI15R3Lt+CJRUV zq%}y3?kV4GvZF=K_zz94eepBOzV$*u4?K-l9+9@VRXYY{ge-Z3x_m=iqZUiP_Jd3| zR2zPkw%M47-z<6VVjl=^K%}2#_Ki;56`9t7Bsgwe{Il3gz<&eu-~E59bsmygTL#!< zkKM`|x|)=@hwj$jGo74yJE91_L(a@%_bDb#!^4y6V=NctH{<4KS984XU;lB$aUyY) zWc9O#R)?-Jr#R?KhQqdh?F&E9m#9Rq`DU+{kp_HlE)dwRaQ@diuwDbp{iBufCDr#d z?&di_9VAyQxXgC;ytCdvSK!BT4K2-q`WvS&d&ARKBGajcr`;cqzA8_pS!87%TsdXP zX6|$O?os~edhxT|n|~(z?+fSnsAa^`@4iS3liCI5G*oz@`W26ueL+GsuKqH)E*~-1 zk%N)6dKlf8ZgC+v$Ph&k?XbCi8zH7Zr9PV!O6q7U<3G&KDN1T3;UU1)dQPcCPl3`} ziS!32-jakdk$ z_o?ugguN-Kw_3NhcpP@sh_QqaQSW0YRg5WA`kwlzed>0)t;!Dp6Q+{(CDJc`u0`1T z)ly~H*L;P__4PT^v<;=7F_JXrMSh&F*@h}5QrFU`k)F3%^~PgC!!9^UA9=ClERFEG z?sbGq9?8OnyuXKpTkl`$JGPtJ=B~Xo+wH@49c#8}DUIlp7yg*lvTJz#oLi~OEY2SO?EL+jr+i3X zlm}cQk}rk0fN^V}5-f>1=C@+MWbnW|#mBXmCOShq23j{y3tzBG9AND$?&K>mkH=_u zqQLDmTZ;=b^6jmA;3gqyP56Y6I*MWs_Nx}V!V@@8_yC&DyTquqR>X%fD(yB#n-Sxq zAF-i0c2*uNP_M?L_J@v!+nmbJHv7l6%&zpgaZ%Fk4o9uL3Cq>R{Tias)e35H3t2Hf z0Y%X_oe1=*c$Q*+qK2p$$SGm(?3@rre;Zmv5p+o_W|XrORce>rkXF6JoBD;3nvB9+ z$)wRit2Glp_MhB>91%OJ@N=c$U}TucLlQ)#b*CN@XIPxJGT3y<@5}6TWUnGBS>@rp zQUBwwE3QHboK`D36_YAs#3B71-3#}3@=KE-mflxQj0a2{hL$2BZ|RE{Y{q{dTB%d0+SeqTe7}!jNQLahsyY(oHyXfqf>EXg{S( zDs~%ok(VIGKh;dR1^sER@=G#7^UiiapsI!n^`>xVZXPnqV)9)kCR}}-Prx*$Sd+=6@?V+E$g>wu{QJg^kD4dSX3WPD-mUVEfu zY$6M|wWXGoo7s&LZUZJjhgZ8$f)l0iQI;+oYu?UcTpV9O4Zcnrd3LNj2zI=KP^_;~ zvY3_GeE-aqg{&Z%U9WAQ+asiGfF_^?Y%;3rMl{sKcx`S|9_@()EK z+cvpw^Iv}QrzihXlkb3zne`uOzXe1=ziT~i@m1&zQ)dLiu6&x8KbjKVU;{Ai_7cx2 zto+>+GKBz$=Dsc|`_5j-hB&k0Y`5rwHjDGm?Ti)x1d>S=lbKW`x%O$=)NHP=Wd^O7 zcQBkt9Fsh!*<^D#<7%@A2Qe>0gS|mRHUq~=OcLqz>hS|^;Oj4;$R+K_P{Pa=Rrz(t zwb;pk*rrU|q2dx;`TYlV_daP%AYGg6;9l^fs~#&%TY_y|VxFw7l16?=4&EpqRqn8U zg032)$P~l!rr)p&tLt_(XguW6Xa2!B9*ng3jyLu5#G)9fx(9b_6FERCT_dk9!w2f) z2N;1eW`Sx=AN~c6e@|(X4WF=#zyC66ugzq|Ww26?sD9Q^;1k%KS5!@vI%{o|CQ+ z;NKeWN_C_oNYR0#vsssbPLEnQOfx7K1-+&x(+4nt@BUCN2@(32cjs>3K0Y$t*FU_j zap+#o?=vfTq%yPiY9QRzC=|(3Iw zClr=H_A0LFrUIbZ*LD@-d8*%!Vn(EKW@D3+aok5%_eWX5CUgNsyRFVQtJx<1UI^u6TeLS$wqe{$6b+{{#{`o$+c zfPpRaYdwj0mSe3c#~Eds4-<~}*_B0AsT!xvvtG`F;oY{d#=xGA5=A9uCaAXww7Tf8j5V73A6r$ zv#plif{#~Gh>eRg7;e_1kW5H$`%gD+sA1LHA1}HldWz#cg=7<{4trG4*?=)#ipXqn zAohchTuv^>W+Ur=#gc#CIj462`k+XW=GCxA4hIK78AH-aZcskWz8V{5gcXAtJQEPe zT26KP$!KkUR}u zf!9ujF6Sf))*uEXT=J`p(Lqn2?5ikvBhy?nouida-hr0p!RD*Z-WZK7^R`ooY2+bd zIp$?ey!Rv1>k1P24JMqK@*=DL56u)FkSRj)Lnm`|_L!_eu?&8+cdrt|W9*z6L_xuu zl&D&B=dEQK)t7G3p0+dd{PXlRxpU7VaY4s=`U&g$vZOgAK@pe_QZ;*vE?0zWjTyr$ zASst;q6G%X4&&{xNtUnKM+tqT#;43efYj84At$$O@h{qn20H&!f&ORo{sRi%^M$VM z+>Ek()O%%}8+I9`KH|$$y=jC#HJ<7D>!sq`o`gE+tV;B zCqSpqB*~_{&OIAce_QaD1DiaA<7(ub32H+*H78y?S#em==d`SWRSH?ZCSsHf}mfMfM|5|Ept&oEKC$Y(&;0? zEpy+*eHkh|U--dO+B3g68HS0@G&g^I<~E7S*rTll&C}RH^FX#gf!c8<;7f&H!mj;m zW}<%!>Wi-yj0b;feZC_W6*42I(al9F#`N#i!WP+{-n(&;RU$4QX1A(~0SP*how&^z z+e zC|SC7b&`Laf@U=XCqzIm`a}yV9bFeYJr>3I3>|kCJK=E9P5vm~rYu9{J#Y6IiTa`gUq|GELnMZGqS_(Uh3^c(*Ceg(bFN$MqCeFO* zx>14*IDW1abEa=l?27a7b>=3lPY(c(TP#gvU{XtG3%^$UH4>l$2;sJBFf|@Vv19q? zVFOJs{BkPtaB_F>& zTa_~W^Is{wO6s}Ss0R(d_c#>O>$FpCH~9GOSh5^dJ8W=)*9?c2%*11&yP0q&w(b3N zjY4SoGo{Im0o%~l#k0hhqzosnr|Mw&YPA=$!e>supL?<&6{6}SLJMm1Xz^dReU0@+ zf$E*-e<^EX#1V3n0(|<)n`zO!ne(AIv+oxBb$1D*pyu%S(5A1G)gP@dbUOf(6VYK* zPCg23ghyAn`*&{&5ll`RtO|YB&Wb!XAzyjh)e?xJcxn4oOkL@=NO49hAsVXF=t}C23%9H`pB@Qksq7!(l)>wk(mj7> z|A%l|Z;xOm8s-*2#SSfZm9%fV4V1yKDysWkU4eY8(aix#chRGomOsBJ$*kRblxIIy zf$Odm#6Igyp;C?XiwlB9#n5$Fi6Ao{(xpaU*W8RHhPR4M`<4%97wT4*a zPrL`NxaGkig*RtG>fY4dFFRLMKjrn&t?yaGvxMSMs%4%OY0iYaI#P(q+2WDdCw&`>Q5Hw;aNR$7d+xu2MXo19ZP)D zLW~c@_tc4OUiGBOWnE(7t>NV0%95frd7M>w;b%YTAh@*6QXzZj&YdX%7ql{Kllov% zkL{#{r6qT|lyoA*lIUaP2(j?lXl}z*NG(j?7}m)`oJ}+5fgS86T4$%RzVSm7GhJLaq)MC2m4CmVs+rWgI~_$4#)C`>f!l4U&ZE%ii>eu zX3AwC#4O&^;XoX>+_Hwkb+Dxg=$XX8FaJYs{nNqglY9kb%3zsJS?*twflsoexTT&Z zONvb=OW71HyoZl6&gPQl_7m4Lu;pMiDZ9k8wpj{KrwYb@A^G1eV)@_2#Eb%O7|U|% zDl69TeLV}$K<-F@_94&AsG$Zdt8q*W^(;V9VrPE?;rwD-Y1?AP!H)6U%7P<)oa!B1 z(wZGhqc1i|Oq?({u27=GUh~>z*~Fs~yBl~3x0v^V;=^P`kdyyBzDaf72ekm{t7fQU z2s+Va&pOsFK*4F&IyO0sErAED0am>8%1=vzVwptq`1P0|{i`E*&7D8>^ejbb&}U1o zEF&MxG0Cbl$>K3C1R7D> z6Gu0F=Zm}xb8(4)ZWDj!D;nrVCX6U7O6m5feOx;7YZ`%B7~SnChZ4?|Flq_#^@)d$ zGjvsvFZ~L*x@6UTT0Tmjm_*-OWz>El6ol`pGZa?8>=#6baz0do;(7AYWO%p1nRQE7 z-v3Y8^B;8L`x~@B(f-t*!05U7C1ZYLZN?@`n#;?51+*j8kne?X$V)1 z_->mpgsk2ze;7tp+4N>-%WPf0w|ZzPK_?~C)3$prsdcnZ9A#TBE>31eH+m+e57U*m zI+Ic){X+Z_N92P0$-oZy&LQ6H{Z2XDwcJg9pk~D0u4P*or=d<|`x`v@eb_wz^S`fN z-`myvu*?pZ&gN`-(4CC$<+a7D*%dH@^i8ycdzI>*wz3M4NR#|}-LueNfvwVeX48%) zq(@YJf4>AiecSjCastjRSU_({9@Lyf1r+xuOYEr7iia{mo}a=*bW=PW-T-~OlM(j* zNh)m9qRyHq6#>^Cci>8gtOkrmF`yFq(>`1H5;c@MpQy7E^QxcL3{ z%<}wOnih4Bv;A;81>xXLrt5##H6B1u8sF1UpL8faTQ`?AyzIT-LUx`MoeBab9oZ#m zctC2e3e>d;7|$HspL+L3+cj^w1QB-f36yQV=0vxJ^Pg((kIN(8o3qf62RY zkI^?rz3$}Ikx}QvQp`F6JNC=|K%#Q#lh4X*^BMGs98q_Qvf|c9m|p-+t|d0j63ZE$ z5J8d`&Rap4-0KJ~4;^Td3z>=c$ZG8uczqRARaGzrxirA&qxI4Gck=Kx>Jz?Uf*FDn zf($E*o_^3ndy^j_vc&)mZSxiXKxyeP5>IPP3y+oK9b`qU|DXN}hre&9G=k_ZqXe5H zS;pS6bs4;0Z5vpU1jX`!ycVB(K2FjB8gc2GEqexv>qVI%5ifEPEq~P(Sk zDbu@SqkGVxEjJYNlU$F_EQ6>_8lAk0HcJs4`U^Gl->r^Zzd9eEbHBGxL*>6P_ug?$ zW$oIqGmbhIbPy?0N2+w`(nsk+=%JUPLqd@nNho6hqyz+{HwCGIK!5-t5Jr&_ARvSQ zfdr(59(ou3GUt2W-+AUa?>WD7W}ff&et%`Jz4qQ~t!wY>b?+y;S5E*C6Ts)kM0^Hy2RK9p^VzeF|&oJn|=1Mh}syb?6kLeAY{5s+wMum@Gn$r zOl5N*EqgKe0PUHkCzEWV#{Ev&##8U^T7Txg>AL3A3J>c~Ha?|6Bc0_JO{~rY>`tg1 zIAJ$iwxy;_PEP{?=a(NxfN%cmN5|dEm}(kS4&c%wQ7=i=&(`)|ZDMfRkIP60HUjIU z!#<-_wlV-J;%Dsl^#hu{yOEIoYpJoGi&8%k>`gL`k`wcgSCbFGoQhbtwg~2T-3M=&jV~})EX1O6lo>0ydJ};y?4hsRgl_vTk zmJ`#*MUya#x8u|rKLByobK((3_8DoV>-5!2*y7sdJgnl<@d$w#_#d?qi4u!mQ?tzSRoqX@Ym6;nlANdrQqZv=P4t zJM_i+HO#;2AtKGrS1Y_Un$zTaLjcZG`U-kQ7FVV~HQbk%euRwlc@r}6wDjKJ z9n!h16qBen=k767zQ6z(FF21)>(bMo+_|X&{Im%WljT;lB2FU#DqbCp=Gay@!CB3T^b28zG^Z79!I`A@~(NNGGP3MWgH8eK1a*5|A2bBgAjyk8aUkbC#0 zHCm|gplkM8JA0<#vgTFmKfKSIpUS?)$O>I}nyl*3S& zmsM??ZZ@5)wp$vvKHBvEWI}0jkk+wqHvgKu5SuG9aDd{bm6Sr|+l812z4DE$n;S`iBc&$=PX;gR{w z-_A|AZne;q2W#TqyV)RkrCF~iPs^ax3J*2FH*yEkjm{cASKo-OKj}1#dyGamoknUJ z^pDH$)cQknfJy+lQ##~gGngOD?;hAZ=;=elsSY|gI>H++9t*ARS`WL1iB^0DRrMI? z7*EG2$lLAN45m*n5#$yNZH1zJ1Kqk#0@# zlngF$)p8%iM67lQq@tfMUAR_N@Yxf}@?!jYP~-A88y9M>U)|$5v%PEUBzUSx-y`4x zv2r6wOhcKYRXI(DkeWO^zghM*G!-}Zv7|V{Y!So&zN0riSpjgdSVg3^Od_Kr)+dGOf8}+J&?}3;G2}dxm~YYSA#zl8tUq}o<$qRris?hfO30B|qtoF#N9HcI)0X)~lktxSzOd+& z<(0LWJ)8*+?f!9MCgOy~$Vt$2rry1XITwTv&K!CbUKvJdzv3$wS{aQadsgS_ZEx{6 zwnru~MU}YRU;Iw#Z`foP?}qA)Z5p1jn-YT}4TB(r8s1+pd2cIhPWl&kdREcxQ0~zD zj|OZ{D;J#~+=-J;aTb@1sfYD==O4-}Q=Yw#kv@96Z#J>4irMq-Fcc~d?y|m^msL>hu6F$(?L}{wc|bR za#j!NS}pL@Y024{pF1GN%kg$Nyb4!Sud`F_lGo-j6v0Jc&78ThE6uu-;fZoOezN&W z0We&LuA;Sz0AP|X;Pzy9ILuualME+7`O&6b;2L(YeG{c7l#QWjEqyID%H9sr*vu6f z1lDn6vWrg7NcoasF*evn`|a=li~e<2KsNXJoNC|C+HM}!w8-B9+-6y6UHVd>v?TBD zm5a+-j^g6$wS4U@`SiPg>NdSCxR=X|W%I;Y#5>2f4pzjsex%-G)&F2S@){kRTKl?t zB3La|I7ZScWm1>Eo~a}epeIAuO0?HA2`s64gMbT{R>QaTXSjIB`M;e5LZ!A~defO@ zAeCHb6(l&=qMf(rNq!e4c32}DGvlxtTt3aWv;nM+WA1}$u=s?jrwh{G(Gz9DoStLlmIBMf1^^kRpdSKYL~6*T#E=CL!|rq!s^^Rph5-QK~iCN{(i zYePStZr&~jzo^2}X)g6KO{>}_pUq2_VL$&}aKB^XtuD~kdrrDXRRuT0JPtO4CLyG! z%bUTZWrv6fZi&?%>6k=JE1>Z}I&tbEuTYSL)ztKMkV3!G__X-0;*!Z8YgT?qGpL{y zZ`)KBR=of2C;hsTR{i?HGX#!RL2jX7sZ(OYbNE%$m7!DnTfs`=(_JQ7O`YNeI=cHh zpHKRF%}dumA9Nb9E!eE)RiEeLm52Vrp#CP|l| zrxO|B0YS`q4mT>Ym#n$C<)jJTE6GuO=v{D4%H62Jv+*?5mK8!kbc6zfGY8ngsWb4LVI6L_S++-og03m>z+# z7#whPqbvGI0`Qt-4u0^RXLob1Nw^!ivG|2?F%@02yX&jS`Qt_y!q+dE!_6NKw!pRf z!=^W!7_7fz-bEN?2{WiR@4D_1A4nI(x>8&qxo0mo(^WvZl~ly^VW@x^)|T7Xe@yEd z!2RCGF}ju|wa=c=+!(rku;RC!$hXCqVW7RgC2HK%TKA|d)=FSLO{wgU6>BkNq|UIJ@fb0z z)y6;bl$tiHP`2%ptC9f94d=VIxBFo)!a_@&wU(jvj3xvFSy``2gh-AXi&rE8oirA> zEbA!5*msM;W_853y_TY#i;Cc@S0ijM2EIa#IKSoO=T|rsZJ@R{%7@zav7}QyZLI+D zk4I&#KdY?Vmp0g$5=^CXLgNC1D=CX3xuu~_qSyL|d?WSVO6jUK)P!$?%YScKE#@)~ zuyZ-6dmr_TEoAL3`F&Eg8%t#9ReAr>P)7mtyu#RI{k}HeAO176{{H^ozhX{)@7}|| zZD6gnDTie>tAx1{x6K74l+J5m*T~dh)(qgy*Ea=IM-sF*!WR79Y=xlBR;riqyMn6? zZpaRWksWM0{^e`6YNG zoc8?tjAxf{BGY4n^ zQ+*ygIhPmEFoCpoS3~On`vy7Em|wrA51#;~>JLuGS-QWarDf)-ihbk-xx35WZtnLw zxy(|#xczix6&2dqP;hOqnLJ2Aev>yqs@V{}v-G%aTD%lPMK<(XSXh|u|G^fSt|!Qk zs1L#xGWEo#55*7}z`pVUWiPwG5AwN7YuqU@>zSf_+^F_?Jwbmf4JDKrgP%$|k=D_+ zv^**$ z(RPwclKxU63rR&;Qmfhfk=F{EQT0I=8vt;Svw;Thlt(#xqO^>~;73W1gI4R-r8-ir zX!T2n??S?4KQ!h&cBDD$#Jp^^2Nj)W=I;53gdxizo+9)zOIIOHt49cQkPWtJ z8^dWK+oifEL3p&GJnytUWJe0;5@g}84GHE>HrcWKqMnqBbcY*oEKJfcN($4*x4xnW z-Et3&HLI`$L|K+pHA9nqFCY_Jj7OG;b{W zx0_2V`Mx41(6Tn1_r3&WI6iCyPx|(g+Nl@ke6u?2FnxL4m67iPcwSO7?iTI>-E(1j z0T8IHS-q!YRlDtl5e4)hju$%%JUjsnVg1Jrr)`v&vp=qLR7VAW_qxY(3j@m7;i&HB z-FL{86L~o5msvA;`-+7D(`woWTC1`fEc*b%T2)c;PC?N8fxv98l8%HSdLT&LVO+#c znL$g1W(bDq<88nTKhwCrSfSZ7Ct9W>Hc{N$v3ql^nYQxkQrdmZeoq90SUm9*-NPF{79rzy?cQgWM z>V{8ShCCNG`g)S(E&wC@d2ZDtAH2`2OZF7`E=dP;?2Ptfez^#$|8Ytvr|s8R>*jmE zb8zlww;;z~tou@}A4eNo3!{h@%}FG=P$;*=iXVxUPG(U^UDrvHOH{mvGgzekJYZz2 zI2D;G{h%D2+F)&^X*Kf60*q`J?Jr@T6u;wnyf}4DwjF(W@w(omG9-HPSRe?qiDjG0 z%n}LT*wq(95q#xkUfT*#>gGYFu{CzXi2Ukj)xJAU)4FT-GT9qHw<&vl7`v}pIPMWs z*PXAV4rRQFl>j3I@gjNTWZpYiK{2n593S7D+Hem?`n^C8>(CjLj^V1OCAD4=nH2k@ z*qIu908PQ zmgVJ9TAFA>k*EvyXB&^@etvP)_219?Ut66{s1wYXiv4gq*4|nPpQix($%nIe0?t~i zi(~gCPYh3w;4oJ1PG_lnK_QRoFa=A6jnq`KWEg>>g@R0Nm6i^KerN#ghd5GR_m_t{J@w>-2=Nn>d(e1)^oVH-HAzxPjU@)YmxcwKOpvh z*zw)|V{(2ICbN5~&Q_d}mx^~IB2z>X-k_j5v9`D9OY*lspU*uKN%mA=%zCY2+$yV_ z;svb0rbR=Z&OR?Amu;r9glvS3e zZVj2JN$YjV%cATK)KkC=dy&BgZGb$C1kJ0YlBUY(VW4?TkyQ`sICnW?Wt1PYJ!@ z80xx*&GeF5;UKw@JX~=m+LT0$)70?;m+o0Ldo$MSezPr{Xy0WWp1GXFhJLa8c_sGZ z(8~-ee94{Ejoe#)YJ`N_Oyah%U;Ynh{VR5I>OQo$l2|090qjPuc#f33nr@ED|_fcn!hJwnLmG*nESQ_Je=-;yeUI3dmHz> z(H58-F|r-l?XYt_Tf1 zSebCCb}Wa0wemFcao@2pY$0mtp8rqvzZxlnKOBW+Vf?~c4wS+Y1#5v+!CiG`EG_4> zNFbFNTY!eUagK>(RSynS+cLze&Qi8Z10c?|y8%(7R-GoCA-}#WgAY3S=jIB(yN3b} zPEbcQ3>=R6Xf#v3-~SbOpW{h4n^Kfy@pw;H$+Vlk>M<@0tUq!-{Zk79eXO@{dC;kT4HtCSe{+Ex>v_s`H?jciRy{QQ6Qik4Wm>_(4xfDK>V5OcC zq%y&CXJ7fZ)#${^_5Bf~Qpo#LoXD%t3U{ZY>d6mP{d>i!ec#SiSd*_c5Q8(OFK>Wa z4TNjNvy7EVug4`yyNGr|)+8H$Raz5CS);%Nqs~MR&};QU>(jJ}kcXb=YQ_Wy_>zgy znK;&6Y?l&zD$qQ4s-$EX*^HX8uv#ZId>9w&XhE1E3o{&$3)D}L_AA@|8$>zfrZ>e^sNAwbqLGd&X%UNICszkkq}c1 z^s&0N>k+Bwz2=n2g*BLUz4O&#|2Am!+7Mi$qs89E%41v99CzGJUJ(P%+&>lf7ts(S z4;ZoWZF1yLd0v#HBkN7uGCbYQn+UMbwb2ORi-7wNJ6hjG?`Qr2jsL5g zf016z=<^RpU-FUWc?SFEv$P{q=C}!+u!FMKMPiD|!JHrFF#IuNdbAmE5VuuPo%Yak ztWJ6zPIIyT=fQp`@YgX?2{f#=!h^aYI96a!R~|t{j=jC(QDFD}<0@1zxy(G}lXj50q#N<4W1o6?~V}=$LB8xIR25e@0Tkoiw1YHGvp7D=k zS;_RX8rhb8_sTG<0QhN=BD-JsvZmJ#-j4Wqa9D1Jzu}&1D4p(~U$kSFCHi=(tVJQ? ze)rLs2F`sLe-&o*mZ2w?%zENB*=nL#dt!e_H@tN*wJ)>dwWo@odd|qOM>0#Ae)ZlE zrK<|MC)7&n-oScQf_zN4h<1SgFM^+_Jc@6^)cw-aSFt3(agrM}E>6!UcX%ChMdFcqnuYcCm?T^KlrA$y zc8td@poT~LB`<5ProQT0Sln1Rb~-MSNTHNndq2i~Ax^Tz`T9tyWc@UO+1fbB$8it8 z1QjqhD1#Vm4yzK}>^{12(YWM;RoRvgT{`!E#pSs-A)-Z3GC<;%uS%VBBMn`XIEs zCbK$C1GJ+)2^p+@+qx($nnsm68Bh(h6>1t&*2ude&Ea8HtRUvI4;BXT2LRG#;O;db zsQW@gpT&)!l>X&_$H7(RB$Fi#Ihh**#n9hWPaKODE~&d&;QdwSQbd33NZ?lt8uE_aWvVVF4Kf7o_1ntM{^v8Z&u&n#*$o}cf^ZZcPRd&x6M8@N( zuS{Opm$1A<%6>OseU2OoW8;rJxo%yX1exFR-J=CXpZCPFQfEU@I9Wn<1KJaL1K9~- zs0$HR4{H|pLGJx{ zR^2k?bkOPzb-Xx8s8kT_uT?PZ7Nf&QPzMvk5I?W9P$ozOvHmelp#Z^dFCEw0Nmj3c zF&%ZuN1l#huMsl2e$s4wWn!oA0d|LP0A%L4n8vR<(X+#j^;fT=i@iG4{5RDTCv~>w zq25RDj9;W;Qd|)Z3Ane9J!LvE&trT!#xGNB!#Z2ia#dOl$TP{>b3M&SMRUP}*T4Mk*K`#k1d?1ssyiUW}R3p7I@{}*YjP{~T>vgXuqtLGA zR(b_vNG&c~&+4ioy!$5{m+3f)&n%+eK9H%kcs#WHQG(rz(
M_IqaRQn3&(RyO4 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

%;m8zLL-}GrIQU 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≥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 C`I-LgxN+@Yc=hz2+YGGAV-?pSOnVCJ1h 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 z%0A)wrjj!0(JIkt`!~tTEL;x>PN8OgaYHUOZ7Ynu1cqM2p?vP!xCT=6IQS|PRw)V< zR)B)OErSb>f*frRz>O?Lv}BmX=>B(lvxyy8r#h}!8y=cS^ZVUnp|FB%1MOhje&wGW zhCWRQ8@;;W50R1!xR-f47S`x}=aLBYtd3Yj*RY)w^LyFfO+n0pyHJU=7oPMGyT@E# zj>>GnD3J4-giqgR)Vy0E;t%j&^4ZN>`C`(axHGYo(_T>D&eyIjX%)J$ zDM(_-Q-Z|;A{kUL>F*}a6AJvKMB3dI?mwpXsRS0D;^5b7HKh$wYsa$cJT0+kEMJ3- z*DLyRWf*D1qSXnJ#ihCK=M}cbkvyjOG2iT0=v|Foe}lC6hN%E|`bYuPx9JD^^r*h&9H*0IsVmc*?}A&hVv zpB4{FD$_GLdU&3dW-#iO?9Lx|-cFOPcBonE{AD5lHl*8+;iKP8vXi;O&@gh`@R$h4 zk5OPc!7|+APsQ*SlN(j=nmxl|26vL_gr7>ozWn)3jTZ^_?SQ^ADhvWiY0R6p6Qboh zG@W1hM2eYF=%j52GP2ms-yI_)?f(kL@9qC-lO%@cWmhnaieXmSFJ2iXUn1XfZk?24 zo3iKGn0_5CovGtzL((1kwq3L`*si!Ib+s%tBV46dqxJw&6JMmCKJD(A2;c+K6ztc; zCG}oYG-75=3tSDt*7p?mX)|=6Yq~)#^5YDRa2fV|Db@P>ZoB4Zd;Z#mUz7th-jC5^ zN~cp>7VxJPM&IU;=br@k0M@J<+W6(~_o+xncYe&;t90J6Uc)IuRdTC26S`T-T@o5q z6qc!g2UP=|0yqZ0xbovdUCR)LC>ffb1QN&;h@MKapQ_?Q3iD42pseRnfdtH?K%9@A zecUWnr8RVD`RR|p57z(LdV8T@DX(p5WMutpwn;gUyM?I(Pe ze8COWut208abNgkvndxh1BaDvctLtiyH~aPPMi@hzcMkGW@F{mN>^=bUzLBV>6LV7 zfrg}1$CkaK;z>wBD~?yqvn8#shjU}wEl>%dQUS)Bq*$or=Y4viS!roWc?lYWaksP_ zR&)6K^s1X|zu+KMaK@qlBnxnE*YZ3v!NSbhv5aM;s1Ix%q46bu!r{My{O<1#6qt2! z?tU@7wlGF=+D_q3KJ3m?GRy5eJPmL&u(DVT{s9;0IW+eQb^{}CCBnYeGsYde=PS>7;<;SL$or~vf13fm zaH$4nW6L`UcWrfsAAj-TcGC!&pl~Rd3dBiD$JH^9q?C;2yET05AcGs#(EFIYH{p*Z ziqN(mbJp&^^f`~t4_NQZQ30J(V2qdLKC^}Zu2%rAJI{CxCqR|_?KK?U9LRVLcOxu+ zE9~FK&ql(pS(Ey$M)54`H{BU81*^vB4psS9<8w;ZCp_aH_mLotdThG6M&2n%`@$pl zdWtoDzk9OY)U9#AoYh!5|pP)Kp z9(1mE4&$Gf(7SqeUXdXGQ}4FV58j#xoPK%F$~c?ZH@<5exp70deV1sKSAl9>jZ1DA z9Vae&$+DM1$CAhqe}8jY+zakUWkQm*O#xgxXsHy5jjlf5k|o`*OgBkV6QGkf=E?|^Omlg%hBQD2|XXh^I2AQ>b>W)0UC z8=qq8VF9G8hNQC3pj%6xyXd01rIhm$z0{vrw#7jb8KwE2$@NAY(;NwFi*>41FhLjZ z+wUG`B47c6UP_s(&=k>01K*;_kL9`Py-*Y8A@9;WBjy902OWzp3B_^g1dgBoEsB5L zqH)0ITeQ|ap3VK!$6JA)Pm}}wqYLl%ZbvuBTH2|xpbC$9P9Z@}FSA=Qqq9y3zq6P2 za4x4Zw#zsxCr!gAuC+rx-bGM00_kHT&G;VtF{eG}~ zTJ-K&f^J_6PmXa(HfZ2A@a|ORP)A8e8X8l4&Q5nXVt|q~*oT#Tn<$u+SiSeqdz#p7 z!?Ofv>~f{d;ueM(T1~Peko{<*Tg1o`jxsKjJM}t0h8cQQ7g;`PKE zvCg3bG-EZn-OJ!WWUOl8%zGFLBRxpQeV!_kp8(8TtSC-}*5Aim#-RDe5CfEfdxvh} z`Z9iG8B?$!$LKr^y{{!e#dR=hr|}aHW`*J5e>j5}y03kc+H0BpQ8wfBL&&tSW6Pzg z0&npB4vL{oM4#eqE8A9WLxGZg{LnCxR3qf+zgPY#sQ=rKPLbDwMsCozRdSUxg`yZL z+o(17sIyu`okV#6dj6zK=juGZxAr(W@#yEW`AIA9$)RHSNXc>i1&w^Jy8x0Z$d2{C zzsu-ZQu~#RiiGOz{SQ7i;|g%6on$TnRD$N(MEL^z5h<>wb&IHPb|I*PY)PjoOcpqg zj*Z}-@4G+W)HQ;;u0wTO9=>}jM78}q=a6CP$Z#9=!7yhkP;A( z-jq&45)%j*LO|&qDWM0H5^Cs#jwkQ@zW4lQ-g&?8oVC7n&bz*~hClM`{gCI$oonxB zXW#qY_jL(ezXW!%yV72xY!u~<=&CUFUU8SLf-XWu`hDCMZj8reI3J{FbvdW6>$H$X zfDwV3rr)vzOQ(!RBpG*ao2cPOqY}njAFx`X>?-ulLk*i0y+n0wdA1FOeDV5%AsyN; zKfF54R$!*Nr5$=#R1KI^uyWiS{CbqEH%Rs}m(FmrSCe05oAcNc_f#2OBjZ*#YKOQf zz4es&&3;m(h6UqkNc-zSC7&DM>vO9N6PaHg{h=k6t%|VOREGQM+%hAk`1|r6YJgsw0|B{|PrrvB!jWd;_`Tzul1BU?4XvYlzGULUM5<|KmV6M9OTP)SKL^m{7iWPY56;^6L{6c z;I{dP5-!Xz=rixGu=5``aZ4u9QnMX>b#j3rRd7|&MbsHCWAK8h+}?yU;3#OUfb$ms zz6cW2$@ljo7e)~iEPln-AtEF@bKsh;*j9f#-1WkyVlmucvSO*jP&D@A>s_f|w-|5b zEuibnNKg9E3dLfs7fc8#sKCq zfYD;s(%1G$Ae#ZemomT=OdMp_uCOcM<&b~I%sk5Q7ohwf$Fx5|@_&{h!T&Hla?;pK zcjEj~2j?5=ntRK-s4=Ki!rSJ3^!rJUs@e*5wzcv15k&|ay3Dl}wxHVyausQVfqI@5 zVt4ffPtrhRKevur5{MR*VAB;->NT=gaWI2-(hO)ZN$F+s%&|w`vaP#<>u)LK?Jez1 zM}Iw1$&@##$fh4v9!Tk*lk|Jg$FH#kZM(MHlIyD)QJ4nlQ9Q47IV2*tdde{vkWQ6x zeXbGEJGFLeXY?0H84bAZG<9Zu+36l(Gq@l8wVoU z{K^3bG`E>9S|e2Ik2kA_8T&;V_?hFk%fynJ3r~Rks6RE_|E$7qed@Pv56&`!s)8Hpv(Q8lr47C*#aDFf|8k?4zou zPW%R1yZmXh&MpvQDOt{IFIDV2Q9jh_h{G6ugUkd)Q=CJTp|y71I*%pp?c?$-(&5+a zg|k4x-{Q-o`h_ZE1qJitW1P{8K4cTOguuK2;+)9rQ5X7~M3IeXsvcL%(?;3+$x&w+ zH#Ea#4HVv16^VkagFSrg$ic~9OO1bq44^K6mdvoMzhLcZF1SDa{F5w!n@0+PhFT3U zIf%8iwC<9XnOwzl%AodYB$n52Y5J(3_BBHPs)CmCnXNx=r~C)7|C!j~i8IlDS3j%p zo7f1qsa|e-%fiTRv!Zl`3(OC?axV9pC&o@K#$Oqk_fn9VJO$;V1DC^{*Xza_87SW6BJ{Tk8~C5R9%?inUZSf^^PxwGOh`*z}Ir=D_P~1)&{;K zl3H%+=5ABD9x6K_Ti^#ocX^IBvqY!T{OO1k^)rK=^Ply&4~MNC=I^1Mp5Mvuwx;pS;LtOWLx`t`hau!6O{wlh#{9ZT>#PpJv8lNc1RoeaBWUv_ zJ`>YEM%H1b!lEly1FWR6W%;gn${=1*3FJ@k3UDsU2uT`$mhMskd)Dw)Ldd}VT8&mh zxoz~MCSkl_Yyu|XQGRa+z(uom)B?fZz9@fuI`h|mn#4T*;2v+-Q?dFo{N3hc5&TBc zig9?kr~0nG63w)@I80N6@IW-|l=Tt)sr)Z5&;Kr={fCSHQB;-BRSBJr%lCzIncr|c zB3YCV4{dJs-Dc)`TUn5kU}@0krZrfeR?-~-b#hAcpheXDpoIML$IddNnqRkvhx`v(AMr`|d!J0WDzwJ_}dLb#_5-=z6sN_k?A-#|c_b5Q2<5pnGa zEd*#D72B=Lnz?G~4679tsO1X2^s~~1oB#%BKFfV!Ovw38{ z+r&StDjF(2Q(&Aw<(lRB=rE)FOj3%NUoN{zKp5{wwPTRoJMcmDH`ZY5U~5taUQs+i zpC`_|xw=}Z#{f5=7h8Za|KmLCUl9DSD&OR%BMq3Lk#zx=E6>!mfdoQ|e9%(uU@f@} zoV+;X6h%&%w4ADR=(amsXYV!uwy^b4 zV4T{X!#z%GVR^E^H%K3JYO{&$l-zIn;J|arZ6&fwPeQ_Fy#2hN3du{uQUx%^J$f(C zQ9U@a%1Ktu$hU&yp_=%5&x7jVZ-9I1C=X5x6v=C1)%;#Lx70__s*`)wiHH^Zf+U^&#s0Drj%jq@^G@SIFK9o&^BwG(=3MaEjW*OoNRC(P^j) z{lv)!?W4IeL(oiBg0)Z+4j-OuH{w-ellGd)<`IoB zkJX>Y{k7!?1XB~pzRK{}SJS)E6Jjly833nV2uVnXI6t36v&#yI`y~gusYQ?1H_tO4 zT~E##h883V$!ca7B&zLN-`}Z!jqyz`@QaY+mU}SADq(Q*Ge?MwU_plZa+Pv0yQG)q zXrCO*>c~(jMSYKJN~s( zD)3=OBS~CXCsav(V&>I$s%m}OkMt;BUM+-mXtABV8dX88`lgsVA2&m|nqjf=X>M0!Dq>D7hwUW~hB@WaH0ym^&ep2rf<;0W;x zb}FazM0|{#NN+yQXl34bTfJHwym`nKy@Pd;jg1hByFP_TF>Z6Lv=HOegcjcu81kVG z3B_&0G|=sJ!P)vcRe2e|b*i>CD;K^NX-w;0K1c>vDPHe?udjEB-gZie3w7gFZK0Cd z%9ftJWSkFmto!SyKjQzx?b^4ta%%PgrJ=PijAHlmG3(AyS-~u;6ai zaey6PPROaD?_z^7lJY> z-E$NI0P=8eRNebd`?GOhR~<$rp4bn`6iu4&{^a5LzJ0Www!0+uCIge+SzT~#gX?q; z|J%4yv)LBiIi&k4mOEQSLg39X2rIu(yRE1=O{cN8T;s7fz*Y_T0D6lS+zLmNR znHy^_7WQ`L{LpVlBHysjOb#>eqoc`k_Ui0Pv!yR|tp1pj|NDj9Ka)=!(?l;Y9dcsK zc76rh&}}t!+pre>y&C5?9oYMC)sMqdg5(<=U4MW3|N7-J$DC*GZP!waTKl@IiZ|nA zf^QaHDA922Z#m}DpVxL;z)iNB7K2c2s;b4F7&LxM08n$ilFv(oj!6pYVi=| zIA{iqV5RTjW5W~+(v@u^V!ZS)(CTE4+GrimKd~@Q^XKpWuQ6u+_lIA|SA$*s^oQbt zf11ix-jxPmgWQ%wdaIj!F1Oq^eMWzN@qiHmb0Wd$)%T6mOAW@U3rFp+1FR9GIoCI`H9jpWG5J^pml6m6HSxg+GU zZEfCQ|D?;D;$a~CHTdLK(L(+^cYqD1^tFK&ZOmc|h4b;BzMIcb=9Pq`K5+}|5xeol zkEuP+^}!TQ@8NhMr?h%-bG*GcR{qjK%&e~;O8|Q*3MJ+U8d+8`e`=Xa&+gTpYL*9y z#sXhTSp*?MWOwx8NrjKL77lJUE=J{0$fALs-l96^oZm44_|xCHrI4cB3eBi+?oifk zT0nVQB>3E!0$NDQD}Wk_ag?1;|P>-$!`cepwO`WGOh0Z`8saUZ&Nk#o- zODfZ@OTC4jaC08|e)CbjD~zjowr~z-t%Jrn7BV<5h=iZ<=ZTXLH2^{KT_a`#?FL}V zsOc#N5s9`_14*fQNNMxhNR==N4bmleN8mhEcFazf`Ug{eeFXs9hNOHyk*}rLN*rj0 z3SB}Zsb{LeAV=`6F4RUBdw%SUstkT0DCrSO;_B$oFVm1;mnxAUpTT?EWd)bwg=63; zTK9KSvXb;5$ra9gEw_#H&rCw3dMI1Q!BPsSZ}mu$k$LUz0SjD=q|f&%w|-~Wn;ps3 z{G>f?pS678{sdVq|G=HWq3;JtKXyF*Z`#A}DA)4yN-)jGcvLodlWV0Tn*6HEkuFF* zwd|=wTC&0lX3Y3P<_iL1hS6}I*9>K>4pDh9hS1#PTQ%VUFnCWKEsD#_aq-Vj5fvPs z8G2FikDaboGxJ1tWQlKD{AEjTzvr8;)_H4zgoy7a^Z~ri3f0RQIsPij*Xis$)Ginu z&WsQ+z3HJmanos3Sen0QDp7H;Jg5?{V&=ivun8h`aKTk4Sd_txx9AQw4+QBVe<1ea zd`9fPv9@!pGaPWR@<4bK(w}KzEI|OK>xaG5(e}xQY?UsuV|tghVI(3_QEh7#WcTxK za(9ZD!X|5bWKxR2%xqe+g+CELe(M$0sRU;;F@bRAwxK#C({*qXPpa@-t-YL0j@hyI z#2tp%qkcpGv->iS|J#1z30|4d=_942ZFfvk9dwwUYtdQ%VX|pv%Dfqgum`);tfQRY zhl$E$DgF}TQ_sksN{H7oscuM1Ie3X>GhbGQrS$v1^Pi_hjmlJlM`xI^mj1lm0_YUn zPnXbIeLY9<)3BlJ8nxqRFr4jr%q81&JOmQ4I0+Tc_#B7z?c++`}q?yHO97CvI^ zE!49Q>V9lXn%JEsN^QQrz940pE$ES5d=GnAtc$0hSVNgoQO$e)Z9@ng4o8|4C>>Rn zWKvcN5g!iwa8`VTvzA!|aFKKX)yw(V0JDntV62jSU6W8Sx!eBN5UNPaI}9k~rEHv@ zo_BNLspRYZ5?q*sRh`NQ$=TWHs-N?8HV4WKP%p0*xI;nWQ$_RYPllwFvA_KR@PAWu z4bZdwc|*f^NZj4>+F0*yiUcoa#a#UR37+ms&Jf8*{UsLk?fWfBp!mwI9q|<~sn#uh zr3cH|(awL~*@o3xET{8M?2Om@FSw&~p=~H9OhWahet*HR^_CX8Un@?@r_C=&W<#p; z(j$WJ&LX4j1+11+jcZjQ3}F%LA75Nif26#}Q~^VVe|ft^f_2FQ(;1JZ)VZf?FZSP@ zuW`drK0RK*R(@cJR<+S!GGI=yY))Hy&X81cf}o>{9!G_DbL$OvKwiZ4Z3l#Gvq}gs?|R z?iMvE`HU}@D?T9%LHqUbngRkvIDIC81)8FywIfnm`qD-5L_>PvvvuhcO>fB~4oz&` z#p$e`yVTwgz!hR^Nqe;A2(Lbn!i#^BHmlu#_kGQ51Kj+_4ga2IV2F6?niBi)VT@pi z@8+(A_`3X7t-|&f}Dg?DZdY zvzk1hPlfB+6_-1e&8x-PO9pkk-OUs#=eX)TC>A+?piukb(ID{#IzP$W*sOnLDY{4s z(+~1BR=gji*miz&@`k*l_#Xi~v#D@p^f_eEA-V~ArR`L7e{$&1$64$J1)C3+40L`U{orZPx->1Y z@Pm%S>%S^dr*CHTLNH&(R3Kd0_Pw@>zx_EPsH#c3-#rk{>Pi&77> zwH}5OzAO}5x%~1+%>T3HEwz);I}-*q6%}3nD@FjL5s%Tt11cSG=#9pt10GXiT9ARKB>&$#S{jH zWrvZXk=wc74%GkDerThM1D5Epl6E6m=*oP*ms3)=|g*iDvVXIJ`%k? zT4u)eh^J{~L;_!uLz=d7<%o!1~|+|d*i#oodC zG4L`oJTSHDRq4oXvnWwuS5U1#qE6UCBuPluoW|t#>WR6?lx|T+ zh@2Qt?HtTimTOfJ*Gfw{-4P{e5q&AF2Nq4NhM=L9?LFbF%omd5RpIU~-|~(wn-cr` zvv%ibi%mQ6o-~aWQ1flxZ-f69_#eOI3h#VB5zcEA{*5np-&yR(xuK(;$GZ=6h3@Ye zeLoRMt^L&VRyxp(#ryZ`e<({D=wErcoxa<&k-A{;D>?9TpC{KYyGC0Dav0Swy!p)} z%qmU6x%k(A`M4iG#C*BD;`p>@o0L{(1-zs0^P+!tXxVo%v)S@O^;W6o>fD}dlB$l# zpH@r%o&A_D)sZmy`r!(*S28N1?ttHvWifsg~XF35h+B954HTak<>S z*Qqp;xCHEP%D3MMyMSQuWh{K=>B|ju+ZWnS?UN|yHsH3j3;(tpJdB^voXQGi%FrNKV*9s{{`%dd%;J>%c6idR58x66(6I>4 ze8InHMHvxHMG9Q2{R*UJW@X$C!RL9cyvZYWc~!+!PP(Hf8rO0(al&a9|NZ^{T}e)} zXeA*yZgJXuzk6XbS}{(mRZ~)S7N53XR$RLDFdL3kE0%~-f8r~jJf8d&XM zNJpMdiVv&|*R&UX@cK6KY0a}iozLc(J89O&TdI~=sd3k$ zCuNqB+mp9>IMQ88&)d>dZTrHFvgZIz32R)8GoS`Apv(U3>p{Y})NSwGkkeO{m+J~6qYtMt?ry4bDxPFiHX^DVmHO6wmtEs zw=OF;n^EQMe0`>j3DXsRoaS5#6&lCj8n z<}wdPKFkF0fWLnAbPh9zPjO#qMi>4DULhP9a!HUxUk*#Y8l@w%Com1OxcCsfrQh4Q zMdzGbo0gH&E2T=dbhtz5dR^rEp5t`1|LR7RsILCGe#F}1uxB^T`uhpjA*hhL$ofLl zF{1k$ou}u#H_OXthfjY+^2hr}lEJ%OTW1FbxdX_K+ZfJCa>K(pDbIZ2ipp(HDdJXT zjmI^abwuV5{*9>+e=kB#P3n4Ch-90d_~VghF9nzq-(uGXoV(*K#rRgZ9#q8|*c-_y zfos@oY&ewIX>P33u2GrUYxe#U9h_&~ytp&!UBns^8fU!+zXjtd+-&Yc8JyRVLoM=l6jS4buAc__ALy$> zFRUpucLZig@HLInh`@G=J~HRCt6++9e%zC+_&75rjnzNsEzOYPeuTEB%N1e&Mi1qO zX=YZU)tN^sr%mFCXReKX>_A(tk6dTDxyeOyxt-G7+}lyY>5id-Yz>|6;?3AVVzQQRwPAAT9!i*KaeYgQAenQ9xq znqwg_`^=kCRZXXassu-Pc-Wq@wko~o!PXu}Lkf(O=X4c3Ls;?moKi$VxutO_K@vq$ z#9^uWB)rw2PUBL^s)9sk8gE>dr%xt-CaFjs$a9lIxT{=Fr7h>Ie@+D7UJXnTAqE&FvSIVwE6o?kVohf1`*8-^u%p|Y!kj#V016T{ zTVZ39GwT{!k1lN3dp_c=$nP2J3?lM0>h)NHrVO-MQCqZMte3Y$Ru;MAGsDsMJ~|o>JzIsX7)IK`)Fa zAe{+P(HYEiTCtPXyd_uLo5!0cUiDy8TgY9e&KdZwlZUq71Q;fcAFVkY%G@B&cV1zy zOrXmb`d^J(%ueH!H)|uc zo32KE2=;?he8Dy~7gEnT@EFEnD{i}k;HZ1-?bMWPOvhFX}-~mlru$)$KtD1cr9@heNGTZAbD~;cH zWv#GxUD#p_+xc}i)Y8Ypj=#OR&HY^hPn+~cxwC0W4adj#Fwa6r5eXt}u+Te-SFyB; zx9xzrZ2;&goKm|TZ_mH4v&}ctzr_8Fp7=a_q0dkXVnKpVQ2Il8<#sO7B%E_h%d>=ht7bsSV4eT~$Og-ELl$Qg z6}b+Wnkw7v@y)^~wn64TP2Kyw*;R(GcEc?Da=mZ<`+*T`5Fr+Gor-Kd3| z70RR^)xpJrjkpE@B?ztF()XPjXZ|e-h~W1V*omYYi$FvecCi9%XFa`NxdQ3a8EjJQ zii8#HsmTo>OX3-|(z$$dJNG_6U?wFKbqp+GQJXM7;V;jD@<8E+2#VGrR0AR7& zT`aZBOequ6#BQtEPBQ$7;+lajaYjQb@OK<*)@vo$=b~2PEDEEwbTtKqm>dEy0fO~N zSVHCeOx%+ZNkcuyB&&93crjd)vG?L{}+mkxc&f$b~RIeFR4oD>Ez z9z0BErl!&{(9s!FAJEm-nO?(B`#g{T*?WIKs=K(Jc{RMg>F9q!M@Bg&+hPGX5)8mA z6of!9(R$)zua+&jR%3X_+E7~wUEcMWsxRa3`~dYSD(wNgEV4YW$yP;VgLP#ESisxX zTPq@s7Wd~a&RwuuEK{-o0@#w&ITd$?G2kRP?>F2*+SWV~8Nt3Gs#zW3AZa(9)rB@V zIGp5T72n(B+KO}6hdz$zAFuL8_?FDonzse9b~N9-o}-orr5Qakl}xgLUVE-H% z7rLmiP-Ym~z0Hv;wHNG|sp&@FOOG6hE}7PXqUQaLhZYuRpZVsOhDVjH2u-81=nDR< ztJx~BRlb9+*xEub;n$dQ;Xf37~yj|<-C;l`&DRT`L%_&pgy1h}6d8pb}tFA1uxCymrL5kCqPGz11p?&!#I0f>h0_;dXCG6%4 zV~s6pvU0q@VF@WCYa$|K_fR$Bz*f)EX!sqMoYLy8iOImGUwFdX14LkSk>}Gf0%Y5F z6kr6UvNm*Ku%%Ws008W-ZO?dZOMf^vT^qG^(eI1>gxs~AtRz+Ym7hm$jn2p^zaerh z63VK(wbu znc7j#J0)Ujjb{v9`?->2wqu$pA#Lb|h=T)DGMPGB4kgKPqw|YaGxCDGh!)42gUyaN zjhn!3y31~09O0LIoh)?&n5I>>#R%_{nyl5l=DdI)aT600BNKc^V)omL^&*6mhmLIN zGC)D=*fG&|RVn0-HBo^-2(IcfF;Pfny}xR@Cj^3%F_^CtKf~hm27dcvlmEcD zWue;KlimcaK2{mDR?coUX>yeHz2Unf$I0EVYgMSyt2DJ|uYiDv4jVFe7<{vlW-~)_ zjb*o&zBRqJo2#&Sk7UVXBtTvb-pLpwm>*^9dO4Nb%3hopbHIIh;8$ZO8kdonaZP#C z)bt^vh3OcOz2M`oCtb14Ry+9yX|lGr*0mr0gg^y^jgW_wTGLyNFdnfzIGFk8FS%7o zAJT>k63-nSvvde&zHUwF&v(fx?@>g_L$B+5yX=Q3xlNwJXOFYL@myfWpL%>j%IJ{V z_fc%XoHvA(t&ujFq-1PTj-~PNjJsdp^p#D&)Wzl}q{Yf$ULKhxDNpC=-fP`O^BKmLY*(U_e3rAh#{$-~a-`6`CLk!Cd=9#?vtAw^UzslI3@O{c zIrA{^7=uHK0N3au*k+?f7|yhA{65q zewq#*8bRzIE%7w|5|eXmpkaOJAvJcWmND&_2iP?>ABa4g<;v&9(sVgM0=;D2^cwf! z-uw_r5S>%Kqm1mP9;(igbo?Fe&oFgpdYsd#@R1(P9hpd<;{^u?{&85x6=M`tTgd$8 zAuonja8RW8<=D+eOH_I*hQj}Ydi$n~VOCuW+ah^64Ep4YzY5nt2a9<7KKK1E{z}5< zO_tm22FeVN1@2W&0Z+|x&pOkXqL^!(^305c>UdlFL4n&Vvk}ihI+f~?k&IqtGRdjW z?z;z!e{9htseJuIL;Y9r|I`H+CI?Z|(wRP)JUcu!vBz`VJuAFzr`N8A(Aa0v@4uv2 zQK<&?c*CHuB?+i>toLY~&uZRqFeBjg=&A@X-(s1Z;ohpn~25^4dS`*Z^Ms!5MH| zR1v+J@}$HeG%mUQts4#{j;1Q9z44Rmd0{g=vMnLyIh)!%SEN|2eBIC@K;;9qKQm&T zdl_J`TG#7FnP@EYWP}$W%Dhmmhb(CHI800Xo7x#pC1Ers(^fDf z>6D>_T&OTZEp6MABfRs1SR{*%jdWQKQe$H47@@dojCNe$I!a$x8j*WoaJ6p2*Xllp zuE8p`aO-B}?&$1-ntEfrw~J@OvB4RGL&uNQVkDwRbl}p+$tgTt^vC6h_$D?Nr-b{h zQfQ!C#<*G*E=LQ>G3wxh16Lk*8j;9SD&-WyLvza1Sh|WR0ut(J$=!YyKucZ6E&|A!FBC( zG-Yf2l8n_S@O$v}M(2kHd!czTiL?hd)_hyh7WFo#un>ptn-@#VT ziDT!5O2kS_1)S9+FBC_pcU&LDm97A)MYniA?ehQIWySy0QqGAVp4sJ7*`e71TUFI- zvok2ez;`X4Hh0P`wII-%)R)EHY1%jqXNwObKf8}L&4gWEFHBGImmT~CQ`T`yM=bZO z{eq`EWgu=#JVmLY7@icCL(Mc=W-Mzh6CVb!4(ByqOP{wZX@9v;|NVrKpppMku{W5E zTpESyLo)49xF;lomO{_#(9xBVk~!FDch_(2zY;bq^k19`3vsb$4o%Gi+z}`3l*Dsr?jAK>&&GP+rc;p-HbF* zI@E*P{5Rd2o-KN6>%E+Q3C!nJPLJYPUitADsc|1O znh6_a(+9WGYPK28<9FNMsyz3UkK7)nN^{;s!qRGBRim6;_v3M_F+4PG3JZ@amhu+Y z<4<2~Q)5x^Da~3v8`ZRSfM%|?51Fo6^$orX5nlVNML!HEAy^G(vRy@sRx@ZaZi7Bo z4zSL!f47~q-T09~-=d|V@uX5l~m5{Hh+WN{cn`5Qhk?ph8gh4X%1 z*Js)KmcyZ|Afr<&ikpx7CBD@DKBC7whtb>L)mDY@wgsdssCHFTb}l>sR_onpm=Upn zx(^J$UOlY_ozU6U8nnx-i5vC@ZPepz^NT86oTM6d3}RTOPx38trj}lNk`z*bwLi#mLKwf)5z!9at8wbazG>7=wl?qn!C|4rA%aI|a*pIjE-Jy2jxxP>>fP$( z3e|ucoJUAY;F|d4D)d?UPrq1S`D+XReumGZZCtm7rvviF`*ZU<#*w$=N zt`S#eK#pjuFDs9zTTX2m1Eq+CfUIYykTFRPl5WvY0ligOqQN;Gb{T@%tkoY*_`dD{c-XOPZM)>sRIX zn6$BF1_LXR@6VBc-M_y)93D0t95{Sjy-sH&9XOSz;eNl zqnDh#k0cbG?GbAoo|Y-dmAOiqEw(*4xwqERNOr>*TUk=D&~w?G;}hW~#_mdE!=t^q z8T%=2bANl7=#`+N_bzjLdVYyFr7swe-v(U78Bqe$+ADjNW4-R@_ruaBpc+CZxXp-I~QMM%WEiBZ`HPk zqaSK6I0uj@)RBp9N?f1Opz1UnbWNM=5FNua@GZQl;y^CQ@f)1q*BZu%WYQ&PW>S;9 zBBFz#t1w!>pU}#y z^3>MW)gXy;mC*F{SU)EDHDsM>JUshMKRjmZ(1pxa7DZIWMv~o?+XM{r6@7rN?ag;u zk5`;LgYTScpTV-}+q1j?XEirl#=tf@u1(Am)sVB%y#6L8dAkZ*omz3yT!L9q-5OeR zeA^4$5$z!f9XyHnAnnxaW;rbv5D-&S`W$qLXYvxh(w4%`D`nHHyl?@6eAB|JB8tCm zB>8Wfhao#Hnh>XmQjyc| z4JdT^tbB7WS7lTc)kFwxZya+eO{Ny?j|mRdd#y^r_0aOZV+KwA9EpN$qQn^@>_rF4 z>)k`ry4p_{mNifvA1xY}HOhT;iq9>zL*JMdWEDcq!d{E149TJ2sovO^#cw~wc z7PMM~u~T16?7rA@VdT>Vr`y(iHaDNV>vxt++yQa>?@ARQ^%l~RPyJgnFc1J>zUrap zNHy2AWTr(K?7tgK5gLmk`F zswT=`T$bz_xY1r#l~zas`=)E@?Dj~;YVpkAV9T9k=-7zhGD-rD%3d?%7j8su1Rt;{ zKUqT(N=mT_MKSbY8nXpvNl|DDv5nD)Toz;Svj(O^hf((+r6=n!| zohEj}dlg{bbdM#*zV#eZKfB+1cBt^lq-2zdY}pJC4X?n|aJcDGXl*PJ)*zru?%ux$ z&0SMz`I=?b06t?`P-lq2TY~@$a9Ezkf#mo)!E(Q~G=M`1g$ZZwKLTr|JJgN3xr0UuY1DpK%Wf z1%j+;G2q7oi%NL^U5Vwnw1I$@J#i+P_o2yh=j9kXl5v9(7T;Aj2+KFf$$vYjXUZc2e>(6If4-+*+b~1vL!iFDM*MnNb6Ygd{%e_GG_-#*0lo*U zdh-3me#Z9`yS26j$_}xGQ%g{>-U&=#I4&MuH%5ObH`@VB+9qRGLO>>gaKJZx=*MC` zC0{Fo=~ky5CMMw^SbxD|$k6DsFKeYid8m)q{)8}BZqv{YF>T9w;z#NWGL$op8erF$=qfsna?m#2*@p{(!ZvU)&8lh7?w!glBCp5ArfgRBnr>2 z6m1Slr-GAN>ngL44lgjqBFYpI*Qjn0+4MDrXKE8x<)|;*dSuE>5}di0nRZ^#JM8vH zJFywNWcgxW1$Z|0TJPsBVGeZY%cFzpjH_yR znbb3k>a%HRzmU!V$Ld;9k5?I19>d7J7y=D!B%`7Z0RD9tNGmD|2(9rtmG|%`HJevKRwKB-<3!bKrd) zrH@d15+Xd(Fe*_gGv+m_5{m=GDFc&d^s7fN7N!F!!6TB>EUh?lL6HUiR9PqjJp*>iKrNEGn7g z7z*Em5#v-w*WZwK@jAm2O7Y%|t2weG=0d5$<|+*!_SpE(Bf^SsM}J=klTzj^-BQ8x zI4p?1?k9UG!ySdIi)E)g!s6$1az!Y|xY#j`HqWxzL=XA0y(x$wi==cHidpImaccOo8b04{eR}M81-#X4OO|7GUKXHHCcvjBubI5^V z@%Ix!<>A$VI$ksNeu6)Bc@hUwf1X8^r5J6vtdVGS@;9Jq$$Y~%9r1cXiSnb8v6fs3 z5>^8t6ZdI5S6#ahVI??9b7|FwUHjGQ@gBl7<5KOzl4^l{_P*=|dZNzv6OO>|CvxOl zH*!UCu{9yy>O}{A6W)DlR=c>67j3e7=Z(mHdgg$Jis3TQa@5y3Qr(D_S0C`2Ys%%| z`9_n6{szt6fe*ZW)}vUHbJXK}bUIu-xb;ZQ#O*Y79J zgb&0VFR$|-fSSVRb#rxoKISW)S~+rQW5ef28+IvOYUt}Sw<8o3-wq4eRBR{O#JP*T9F&#- z)k>MewGbR_sy3^I)0;`mub@cxvl$J1w|sOka%95jEN|?lSLSH=dwppF8Ys;S?f+)~ zVb^1YSIz zsI!`3eL%JfSt zaIdJihVNSiOLNTB`IIdgF2x`XM4AB0!IL)9=^x$Co0-OGBM8>P-2iEvGvgj6c*u;< z4FiBmTGpI6q&6D6LKy>Lxr55Gv)Z5ieX5>VFIF-iOsYTh=*$P`q;O@q zRhvJCAbEf1(^g_!-6!u)t&#^W2TJ9l3A20G2KYW>Hz55{6JCZK495cly!#RCX>t90 zDb{T}=Q7zt&TVJW2i$JDlycC}IO@eHV@k(>E<{j{AA0GT7C?8TgBO|2Wj6;`3l6(I zFr83qBx%%MwG~TB&d!w6_}uA}Xtt{&Do@&n#O^kF>5G*OJUTcIHeAk-IS%aZ=0TP# zEexGY4_#I4p@Tb-ePM=7G8g}X#SQ1(^1vBOD2i_+Ak1RI(LGUT#>XDuAt?GP!fC@` zu|)@`%vwH76R&7NmdEgdJnyYseUxAKyeRU(*&TD7-QscD*1^KWytmD?cEU{quOzGS zF2U}H`JJLmDVcBWaszcWr#Zgm82+p3{STPui$L4p%mW9Ip_E;$z5$Du*-RV z0eJ6t6{36#)h%2%bqU&$SvGXK9^=Ec<9mJ1Ke@~^R(tiS0ftvc-xF_z=B`1%k3;kc z2xc{JWkn4PsrkW*tC3Enec2_ykNFoKk5u2BAMzje0s7DO89vPP9Ky|bxG3`Gx_-5j z=y6wGCNE^GjbosIWQuV4+tx1N_?~NqrEv0!PtK0m#GPnwfTXO6iKF;FO+)lda#cychM+sqSW&sDl!_w>x2?`k71~ z+oht}^+jwppUc|n;5nJ-&zs<#6TbYrtXuKN^l_!5PCj?<08D0T3$oTXD6^r?;%2SH znXdTpAHIZtHSE(ksCqiNb1MkfG*Rto&xhRWrFmUCdYrdg#;>UHFGhX-Z<}=gHt9cv zQu+_?yzBV9)o~B*O?91rIBhG>4d}Q{)%}(7A=ndpHzc{#%Soj0x1o~3QY*KWF4cbJ z1VCSh{A@649AlS)udbX1B3Ib)L!f)F;}YHYC8&8Go=p1W4#NM{-g`$inRa`_KI1q# z796BWe+CewiIf1LJ`NoOq$Gh5K)NIpr9(g-aikhBAT2-~2~rXg3=kkdV36LWgwT;* z6MB>4m-Bt=toOXw7)6~IY$-lks2?ahB)BK^BhF1Axsiq1LLxM0tVdQYw12Vno! zgZ_I_Ey8YcA#1s7hR?p)soHVmX=qyQ(P)tzSH(uTVae!(0-uA**^qZl?*lb_0?Tt@ zTf1Z+0tvyTjj98x)&$?edZUDb(MQ-STmlO@-BgW_P4qYL?#?7Fo7w7w%#!Vg7g~T0Q2TBV6{eU6+aG>Vk3g z=8C5JiD#=PrPdI{j`My50IwO30WMD%5HMLPMs%L|I1IHv}B?632Wrdc2+-T+@ z0yLJpSiXFz2@~=@J=OPcLWtS0kCYUI_?P_=(zOPBGII`AtJn;N`<xKj)^F#>=!F1$ZNjtRn!h0x>@ zYF_{o5w%lthJYQi1zD(l8x)$9I-29=-rN1_%ZIk_ELPK^8Cw|{d{Kb`D0scqOAlbW zRsdk8arC_xz=UglMi9C_`Of5Zc&uX}-%s}Yra61c4`+V36l}J?t(k3vF*oK zD5KSC0q@(!-M#0QB&#C;ktFcLQj~V3Ls);7V1wqR^g)G}@(u^pTlcAbfsl<2XSWXn zeZ(;vF=o{G63XI4dIEpWtMB(NCbVv?=v`sIsm{x)zdNW%hVYs5u=YJrLY26pr-73%2sN43tN=Fb@YX>uw<=Qyq(ok0t=USd-@b7f{q|skLlFa3WfF6Zp{-`rLJ ze35}qcD7CicSp48D*V)J1Y2NAL8rG=D)yyk+UdQ+ExzjA!RsD#?TZ0Vja<-Go_c9y zE~nQR!@5kpKq~Y@utE8(cGdgd(d8!D*$6U-$8K4F2~UBI)R_m-ImhqCKZ6$+uj70G z!_UC_?S6(`ZN|ePbiV~7T$&>(0KuSuG}pqSSr=Axx1?4@&n9a8PqIS)%@VYJ+B-W_ z%I(baa;g1)ze;O#ZqrdsAq5nDY$NOOu3Hi< zXtF^Yw2SMR7XI2~ux+Q~^ZX0P%WoHcc#i&dVXBVJZ$y3Bn|yD7DBx%x(wCwf7P@|k zul4aU`Q)D(H&1{5YV_?w2utvM>87fB9mBkPp6;xn^_NZmRpWG`(QhCuu&T)+=rI-S6#xX)T$$wS>jTlTBJVgZxw1Ib3A${-0zS0 z);B~02$qOD9y(I=|9UXT43T#G^+QOEjjKnJ?#oIT6W^5L%IHJ?2SS4S;%Glq}WJr4mU5)S(6{#~F7z58F08u?fH{FT!GbyJ^C zU&VltVXZ}T>_p{sYJ~f66)jL4qFCnhwf%=}r^_yXF0S;9t$IAAmV!%oa-9tMM;WbJ zO6_u%2v|GC^7o@6E|8u)z(TC7q%a%bUT)eIM`nh4m$`Nj10f9zH3QvecBMf(?ON=o zdM{L{;zr@CGI)_SrK7i_WZpn2a;0zbKg?DUQ0L^GmfYSHPtCL=HXA5g96_qtdIbFP zIl(O-ncnXyt8L{*OE3b0AXB9VQ;=1DKd$zg{vU>Gi+*-BC2%b`_PZ-ZTqjw4z+|7S zE)CK8TF$NvDFz^AEBszm@~6CD9#!3imL{5J+0_1F;0POskFwhf zQU$u#mlrGilS6y^Q@rvvBg0N}RjMO-R9N^?_ybR<+Sxn5)oGvfxM+==Ky*FJKn);+c_0)d;XJN&s7 z!?L*~qJ%?cd;yW02a#bp<)!nX^~+mK~Hw-bEmw+nk+ zUAo(d_7?VnovV2B>&I~8=oFWCZNbqePtI18OQOGiyO7wZ87Mks_3gsLQrx!-y!DZ$ zH;#&dzPY`jeALI@)Akkp-*2qDn*KI=j**hUen3{&U29tW^;|nPnxFpd0uy&w zsPW<3h4pipQ)W+eu+f=PdCDntd;6~L^5ru-tpeTlkNxu+jc1k5_u6e6&!StM^QbAT zV)iZum~BFmlg^#Xr(eEZAY6VMcXYsi>IM0Bp(6|n2&Mp@ zILh9ltsn{cUS8p9)$Tiv$fa|6%6x7|t2(}G%mGnvc5T*V^mV#G*AthJ1Mz8;<2DJS zJtfRNIU`wG+rn>#9*fQlD>MyPIC8}n%4Axb9+%Ju8T8=_O#1e3heZHoPBzU_#==0* zaEGg!)T93}L;mIDWrLZpiIiibpYPE+Fd+-b$budMZ~i$M-%w=N60 z)G!pD-gAdae4Ou*dXOZ4&uH~Vu!_yD>E6Jg4UK8A>XH#@w6YG67DY5`lK3k8>9OQA{}_sTs|-02l}NmPLVHv<4fct|>| zULc`}$59)*-BnbCEew+`c^qYKpoe~qLP2Poft7}eD0*LD=1XV-wfnTqaXb1!o=re? zoqg-G=MekmQ9H)k!THi^rTuk0mN(l>4%Oj|Cpt?+nSwcckBXkJPII?T<_E-G-X(+Q zR{ZD#tgiy&c~fG9h|#h*=#%L@2Tv@(V0|+q^IkZ2Kx$8AVM&!otA$9VW%bJXT-Cre zyTz4`H*{}D6$^jvD1gukac(Nu+`T=X_V>M02mHcu^_u_($3k(5Oz^<_kjp=fSv}7~ zI&l03RPgYo($4QgTDy`a*o4)xG@G_b%4T{3K=OxXEBo1y;`GeRp$3L|%jFm~RV-go zbt)O#p5!uSzW|wafDcY8zZ9`dfZJ30tH!d{WaL-J-P3n*>oTsP_}FVcCCx?iZyS_n zv2wHZ*0W*l`i!7)OGDM}Z56w0*|iop;Mk`(t}{?UMx1}_peXy>1p}^5tE+K|+an6? zJW0+;iaem5kTN}N+GiZY>6bryKYp5)9f*}w8&$Q;%r?syv-H`)-TUbH6BjN*%((J% zQIKV|xv&jH@@s8T;mF>aXZjiUs>mO%E%E;@5dO{ExiO*>9myllh@CQf+70bRC>m)a z0n4aubEg(1vV$B)0;tRl4PByISy@>Q2Xy~fish^2cVQDIy0W{AD8UF!$)JJ30JOL^ zf92Vl^cQ>#99nD-GPiCwk_Z5ZblUBKX>4vq=n@cLyo8s9(QR!%6BV4#xS;IOcF9St zVf{X$?&Z}%ArWusc!%xkMwk@%{WR0s7eZCWG};h>kS0eKuOl-Dim0<)n0fciQ=2XL zoPfWj73`f5VKG3Y4jB$xta@38+5o;va<5zFyP7A-N}ulU%q~RRpsQCaF8}Rw15WxG z_t!vQI*SZ>xJJzG4vLpV)%u*$s{&! z2Qfea#Z&+2R7cgg)g5JWn^i>xz)y+`qIMb!%8HDXG$v2HOeS3tIvm_dX;N)_JCP=# z(*=;mndy3$)RuO?&8pDKz)~ZnhkNJu$Dkxcg=~nM8^Uw=CFihl+mSK>?od?n^;e03 zhJAL`D=kn z?un?4SVH4ENW%79Zso}WV9lP7oU(I(%2W{RnBhj?0)VVu=J9&MABI&8GbT?F$d$2Q z(UDOS$g$IbXkZe3(IeHd+r-|=bkiE&X}|FlO!;0{;2^3A^}Z zo0K;}QDrGSu#bcZo)Sv;iBXKixtu+}U|q$LvwQOSk3DyHStEP?8MmM3=SAN0e6n=z z%Y1p^@BGf3c>zOX1q3MQmeRj!C{lIHYBiu}h=O61gy7o{V2P3t1K}m$kp~DcW3|<1;H163O zC5O-dcHt*9VZ{F&w>&rBP}Ea;!=^f?<&9d%yN5m>4;nh!yqVR(VMaDOS6lC|H?Vtg z_Bq^XPTMRtY9-}re-I}_(>wHUt+ zg<7d6S>n>aSa`QNqHeFsET~t97r|A#+8WeMocew)V^i_NDIlG@EGDqDVa(lcWs|#H zjjkF7(#7v4t~>T7Q4WsBH?3FP{ZBa3+>*mNJ|wI;d_L3|A(+b}0j2Qc8XpMx;*`*5 z%j<8g1|D__EKy1NfiMQZVRA{e_EiVtj=KdSEdW?v@!`xZc@6s3kvESCJ~24EJiGsr zjoO(cR__KXe!GCvrA-)}tMSbWel-dlj=u2i0xfh!Q$+W7Do!4h`Ao~8^H{?g$V{Hr zeK5|VqX($=;`XjpcX|Rb2UMZ>#!HrbqL-(9pVhf%-W87slU4C`URVFB8be(nc?gmG z@y6Ij7WPH#$~=LFraP1c5r?0LGhBibeLro5N_hzT{fP3gU%w;lcs|XYAhanN>Yp;W zv#lO5=cD%1dGs%jnkiwMgcmB?h+3O8;ne+mNjzA*c|>K57viu~I|a5^xBtsHEzwOw zZMmyqTz%1tA^9S6s1C4GC1C>bOH6zqm4?B$AJK?A5tQ2uAkCfqIC*J^wXCQuSoJj_ zN1@Xn_;FUtOwG03dL~++V&@>6zvSyL5$~9?7dL{AQ-;0!77V8+fDQ@XI8Ldka7P_A z{#sb$MQCZ@dAdHNeeP&rg}Ac{R}Q=|#4?=bec!v~R#@V^t|3`*oX5&507fM)4mrT} zX9SmC>EapGna>`DDLYZbJD2ugUGrJ5lw#@7#Wluctf5w5tNPWuo7>gkGO% z=b1>=d>yhf^=0T2oBCRL(Zt<BQ7 z9)acpK26%UqUB_NBz;zqceWvW0$3!ojIFE=Pnvix3DV%zu}lT^1-|{0#h24MHbDwC zO^R7RsT?#bq8U-G8lQBP$X9*+X;n|}hCp;G>h*b4G3KmdjH71xJ6YELV>A9XP_3gn zKW%`2tH$KBnvzikB;F0l3+2gkzl+BwfyQJ~Ie5~3jumVA`An8ZEjqo@`% z+w;J|C9j*1XJP};Sv)u$8l&-*FFY?Mej$##j8-drl+-FPmGh5bhSjDM$46kr(g>>r z#!A!xcalK<9%e}vL|O%Ouq635MY3p;EDLO82)nPJcOx_?BM6m$YNcx6te{TLkyWx? zm-5gD>p7{PsC{V(z?W{u9osF-C-4h{<}x{(M1S;%67qB8s;{t?m)l%t>Okt+@VQq} zuTPV)57j9{<_}`mw*as+DHAX1!!}&KZ(+@yPpK-Kvh0mqOfW#0@Y-}DO6aa}d2fCo zsJvh4 zf2grkjCrK@o~d_}`axn-qE^BI#M5C8S8pNiF+II6AJ!=aKg}PSQnUN zA8rGC?HeUL-u3Om&x3=_a^CacT1=rAl~ZFsfxu`cKu_W$UyE4rrlSv#SfQ4!qZ>sv zwnIJjT9V+;Hoq}sYb4WX^$r9yU}BDc#?tBIM-hZqY(Qo{BE2-{GTEEj)-|JoDs#V` zm*|~E4>)8>_yhnVbB8UKqWu@;Q`NZrm6P*}p66QUV`_8YtE9x$lC0K~OhWLNq!Ny4 z;MIWAa@jiE-8F=`!GNfdvo~=vrz)TFmcG*!Pm9n|1(vk-!bKd>tCl6X)(6!?-!9yj zk)nW7Gevy))$K+hM+T{peoCH({c%AMAZO=Z&cZOuW0=~S4oFx5qTT5sTTz3_QukPW zs0=U=Ld%!p=vpaw=G>X{)|}jDTAI@8XOTgQZ4M}gi)+yPiwe_G{s|zqb~Sv;p=IST z%s-P{B3Ld2>f{!bp^7=ws`i8KfI}cBcgRWpl^coEXLScVnqMQI#lX{7&0ot0%k+(O zzY;%Kr<2AqE!}K5O1mP5stXX#88tDlBpCkMo;3z_79&%8y$o|3$D8kVT{@$Yz0131 zx+hwT;iaD%s6@83Q{i#*i{-#95wgE-l5FE*dvDyGvrV;ky>jfLczdbh>er>}(~z9y z%Xxi|BUDf^f)zh`m65W$cUxNQGgc^{CtTG#B{5(W)%JQwSnw;kSn@Nf3|t}XK@gD98;4Ula2uS>CkZg%{K6zMH&2qCf_b~=r)VqjVf+m>ajH9s-}F{t#$ zPDFYn3}p}~k`T|>L3e5fAat~gvLQ6fOTMOu-!8PSe(--eV>=YPsBb%BP_ZMl2tqnm zWdmE4O_kYsS zYc|jjY_~K`?UED=F?m*-fjN$BU~8W*Rq(fk6(#C^spOkm2#v@7bXVdA3XjpJzFVjCneVk-xg1&zhwK zG#lAx=q z=c>I$-j%)kwC5gOCkBUjSG|$mPY7YE%Z{Q+EP2DN!T!fH;{Itmx0gKYp{yEKzBXxO zJphgNxA>|D_n;*9PGv3H=TsZgoZDf;1M1Ou5j?lHftKu(8W z>qpC;nwUe(9<@X&H;acfsFA~DVR`3OY~g82uYv5Pk#_wP(T6#L2l64BCzo$*@J)#{ zel(_Im#PDTBVUiGhPJgB!Vu8Spz1O5RPr6$t-Q3~dMn-UML~C6MyJ@|1=2$sL54NpkRIa2OqlC)+ZK{_6nJjIyvc_pW)~g-1rxJa^K@#|>>HHh#KR^JvM?b)eI~3ke%WThV$-OdI^drc7s0b|C z1SLX00!quk>h^-S+W-P>6e7ZklM~>rwM(}Im_O_<#up>sNu&hOHjz_Q_74GjNM(~a zg8BkjPEvnFn3}?`LZJczb}K7S=H2f%UlSC1)G7$=m`hd_x9b>f!`*HZ1EBN~RswNy zr$Ybd_^R*P$^Um4r!mdIBXSz3*~3+n0O6O=(Yw9LJ+tNaKO}~hSPbtZ8y*^P6_B>{19EN(2O5F!G>|GQ7`ThIz zXOk7Lp%aDP5OQuw_uI0^N6Exu`MIYR?VibyR4dfMz)5LhX=>~rWe3voZ3=m9)U5%e zX6;l&Lf6f=DBd4p%dR}Gjc45+^aQ5aij^DtLiZrZuqx>ENQdyitB{8Gq}l5^cNV-l z{FZZhR3|%o1%RbgM@#WLg*c@14U1pLr&fD4|2XnBW#%qAXat+j+z_ZPvbllU9-Ryk z71g^LhqK{JY8@t~w7Ze_^NWmx4Raq7t@AX}vqslJiS^IQ)klZf40G&RAP?nC2iY=) zhruJmI;3*qW`?~7dwwa`?qe$jP(l63N&GUfixij%n)4r-@&BXpk<~ae=$V6W#wacZ zi@h?&eP54DpyPe4B!FMYiY(Bkh(bWw6wbanFLr=`e*cdA?_{BCySlp>8S6CW) zgKHJQ!SGT!RFZl^NI(3$S)rrGayGw$0but6{FvZ-eFos0o)g+&#|PctVpv!U(=->~#>y=NZL4GLfBnIk}|JANBR;NT7}Cvx1R5vsI#w`H`Rf zn%b?k(Y8{4dAEek2lHMM#S0jc+4C6NbNS?L1gz(`>Tye^;J(pVOR5c7FK|6wKd8j< zrBVY$g0N};2}ey`squ{jGo<`1c1H4IPols$HafFc7`Z5^Jr z>ZznYzk9T%;1lZl?vpRMv(KD>tivRf6<~w^h!ObQ3@zmZ6Tx@C5S^|}T>s_4H3y+b z&1}B*)@yF;iG#u^fZ9kHWmKk`Xr-FTC1-fUmbF;{Y>b@7&@44b4liAZx2oSQfBq z@u%96p12O{6NfQhdGPg+_cdeskX}^)QdQpBB|Wk}Z|glAgeX-lC?h{Rl$8L2U>{Sh zW+Pit9YzE^M`z1c%^dXm3Vdk(rG;MM^>7!@62U@OgNwn@U3DG%WKWq%@`0(IDfp!9*%o8z^fT2h~X+$~q-6@IaP@YqU#8^KHz3Vg3Px=Q zCm@Tj3I;unBJJW?2RKaelVvU!AA^?))mq9)auoIGU!d-GcyF1xNM!@Dh(c|RhY?SX zrl;&>dCE}zDCpw4*OUKL$NIYng-uv!+XO?-SA9x0nUag8moH#T90XAbcydc(f_(SL zGSa2Z&CLMb?b(BVa4XV1z1VFuhkN!^&J4fUfDGnaaSH|X<8+aZ*)d+Tn+L!ATrHW%D{T&7QLY+R$AyL!3ay_BeJDY zL*6*#heCy@g;(wVxpjiB71sJG6Kfdl6z%{u7y&LxvQ%luA9mWg!CDd8eOJ2}y*lLG zy0`QbMI?b^);*KsOOXtDl{7x_GBQ}f6>ng%aJJ5sE5Y zR-NN(Gnynd-`w}+hrsE!BljLVZF#^K;&u zxbZbcYF8eSTigbduGVqz=^kL@1+I!5Qr>`i&N?RVOZ|rXeuLxs`KtfWdPeQ5=bD~< zt!}6zl1E|}(;njoBQ@L9!N{vez})s}He;?;be5^cxBer2wdBdL3cj&yo5%CToi*>2U_ zZu19B9uKrnKpe~5HOZGNr*)Pz!16lkD>`0lOae2*f-^=QqFDH`Ak3n(cyuta6inG6 zEe2*^yQT3Ylverqx7KmwvzWB+*MtAPExXLy3qK%?miX1Ht~ta)M-cXj!1b{*E&oLL z!LR9wV~>MO*;?p{3_w?6V&ZdLhTR?aE!yYqYv>Im5A;BrK!DLLQf2NX(hcZ*dMQ?x zmu$JL>A!X1;Tal0adh#4X?s3p<6mx|*b6cOSV5QY`GvoO_N7)4ZKtnKPAq>O$F=6X zO1MK-t&>yMO;H+ZEI(>CEwIS3j;L#F%MG-FOC>38fFK#)F321^&b_`jjx^Mcedy?( zAka2U>D}q$EyAPMM!@;enSqi{loBT#H1dynRQ=ylrX1sUBJe_#RvSV=)Wxj*kHfU! zFCDIk0t&wDIXZPnEXe-1DbNDn?&TkL7#EkhE_OkkZ0xaK9a)n}6T&?|!PPTY&0_lp zBGZ+m=ZJyx?hWJIXhAKj#udRUO~9m=fw!is<;0_6nL0|D` z`*V9pP3-A+8EztMG6b69u9_9U!TYv|SEaEUwD|SKkovStzT#QfdDmjcvYaCHI7a|C zLh&4}SyFfl!WtgG$hplYS8@x-Go5V?l7+22ncIVpqjY16;4DM@UicVT-73haYkF@n zEiy0AU*}#_b7mOWbnS{eLdGxn+T=*Bc66JpNDdFv-;%mI7*V8L&>>tV`K-pqpegYou?PSy{U$|y>z1t zKKv=c>wUV4Efjj0#mW{BbuFyUokL{^z`ePwO$RvHNM12TPEJm)F9`?igU-*R1Q|R5 zzYS9TB_5@(|0O=!XzTo+-=$msM;OIXT?vn9+x)$b$PzdZ^!n31dt=k3qGm1I$0Osw zna|8(L&3F!p%9|Y)tPK52^7lfYa0lwvy)wARhhj#NXnC07up+a;J0UKCnGAIf39T) zJhipe5HgCr&$?eRVy6g7OyeArov4DFj)&pB7cCA}3K3&enokIZJS7PfZb{?_+spVI z;vCucRHsu-)UzNcP0eb|gPJoWr#(ggXw^xP=zJ`=v@Dyu-&s)s?U;SlXk0TE+O5nv z4!(N5g;IU%QMEp6+}53ksXtq59KlV|Qu&hC!3+iVqua>4gpNO(ZYS0H17+idU-*?l zbh`*ig{76+-L3pLEb}1)lC%%e8FE90O1E=b;yBz_<8qG#hD#Sny1lN?eAC5VdVRR% z36M>sWhl6i-FQt0y7s^_50vLVzH`|kTlJc?zSu=5?D9(1U7cfpyLi9~7H4D;y;6eZ z>h1(O6!DQo`4Wx9Du)kz0)qNrX(j0FS1;C>Axm{`_a0T(5(E7v6w|K2S6=AJ!W;S-An%G3vIW~QYm&|{&ZLjh z^n-<#?=P0_v~^xg^)G%_4wHNZ)(>{_=!$7_a5tSAb zEB_{LpQaHim&J;s6jfXE#62L8yJKO?HDOnAO462MUg=(h&P%V69)^^T)S6^hA3>s@ zQAoIQ!}F{0D^S)t2@Ir_EGJ^Xgq%B9-`_ooRF!gSv;Op0(QZ;ikpCilo~#b%QOxS% z$s)``)2}{l=YcX=v}{4>@aEQUI0ghfxrUcz0a7Pr@wsIg-UX2r#{28Y1!V3a70C)r z4-*ulK#3um!NS;1pP~w=Z;$aGA3ns&L_87q_f&UzRhq0S70#9}Y!F||bt8Xo!SO%L zp1-w`p|sjvTZ)rlu#e)l9nn?N{8D^@fe+f8yO@|E1z^iAvbV=KX#K<1-9Ns@veDez zc(#Ny0mhKBVT<6>Eq02mwy@Z%HIjw+SLxjJ8(CPaE( z3FIrf{II_KBwRqF<5)A<@bbodxf=7{*|SOF-V=ojb)E))cH+|OR~Lw|Io_Y1?~g(>_Q&a zHrm2jYafAc-%!6@SoAGRc6dHD={&h*V=hUWQl*LA3wIt2#ImU#Xl>!Wh;*`CVBRHF zi(Wk+J4_;L$4waw{yi^e>np#J@u9-NE6oG>29CwF%+P|^cRUkoTfuH=NpymPQ5nP# z8uGyu!7SkzX^hSv@iF_*UT}3m*Rg$r=570-;a8fsJMc@)55JqsrSA1E$Htw-0}uy8rql z9mQG$en|#dXf!F0z8O|-Ir2zPUPrv$t&qI`_wOgdBN~OaLKSu z4UZmR3n~9*`KP@ahKkdA>T&Ko^~?q|!3#G9IvTeJM*tAxT^dn*v8zR{e(Mrm31{NR zNVi~z)9PwO{WDYquBh3Sr!IMT*zj0K8eA~oCPPSv4rgdGv>>&m_w*6Yc8Zzu*Le^o zC0mXe1a6R8h1SeJ2KM)h)ERVbK?ZqvYrRRW$i(5fQhNur*X*Q(5U9)Z$m5JQ>1<;1 z?E(T;O95+UM}{0x)_h7y_=#4q)RW;z+!lk4{d#z+v_`$EVHS$Qlv7sAcVxeeG0Q#i zv^3im6R@182H2P_y>V4O4=cZ^MCDvGY}YDKb`X}R+~?a=J}7C7aNrz%ZM(0KClLiB z+A_)e*92=Fe}u32q)1aa0z$hWHVmuTAKUC=bKoC7otM^hrTBA4s*n;jgEdDNS4?gQ zdU~SvynwaY_%;b&#O)C_7K8m2MKSwm(TlLsxuNgh#4dEdT^K$2MW-&kiv$67w?-d- zyRdIPg|ll@QdJaaD~wNQ;^Zpf)G}I$w)|dtRlc7f|F5v*snYGQ{Lm1^F%6X+yAyON z{27>siM^B{2F@^cbVff-TQ4^c1EO#`u2c5hr>(pul zhzr!TcIX3>D>Q*24yo!GE36(z-pF$qg{+vyQoWmi$*O~lnzqf}9eV;%8N zh~vvRx{`)U#$L9AL}PdMFktmP&eK_9XH(k*Syy{-R9D{}OEp*);WKPELCM^+?H&5e zy3(~5AY~Iip3xAZMk}yUjvF5=bHnOSW19lD4=9) zdZ2s3@^*B_f!GUy9;=vQR>V{LyLd@lXv5O7FT$xo#i%Wj=3w*U(RL=PBhRIXUwq4xJ!lfg8oBObf!Q!dc;QMy8oj3_*S=^6g>*%n3 z4y-n^Tqfu|PxC9&*7|QPT1nwnE}6!e*K=yY;+hBhA8K(mVl4mkbbu+-Dxz|VM6@-4 z=Z7Wx#~z2;Lkc@vVdyfsCyUYaUO}(cF!5Vz+RmFtHK$fY%pE6o_o0M;^y07YCbrwI z)`>^r+j#4+ERyT2iE1rtVvm}~piDU)l*PyS11&Ljp#iSfDJ{HrJZldhm&zP_op@F&$f=9Bxk>ZTmhRm<2<;II{?6(!9^@J@q3yrZQGBA?6zYm>Ht1ROdt;@yiq^)LSwnfR}NlfxXELFySF zCfHZItl+!$*)45-hGbCJXg(r$&k&c6lxn*9x}w=q@B`MfnJZ%Q5Kz)SaW8>A(E@{p z(?Jyy+;2DW#UXX}f;^icxe&M_zMd-)oBs04`IE7F2y9NovY)b&Y~)fYPmpLea5ZIw z54O;>ZUF^YXD4A);nOtU8n@G*y{8rn0hJT!jm?wAvqQ;Pq24XD&D3mB*c-WHU`|bv z|66|h_|14$*P#79ko=IoV{mLXa|nT9PC0;tNr}h|%4aD^jt%ZmgnRVafcEpZ6WV9d zAmg0HxmAfc*B)@T72o_^$K<~L4ubp7d-b?-Xb}0j-}%DW z)K71+pB{?cv#rVQG1Yos_6O>$XwvhKDse$lPHxxN+HiG+81{`Ux};MDq60>`_Xq<~rP68L8}{+(ND8Nno1$EaRFjTO=Fk_m0Mn8|bpw>&>mMl|*#4l#htu8E zEbsTBQ{BpimPx#quO9OOnIU$IEu(2SX9c`MvZnx`{fC=TGFY^9-n28J?tC?)RslD| zJFoqEGNCJnG@;2;u0bNdZduJbEE{lkQER;C6#kyMKo1IpAirIBJL7eldb>rdS}_=^ zqow$AMUJd#Yeeq`L?$rPa#(iGKaJ z9{KEZ&e=8aT~5tV!~9cYK`t+rziaQnB)QcQpnMdla?j&OB%~?ySruQ$Oofi6dvy&T znju+VXSYONG^na=&?Zc&*`{u*?yaG*_B!~xqRbLpT#8MwQvQ{{6Rv{@dOQ)I4M*R{ zuyId{`YjtB`H3p}?oVd8_1Q1W^QK=+B+`tJ3(P4AP!j0Ok(WG9KGanL|Rk9Gj9O5)J)QJ?elfq`7E^2MY7?`Umb}^pNya^yagYDp_ zYw8r+x9Q|vo=Wn_Z;A9VSwZpOx%fJ#L`=TSN-d(*g6yB7a;-v#J|$?u=Eu0Z%0#F; zaB2TbP#k*}kOIV!Vv*0U#J_X-h3V2VntEkWUGY+oA_ZbtPI^x?hkynI#iV%V8UTu2 zxtCw8OWCh&c@*M9^Tis>f`w9S^=Khc?4;&%Gb(dZhre z2n;~;JVjTX4NBV`5zgFpyxDW}-L{ufpiB!svfoVbs)F)c#dO$CAyx6D**tjqThS8rh<|2U#LT z$hF4O07ucB+YK_bbi2f2e0-#5OIG5C1Yz^@s(e+_0%ENwKy0NrF@BW?pbs*S*aHDo zY6O4$Y`Xg7X%s0DB1U$;(U7Vp8%&3i*xV(FL<3u=tHnu$#c@xFP|96FXkM5MB(8r9 zLcIR;fheZd=*WP}s&rF)dT}FR3Wjgwu_;dVhKp2K%6>@y3SX9?vQ^(D@k~&VzP>pm zMoh{IJv3x9@Tn`pnBUw|)B{Z^bqfW8g4m6B7%B*&KZnQHgKQT>U$VZ7{f_^MMtmFl Fe*o0EI-CFi literal 0 HcmV?d00001 diff --git a/docs/media/metrics_terminology.png b/docs/media/metrics_terminology.png new file mode 100644 index 0000000000000000000000000000000000000000..a20fafd6a55744229df85c227e3342884c864764 GIT binary patch literal 147817 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 z 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 z%0D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%0A?uR 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⪙CvEyy3PAg|x2q#jNEPq;{C}va0 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 KR4SAeY|cL+U1P(i6Gy@T`;LJPf$(wme3 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ΜNntynl~eEpNDFv$Jd2}=DEwt- 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 z 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

$xOA#sN@aqEX#D!-hb+|$cg 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

|KF@+M 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%0A<(mUQnF(+dP79uv^i!|8Ot?x8Rj|z`S!* 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/media/tracer_utility_showcase_2.png b/docs/media/tracer_utility_showcase_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5e78e760a2aeadc5e8d24bf39e5f0d06fc08dc39 GIT binary patch literal 140818 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 | AWS Lambda Powertools Typescript API Reference

+
+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_commons.Events.Custom.html b/docs/modules/_aws_lambda_powertools_commons.Events.Custom.html new file mode 100644 index 0000000000..e2a0f57c0a --- /dev/null +++ b/docs/modules/_aws_lambda_powertools_commons.Events.Custom.html @@ -0,0 +1,133 @@ +Custom | AWS Lambda Powertools Typescript API Reference
+
+ +
+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_commons.Events.html b/docs/modules/_aws_lambda_powertools_commons.Events.html new file mode 100644 index 0000000000..ae3a3d084b --- /dev/null +++ b/docs/modules/_aws_lambda_powertools_commons.Events.html @@ -0,0 +1,132 @@ +Events | AWS Lambda Powertools Typescript API Reference
+
+ +
+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_commons.html b/docs/modules/_aws_lambda_powertools_commons.html new file mode 100644 index 0000000000..8f0a074d4b --- /dev/null +++ b/docs/modules/_aws_lambda_powertools_commons.html @@ -0,0 +1,246 @@ +@aws-lambda-powertools/commons | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

+

You can use the library in both TypeScript and JavaScript code bases.

+
+

Also available in Python, Java, and .NET.

+
+

Documentation | npm | Roadmap | Examples

+

Table of contents

+

Features

    +
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • +
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • +
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • +
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • +
+

Getting started

Find the complete project's documentation here.

+

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.

+

Each TypeScript utility is installed as standalone npm package.

+

Install all three core utilities at once with this single command:

+
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
+
+

Or refer to the installation guide of each utility:

+

👉 Installation guide for the Tracer utility

+

👉 Installation guide for the Logger utility

+

👉 Installation guide for the Metrics utility

+

👉 Installation guide for the Parameters utility

+

Examples

+

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

+

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

+

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

+

Connect

+

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

+

The following companies, among others, use Powertools:

+ +

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

+

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

+

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

+

License

This library is licensed under the MIT-0 License. See the LICENSE file.

+
+
+
+

Index

+
+

Namespaces

+
+
+

Classes

+
+
+

Interfaces

+
+
+

Type Aliases

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_idempotency.html b/docs/modules/_aws_lambda_powertools_idempotency.html new file mode 100644 index 0000000000..e713cae7b1 --- /dev/null +++ b/docs/modules/_aws_lambda_powertools_idempotency.html @@ -0,0 +1,237 @@ +@aws-lambda-powertools/idempotency | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

+

You can use the library in both TypeScript and JavaScript code bases.

+

AWS Lambda Powertools for Python and AWS Lambda Powertools for Java are also available.

+

📜 Documentation | NPM | Roadmap | Examples | Serverless TypeScript Demo

+

Table of contents

+

Features

    +
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • +
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • +
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • +
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • +
+

Getting started

Find the complete project's documentation here.

+

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

+

Install all three core utilities at once with this single command:

+
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
+
+

Or refer to the installation guide of each utility:

+

👉 Installation guide for the Tracer utility

+

👉 Installation guide for the Logger utility

+

👉 Installation guide for the Metrics utility

+

👉 Installation guide for the Parameters utility

+

Examples

+

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

+

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

+

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

+

Connect

+

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

+

The following companies, among others, use Powertools:

+ +

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

+

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

+

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

+

License

This library is licensed under the MIT-0 License. See the LICENSE file.

+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Functions

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_logger.html b/docs/modules/_aws_lambda_powertools_logger.html new file mode 100644 index 0000000000..303ee5e121 --- /dev/null +++ b/docs/modules/_aws_lambda_powertools_logger.html @@ -0,0 +1,238 @@ +@aws-lambda-powertools/logger | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

+

You can use the library in both TypeScript and JavaScript code bases.

+
+

Also available in Python, Java, and .NET.

+
+

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

+

Table of contents

+

Features

    +
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • +
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • +
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • +
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • +
+

Getting started

Find the complete project's documentation here.

+

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.

+

Each TypeScript utility is installed as standalone npm package.

+

Install all three core utilities at once with this single command:

+
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
+
+

Or refer to the installation guide of each utility:

+

👉 Installation guide for the Tracer utility

+

👉 Installation guide for the Logger utility

+

👉 Installation guide for the Metrics utility

+

👉 Installation guide for the Parameters utility

+

Examples

+

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

+

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

+

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

+

Connect

+

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

+

The following companies, among others, use Powertools:

+ +

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

+

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

+

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

+

License

This library is licensed under the MIT-0 License. See the LICENSE file.

+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Functions

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_metrics.html b/docs/modules/_aws_lambda_powertools_metrics.html new file mode 100644 index 0000000000..4163b34413 --- /dev/null +++ b/docs/modules/_aws_lambda_powertools_metrics.html @@ -0,0 +1,246 @@ +@aws-lambda-powertools/metrics | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

+

You can use the library in both TypeScript and JavaScript code bases.

+
+

Also available in Python, Java, and .NET.

+
+

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

+

Table of contents

+

Features

    +
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • +
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • +
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • +
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • +
+

Getting started

Find the complete project's documentation here.

+

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

+

Install all three core utilities at once with this single command:

+
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
+
+

Or refer to the installation guide of each utility:

+

👉 Installation guide for the Tracer utility

+

👉 Installation guide for the Logger utility

+

👉 Installation guide for the Metrics utility

+

👉 Installation guide for the Parameters utility

+

Examples

+

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

+

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

+

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

+

Connect

+

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

+

The following companies, among others, use Powertools:

+ +

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

+

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

+

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

+

License

This library is licensed under the MIT-0 License. See the LICENSE file.

+
+
+
+

Index

+
+

Enumerations

+
+
+

Classes

+
+
+

Interfaces

+
+
+

Type Aliases

+
+
+

Variables

+
+
+

Functions

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_parameters.html b/docs/modules/_aws_lambda_powertools_parameters.html new file mode 100644 index 0000000000..173677bb93 --- /dev/null +++ b/docs/modules/_aws_lambda_powertools_parameters.html @@ -0,0 +1,251 @@ +@aws-lambda-powertools/parameters | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript

+ + + + + + + + +
⚠️ WARNING: Do not use this utility in production just yet! ⚠️
This utility is currently released as beta developer preview and is intended strictly for feedback and testing purposes and not for production workloads.. The version and all future versions tagged with the -beta suffix should be treated as not stable. Up until before the General Availability release we might introduce significant breaking changes and improvements in response to customers feedback.
+

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

+

You can use the library in both TypeScript and JavaScript code bases.

+
+

Also available in Python, Java, and .NET.

+
+

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

+

Table of contents

+

Features

    +
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • +
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • +
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • +
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • +
+

Getting started

Find the complete project's documentation here.

+

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

+

Install all three core utilities at once with this single command:

+
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
+
+

Or refer to the installation guide of each utility:

+

👉 Installation guide for the Tracer utility

+

👉 Installation guide for the Logger utility

+

👉 Installation guide for the Metrics utility

+

👉 Installation guide for the Parameters utility

+

Examples

+

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

+

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

+

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

+

Connect

+

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

+

The following companies, among others, use Powertools:

+ +

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

+

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

+

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

+

License

This library is licensed under the MIT-0 License. See the LICENSE file.

+
+
+
+

Index

+
+

Classes

+
+
+

Variables

+
+
+

Functions

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_tracer.html b/docs/modules/_aws_lambda_powertools_tracer.html new file mode 100644 index 0000000000..9f29e58f92 --- /dev/null +++ b/docs/modules/_aws_lambda_powertools_tracer.html @@ -0,0 +1,235 @@ +@aws-lambda-powertools/tracer | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

+

You can use the library in both TypeScript and JavaScript code bases.

+
+

Also available in Python, Java, and .NET.

+
+

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

+

Table of contents

+

Features

    +
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • +
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • +
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • +
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • +
+

Getting started

Find the complete project's documentation here.

+

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

+

Install all three core utilities at once with this single command:

+
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
+
+

Or refer to the installation guide of each utility:

+

👉 Installation guide for the Tracer utility

+

👉 Installation guide for the Logger utility

+

👉 Installation guide for the Metrics utility

+

👉 Installation guide for the Parameters utility

+

Examples

+

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

+

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

+

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

+

Connect

+

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

+

The following companies, among others, use Powertools:

+ +

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

+

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

+

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

+

License

This library is licensed under the MIT-0 License. See the LICENSE file.

+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Functions

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/cdk_sample.html b/docs/modules/cdk_sample.html new file mode 100644 index 0000000000..ed8a19e8c1 --- /dev/null +++ b/docs/modules/cdk_sample.html @@ -0,0 +1,181 @@ +cdk-sample | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript examples in CDK

This is a deployable CDK app that deploys AWS Lambda functions as part of a CloudFormation stack. These Lambda functions use the utilities made available as part of AWS Lambda Powertools for TypeScript to demonstrate their usage.

+
+

Note +You will need to have a valid AWS Account in order to deploy these resources. These resources may incur costs to your AWS Account. The cost from some services are covered by the AWS Free Tier but not all of them. If you don't have an AWS Account follow these instructions to create one.

+
+

The example functions, located in the functions folder, are frontend by a REST API that is deployed using AWS API Gateway.

+

The API has three endpoints:

+
    +
  • POST / - Adds an item to the DynamoDB table
  • +
  • GET / - Retrieves all items from the DynamoDB table
  • +
  • GET /{id} - Retrieves a specific item from the DynamoDB table
  • +
+

Deploying the stack

    +
  • Navigate to this location of the repo in your terminal (examples/cdk)
  • +
  • npm ci
  • +
  • npm run cdk deploy --all --profile <YOUR_AWS_PROFILE>
  • +
+

Note: Prior to deploying you may need to run cdk bootstrap aws://<YOU_AWS_ACCOUNT_ID>/<AWS_REGION> --profile <YOUR_AWS_PROFILE> if you have not already bootstrapped your account for CDK.

+
+

Note +You can find your API Gateway Endpoint URL in the output values displayed after deployment.

+
+

Execute the functions via API Gateway

Use the API Gateway Endpoint URL from the output values to execute the functions. First, let's add two items to the DynamoDB Table by running:

+
curl -XPOST --header 'Content-Type: application/json' --data '{"id":"myfirstitem","name":"Some Name for the first item"}' https://randomid12345.execute-api.eu-central-1.amazonaws.com/prod/
curl -XPOST --header 'Content-Type: application/json' --data '{"id":"myseconditem","name":"Some Name for the second item"}' https://randomid1245.execute-api.eu-central-1.amazonaws.com/prod/ +
+

Now, let's retrieve all items by running:

+
curl -XGET https://randomid12345.execute-api.eu-central-1.amazonaws.com/prod/
+
+

And finally, let's retrieve a specific item by running:

+
curl -XGET https://randomid12345.execute-api.eu-central-1.amazonaws.com/prod/myseconditem/
+
+

Observe the outputs in AWS CloudWatch & X-Ray

CloudWatch

If we check the logs in CloudWatch, we can see that the logs are structured like this

+
2022-04-26T17:00:23.808Z	e8a51294-6c6a-414c-9777-6b0f24d8739b	DEBUG	
{
"level": "DEBUG",
"message": "retrieved items: 0",
"service": "getAllItems",
"timestamp": "2022-04-26T17:00:23.808Z",
"awsRequestId": "e8a51294-6c6a-414c-9777-6b0f24d8739b"
} +
+

By having structured logs like this, we can easily search and analyse them in CloudWatch Logs Insight. Run the following query to get all messages for a specific awsRequestId:

+
filter awsRequestId="bcd50969-3a55-49b6-a997-91798b3f133a"
| fields timestamp, message +
+

AWS X-Ray

As we have enabled tracing for our Lambda-Funtions, you can visit AWS CloudWatch Console and see Traces and a Service Map for our application.

+

Cleanup

To delete the sample application that you created, run the command below while in the examples/cdk directory:

+
cdk destroy
+
+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/docs.html b/docs/modules/docs.html new file mode 100644 index 0000000000..2d8277b151 --- /dev/null +++ b/docs/modules/docs.html @@ -0,0 +1,235 @@ +docs | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript

Join our Discord

+

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

+

You can use the library in both TypeScript and JavaScript code bases.

+
+

Also available in Python, Java, and .NET.

+
+

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

+

Table of contents

+

Features

    +
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • +
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • +
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • +
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM Parameter Store, AWS Secrets Manager, AWS AppConfig, and Amazon DynamoDB
  • +
+

Getting started

Find the complete project's documentation here.

+

Installation

You have 2 ways of consuming those utilities:

+
    +
  • NPM modules
  • +
  • Lambda Layer
  • +
+

Lambda layers

The AWS Lambda Powertools for TypeScript utilities is packaged as a single AWS Lambda Layer

+

👉 Installation guide for the AWS Lambda Powertools for TypeScript layer

+

NPM modules

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

+

Install all three core utilities at once with this single command:

+
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
+
+

Or refer to the installation guide of each utility:

+

👉 Installation guide for the Tracer utility

+

👉 Installation guide for the Logger utility

+

👉 Installation guide for the Metrics utility

+

👉 Installation guide for the Parameters utility

+

Examples

+

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

+

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

+

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

+

Connect

+

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

+

The following companies, among others, use Powertools:

+ +

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

+

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

+

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

+

License

This library is licensed under the MIT-0 License. See the LICENSE file.

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/layers.html b/docs/modules/layers.html new file mode 100644 index 0000000000..baefe8a1de --- /dev/null +++ b/docs/modules/layers.html @@ -0,0 +1,176 @@ +layers | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

Lambda Powertools for TypeScript Layer Publisher

This CDK app is meant to be used to publish Powertools for TypeScript Lambda Layer. It is composed of a single stack deploying the Layer into the target account.

+

Usage

npm ci
npm run cdk deploy +
+

By default it will package the layer with the latest version publicly available but you can force the public version to use with PowerToolsPackageVersion context variable:

+
npm run cdk deploy -- --context PowerToolsPackageVersion='0.9.0'
+
+

Tests

Units

npm run test
+
+

E2E

This will deploy and destroy several stacks in your AWS Account

+
npm run test:e2e
+
+

PS: You can force

+
    +
  • the lambda runtime to test with the RUNTIME env variable
  • +
  • the Powertools version with VERSION env variable
  • +
+
RUNTIME=node12.x VERSION=0.9.0 npm run test:e2e
+
+

How to add new region

    +
  • Activate new region in your TEST and PROD accounts
  • +
  • Bootstrap a CDKToolkit stack in the new region
  • +
+
 cdk bootstrap aws://AWS_ACCOUNT/NEW_REGION   
+
+
    +
  • Build the layer folder from the project root directory
  • +
+
bash ./.github/scripts/setup_tmp_layer_files.sh 
+
+
    +
  • Deploy the first layer version to the new region, make sure to set the NEW_REGION in your AWS CLI configuration correctly, otherwise you will deploy to the wrong region
  • +
+
npm run cdk -w layers -- deploy --app cdk.out --context region=NEW_REGION 'LayerPublisherStack' --require-approval never --verbose 
+
+
    +
  • Run the bumper script to bring all layers to the same version across all regions
  • +
  • Add new region to the worklflow in ./github/workflows/reusable_deploy_layer_stack.yml
  • +
  • Document new region in docs/index.md
  • +
+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/modules/sam_example.html b/docs/modules/sam_example.html new file mode 100644 index 0000000000..1df92c11d5 --- /dev/null +++ b/docs/modules/sam_example.html @@ -0,0 +1,231 @@ +sam-example | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +

AWS Lambda Powertools for TypeScript examples in SAM

This project contains source code and supporting files for a serverless application that you can deploy with the SAM CLI. The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality for building and testing Lambda applications. It uses Docker to run your functions in an Amazon Linux environment that matches Lambda. It can also emulate your application's build environment and API.

+

This project includes the following files and folders:

+
    +
  • src - Code for the application's Lambda function written in TypeScript. See "Prepare the project" below for instructions on how to copy the Lambda handler code here.
  • +
  • events - Invocation events that you can use to invoke the function.
  • +
  • template.yaml - A template that defines the application's AWS resources.
  • +
+

The application uses several AWS resources, including Lambda functions and an API Gateway API. These resources are defined in the template.yaml file in this project. You can update the template to add AWS resources through the same deployment process that updates your application code.

+
+

Note +You will need to have a valid AWS Account in order to deploy these resources. These resources may incur costs to your AWS Account. The cost from some services are covered by the AWS Free Tier but not all of them. If you don't have an AWS Account follow these instructions to create one.

+
+

Prepare the project

All the following commands in this file must be executed inside the folder examples/sam

+

Before deploying this example install the npm dependencies:

+
npm i
+
+
+

Note +In order to run this example you'll need AWS SAM CLI version 1.65 or later. If you have an older version of the AWS SAM CLI, see Upgrading the AWS SAM CLI.

+
+

Deploy the sample application

To build and deploy your application for the first time, run the following in your shell:

+
sam build --beta-features
sam deploy --guided +
+

The first command will build the source of your application. Using esbuild for bundling Node.js and TypeScript is a beta feature, therefore we add the --beta-features parameter. The second command will package and deploy your application to AWS, with a series of prompts:

+
    +
  • Stack Name: The name of the stack to deploy to CloudFormation. This should be unique to your account and region, and a good starting point would be something matching your project name.
  • +
  • AWS Region: The AWS region you want to deploy your app to.
  • +
  • Confirm changes before deploy: If set to yes, any change sets will be shown to you before execution for manual review. If set to no, the AWS SAM CLI will automatically deploy application changes.
  • +
  • Allow SAM CLI IAM role creation: Many AWS SAM templates, including this example, create AWS IAM roles required for the AWS Lambda function(s) included to access AWS services. By default, these are scoped down to minimum required permissions. To deploy an AWS CloudFormation stack which creates or modifies IAM roles, the CAPABILITY_IAM value for capabilities must be provided. If permission isn't provided through this prompt, to deploy this example you must explicitly pass --capabilities CAPABILITY_IAM to the sam deploy command.
  • +
  • Save arguments to samconfig.toml: If set to yes, your choices will be saved to a configuration file inside the project, so that in the future you can just re-run sam deploy without parameters to deploy changes to your application.
  • +
+

You can find your API Gateway Endpoint URL in the output values displayed after deployment.

+

Execute the functions via API Gateway

Use the API Gateway Endpoint URL from the output values to execute the functions. First, let's add two items to the DynamoDB Table by running:

+
curl -XPOST --header 'Content-Type: application/json' --data '{"id":"myfirstitem","name":"Some Name for the first item"}' https://randomid12345.execute-api.eu-central-1.amazonaws.com/Prod/
curl -XPOST --header 'Content-Type: application/json' --data '{"id":"myseconditem","name":"Some Name for the second item"}' https://randomid1245.execute-api.eu-central-1.amazonaws.com/Prod/ +
+

Now, let's retrieve all items by running:

+
curl -XGET https://randomid12345.execute-api.eu-central-1.amazonaws.com/Prod/
+
+

And finally, let's retrieve a specific item by running:

+
curl -XGET https://randomid12345.execute-api.eu-central-1.amazonaws.com/Prod/myseconditem/
+
+

Observe the outputs in AWS CloudWatch & X-Ray

CloudWatch

If we check the logs in CloudWatch, we can see that the logs are structured like this

+
2022-04-26T17:00:23.808Z	e8a51294-6c6a-414c-9777-6b0f24d8739b	DEBUG	
{
"level": "DEBUG",
"message": "retrieved items: 0",
"service": "getAllItems",
"timestamp": "2022-04-26T17:00:23.808Z",
"awsRequestId": "e8a51294-6c6a-414c-9777-6b0f24d8739b"
} +
+

By having structured logs like this, we can easily search and analyse them in CloudWatch Logs Insight. Run the following query to get all messages for a specific awsRequestId:

+
filter awsRequestId="bcd50969-3a55-49b6-a997-91798b3f133a"
| fields timestamp, message +
+

AWS X-Ray

As we have enabled tracing for our Lambda-Funtions, you can visit AWS CloudWatch Console and see Traces and a Service Map for our application.

+

You can also use the AWS SAM CLI to retrieve traces by running sam traces.

+

Use the SAM CLI to build and test locally

Build your application with the sam build command.

+
sam build --beta-features
+
+

The SAM CLI installs dependencies defined in package.json, compiles TypeScript with esbuild, creates a deployment package, and saves it in the .aws-sam/build folder.

+

Test a single function by invoking it directly with a test event. An event is a JSON document that represents the input that the function receives from the event source. Test events are included in the events folder in this project.

+

Run functions locally and invoke them with the sam local invoke command.

+
sam local invoke getAllItemsFunction --event events/event-get-all-items.json
+
+

The SAM CLI can also emulate your application's API. Use the sam local start-api to run the API locally on port 3000.

+
sam local start-api
curl http://localhost:3000/ +
+

The SAM CLI reads the application template to determine the API's routes and the functions that they invoke. The Events property on each function's definition includes the route and method for each path.

+
Events:
HelloWorld:
Type: Api
Properties:
Path: /
Method: get +
+

Fetch, tail, and filter Lambda function logs

To simplify troubleshooting, SAM CLI has a command called sam logs. sam logs lets you fetch logs generated by your deployed Lambda function from the command line. In addition to printing the logs on the terminal, this command has several nifty features to help you quickly find the bug.

+

NOTE: This command works for all AWS Lambda functions; not just the ones you deploy using SAM.

+
sam logs -n getAllItemsFunction --stack-name powertools-example --tail
+
+

You can find more information and examples about filtering Lambda function logs in the SAM CLI Documentation.

+

Switch to Lambda Layer

In this example we are including AWS Lambda Powertools as a dependency in our function's package.json. This is the recommended approach for development and testing. However, for production, you can also use the AWS Lambda Powertools as a Lambda Layer.

+

To start using the AWS Lambda Powertools as a Lambda Layer, you need to:

+
    +
  1. Specify the Layer's ARN in Layers section under each function's Properties section
  2. +
  3. Instruct esbuild to not bundle @aws-lambda-powertools under each function's Metadata/BuildProperties section
  4. +
+

To do so, open the template.yaml file, and for each Lambda Function, update the following sections:

+
Resources:
putItemFunction:
Type: AWS::Serverless::Function
Properties:
+ Layers:
+ - arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6
Handler: src/put-item.putItemHandler
Description: A simple example includes a HTTP ost method to add one item to a DynamoDB table.
Policies: +
+

and:

+
Metadata: 
# Manage esbuild properties
BuildMethod: esbuild
BuildProperties:
BuildMethod: esbuild
BuildProperties:
Minify: true
Target: "ES2020"
Sourcemap: true
External:
- "@aws-sdk/lib-dynamodb"
- "@aws-sdk/client-dynamodb"
+ - "@aws-lambda-powertools/commons"
+ - "@aws-lambda-powertools/logger'
+ - "@aws-lambda-powertools/metrics"
+ - "@aws-lambda-powertools/tracer"
EntryPoints: +
+

Learn more about Lambda Layers here and about the Lambda Powertools for TypeScript layers here.

+

Cleanup

To delete the sample application that you created, run the command below while in the examples/sam directory:

+
sam delete
+
+

Resources

See the AWS SAM developer guide for an introduction to SAM specification, the SAM CLI, and serverless application concepts.

+

Next, you can use AWS Serverless Application Repository to deploy ready to use Apps that go beyond hello world samples and learn how authors developed their applications: AWS Serverless Application Repository main page

+
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 0000000000..0d556b6813 --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block outdated %} +You're not viewing the latest version. + + Click here to go to latest. + +{% endblock %} \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000000..9332acafa3 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,4 @@ +mike==1.1.2 +mkdocs-material==9.0.2 +mkdocs-git-revision-date-plugin==0.3.2 +mkdocs-exclude==1.0.2 \ No newline at end of file diff --git a/docs/shared/.gitignore b/docs/shared/.gitignore new file mode 100644 index 0000000000..b722e9e13e --- /dev/null +++ b/docs/shared/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/docs/snippets/logger/appendKeys.ts b/docs/snippets/logger/appendKeys.ts new file mode 100644 index 0000000000..ed779dab77 --- /dev/null +++ b/docs/snippets/logger/appendKeys.ts @@ -0,0 +1,42 @@ +import { Logger } from '@aws-lambda-powertools/logger'; + +// Add persistent log keys via the constructor +const logger = new Logger({ + persistentLogAttributes: { + aws_account_id: '123456789012', + aws_region: 'eu-west-1', + logger: { + name: '@aws-lambda-powertools/logger', + version: '0.0.1', + }, + extra_key: 'some-value', + }, +}); + +// OR add persistent log keys to an existing Logger instance with the appendKeys method: +// logger.appendKeys({ +// aws_account_id: '123456789012', +// aws_region: 'eu-west-1', +// logger: { +// name: '@aws-lambda-powertools/logger', +// version: '0.0.1', +// }, +// extra_key: "some-value" +// }); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + // If you don't want to log the "extra_key" attribute in your logs, you can remove it + logger.removeKeys(['extra_key']); + + // This info log will print all extra custom attributes added above + // Extra attributes: logger object with name and version of the logger library, awsAccountId, awsRegion + logger.info('This is an INFO log'); + logger.info('This is another INFO log'); + + return { + foo: 'bar', + }; +}; diff --git a/docs/snippets/logger/basicUsage.ts b/docs/snippets/logger/basicUsage.ts new file mode 100644 index 0000000000..0d96caaf00 --- /dev/null +++ b/docs/snippets/logger/basicUsage.ts @@ -0,0 +1,7 @@ +import { Logger } from '@aws-lambda-powertools/logger'; + +const logger = new Logger({ serviceName: 'serverlessAirline' }); + +export const handler = async (_event, _context): Promise => { + logger.info('Hello World'); +}; diff --git a/docs/snippets/logger/bringYourOwnFormatterClass.ts b/docs/snippets/logger/bringYourOwnFormatterClass.ts new file mode 100644 index 0000000000..ab7e207cb9 --- /dev/null +++ b/docs/snippets/logger/bringYourOwnFormatterClass.ts @@ -0,0 +1,37 @@ +import { LogFormatter } from '@aws-lambda-powertools/logger'; +import { + LogAttributes, + UnformattedAttributes, +} from '@aws-lambda-powertools/logger/lib/types'; + +// Replace this line with your own type +type MyCompanyLog = LogAttributes; + +class MyCompanyLogFormatter extends LogFormatter { + public formatAttributes(attributes: UnformattedAttributes): MyCompanyLog { + return { + message: attributes.message, + service: attributes.serviceName, + environment: attributes.environment, + awsRegion: attributes.awsRegion, + correlationIds: { + awsRequestId: attributes.lambdaContext?.awsRequestId, + xRayTraceId: attributes.xRayTraceId, + }, + lambdaFunction: { + name: attributes.lambdaContext?.functionName, + arn: attributes.lambdaContext?.invokedFunctionArn, + memoryLimitInMB: attributes.lambdaContext?.memoryLimitInMB, + version: attributes.lambdaContext?.functionVersion, + coldStart: attributes.lambdaContext?.coldStart, + }, + logLevel: attributes.logLevel, + timestamp: this.formatTimestamp(attributes.timestamp), // You can extend this function + logger: { + sampleRateValue: attributes.sampleRateValue, + }, + }; + } +} + +export { MyCompanyLogFormatter }; diff --git a/docs/snippets/logger/bringYourOwnFormatterHandler.ts b/docs/snippets/logger/bringYourOwnFormatterHandler.ts new file mode 100644 index 0000000000..c374c4a255 --- /dev/null +++ b/docs/snippets/logger/bringYourOwnFormatterHandler.ts @@ -0,0 +1,24 @@ +import { Logger } from '@aws-lambda-powertools/logger'; +import { MyCompanyLogFormatter } from './utils/formatters/MyCompanyLogFormatter'; + +const logger = new Logger({ + logFormatter: new MyCompanyLogFormatter(), + logLevel: 'DEBUG', + serviceName: 'serverlessAirline', + sampleRateValue: 0.5, + persistentLogAttributes: { + awsAccountId: process.env.AWS_ACCOUNT_ID, + logger: { + name: '@aws-lambda-powertools/logger', + version: '0.0.1', + }, + }, +}); + +export const handler = async (event, context): Promise => { + logger.addContext(context); + + logger.info('This is an INFO log', { + correlationIds: { myCustomCorrelationId: 'foo-bar-baz' }, + }); +}; diff --git a/docs/snippets/logger/clearStateDecorator.ts b/docs/snippets/logger/clearStateDecorator.ts new file mode 100644 index 0000000000..e31d66b190 --- /dev/null +++ b/docs/snippets/logger/clearStateDecorator.ts @@ -0,0 +1,30 @@ +import { Logger } from '@aws-lambda-powertools/logger'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +// Persistent attributes added outside the handler will be +// cached across invocations +const logger = new Logger({ + logLevel: 'DEBUG', + persistentLogAttributes: { + foo: 'bar', + biz: 'baz', + }, +}); + +class Lambda implements LambdaInterface { + // Enable the clear state flag + @logger.injectLambdaContext({ clearState: true }) + public async handler(event: unknown, _context: unknown): Promise { + // Persistent attributes added inside the handler will NOT be cached + // across invocations + if (event['special_key'] === '123456') { + logger.appendKeys({ + details: { special_key: '123456' }, + }); + } + logger.debug('This is a DEBUG log'); + } +} + +const myFunction = new Lambda(); +export const handler = myFunction.handler.bind(myFunction); // (1) diff --git a/docs/snippets/logger/clearStateMiddy.ts b/docs/snippets/logger/clearStateMiddy.ts new file mode 100644 index 0000000000..7696c75b63 --- /dev/null +++ b/docs/snippets/logger/clearStateMiddy.ts @@ -0,0 +1,31 @@ +import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger'; +import middy from '@middy/core'; + +// Persistent attributes added outside the handler will be +// cached across invocations +const logger = new Logger({ + logLevel: 'DEBUG', + persistentLogAttributes: { + foo: 'bar', + biz: 'baz', + }, +}); + +const lambdaHandler = async ( + event: { special_key: string }, + _context: unknown +): Promise => { + // Persistent attributes added inside the handler will NOT be cached + // across invocations + if (event['special_key'] === '123456') { + logger.appendKeys({ + details: { special_key: event['special_key'] }, + }); + } + logger.debug('This is a DEBUG log'); +}; + +// Enable the clear state flag +export const handler = middy(lambdaHandler).use( + injectLambdaContext(logger, { clearState: true }) +); diff --git a/docs/snippets/logger/createChild.ts b/docs/snippets/logger/createChild.ts new file mode 100644 index 0000000000..351406c77b --- /dev/null +++ b/docs/snippets/logger/createChild.ts @@ -0,0 +1,29 @@ +import { Logger } from '@aws-lambda-powertools/logger'; + +// This logger has a service name, some persistent attributes +// and log level set to INFO +const logger = new Logger({ + serviceName: 'serverlessAirline', + logLevel: 'INFO', + persistentLogAttributes: { + aws_account_id: '123456789012', + aws_region: 'eu-west-1', + }, +}); + +// This other logger inherits all the parent's attributes +// but the log level, which is now set to ERROR +const childLogger = logger.createChild({ + logLevel: 'ERROR', +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + logger.info('This is an INFO log, from the parent logger'); + logger.error('This is an ERROR log, from the parent logger'); + + childLogger.info('This is an INFO log, from the child logger'); + childLogger.error('This is an ERROR log, from the child logger'); +}; diff --git a/docs/snippets/logger/decorator.ts b/docs/snippets/logger/decorator.ts new file mode 100644 index 0000000000..0cd9be0cf4 --- /dev/null +++ b/docs/snippets/logger/decorator.ts @@ -0,0 +1,15 @@ +import { Logger } from '@aws-lambda-powertools/logger'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const logger = new Logger(); + +class Lambda implements LambdaInterface { + // Decorate your handler class method + @logger.injectLambdaContext() + public async handler(_event: unknown, _context: unknown): Promise { + logger.info('This is an INFO log with some context'); + } +} + +const myFunction = new Lambda(); +export const handler = myFunction.handler.bind(myFunction); // (1) diff --git a/docs/snippets/logger/eventDecorator.ts b/docs/snippets/logger/eventDecorator.ts new file mode 100644 index 0000000000..9adf1518f1 --- /dev/null +++ b/docs/snippets/logger/eventDecorator.ts @@ -0,0 +1,15 @@ +import { Logger } from '@aws-lambda-powertools/logger'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const logger = new Logger(); + +class Lambda implements LambdaInterface { + // Set the log event flag to true + @logger.injectLambdaContext({ logEvent: true }) + public async handler(_event: unknown, _context: unknown): Promise { + logger.info('This is an INFO log with some context'); + } +} + +const myFunction = new Lambda(); +export const handler = myFunction.handler.bind(myFunction); // (1) diff --git a/docs/snippets/logger/eventMiddy.ts b/docs/snippets/logger/eventMiddy.ts new file mode 100644 index 0000000000..a3648c734a --- /dev/null +++ b/docs/snippets/logger/eventMiddy.ts @@ -0,0 +1,15 @@ +import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger'; +import middy from '@middy/core'; + +const logger = new Logger(); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + logger.info('This is an INFO log with some context'); +}; + +export const handler = middy(lambdaHandler).use( + injectLambdaContext(logger, { logEvent: true }) +); diff --git a/docs/snippets/logger/extraData.ts b/docs/snippets/logger/extraData.ts new file mode 100644 index 0000000000..fbc6ea1771 --- /dev/null +++ b/docs/snippets/logger/extraData.ts @@ -0,0 +1,42 @@ +import { Logger } from '@aws-lambda-powertools/logger'; + +const logger = new Logger(); + +export const handler = async ( + event: unknown, + _context: unknown +): Promise => { + const myImportantVariable = { + foo: 'bar', + }; + + // Log additional data in single log items + + // As second parameter + logger.info('This is a log with an extra variable', { + data: myImportantVariable, + }); + + // You can also pass multiple parameters containing arbitrary objects + logger.info( + 'This is a log with 3 extra objects', + { data: myImportantVariable }, + { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }, + { lambdaEvent: event } + ); + + // Simply pass a string for logging additional data + logger.info('This is a log with additional string value', 'string value'); + + // Directly passing an object containing both the message and the additional info + const logObject = { + message: 'This is a log message', + additionalValue: 42, + }; + + logger.info(logObject); + + return { + foo: 'bar', + }; +}; diff --git a/docs/snippets/logger/logError.ts b/docs/snippets/logger/logError.ts new file mode 100644 index 0000000000..68ad60bbc4 --- /dev/null +++ b/docs/snippets/logger/logError.ts @@ -0,0 +1,24 @@ +import { Logger } from '@aws-lambda-powertools/logger'; + +const logger = new Logger(); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + try { + throw new Error('Unexpected error #1'); + } catch (error) { + // Log information about the error using the default "error" key + logger.error('This is the first error', error as Error); + } + + try { + throw new Error('Unexpected error #2'); + } catch (error) { + // Log information about the error using a custom "myCustomErrorKey" key + logger.error('This is the second error', { + myCustomErrorKey: error as Error, + }); + } +}; diff --git a/docs/snippets/logger/logSampling.ts b/docs/snippets/logger/logSampling.ts new file mode 100644 index 0000000000..ea808f18ca --- /dev/null +++ b/docs/snippets/logger/logSampling.ts @@ -0,0 +1,25 @@ +import { Logger } from '@aws-lambda-powertools/logger'; + +// Notice the log level set to 'ERROR' +const logger = new Logger({ + logLevel: 'ERROR', + sampleRateValue: 0.5, +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + // This log item (equal to log level 'ERROR') will be printed to standard output + // in all Lambda invocations + logger.error('This is an ERROR log'); + + // These log items (below the log level 'ERROR') have ~50% chance + // of being printed in a Lambda invocation + logger.debug('This is a DEBUG log that has 50% chance of being printed'); + logger.info('This is an INFO log that has 50% chance of being printed'); + logger.warn('This is a WARN log that has 50% chance of being printed'); + + // Optional: refresh sample rate calculation on runtime + // logger.refreshSampleRateCalculation(); +}; diff --git a/docs/snippets/logger/manual.ts b/docs/snippets/logger/manual.ts new file mode 100644 index 0000000000..00eaa38ac5 --- /dev/null +++ b/docs/snippets/logger/manual.ts @@ -0,0 +1,9 @@ +import { Logger } from '@aws-lambda-powertools/logger'; + +const logger = new Logger(); + +export const handler = async (_event, context): Promise => { + logger.addContext(context); + + logger.info('This is an INFO log with some context'); +}; diff --git a/docs/snippets/logger/middy.ts b/docs/snippets/logger/middy.ts new file mode 100644 index 0000000000..f0dcbaa5aa --- /dev/null +++ b/docs/snippets/logger/middy.ts @@ -0,0 +1,13 @@ +import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger'; +import middy from '@middy/core'; + +const logger = new Logger(); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + logger.info('This is an INFO log with some context'); +}; + +export const handler = middy(lambdaHandler).use(injectLambdaContext(logger)); diff --git a/docs/snippets/logger/sam.ts b/docs/snippets/logger/sam.ts new file mode 100644 index 0000000000..74247f5ad3 --- /dev/null +++ b/docs/snippets/logger/sam.ts @@ -0,0 +1,11 @@ +import { Logger } from '@aws-lambda-powertools/logger'; + +// Logger parameters fetched from the environment variables (see template.yaml tab) +const logger = new Logger(); +logger.info('Hello World'); + +// You can also pass the parameters in the constructor +// const logger = new Logger({ +// logLevel: 'WARN', +// serviceName: 'serverlessAirline' +// }); diff --git a/docs/snippets/logger/unitTesting.ts b/docs/snippets/logger/unitTesting.ts new file mode 100644 index 0000000000..d120be2858 --- /dev/null +++ b/docs/snippets/logger/unitTesting.ts @@ -0,0 +1,8 @@ +import { ContextExamples as dummyContext } from '@aws-lambda-powertools/commons'; + +describe('MyUnitTest', () => { + test('Lambda invoked successfully', async () => { + const testEvent = { test: 'test' }; + await handler(testEvent, dummyContext); + }); +}); diff --git a/docs/snippets/metrics/addHighResolutionMetric.ts b/docs/snippets/metrics/addHighResolutionMetric.ts new file mode 100644 index 0000000000..f2981b8514 --- /dev/null +++ b/docs/snippets/metrics/addHighResolutionMetric.ts @@ -0,0 +1,22 @@ +import { + Metrics, + MetricUnits, + MetricResolution, +} from '@aws-lambda-powertools/metrics'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric( + 'successfulBooking', + MetricUnits.Count, + 1, + MetricResolution.High + ); +}; diff --git a/docs/snippets/metrics/addMetadata.ts b/docs/snippets/metrics/addMetadata.ts new file mode 100644 index 0000000000..6836191b91 --- /dev/null +++ b/docs/snippets/metrics/addMetadata.ts @@ -0,0 +1,21 @@ +import { + Metrics, + MetricUnits, + logMetrics, +} from '@aws-lambda-powertools/metrics'; +import middy from '@middy/core'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); + metrics.addMetadata('bookingId', '7051cd10-6283-11ec-90d6-0242ac120003'); +}; + +export const handler = middy(lambdaHandler).use(logMetrics(metrics)); diff --git a/docs/snippets/metrics/basicUsage.ts b/docs/snippets/metrics/basicUsage.ts new file mode 100644 index 0000000000..868f5b67af --- /dev/null +++ b/docs/snippets/metrics/basicUsage.ts @@ -0,0 +1,13 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); +}; diff --git a/docs/snippets/metrics/captureColdStartMetricDecorator.ts b/docs/snippets/metrics/captureColdStartMetricDecorator.ts new file mode 100644 index 0000000000..d2e050224e --- /dev/null +++ b/docs/snippets/metrics/captureColdStartMetricDecorator.ts @@ -0,0 +1,14 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +export class MyFunction implements LambdaInterface { + @metrics.logMetrics({ captureColdStartMetric: true }) + public async handler(_event: unknown, _context: unknown): Promise { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); + } +} diff --git a/docs/snippets/metrics/captureColdStartMetricMiddy.ts b/docs/snippets/metrics/captureColdStartMetricMiddy.ts new file mode 100644 index 0000000000..c598a09e03 --- /dev/null +++ b/docs/snippets/metrics/captureColdStartMetricMiddy.ts @@ -0,0 +1,22 @@ +import { + Metrics, + MetricUnits, + logMetrics, +} from '@aws-lambda-powertools/metrics'; +import middy from '@middy/core'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); +}; + +export const handler = middy(lambdaHandler).use( + logMetrics(metrics, { captureColdStartMetric: true }) +); diff --git a/docs/snippets/metrics/createMetrics.ts b/docs/snippets/metrics/createMetrics.ts new file mode 100644 index 0000000000..e7065e8f29 --- /dev/null +++ b/docs/snippets/metrics/createMetrics.ts @@ -0,0 +1,14 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); + metrics.publishStoredMetrics(); +}; diff --git a/docs/snippets/metrics/customDimensions.ts b/docs/snippets/metrics/customDimensions.ts new file mode 100644 index 0000000000..8eeaebebda --- /dev/null +++ b/docs/snippets/metrics/customDimensions.ts @@ -0,0 +1,15 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addDimension('environment', 'prod'); + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); + metrics.publishStoredMetrics(); +}; diff --git a/docs/snippets/metrics/decorator.ts b/docs/snippets/metrics/decorator.ts new file mode 100644 index 0000000000..9d69c5fa56 --- /dev/null +++ b/docs/snippets/metrics/decorator.ts @@ -0,0 +1,17 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +class Lambda implements LambdaInterface { + @metrics.logMetrics() + public async handler(_event: unknown, _context: unknown): Promise { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); + } +} + +const handlerClass = new Lambda(); +export const handler = handlerClass.handler.bind(handlerClass); // (1) diff --git a/docs/snippets/metrics/defaultDimensions.ts b/docs/snippets/metrics/defaultDimensions.ts new file mode 100644 index 0000000000..c0bc92b99b --- /dev/null +++ b/docs/snippets/metrics/defaultDimensions.ts @@ -0,0 +1,14 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', + defaultDimensions: { environment: 'prod', foo: 'bar' }, +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); +}; diff --git a/docs/snippets/metrics/defaultDimensionsDecorator.ts b/docs/snippets/metrics/defaultDimensionsDecorator.ts new file mode 100644 index 0000000000..23796a16fc --- /dev/null +++ b/docs/snippets/metrics/defaultDimensionsDecorator.ts @@ -0,0 +1,19 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); +const DEFAULT_DIMENSIONS = { environment: 'prod', foo: 'bar' }; + +export class Lambda implements LambdaInterface { + // Decorate your handler class method + @metrics.logMetrics({ defaultDimensions: DEFAULT_DIMENSIONS }) + public async handler(_event: unknown, _context: unknown): Promise { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); + } +} + +const handlerClass = new Lambda(); +export const handler = handlerClass.handler.bind(handlerClass); // (1) diff --git a/docs/snippets/metrics/defaultDimensionsMiddy.ts b/docs/snippets/metrics/defaultDimensionsMiddy.ts new file mode 100644 index 0000000000..b75ed56a6b --- /dev/null +++ b/docs/snippets/metrics/defaultDimensionsMiddy.ts @@ -0,0 +1,27 @@ +import { + Metrics, + MetricUnits, + logMetrics, +} from '@aws-lambda-powertools/metrics'; +import middy from '@middy/core'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); +}; + +// Wrap the handler with middy +export const handler = middy(lambdaHandler) + // Use the middleware by passing the Metrics instance as a parameter + .use( + logMetrics(metrics, { + defaultDimensions: { environment: 'prod', foo: 'bar' }, + }) + ); diff --git a/docs/snippets/metrics/manual.ts b/docs/snippets/metrics/manual.ts new file mode 100644 index 0000000000..d64a3b5393 --- /dev/null +++ b/docs/snippets/metrics/manual.ts @@ -0,0 +1,14 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 10); + metrics.publishStoredMetrics(); +}; diff --git a/docs/snippets/metrics/middy.ts b/docs/snippets/metrics/middy.ts new file mode 100644 index 0000000000..0a8330e931 --- /dev/null +++ b/docs/snippets/metrics/middy.ts @@ -0,0 +1,20 @@ +import { + Metrics, + MetricUnits, + logMetrics, +} from '@aws-lambda-powertools/metrics'; +import middy from '@middy/core'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); +}; + +export const handler = middy(lambdaHandler).use(logMetrics(metrics)); diff --git a/docs/snippets/metrics/multiValueMetrics.ts b/docs/snippets/metrics/multiValueMetrics.ts new file mode 100644 index 0000000000..6614e39409 --- /dev/null +++ b/docs/snippets/metrics/multiValueMetrics.ts @@ -0,0 +1,15 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('performedActionA', MetricUnits.Count, 2); + // do something else... + metrics.addMetric('performedActionA', MetricUnits.Count, 1); +}; diff --git a/docs/snippets/metrics/sam.ts b/docs/snippets/metrics/sam.ts new file mode 100644 index 0000000000..79cb23e522 --- /dev/null +++ b/docs/snippets/metrics/sam.ts @@ -0,0 +1,11 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; + +// Metrics parameters fetched from the environment variables (see template.yaml tab) +const metrics = new Metrics(); +metrics.addMetric('successfulBooking', MetricUnits.Count, 1); + +// You can also pass the parameters in the constructor +// const metrics = new Metrics({ +// namespace: 'serverlessAirline', +// serviceName: 'orders' +// }); diff --git a/docs/snippets/metrics/setDefaultDimensions.ts b/docs/snippets/metrics/setDefaultDimensions.ts new file mode 100644 index 0000000000..ddb54f7691 --- /dev/null +++ b/docs/snippets/metrics/setDefaultDimensions.ts @@ -0,0 +1,14 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); +metrics.setDefaultDimensions({ environment: 'prod', foo: 'bar' }); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); +}; diff --git a/docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts b/docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts new file mode 100644 index 0000000000..d7b811aa3b --- /dev/null +++ b/docs/snippets/metrics/singleMetricDifferentDimsDecorator.ts @@ -0,0 +1,24 @@ +import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +class Lambda implements LambdaInterface { + @metrics.logMetrics() + public async handler(_event: unknown, _context: unknown): Promise { + metrics.addDimension('metricUnit', 'milliseconds'); + // This metric will have the "metricUnit" dimension, and no "metricType" dimension: + metrics.addMetric('latency', MetricUnits.Milliseconds, 56); + + const singleMetric = metrics.singleMetric(); + // This metric will have the "metricType" dimension, and no "metricUnit" dimension: + singleMetric.addDimension('metricType', 'business'); + singleMetric.addMetric('orderSubmitted', MetricUnits.Count, 1); + } +} + +const handlerClass = new Lambda(); +export const handler = handlerClass.handler.bind(handlerClass); // (1) diff --git a/docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts b/docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts new file mode 100644 index 0000000000..66642078df --- /dev/null +++ b/docs/snippets/metrics/singleMetricDifferentDimsMiddy.ts @@ -0,0 +1,27 @@ +import { + Metrics, + MetricUnits, + logMetrics, +} from '@aws-lambda-powertools/metrics'; +import middy from '@middy/core'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addDimension('metricUnit', 'milliseconds'); + // This metric will have the "metricUnit" dimension, and no "metricType" dimension: + metrics.addMetric('latency', MetricUnits.Milliseconds, 56); + + const singleMetric = metrics.singleMetric(); + // This metric will have the "metricType" dimension, and no "metricUnit" dimension: + singleMetric.addDimension('metricType', 'business'); + singleMetric.addMetric('orderSubmitted', MetricUnits.Count, 1); +}; + +export const handler = middy(lambdaHandler).use(logMetrics(metrics)); diff --git a/docs/snippets/metrics/throwOnEmptyMetrics.ts b/docs/snippets/metrics/throwOnEmptyMetrics.ts new file mode 100644 index 0000000000..8fc01ae4b3 --- /dev/null +++ b/docs/snippets/metrics/throwOnEmptyMetrics.ts @@ -0,0 +1,22 @@ +import { + Metrics, + MetricUnits, + logMetrics, +} from '@aws-lambda-powertools/metrics'; +import middy from '@middy/core'; + +const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', +}); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); +}; + +export const handler = middy(lambdaHandler).use( + logMetrics(metrics, { throwOnEmptyMetrics: true }) +); diff --git a/docs/snippets/parameters/adjustingCacheTTL.ts b/docs/snippets/parameters/adjustingCacheTTL.ts new file mode 100644 index 0000000000..50f89e1537 --- /dev/null +++ b/docs/snippets/parameters/adjustingCacheTTL.ts @@ -0,0 +1,19 @@ +import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; + +const parametersProvider = new SSMProvider(); + +export const handler = async (): Promise => { + // Retrieve a single parameter and cache it for 1 minute + const parameter = await parametersProvider.get('/my/parameter', { + maxAge: 60, + }); // (1) + console.log(parameter); + + // Retrieve multiple parameters from a path prefix and cache them for 2 minutes + const parameters = await parametersProvider.getMultiple('/my/path/prefix', { + maxAge: 120, + }); + for (const [key, value] of Object.entries(parameters || {})) { + console.log(`${key}: ${value}`); + } +}; diff --git a/docs/snippets/parameters/appConfigProvider.ts b/docs/snippets/parameters/appConfigProvider.ts new file mode 100644 index 0000000000..32ef2a2b1e --- /dev/null +++ b/docs/snippets/parameters/appConfigProvider.ts @@ -0,0 +1,15 @@ +import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; +import type { AppConfigDataClientConfig } from '@aws-sdk/client-appconfigdata'; + +const clientConfig: AppConfigDataClientConfig = { region: 'us-east-1' }; +const configsProvider = new AppConfigProvider({ + application: 'my-app', + environment: 'my-env', + clientConfig, +}); + +export const handler = async (): Promise => { + // Retrieve a config + const config = await configsProvider.get('my-config'); + console.log(config); +}; diff --git a/docs/snippets/parameters/appConfigProviderCustomClient.ts b/docs/snippets/parameters/appConfigProviderCustomClient.ts new file mode 100644 index 0000000000..d4315fb58c --- /dev/null +++ b/docs/snippets/parameters/appConfigProviderCustomClient.ts @@ -0,0 +1,14 @@ +import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; +import { AppConfigDataClient } from '@aws-sdk/client-appconfigdata'; + +// construct your clients with any custom configuration +const appConfigClient = new AppConfigDataClient({ region: 'us-east-1' }); +// pass the client to the provider +const configsProvider = new AppConfigProvider({ + awsSdkV3Client: appConfigClient, +}); + +export const handler = async (): Promise => { + const config = await configsProvider.get('my-config'); + console.log(config); +}; diff --git a/docs/snippets/parameters/clientConfig.ts b/docs/snippets/parameters/clientConfig.ts new file mode 100644 index 0000000000..da2353bf3d --- /dev/null +++ b/docs/snippets/parameters/clientConfig.ts @@ -0,0 +1,11 @@ +import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; +import type { SSMClientConfig } from '@aws-sdk/client-ssm'; + +const clientConfig: SSMClientConfig = { region: 'us-east-1' }; +const parametersProvider = new SSMProvider({ clientConfig }); + +export const handler = async (): Promise => { + // Retrieve a single parameter + const value = await parametersProvider.get('/my/parameter'); + console.log(value); +}; diff --git a/docs/snippets/parameters/dynamoDBProvider.ts b/docs/snippets/parameters/dynamoDBProvider.ts new file mode 100644 index 0000000000..da4516e139 --- /dev/null +++ b/docs/snippets/parameters/dynamoDBProvider.ts @@ -0,0 +1,9 @@ +import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; + +const dynamoDBProvider = new DynamoDBProvider({ tableName: 'my-table' }); + +export const handler = async (): Promise => { + // Retrieve a value from DynamoDB + const value = await dynamoDBProvider.get('my-parameter'); + console.log(value); +}; diff --git a/docs/snippets/parameters/dynamoDBProviderCustomClient.ts b/docs/snippets/parameters/dynamoDBProviderCustomClient.ts new file mode 100644 index 0000000000..2eb94ef190 --- /dev/null +++ b/docs/snippets/parameters/dynamoDBProviderCustomClient.ts @@ -0,0 +1,13 @@ +import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; +import { DynamoDBClient } from '@aws-sdk/client-dynamodb'; + +// construct your clients with any custom configuration +const dynamoDBClient = new DynamoDBClient({ region: 'us-east-1' }); +// pass the client to the provider +const valuesProvider = new DynamoDBProvider({ awsSdkV3Client: dynamoDBClient }); + +export const handler = async (): Promise => { + // Retrieve a single value + const value = await valuesProvider.get('my-value'); + console.log(value); +}; diff --git a/docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts b/docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts new file mode 100644 index 0000000000..2f58806c44 --- /dev/null +++ b/docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts @@ -0,0 +1,13 @@ +import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; + +const dynamoDBProvider = new DynamoDBProvider({ + tableName: 'my-table', + keyAttr: 'key', + sortAttr: 'sort', + valueAttr: 'val', +}); + +export const handler = async (): Promise => { + const value = await dynamoDBProvider.get('my-parameter'); + console.log(value); +}; diff --git a/docs/snippets/parameters/dynamoDBProviderLocal.ts b/docs/snippets/parameters/dynamoDBProviderLocal.ts new file mode 100644 index 0000000000..963b0fcc6a --- /dev/null +++ b/docs/snippets/parameters/dynamoDBProviderLocal.ts @@ -0,0 +1,14 @@ +import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; + +const dynamoDBProvider = new DynamoDBProvider({ + tableName: 'my-table', + clientConfig: { + endpoint: 'http://localhost:8000', + }, +}); + +export const handler = async (): Promise => { + // Retrieve a value from DynamoDB + const value = await dynamoDBProvider.get('my-parameter'); + console.log(value); +}; diff --git a/docs/snippets/parameters/dynamoDBProviderMultiple.ts b/docs/snippets/parameters/dynamoDBProviderMultiple.ts new file mode 100644 index 0000000000..53c48868ba --- /dev/null +++ b/docs/snippets/parameters/dynamoDBProviderMultiple.ts @@ -0,0 +1,16 @@ +import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; + +const dynamoDBProvider = new DynamoDBProvider({ tableName: 'my-table' }); + +export const handler = async (): Promise => { + /** + * Retrieve multiple values by performing a Query on the DynamoDB table. + * This returns a dict with the sort key attribute as dict key. + */ + const values = await dynamoDBProvider.getMultiple('my-hash-key'); + for (const [key, value] of Object.entries(values || {})) { + // key: param-a + // value: my-value-a + console.log(`${key}: ${value}`); + } +}; diff --git a/docs/snippets/parameters/forceFetch.ts b/docs/snippets/parameters/forceFetch.ts new file mode 100644 index 0000000000..26188d1033 --- /dev/null +++ b/docs/snippets/parameters/forceFetch.ts @@ -0,0 +1,7 @@ +import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; + +export const handler = async (): Promise => { + // Retrieve a single parameter + const parameter = await getParameter('/my/parameter', { forceFetch: true }); + console.log(parameter); +}; diff --git a/docs/snippets/parameters/getAppConfig.ts b/docs/snippets/parameters/getAppConfig.ts new file mode 100644 index 0000000000..b71bc196e3 --- /dev/null +++ b/docs/snippets/parameters/getAppConfig.ts @@ -0,0 +1,10 @@ +import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig'; + +export const handler = async (): Promise => { + // Retrieve a configuration, latest version + const config = await getAppConfig('my-configuration', { + environment: 'my-env', + application: 'my-app', + }); + console.log(config); +}; diff --git a/docs/snippets/parameters/getParameter.ts b/docs/snippets/parameters/getParameter.ts new file mode 100644 index 0000000000..4a2d1c8cc4 --- /dev/null +++ b/docs/snippets/parameters/getParameter.ts @@ -0,0 +1,7 @@ +import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; + +export const handler = async (): Promise => { + // Retrieve a single parameter + const parameter = await getParameter('/my/parameter'); + console.log(parameter); +}; diff --git a/docs/snippets/parameters/getParameters.ts b/docs/snippets/parameters/getParameters.ts new file mode 100644 index 0000000000..bf38cdc31c --- /dev/null +++ b/docs/snippets/parameters/getParameters.ts @@ -0,0 +1,12 @@ +import { getParameters } from '@aws-lambda-powertools/parameters/ssm'; + +export const handler = async (): Promise => { + /** + * Retrieve multiple parameters from a path prefix recursively. + * This returns an object with the parameter name as key + */ + const parameters = await getParameters('/my/path/prefix'); + for (const [key, value] of Object.entries(parameters || {})) { + console.log(`${key}: ${value}`); + } +}; diff --git a/docs/snippets/parameters/getParametersByName.ts b/docs/snippets/parameters/getParametersByName.ts new file mode 100644 index 0000000000..17679aedfb --- /dev/null +++ b/docs/snippets/parameters/getParametersByName.ts @@ -0,0 +1,19 @@ +import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm'; +import type { SSMGetParametersByNameOptionsInterface } from '@aws-lambda-powertools/parameters/ssm'; + +const props: Record = { + '/develop/service/commons/telemetry/config': { + maxAge: 300, + transform: 'json', + }, + '/no_cache_param': { maxAge: 0 }, + '/develop/service/payment/api/capture/url': {}, // When empty or undefined, it uses default values +}; + +export const handler = async (): Promise => { + // This returns an object with the parameter name as key + const parameters = await getParametersByName(props, { maxAge: 60 }); + for (const [key, value] of Object.entries(parameters)) { + console.log(`${key}: ${value}`); + } +}; diff --git a/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts b/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts new file mode 100644 index 0000000000..a44a4e1db8 --- /dev/null +++ b/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts @@ -0,0 +1,25 @@ +import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm'; +import type { SSMGetParametersByNameOptionsInterface } from '@aws-lambda-powertools/parameters/ssm'; + +const props: Record = { + '/develop/service/commons/telemetry/config': { + maxAge: 300, + transform: 'json', + }, + '/this/param/does/not/exist': {}, // <- Example of non-existent parameter +}; + +export const handler = async (): Promise => { + const { _errors: errors, ...parameters } = await getParametersByName(props, { + throwOnError: false, + }); + + // Handle gracefully, since `/this/param/does/not/exist` will only be available in `_errors` + if (errors && errors.length) { + console.error(`Unable to retrieve parameters: ${errors.join(',')}`); + } + + for (const [key, value] of Object.entries(parameters)) { + console.log(`${key}: ${value}`); + } +}; diff --git a/docs/snippets/parameters/getSecret.ts b/docs/snippets/parameters/getSecret.ts new file mode 100644 index 0000000000..58ce012ced --- /dev/null +++ b/docs/snippets/parameters/getSecret.ts @@ -0,0 +1,7 @@ +import { getSecret } from '@aws-lambda-powertools/parameters/secrets'; + +export const handler = async (): Promise => { + // Retrieve a single secret + const secret = await getSecret('my-secret'); + console.log(secret); +}; diff --git a/docs/snippets/parameters/sdkOptions.ts b/docs/snippets/parameters/sdkOptions.ts new file mode 100644 index 0000000000..87eba09c1a --- /dev/null +++ b/docs/snippets/parameters/sdkOptions.ts @@ -0,0 +1,16 @@ +import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets'; +import type { GetSecretValueCommandInput } from '@aws-sdk/client-secrets-manager'; + +const secretsProvider = new SecretsProvider(); + +export const handler = async (): Promise => { + const sdkOptions: Partial = { + VersionId: 'e62ec170-6b01-48c7-94f3-d7497851a8d2', + }; + /** + * The 'VersionId' argument will be passed to the underlying + * `GetSecretValueCommand` call. + */ + const secret = await secretsProvider.get('my-secret', { sdkOptions }); + console.log(secret); +}; diff --git a/docs/snippets/parameters/secretsProvider.ts b/docs/snippets/parameters/secretsProvider.ts new file mode 100644 index 0000000000..ca15e1ef08 --- /dev/null +++ b/docs/snippets/parameters/secretsProvider.ts @@ -0,0 +1,11 @@ +import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets'; +import type { SecretsManagerClientConfig } from '@aws-sdk/client-secrets-manager'; + +const clientConfig: SecretsManagerClientConfig = { region: 'us-east-1' }; +const secretsProvider = new SecretsProvider({ clientConfig }); + +export const handler = async (): Promise => { + // Retrieve a single secret + const secret = await secretsProvider.get('my-secret'); + console.log(secret); +}; diff --git a/docs/snippets/parameters/secretsProviderCustomClient.ts b/docs/snippets/parameters/secretsProviderCustomClient.ts new file mode 100644 index 0000000000..4fb008eb2b --- /dev/null +++ b/docs/snippets/parameters/secretsProviderCustomClient.ts @@ -0,0 +1,15 @@ +import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets'; +import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager'; + +// construct your clients with any custom configuration +const secretsManagerClient = new SecretsManagerClient({ region: 'us-east-1' }); +// pass the client to the provider +const secretsProvider = new SecretsProvider({ + awsSdkV3Client: secretsManagerClient, +}); + +export const handler = async (): Promise => { + // Retrieve a single secret + const secret = await secretsProvider.get('my-secret'); + console.log(secret); +}; diff --git a/docs/snippets/parameters/ssmProvider.ts b/docs/snippets/parameters/ssmProvider.ts new file mode 100644 index 0000000000..172bc39d3e --- /dev/null +++ b/docs/snippets/parameters/ssmProvider.ts @@ -0,0 +1,17 @@ +import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; +import type { SSMClientConfig } from '@aws-sdk/client-ssm'; + +const clientConfig: SSMClientConfig = { region: 'us-east-1' }; +const parametersProvider = new SSMProvider({ clientConfig }); + +export const handler = async (): Promise => { + // Retrieve a single parameter + const parameter = await parametersProvider.get('/my/parameter'); + console.log(parameter); + + // Retrieve multiple parameters from a path prefix + const parameters = await parametersProvider.getMultiple('/my/path/prefix'); + for (const [key, value] of Object.entries(parameters || {})) { + console.log(`${key}: ${value}`); + } +}; diff --git a/docs/snippets/parameters/ssmProviderCustomClient.ts b/docs/snippets/parameters/ssmProviderCustomClient.ts new file mode 100644 index 0000000000..ee30b13931 --- /dev/null +++ b/docs/snippets/parameters/ssmProviderCustomClient.ts @@ -0,0 +1,13 @@ +import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; +import { SSMClient } from '@aws-sdk/client-ssm'; + +// construct your clients with any custom configuration +const ssmClient = new SSMClient({ region: 'us-east-1' }); +// pass the client to the provider +const parametersProvider = new SSMProvider({ awsSdkV3Client: ssmClient }); + +export const handler = async (): Promise => { + // Retrieve a single parameter + const parameter = await parametersProvider.get('/my/parameter'); + console.log(parameter); +}; diff --git a/docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts b/docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts new file mode 100644 index 0000000000..9ffdb95f10 --- /dev/null +++ b/docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts @@ -0,0 +1,19 @@ +import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; + +const parametersProvider = new SSMProvider(); + +export const handler = async (): Promise => { + const decryptedValue = await parametersProvider.get( + '/my/encrypted/parameter', + { decrypt: true } + ); // (1) + console.log(decryptedValue); + + const noRecursiveValues = await parametersProvider.getMultiple( + '/my/path/prefix', + { recursive: false } + ); + for (const [key, value] of Object.entries(noRecursiveValues || {})) { + console.log(`${key}: ${value}`); + } +}; diff --git a/docs/snippets/parameters/testingYourCodeClearCache.ts b/docs/snippets/parameters/testingYourCodeClearCache.ts new file mode 100644 index 0000000000..beb2d1f53a --- /dev/null +++ b/docs/snippets/parameters/testingYourCodeClearCache.ts @@ -0,0 +1,13 @@ +import { clearCaches } from '@aws-lambda-powertools/parameters'; + +describe('Function tests', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + afterEach(() => { + clearCaches(); + }); + + // ... +}); diff --git a/docs/snippets/parameters/testingYourCodeClientHandler.ts b/docs/snippets/parameters/testingYourCodeClientHandler.ts new file mode 100644 index 0000000000..9264d5eff3 --- /dev/null +++ b/docs/snippets/parameters/testingYourCodeClientHandler.ts @@ -0,0 +1,18 @@ +import { getSecret } from '@aws-lambda-powertools/parameters/secrets'; + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise> => { + try { + const parameter = await getSecret('my-secret'); + + return { + value: parameter, + }; + } catch (error) { + return { + message: 'Unable to retrieve secret', + }; + } +}; diff --git a/docs/snippets/parameters/testingYourCodeClientJestMock.ts b/docs/snippets/parameters/testingYourCodeClientJestMock.ts new file mode 100644 index 0000000000..3fe93a696f --- /dev/null +++ b/docs/snippets/parameters/testingYourCodeClientJestMock.ts @@ -0,0 +1,38 @@ +import { handler } from './testingYourCodeFunctionsHandler'; +import { + SecretsManagerClient, + GetSecretValueCommand, + ResourceNotFoundException, +} from '@aws-sdk/client-secrets-manager'; +import { mockClient } from 'aws-sdk-client-mock'; +import 'aws-sdk-client-mock-jest'; + +describe('Function tests', () => { + const client = mockClient(SecretsManagerClient); + + beforeEach(() => { + jest.clearAllMocks(); + }); + + afterEach(() => { + client.reset(); + }); + + test('it returns the correct error message', async () => { + // Prepare + client.on(GetSecretValueCommand).rejectsOnce( + new ResourceNotFoundException({ + $metadata: { + httpStatusCode: 404, + }, + message: 'Unable to retrieve secret', + }) + ); + + // Act + const result = await handler({}, {}); + + // Assess + expect(result).toStrictEqual({ message: 'Unable to retrieve secret' }); + }); +}); diff --git a/docs/snippets/parameters/testingYourCodeFunctionsHandler.ts b/docs/snippets/parameters/testingYourCodeFunctionsHandler.ts new file mode 100644 index 0000000000..1b33075e1f --- /dev/null +++ b/docs/snippets/parameters/testingYourCodeFunctionsHandler.ts @@ -0,0 +1,12 @@ +import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise> => { + const parameter = await getParameter('my/param'); + + return { + value: parameter, + }; +}; diff --git a/docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts b/docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts new file mode 100644 index 0000000000..3b42aa9596 --- /dev/null +++ b/docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts @@ -0,0 +1,28 @@ +import { handler } from './testingYourCodeFunctionsHandler'; +import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; + +jest.mock('@aws-lambda-powertools/parameters/ssm', () => ({ + getParameter: jest.fn(), +})); +const mockedGetParameter = getParameter as jest.MockedFunction< + typeof getParameter +>; + +describe('Function tests', () => { + beforeEach(() => { + mockedGetParameter.mockClear(); + }); + + test('it returns the correct response', async () => { + // Prepare + mockedGetParameter.mockResolvedValue('my/param'); + + // Act + const result = await handler({}, {}); + + // Assess + expect(result).toEqual({ + value: 'my/param', + }); + }); +}); diff --git a/docs/snippets/parameters/testingYourCodeProvidersHandler.ts b/docs/snippets/parameters/testingYourCodeProvidersHandler.ts new file mode 100644 index 0000000000..3c631ba78f --- /dev/null +++ b/docs/snippets/parameters/testingYourCodeProvidersHandler.ts @@ -0,0 +1,17 @@ +import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; + +const provider = new AppConfigProvider({ + environment: 'dev', + application: 'my-app', +}); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise> => { + const config = await provider.get('my-config'); + + return { + value: config, + }; +}; diff --git a/docs/snippets/parameters/testingYourCodeProvidersJestMock.ts b/docs/snippets/parameters/testingYourCodeProvidersJestMock.ts new file mode 100644 index 0000000000..96d4d025d9 --- /dev/null +++ b/docs/snippets/parameters/testingYourCodeProvidersJestMock.ts @@ -0,0 +1,29 @@ +import { handler } from './testingYourCodeFunctionsHandler'; +import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; + +describe('Function tests', () => { + const providerSpy = jest.spyOn(AppConfigProvider.prototype, 'get'); + + beforeEach(() => { + jest.clearAllMocks(); + }); + + test('it retrieves the config once and uses the correct name', async () => { + // Prepare + const expectedConfig = { + feature: { + enabled: true, + name: 'paywall', + }, + }; + providerSpy.mockResolvedValueOnce(expectedConfig); + + // Act + const result = await handler({}, {}); + + // Assess + expect(result).toStrictEqual({ value: expectedConfig }); + expect(providerSpy).toHaveBeenCalledTimes(1); + expect(providerSpy).toHaveBeenCalledWith('my-config'); + }); +}); diff --git a/docs/snippets/parameters/transform.ts b/docs/snippets/parameters/transform.ts new file mode 100644 index 0000000000..1eb2288f5e --- /dev/null +++ b/docs/snippets/parameters/transform.ts @@ -0,0 +1,8 @@ +import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; + +export const handler = async (): Promise => { + const valueFromJson = await getParameter('/my/json/parameter', { + transform: 'json', + }); + console.log(valueFromJson); +}; diff --git a/docs/snippets/parameters/transformAuto.ts b/docs/snippets/parameters/transformAuto.ts new file mode 100644 index 0000000000..f40a9f2f09 --- /dev/null +++ b/docs/snippets/parameters/transformAuto.ts @@ -0,0 +1,12 @@ +import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; + +const parametersProvider = new SSMProvider(); + +export const handler = async (): Promise => { + const values = await parametersProvider.getMultiple('/param', { + transform: 'auto', + }); + for (const [key, value] of Object.entries(values || {})) { + console.log(`${key}: ${value}`); + } +}; diff --git a/docs/snippets/parameters/transformPartialFailures.ts b/docs/snippets/parameters/transformPartialFailures.ts new file mode 100644 index 0000000000..81a6a27815 --- /dev/null +++ b/docs/snippets/parameters/transformPartialFailures.ts @@ -0,0 +1,31 @@ +import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; + +const parametersProvider = new SSMProvider(); + +export const handler = async (): Promise => { + /** + * This will display: + * /param/a: [some value] + * /param/b: [some value] + * /param/c: undefined + */ + const parameters = await parametersProvider.getMultiple('/param', { + transform: 'json', + }); + for (const [key, value] of Object.entries(parameters || {})) { + console.log(`${key}: ${value}`); + } + + try { + // This will throw a TransformParameterError + const parameters2 = await parametersProvider.getMultiple('/param', { + transform: 'json', + throwOnTransformError: true, + }); + for (const [key, value] of Object.entries(parameters2 || {})) { + console.log(`${key}: ${value}`); + } + } catch (err) { + console.error(err); + } +}; diff --git a/docs/snippets/parameters/transformProvider.ts b/docs/snippets/parameters/transformProvider.ts new file mode 100644 index 0000000000..39e2e5b5be --- /dev/null +++ b/docs/snippets/parameters/transformProvider.ts @@ -0,0 +1,17 @@ +import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets'; + +const secretsProvider = new SecretsProvider(); + +export const handler = async (): Promise => { + // Transform a JSON string + const json = await secretsProvider.get('my-secret-json', { + transform: 'json', + }); + console.log(json); + + // Transform a Base64 encoded string (e.g. binary) + const binary = await secretsProvider.getMultiple('my-secret-binary', { + transform: 'binary', + }); + console.log(binary); +}; diff --git a/docs/snippets/tracer/accessRootTraceId.ts b/docs/snippets/tracer/accessRootTraceId.ts new file mode 100644 index 0000000000..f868d8b5e2 --- /dev/null +++ b/docs/snippets/tracer/accessRootTraceId.ts @@ -0,0 +1,20 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + try { + } catch (err) { + const rootTraceId = tracer.getRootXrayTraceId(); + + // Example of returning an error response + return { + statusCode: 500, + body: `Internal Error - Please contact support and quote the following id: ${rootTraceId}`, + headers: { _X_AMZN_TRACE_ID: rootTraceId }, + }; + } +}; diff --git a/docs/snippets/tracer/basicUsage.ts b/docs/snippets/tracer/basicUsage.ts new file mode 100644 index 0000000000..8f00dc4c7c --- /dev/null +++ b/docs/snippets/tracer/basicUsage.ts @@ -0,0 +1,7 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +export const handler = async (_event, _context): Promise => { + tracer.getSegment(); +}; diff --git a/docs/snippets/tracer/captureAWS.ts b/docs/snippets/tracer/captureAWS.ts new file mode 100644 index 0000000000..0f86993e15 --- /dev/null +++ b/docs/snippets/tracer/captureAWS.ts @@ -0,0 +1,5 @@ +import { S3 } from 'aws-sdk'; +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); +tracer.captureAWSClient(new S3()); diff --git a/docs/snippets/tracer/captureAWSAll.ts b/docs/snippets/tracer/captureAWSAll.ts new file mode 100644 index 0000000000..bc4d4875e7 --- /dev/null +++ b/docs/snippets/tracer/captureAWSAll.ts @@ -0,0 +1,5 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; +import AWS from 'aws-sdk'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); +tracer.captureAWS(AWS); diff --git a/docs/snippets/tracer/captureAWSv3.ts b/docs/snippets/tracer/captureAWSv3.ts new file mode 100644 index 0000000000..f6f0d59a8f --- /dev/null +++ b/docs/snippets/tracer/captureAWSv3.ts @@ -0,0 +1,5 @@ +import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager'; +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); +tracer.captureAWSv3Client(new SecretsManagerClient({})); diff --git a/docs/snippets/tracer/captureHTTP.ts b/docs/snippets/tracer/captureHTTP.ts new file mode 100644 index 0000000000..506fbb0778 --- /dev/null +++ b/docs/snippets/tracer/captureHTTP.ts @@ -0,0 +1,11 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; +import axios from 'axios'; // (1) + +new Tracer({ serviceName: 'serverlessAirline' }); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + await axios.get('https://httpbin.org/status/200'); +}; diff --git a/docs/snippets/tracer/captureMethodDecorator.ts b/docs/snippets/tracer/captureMethodDecorator.ts new file mode 100644 index 0000000000..1b15cf44c7 --- /dev/null +++ b/docs/snippets/tracer/captureMethodDecorator.ts @@ -0,0 +1,20 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +class Lambda implements LambdaInterface { + // Decorate your class method + @tracer.captureMethod() // (1) + public async getChargeId(): Promise { + /* ... */ + return 'foo bar'; + } + + public async handler(_event: unknown, _context: unknown): Promise { + await this.getChargeId(); + } +} + +const handlerClass = new Lambda(); +export const handler = handlerClass.handler.bind(handlerClass); // (2) diff --git a/docs/snippets/tracer/captureMethodManual.ts b/docs/snippets/tracer/captureMethodManual.ts new file mode 100644 index 0000000000..d4ad79a86b --- /dev/null +++ b/docs/snippets/tracer/captureMethodManual.ts @@ -0,0 +1,40 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +const getChargeId = async (): Promise => { + const parentSubsegment = tracer.getSegment(); // This is the subsegment currently active + let subsegment; + if (parentSubsegment) { + // Create subsegment for the function & set it as active + subsegment = parentSubsegment.addNewSubsegment(`### chargeId`); + tracer.setSegment(subsegment); + } + + let res; + try { + /* ... */ + // Add the response as metadata + tracer.addResponseAsMetadata(res, 'chargeId'); + } catch (err) { + // Add the error as metadata + tracer.addErrorAsMetadata(err as Error); + throw err; + } + + if (parentSubsegment && subsegment) { + // Close subsegment (the AWS Lambda one is closed automatically) + subsegment.close(); + // Set the facade segment as active again + tracer.setSegment(parentSubsegment); + } + + return res; +}; + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + await getChargeId(); +}; diff --git a/docs/snippets/tracer/decorator.ts b/docs/snippets/tracer/decorator.ts new file mode 100644 index 0000000000..616c3eb63d --- /dev/null +++ b/docs/snippets/tracer/decorator.ts @@ -0,0 +1,15 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +class Lambda implements LambdaInterface { + // Decorate your handler class method + @tracer.captureLambdaHandler() + public async handler(_event: unknown, _context: unknown): Promise { + tracer.getSegment(); + } +} + +const handlerClass = new Lambda(); +export const handler = handlerClass.handler.bind(handlerClass); // (1) diff --git a/docs/snippets/tracer/disableCaptureResponseHandler.ts b/docs/snippets/tracer/disableCaptureResponseHandler.ts new file mode 100644 index 0000000000..9a08a31dcc --- /dev/null +++ b/docs/snippets/tracer/disableCaptureResponseHandler.ts @@ -0,0 +1,14 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; +import { LambdaInterface } from '@aws-lambda-powertools/commons'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +class Lambda implements LambdaInterface { + @tracer.captureLambdaHandler({ captureResponse: false }) + public async handler(_event: unknown, _context: unknown): Promise { + tracer.getSegment(); + } +} + +const handlerClass = new Lambda(); +export const handler = handlerClass.handler.bind(handlerClass); diff --git a/docs/snippets/tracer/disableCaptureResponseMethod.ts b/docs/snippets/tracer/disableCaptureResponseMethod.ts new file mode 100644 index 0000000000..26b6e2519a --- /dev/null +++ b/docs/snippets/tracer/disableCaptureResponseMethod.ts @@ -0,0 +1,19 @@ +import { LambdaInterface } from '@aws-lambda-powertools/commons'; +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +class Lambda implements LambdaInterface { + @tracer.captureMethod({ captureResponse: false }) + public async getChargeId(): Promise { + /* ... */ + return 'foo bar'; + } + + public async handler(_event: unknown, _context: unknown): Promise { + /* ... */ + } +} + +const handlerClass = new Lambda(); +export const handler = handlerClass.handler.bind(handlerClass); diff --git a/docs/snippets/tracer/disableCaptureResponseMiddy.ts b/docs/snippets/tracer/disableCaptureResponseMiddy.ts new file mode 100644 index 0000000000..82aa1b345c --- /dev/null +++ b/docs/snippets/tracer/disableCaptureResponseMiddy.ts @@ -0,0 +1,17 @@ +import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer'; +import middy from '@middy/core'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + /* ... */ +}; + +// Wrap the handler with middy +export const handler = middy(lambdaHandler) + // Use the middleware by passing the Tracer instance as a parameter, + // but specify the captureResponse option as false. + .use(captureLambdaHandler(tracer, { captureResponse: false })); diff --git a/docs/snippets/tracer/escapeHatch.ts b/docs/snippets/tracer/escapeHatch.ts new file mode 100644 index 0000000000..b4b169cdec --- /dev/null +++ b/docs/snippets/tracer/escapeHatch.ts @@ -0,0 +1,7 @@ +import { Logger } from '@aws-lambda-powertools/logger'; +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const serviceName = 'serverlessAirline'; +const logger = new Logger({ serviceName: serviceName }); +const tracer = new Tracer({ serviceName: serviceName }); +tracer.provider.setLogger(logger); diff --git a/docs/snippets/tracer/manual.ts b/docs/snippets/tracer/manual.ts new file mode 100644 index 0000000000..af56f12cff --- /dev/null +++ b/docs/snippets/tracer/manual.ts @@ -0,0 +1,38 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + const segment = tracer.getSegment(); // This is the facade segment (the one that is created by AWS Lambda) + let subsegment; + if (segment) { + // Create subsegment for the function & set it as active + subsegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`); + tracer.setSegment(subsegment); + } + + // Annotate the subsegment with the cold start & serviceName + tracer.annotateColdStart(); + tracer.addServiceNameAnnotation(); + + try { + // Add the response as metadata + tracer.addResponseAsMetadata({}, process.env._HANDLER); + } catch (err) { + // Add the error as metadata + tracer.addErrorAsMetadata(err as Error); + throw err; + } finally { + if (segment && subsegment) { + // Close subsegment (the AWS Lambda one is closed automatically) + subsegment.close(); + // Set back the facade segment as active again + tracer.setSegment(segment); + } + } + + return {}; +}; diff --git a/docs/snippets/tracer/middy.ts b/docs/snippets/tracer/middy.ts new file mode 100644 index 0000000000..e3b4f95df6 --- /dev/null +++ b/docs/snippets/tracer/middy.ts @@ -0,0 +1,16 @@ +import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer'; +import middy from '@middy/core'; // (1) + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +const lambdaHandler = async ( + _event: unknown, + _context: unknown +): Promise => { + tracer.putAnnotation('successfulBooking', true); +}; + +// Wrap the handler with middy +export const handler = middy(lambdaHandler) + // Use the middleware by passing the Tracer instance as a parameter + .use(captureLambdaHandler(tracer)); diff --git a/docs/snippets/tracer/putAnnotation.ts b/docs/snippets/tracer/putAnnotation.ts new file mode 100644 index 0000000000..c83363417f --- /dev/null +++ b/docs/snippets/tracer/putAnnotation.ts @@ -0,0 +1,10 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + tracer.putAnnotation('successfulBooking', true); +}; diff --git a/docs/snippets/tracer/putMetadata.ts b/docs/snippets/tracer/putMetadata.ts new file mode 100644 index 0000000000..4458907925 --- /dev/null +++ b/docs/snippets/tracer/putMetadata.ts @@ -0,0 +1,12 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; + +const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +export const handler = async ( + _event: unknown, + _context: unknown +): Promise => { + tracer.putMetadata('paymentResponse', { + foo: 'bar', + }); +}; diff --git a/docs/snippets/tracer/sam.ts b/docs/snippets/tracer/sam.ts new file mode 100644 index 0000000000..9d84200b26 --- /dev/null +++ b/docs/snippets/tracer/sam.ts @@ -0,0 +1,10 @@ +import { Tracer } from '@aws-lambda-powertools/tracer'; + +// Tracer parameter fetched from the environment variables (see template.yaml tab) +const tracer = new Tracer(); +tracer.getSegment(); + +// You can also pass the parameter in the constructor +// const tracer = new Tracer({ +// serviceName: 'serverlessAirline' +// }); diff --git a/docs/snippets/tsconfig.json b/docs/snippets/tsconfig.json new file mode 100644 index 0000000000..6f72111cb7 --- /dev/null +++ b/docs/snippets/tsconfig.json @@ -0,0 +1,48 @@ +{ + "compilerOptions": { + "experimentalDecorators": true, + "noImplicitAny": true, + "target": "ES2020", + "module": "commonjs", + "declaration": true, + "declarationMap": true, + "outDir": "lib", + "removeComments": false, + "strict": true, + "inlineSourceMap": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "pretty": true, + "esModuleInterop": true, + "allowJs": true, + "baseUrl": ".", + "paths": { + "@aws-lambda-powertools/parameters/ssm": [ + "../../packages/parameters/lib/ssm" + ], + "@aws-lambda-powertools/parameters/secrets": [ + "../../packages/parameters/lib/secrets" + ], + "@aws-lambda-powertools/parameters/appconfig": [ + "../../packages/parameters/lib/appconfig" + ], + "@aws-lambda-powertools/parameters/dynamodb": [ + "../../packages/parameters/lib/dynamodb" + ], + }, + }, + "exclude": [ + "./node_modules" + ], + "watchOptions": { + "watchFile": "useFsEvents", + "watchDirectory": "useFsEvents", + "fallbackPolling": "dynamicPriority" + }, + "lib": [ + "ES2020" + ], + "types": [ + "node" + ] +} \ No newline at end of file diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 0000000000..1e7d781b9b --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,32 @@ +@font-face { + font-size: 0.65rem; +} + +.md-grid { + max-width: 81vw; +} + +.md-typeset a { + border-bottom: 0.1px dashed black; +} + +.md-nav__link--active { + font-weight: bold; +} + +.md-typeset .admonition, .md-typeset details { + font-size: 0.70rem; +} + +[data-md-color-scheme="slate"] { + --md-typeset-a-color: rgb(28, 152, 152); +} + +.copyMe { + cursor: pointer; + border-bottom: 0.1px dashed black; +} + +p code { + font-weight: bolder; +} \ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_commons.AsyncHandler.html b/docs/types/_aws_lambda_powertools_commons.AsyncHandler.html new file mode 100644 index 0000000000..5b0af3b0cd --- /dev/null +++ b/docs/types/_aws_lambda_powertools_commons.AsyncHandler.html @@ -0,0 +1,146 @@ +AsyncHandler | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
AsyncHandler<T>: ((event, context) => Promise<NonNullable<Parameters<Parameters<T>[2]>[1]>>)
+
+

Type Parameters

+
    +
  • +

    T extends Handler

+
+

Type declaration

+
    +
  • +
      +
    • (event, context): Promise<NonNullable<Parameters<Parameters<T>[2]>[1]>>
    • +
    • +
      +

      Parameters

      +
        +
      • +
        event: Parameters<T>[0]
      • +
      • +
        context: Parameters<T>[1]
      +

      Returns Promise<NonNullable<Parameters<Parameters<T>[2]>[1]>>

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html b/docs/types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html new file mode 100644 index 0000000000..f861b66a87 --- /dev/null +++ b/docs/types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html @@ -0,0 +1,146 @@ +MiddlewareLikeObj | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+
+ +

Type alias MiddlewareLikeObj<TEvent, TResult, TErr, TContext>

+
MiddlewareLikeObj<TEvent, TResult, TErr, TContext>: {
    after?: MiddlewareFn<TEvent, TResult, TErr, TContext>;
    before?: MiddlewareFn<TEvent, TResult, TErr, TContext>;
    onError?: MiddlewareFn<TEvent, TResult, TErr, TContext>;
}
+
+

Type Parameters

+
    +
  • +

    TEvent = unknown

  • +
  • +

    TResult = unknown

  • +
  • +

    TErr = Error

  • +
  • +

    TContext extends Context = Context

+
+

Type declaration

+
    +
  • +
    Optional after?: MiddlewareFn<TEvent, TResult, TErr, TContext>
  • +
  • +
    Optional before?: MiddlewareFn<TEvent, TResult, TErr, TContext>
  • +
  • +
    Optional onError?: MiddlewareFn<TEvent, TResult, TErr, TContext>
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_commons.MiddyLikeRequest.html b/docs/types/_aws_lambda_powertools_commons.MiddyLikeRequest.html new file mode 100644 index 0000000000..80fb494fb6 --- /dev/null +++ b/docs/types/_aws_lambda_powertools_commons.MiddyLikeRequest.html @@ -0,0 +1,137 @@ +MiddyLikeRequest | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
MiddyLikeRequest: {
    context: Context;
    error: Error | null;
    event: unknown;
    response: unknown | null;
}
+
+

Type declaration

+
    +
  • +
    context: Context
  • +
  • +
    error: Error | null
  • +
  • +
    event: unknown
  • +
  • +
    response: unknown | null
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_commons.SyncHandler.html b/docs/types/_aws_lambda_powertools_commons.SyncHandler.html new file mode 100644 index 0000000000..ab1ddc2373 --- /dev/null +++ b/docs/types/_aws_lambda_powertools_commons.SyncHandler.html @@ -0,0 +1,148 @@ +SyncHandler | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
SyncHandler<T>: ((event, context, callback) => void)
+
+

Type Parameters

+
    +
  • +

    T extends Handler

+
+

Type declaration

+
    +
  • +
      +
    • (event, context, callback): void
    • +
    • +
      +

      Parameters

      +
        +
      • +
        event: Parameters<T>[0]
      • +
      • +
        context: Parameters<T>[1]
      • +
      • +
        callback: Parameters<T>[2]
      +

      Returns void

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_metrics.MetricResolution.html b/docs/types/_aws_lambda_powertools_metrics.MetricResolution.html new file mode 100644 index 0000000000..6d1ade3a48 --- /dev/null +++ b/docs/types/_aws_lambda_powertools_metrics.MetricResolution.html @@ -0,0 +1,127 @@ +MetricResolution | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/utilities/.gitignore b/docs/utilities/.gitignore new file mode 100644 index 0000000000..b722e9e13e --- /dev/null +++ b/docs/utilities/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/docs/utilities/parameters.md b/docs/utilities/parameters.md new file mode 100644 index 0000000000..b66a71a286 --- /dev/null +++ b/docs/utilities/parameters.md @@ -0,0 +1,462 @@ +--- +title: Parameters +description: Utility +--- + +???+ warning + **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/awslabs/aws-lambda-powertools-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. + +The Parameters utility provides high-level functions to retrieve one or multiple parameter values from [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html){target="_blank"}, [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html){target="_blank"}, [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html){target="_blank"}, [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html){target="_blank"}, or your own parameter store. + +## Key features + +* Retrieve one or multiple parameters from the underlying provider +* Cache parameter values for a given amount of time (defaults to 5 seconds) +* Transform parameter values from JSON or base64 encoded strings +* Bring Your Own Parameter Store Provider + +## Getting started + +The Parameters Utility helps to retrieve parameters from the System Manager Parameter Store (SSM), secrets from the Secrets Manager, and application configuration from AppConfig. Additionally, the utility also offers support for a DynamoDB provider, enabling the retrieval of arbitrary parameters from specified tables. + +### Installation + +???+ note + This utility supports **[AWS SDK for JavaScript v3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) only**. This allows the utility to be modular, and you to install only the SDK packages you need and keep your bundle size small. + +Depending on the provider you want to use, install the library and the corresponding AWS SDK package: + +=== "SSMProvider" + ```bash + npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm + ``` + +=== "SecretsProvider" + ```bash + npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager + ``` + +=== "AppConfigProvider" + ```bash + npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata + ``` + +=== "DynamoDBProvider" + ```bash + npm install @aws-lambda-powertools/parameters @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb + ``` + +???+ tip + If you are using the `nodejs18.x` runtime, the AWS SDK for JavaScript v3 is already installed and you can install the utility only. + +### IAM Permissions + +This utility requires additional permissions to work as expected. + +???+ note + Different parameter providers require different permissions. + +| Provider | Function/Method | IAM Permission | +| --------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------ | +| SSM | **`getParameter`**, **`SSMProvider.get`** | **`ssm:GetParameter`** | +| SSM | **`getParameters`**, **`SSMProvider.getMultiple`** | **`ssm:GetParametersByPath`** | +| SSM | **`getParametersByName`**, **`SSMProvider.getParametersByName`** | **`ssm:GetParameter`** and **`ssm:GetParameters`** | +| SSM | If using **`decrypt: true`** | You must add an additional permission **`kms:Decrypt`** | +| Secrets | **`getSecret`**, **`SecretsProvider.get`** | **`secretsmanager:GetSecretValue`** | +| DynamoDB | **`DynamoDBProvider.get`** | **`dynamodb:GetItem`** | +| DynamoDB | **`DynamoDBProvider.getMultiple`** | **`dynamodb:Query`** | +| AppConfig | **`getAppConfig`**, **`AppConfigProvider.getAppConfig`** | **`appconfig:GetLatestConfiguration`** and **`appconfig:StartConfigurationSession`** | + +### Fetching parameters + +You can retrieve a single parameter using the `getParameter` high-level function. + +```typescript hl_lines="1 5" title="Fetching a single parameter from SSM" +--8<-- "docs/snippets/parameters/getParameter.ts" +``` + +For multiple parameters, you can use either: + +* `getParameters` to recursively fetch all parameters by path. +* `getParametersByName` to fetch distinct parameters by their full name. It also accepts custom caching, transform, decrypt per parameter. + +=== "getParameters" + + ```typescript hl_lines="1 8" title="Fetching multiple parameters by path from SSM" + --8<-- "docs/snippets/parameters/getParameters.ts" + ``` + +=== "getParametersByName" + + ```typescript hl_lines="1-2 4-11 15" title="Fetching multiple parameters by names from SSM" + --8<-- "docs/snippets/parameters/getParametersByName.ts" + ``` + +???+ tip "`getParametersByName` supports graceful error handling" + By default, the provider will throw a `GetParameterError` when any parameter fails to be fetched. You can override it by setting `throwOnError: false`. + + When disabled, instead the provider will take the following actions: + + * Add failed parameter name in the `_errors` key, _e.g._, `{ _errors: [ '/param1', '/param2' ] }` + * Keep only successful parameter names and their values in the response + * Throw `GetParameterError` if any of your parameters is named `_errors` + +```typescript hl_lines="9 13-15 18" +--8<-- "docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts" +``` + +### Fetching secrets + +You can fetch secrets stored in Secrets Manager using `getSecrets`. + +```typescript hl_lines="1 5" title="Fetching secrets" +--8<-- "docs/snippets/parameters/getSecret.ts" +``` + +### Fetching app configurations + +You can fetch application configurations in AWS AppConfig using `getAppConfig`. + +The following will retrieve the latest version and store it in the cache. + +```typescript hl_lines="1 5-8" title="Fetching latest config from AppConfig" +--8<-- "docs/snippets/parameters/getAppConfig.ts" +``` + +## Advanced + +### Adjusting cache TTL + +By default, the provider will cache parameters retrieved in-memory for 5 seconds. + +You can adjust how long values should be kept in cache by using the param `maxAge`, when using `get()` or `getMultiple()` methods across all providers. + +???+ tip + If you want to set the same TTL for all parameters, you can set the `POWERTOOLS_PARAMETERS_MAX_AGE` environment variable. **This will override the default TTL of 5 seconds but can be overridden by the `maxAge` parameter**. + +```typescript hl_lines="8 14" title="Caching parameters values in memory for longer than 5 seconds" +--8<-- "docs/snippets/parameters/adjustingCacheTTL.ts" +``` + +1. Options passed to `get()`, `getMultiple()`, and `getParametersByName()` will override the values set in `POWERTOOLS_PARAMETERS_MAX_AGE` environment variable. + +???+ info + The `maxAge` parameter is also available in high level functions like `getParameter`, `getSecret`, etc. + +### Always fetching the latest + +If you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the `forceFetch` parameter. + +```typescript hl_lines="5" title="Forcefully fetching the latest parameter whether TTL has expired or not" +--8<-- "docs/snippets/parameters/forceFetch.ts" +``` + +### Built-in provider class + +For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use their respective Provider Classes directly. + +???+ tip + This can be used to retrieve values from other regions, change the retry behavior, etc. + +#### SSMProvider + +```typescript hl_lines="4-5" title="Example with SSMProvider for further extensibility" +--8<-- "docs/snippets/parameters/ssmProvider.ts" +``` + +The AWS Systems Manager Parameter Store provider supports two additional arguments for the `get()` and `getMultiple()` methods: + +| Parameter | Default | Description | +| ------------- | ------- | --------------------------------------------------------------------------------------------- | +| **decrypt** | `false` | Will automatically decrypt the parameter (see required [IAM Permissions](#iam-permissions)). | +| **recursive** | `true` | For `getMultiple()` only, will fetch all parameter values recursively based on a path prefix. | + +???+ tip + If you want to always decrypt parameters, you can set the `POWERTOOLS_PARAMETERS_SSM_DECRYPT=true` environment variable. **This will override the default value of `false` but can be overridden by the `decrypt` parameter**. + +```typescript hl_lines="6 12" title="Example with get() and getMultiple()" +--8<-- "docs/snippets/parameters/ssmProviderDecryptAndRecursive.ts" +``` + +1. Options passed to `get()`, `getMultiple()`, and `getParametersByName()` will override the values set in `POWERTOOLS_PARAMETERS_SSM_DECRYPT` environment variable. + +#### SecretsProvider + +```typescript hl_lines="4-5" title="Example with SecretsProvider for further extensibility" +--8<-- "docs/snippets/parameters/secretsProvider.ts" +``` + +#### AppConfigProvider + +The AWS AppConfig provider requires two arguments when initialized: + +| Parameter | Mandatory in constructor | Alternative | Description | +| --------------- | ------------------------ | -------------------------------------- | -------------------------------------------------------- | +| **application** | No | `POWERTOOLS_SERVICE_NAME` env variable | The application in which your config resides. | +| **environment** | Yes | _(N/A)_ | The environment that corresponds to your current config. | + +```typescript hl_lines="4 8" title="Example with AppConfigProvider for further extensibility" +--8<-- "docs/snippets/parameters/appConfigProvider.ts" +``` + +#### DynamoDBProvider + +The DynamoDB Provider does not have any high-level functions and needs to know the name of the DynamoDB table containing the parameters. + +**DynamoDB table structure for single parameters** + +For single parameters, you must use `id` as the [partition key](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey) for that table. + +???+ example + + DynamoDB table with `id` partition key and `value` as attribute + + | id | value | + | ------------ | -------- | + | my-parameter | my-value | + +With this table, `await dynamoDBProvider.get('my-param')` will return `my-value`. + +=== "handler.ts" + ```typescript hl_lines="3 7" + --8<-- "docs/snippets/parameters/dynamoDBProvider.ts" + ``` + +=== "DynamoDB Local example" + You can initialize the DynamoDB provider pointing to [DynamoDB Local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html) using the `endpoint` field in the `clientConfig` parameter: + + ```typescript hl_lines="5-7" + --8<-- "docs/snippets/parameters/dynamoDBProviderLocal.ts" + ``` + +**DynamoDB table structure for multiple values parameters** + +You can retrieve multiple parameters sharing the same `id` by having a sort key named `sk`. + +???+ example + + DynamoDB table with `id` primary key, `sk` as sort key and `value` as attribute + + | id | sk | value | + | ----------- | ------- | ---------- | + | my-hash-key | param-a | my-value-a | + | my-hash-key | param-b | my-value-b | + | my-hash-key | param-c | my-value-c | + +With this table, `await dynamoDBProvider.getMultiple('my-hash-key')` will return a dictionary response in the shape of `sk:value`. + +=== "handler.ts" + ```typescript hl_lines="3 10" + --8<-- "docs/snippets/parameters/dynamoDBProviderMultiple.ts" + ``` + +=== "values response object" + + ```json + { + "param-a": "my-value-a", + "param-b": "my-value-b", + "param-c": "my-value-c" + } + ``` + +**Customizing DynamoDBProvider** + +DynamoDB provider can be customized at initialization to match your table structure: + +| Parameter | Mandatory | Default | Description | +| ------------- | --------- | ------- | --------------------------------------------------------------------------------------------------------- | +| **tableName** | **Yes** | *(N/A)* | Name of the DynamoDB table containing the parameter values. | +| **keyAttr** | No | `id` | Hash key for the DynamoDB table. | +| **sortAttr** | No | `sk` | Range key for the DynamoDB table. You don't need to set this if you don't use the `getMultiple()` method. | +| **valueAttr** | No | `value` | Name of the attribute containing the parameter value. | + +```typescript hl_lines="3-8" title="Customizing DynamoDBProvider to suit your table design" +--8<-- "docs/snippets/parameters/dynamoDBProviderCustomizeTable.ts" +``` + +### Deserializing values with transform parameter + +For parameters stored in JSON or Base64 format, you can use the `transform` argument for deserialization. + +???+ info + The `transform` argument is available across all providers, including the high level functions. + +=== "High level functions" + ```typescript hl_lines="4" + --8<-- "docs/snippets/parameters/transform.ts" + ``` + +=== "Providers" + ```typescript hl_lines="7 10" + --8<-- "docs/snippets/parameters/transformProvider.ts" + ``` + +#### Partial transform failures with `getMultiple()` + +If you use `transform` with `getMultiple()`, you can have a single malformed parameter value. To prevent failing the entire request, the method will return an `undefined` value for the parameters that failed to transform. + +You can override this by setting the `throwOnTransformError` argument to `true`. If you do so, a single transform error will throw a **`TransformParameterError`** error. + +For example, if you have three parameters, */param/a*, */param/b* and */param/c*, but */param/c* is malformed: + +```typescript hl_lines="23" title="Throwing TransformParameterError at first malformed parameter" +--8<-- "docs/snippets/parameters/transformPartialFailures.ts" +``` + +#### Auto-transform values on suffix + +If you use `transform` with `getMultiple()`, you might want to retrieve and transform parameters encoded in different formats. + +You can do this with a single request by using `transform: 'auto'`. This will instruct any provider to to infer its type based on the suffix and transform it accordingly. + +???+ info + `transform: 'auto'` feature is available across all providers, including the high level functions. + +```typescript hl_lines="7" title="Deserializing parameter values based on their suffix" +--8<-- "docs/snippets/parameters/transformAuto.ts" +``` + +For example, if you have three parameters: two with the following suffixes `.json` and `.binary` and one without any suffix: + +| Parameter name | Parameter value | +| --------------- | -------------------- | +| /param/a | [some encoded value] | +| /param/a.json | [some encoded value] | +| /param/a.binary | [some encoded value] | + +The return of `await parametersProvider.getMultiple('/param', transform: 'auto');` call will be an object like: + +```json +{ + "a": [some encoded value], + "a.json": [some decoded value], + "b.binary": [some decoded value] +} +``` + +The two parameters with a suffix will be decoded, while the one without a suffix will be returned as is. + +### Passing additional SDK arguments + +You can use a special `sdkOptions` object argument to pass any supported option directly to the underlying SDK method. + +```typescript hl_lines="8 14" title="Specify a VersionId for a secret" +--8<-- "docs/snippets/parameters/sdkOptions.ts" +``` + +Here is the mapping between this utility's functions and methods and the underlying SDK: + +| Provider | Function/Method | Client name | Function name | +| ------------------- | ------------------------------ | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| SSM Parameter Store | `getParameter` | `@aws-sdk/client-ssm` | [GetParameterCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparametercommand.html) | +| SSM Parameter Store | `getParameters` | `@aws-sdk/client-ssm` | [GetParametersByPathCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparametersbypathcommand.html) | +| SSM Parameter Store | `SSMProvider.get` | `@aws-sdk/client-ssm` | [GetParameterCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparametercommand.html) | +| SSM Parameter Store | `SSMProvider.getMultiple` | `@aws-sdk/client-ssm` | [GetParametersByPathCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparametersbypathcommand.html) | +| Secrets Manager | `getSecret` | `@aws-sdk/client-secrets-manager` | [GetSecretValueCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/getsecretvaluecommand.html) | +| Secrets Manager | `SecretsProvider.get` | `@aws-sdk/client-secrets-manager` | [GetSecretValueCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/getsecretvaluecommand.html) | +| AppConfig | `AppConfigProvider.get` | `@aws-sdk/client-appconfigdata` | [StartConfigurationSessionCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/startconfigurationsessioncommand.html) & [GetLatestConfigurationCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/getlatestconfigurationcommand.html) | +| AppConfig | `getAppConfig` | `@aws-sdk/client-appconfigdata` | [StartConfigurationSessionCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/startconfigurationsessioncommand.html) & [GetLatestConfigurationCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/getlatestconfigurationcommand.html) | +| DynamoDB | `DynamoDBProvider.get` | `@aws-sdk/client-dynamodb` | [GetItemCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/classes/getitemcommand.html) | +| DynamoDB | `DynamoDBProvider.getMultiple` | `@aws-sdk/client-dynamodb` | [QueryCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/classes/querycommand.html) | + +### Bring your own AWS SDK v3 client + +You can use the `awsSdkV3Client` parameter via any of the available [Provider Classes](#built-in-provider-class). + +| Provider | Client | +| --------------------------------------- | ----------------------------- | +| [SSMProvider](#ssmprovider) | `new SSMClient();` | +| [SecretsProvider](#secretsprovider) | `new SecretsManagerClient();` | +| [AppConfigProvider](#appconfigprovider) | `new AppConfigDataClient();` | +| [DynamoDBProvider](#dynamodbprovider) | `new DynamoDBClient();` | + +???+ question "When is this useful?" + Injecting a custom AWS SDK v3 client allows you to [apply tracing](/core/tracer/#patching-aws-sdk-clients) or make unit/snapshot testing easier, including SDK customizations. + +=== "SSMProvider" + ```typescript hl_lines="5 7" + --8<-- "docs/snippets/parameters/ssmProviderCustomClient.ts" + ``` + +=== "SecretsProvider" + ```typescript hl_lines="5 8" + --8<-- "docs/snippets/parameters/secretsProviderCustomClient.ts" + ``` + +=== "AppConfigProvider" + ```typescript hl_lines="5 8" + --8<-- "docs/snippets/parameters/appConfigProviderCustomClient.ts" + ``` + +=== "DynamoDBProvider" + ```typescript hl_lines="5 7" + --8<-- "docs/snippets/parameters/dynamoDBProviderCustomClient.ts" + ``` + +### Customizing AWS SDK v3 configuration + +The **`clientConfig`** parameter enables you to pass in a custom [config object](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/configuring-the-jssdk.html) when constructing any of the built-in provider classes. + +???+ tip + You can use a custom session for retrieving parameters cross-account/region and for snapshot testing. + + When using VPC private endpoints, you can pass a custom client altogether. It's also useful for testing when injecting fake instances. + + +```typescript hl_lines="2 4-5" +--8<-- "docs/snippets/parameters/clientConfig.ts" +``` + +## Testing your code + +### Mocking parameter values + +For unit testing your applications, you can mock the calls to the parameters utility to avoid calling AWS APIs. This can be achieved in a number of ways - in this example, we use [Jest mock functions](https://jestjs.io/docs/es6-class-mocks#the-4-ways-to-create-an-es6-class-mock) to patch the `getParameters` function. + +=== "handler.test.ts" + ```typescript hl_lines="2 4-9 13 18" + --8<-- "docs/snippets/parameters/testingYourCodeFunctionsJestMock.ts" + ``` + +=== "handler.ts" + ```typescript + --8<-- "docs/snippets/parameters/testingYourCodeFunctionsHandler.ts" + ``` + +With this pattern in place, you can customize the return values of the mocked function to test different scenarios without calling AWS APIs. + +A similar pattern can be applied also to any of the built-in provider classes - in this other example, we use [Jest spyOn method](https://jestjs.io/docs/es6-class-mocks#mocking-a-specific-method-of-a-class) to patch the `get` function of the `AppConfigProvider` class. This is useful also when you want to test that the correct arguments are being passed to the Parameters utility. + +=== "handler.test.ts" + ```typescript hl_lines="2 5 8 19 26-27" + --8<-- "docs/snippets/parameters/testingYourCodeProvidersJestMock.ts" + ``` + +=== "handler.ts" + ```typescript + --8<-- "docs/snippets/parameters/testingYourCodeProvidersHandler.ts" + ``` + +In some other cases, you might want to mock the AWS SDK v3 client itself, in these cases we recommend using the [`aws-sdk-client-mock`](https://www.npmjs.com/package/aws-sdk-client-mock) and [`aws-sdk-client-mock-jest`](https://www.npmjs.com/package/aws-sdk-client-mock-jest) libraries. This is useful when you want to test how your code behaves when the AWS SDK v3 client throws an error or a specific response. + +=== "handler.test.ts" + ```typescript hl_lines="2-8 11 14 18 23-30" + --8<-- "docs/snippets/parameters/testingYourCodeClientJestMock.ts" + ``` + +=== "handler.ts" + ```typescript + --8<-- "docs/snippets/parameters/testingYourCodeClientHandler.ts" + ``` + +### Clearing cache + +Parameters utility caches all parameter values for performance and cost reasons. However, this can have unintended interference in tests using the same parameter name. + +Within your tests, you can use `clearCache` method available in [every provider](#built-in-provider-class). When using multiple providers or higher level functions like `getParameter`, use the `clearCaches` standalone function to clear cache globally. + +=== "handler.test.ts" + ```typescript hl_lines="1 9" + --8<-- "docs/snippets/parameters/testingYourCodeClearCache.ts" + ``` \ No newline at end of file diff --git a/docs/variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html b/docs/variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html new file mode 100644 index 0000000000..57b6e364cf --- /dev/null +++ b/docs/variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html @@ -0,0 +1,127 @@ +helloworldContext | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html b/docs/variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html new file mode 100644 index 0000000000..2c1062d2fc --- /dev/null +++ b/docs/variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html @@ -0,0 +1,137 @@ +CustomEvent | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
CustomEvent: {
    key1: string;
    key2: string;
    key3: string;
} = ...
+
+

Type declaration

+
    +
  • +
    key1: string
  • +
  • +
    key2: string
  • +
  • +
    key3: string
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/variables/_aws_lambda_powertools_metrics.MetricResolution-1.html b/docs/variables/_aws_lambda_powertools_metrics.MetricResolution-1.html new file mode 100644 index 0000000000..fd1b262301 --- /dev/null +++ b/docs/variables/_aws_lambda_powertools_metrics.MetricResolution-1.html @@ -0,0 +1,134 @@ +MetricResolution | AWS Lambda Powertools Typescript API Reference
+
+ +
+
+
+ +
MetricResolution: {
    High: 1;
    Standard: 60;
} = ...
+
+

Type declaration

+
    +
  • +
    Readonly High: 1
  • +
  • +
    Readonly Standard: 60
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html b/docs/variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html new file mode 100644 index 0000000000..7e0012c514 --- /dev/null +++ b/docs/variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html @@ -0,0 +1,126 @@ +DEFAULT_PROVIDERS | AWS Lambda Powertools Typescript API Reference
+
+ +
+ +
+

Generated using TypeDoc

+
\ No newline at end of file From a1eeed94d41e81f8eee66fdc9d414f158646c9f8 Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Tue, 6 Jun 2023 16:30:27 +0200 Subject: [PATCH 08/16] revert docs --- docs/core/logger.md | 45 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/docs/core/logger.md b/docs/core/logger.md index a1a0d05f97..7cac4defb6 100644 --- a/docs/core/logger.md +++ b/docs/core/logger.md @@ -388,6 +388,40 @@ The error will be logged with default key name `error`, but you can also pass yo ## Advanced +### Log levels + +The default log level is `INFO` and can be set using the `logLevel` constructor option or by using the `LOG_LEVEL` environment variable. + +Logger supports the following log levels: + +| Level | Numeric value | +| ---------- | ------------- | +| `DEBUG` | 8 | +| `INFO` | 12 | +| `WARN` | 16 | +| `ERROR` | 20 | +| `CRITICAL` | 24 | +| `SILENT` | 28 | + +You can access the current log level by using the `getLevelName()` method. This method returns the name of the current log level as a string. If you want to change the log level at runtime, you can use the `setLogLevel()` method. This method accepts a string value that represents the log level you want to set, both lower and upper case values are supported. + +```typescript +--8<-- "docs/snippets/logger/logLevel.ts" +``` + +If you want to access the numeric value of the current log level, you can use the `level` property. For example, if the current log level is `INFO`, `logger.level` property will return `12`. + +#### Silencing logs + +The `SILENT` log level provides a simple and efficient way to suppress all log messages without the need to modify your code. When you set this log level, all log messages, regardless of their severity, will be silenced. + +This feature is useful when you want to have your code instrumented to produce logs, but due to some requirement or business decision, you prefer to not emit them. + +By setting the log level to `SILENT`, which can be done either through the `logLevel` constructor option or by using the `LOG_LEVEL` environment variable, you can easily suppress all logs as needed. + +!!! note + Use the `SILENT` log level with care, as it can make it more challenging to monitor and debug your application. Therefore, we advise using this log level judiciously. + ### Using multiple Logger instances across your code The `createChild` method allows you to create a child instance of the Logger, which inherits all of the attributes from its parent. You have the option to override any of the settings and attributes from the parent logger, including [its settings](#utility-settings), any [persistent attributes](#appending-persistent-additional-log-keys-and-values), and [the log formatter](#custom-log-formatter-bring-your-own-formatter). Once a child logger is created, the logger and its parent will act as separate instances of the Logger class, and as such any change to one won't be applied to the other. @@ -556,17 +590,6 @@ For example, by setting the "sample rate" to `0.5`, roughly 50% of your lambda i } ``` -### Silencing logs - -The `SILENT` log level provides a simple and efficient way to suppress all log messages without the need to modify your code. When you set this log level, all log messages, regardless of their severity, will be silenced. - -This feature is useful when you want to have your code instrumented to produce logs, but due to some requirement or business decision, you prefer to not emit them. - -By setting the log level to `SILENT`, which can be done either through the `logLevel` constructor option or by using the `LOG_LEVEL` environment variable, you can easily suppress all logs as needed. - -!!! note - Use the `SILENT` log level with care, as it can make it more challenging to monitor and debug your application. Therefore, we advise using this log level judiciously. - ### Custom Log formatter (Bring Your Own Formatter) You can customize the structure (keys and values) of your log items by passing a custom log formatter, an object that implements the `LogFormatter` abstract class. From 0a554315873f8cf494dbe7d6fd2d87d8a35c3cb3 Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Tue, 6 Jun 2023 16:50:15 +0200 Subject: [PATCH 09/16] remove generated api docs in the wrong folder --- docs/assets/highlight.css | 127 -- docs/assets/main.js | 58 - docs/assets/search.js | 1 - docs/assets/style.css | 1367 ----------------- ...mbda_powertools_commons.ConfigService.html | 227 --- ...s_commons.EnvironmentVariablesService.html | 268 ---- ...aws_lambda_powertools_commons.Utility.html | 247 --- ...ools_idempotency.BasePersistenceLayer.html | 357 ----- ..._idempotency.DynamoDBPersistenceLayer.html | 363 ----- ...empotency.EnvironmentVariablesService.html | 288 ---- ...ertools_idempotency.IdempotencyRecord.html | 236 --- ...lambda_powertools_logger.LogFormatter.html | 238 --- .../_aws_lambda_powertools_logger.Logger.html | 637 -------- ...wertools_logger.PowertoolLogFormatter.html | 235 --- ...aws_lambda_powertools_metrics.Metrics.html | 591 ------- ...wertools_parameters.AppConfigProvider.html | 438 ------ ...owertools_parameters.DynamoDBProvider.html | 480 ------ ...bda_powertools_parameters.SSMProvider.html | 776 ---------- ...powertools_parameters.SecretsProvider.html | 429 ------ .../_aws_lambda_powertools_tracer.Tracer.html | 694 --------- ...lambda_powertools_metrics.MetricUnits.html | 321 ---- ...rtools_idempotency.idempotentFunction.html | 150 -- ...s_idempotency.idempotentLambdaHandler.html | 150 -- ...ls_idempotency.makeFunctionIdempotent.html | 148 -- ...lambda_powertools_logger.createLogger.html | 135 -- ...powertools_logger.injectLambdaContext.html | 150 -- ..._lambda_powertools_metrics.logMetrics.html | 154 -- ...da_powertools_parameters.getAppConfig.html | 195 --- ...da_powertools_parameters.getParameter.html | 216 --- ...a_powertools_parameters.getParameters.html | 217 --- ...rtools_parameters.getParametersByName.html | 217 --- ...ambda_powertools_parameters.getSecret.html | 198 --- ...owertools_tracer.captureLambdaHandler.html | 154 -- ...lambda_powertools_tracer.createTracer.html | 135 -- ...da_powertools_commons.LambdaInterface.html | 150 -- ...potency.BasePersistenceLayerInterface.html | 235 --- ...wertools_logger.LogFormatterInterface.html | 182 --- ...a_powertools_metrics.MetricsInterface.html | 321 ---- ...bda_powertools_tracer.TracerInterface.html | 398 ----- ...da_powertools_commons.ContextExamples.html | 132 -- ...mbda_powertools_commons.Events.Custom.html | 133 -- ..._aws_lambda_powertools_commons.Events.html | 132 -- .../_aws_lambda_powertools_commons.html | 246 --- .../_aws_lambda_powertools_idempotency.html | 237 --- .../_aws_lambda_powertools_logger.html | 238 --- .../_aws_lambda_powertools_metrics.html | 246 --- .../_aws_lambda_powertools_parameters.html | 251 --- .../_aws_lambda_powertools_tracer.html | 235 --- docs/modules/cdk_sample.html | 181 --- docs/modules/docs.html | 235 --- docs/modules/layers.html | 176 --- docs/modules/sam_example.html | 231 --- ...ambda_powertools_commons.AsyncHandler.html | 146 -- ..._powertools_commons.MiddlewareLikeObj.html | 146 -- ...a_powertools_commons.MiddyLikeRequest.html | 137 -- ...lambda_powertools_commons.SyncHandler.html | 148 -- ...a_powertools_metrics.MetricResolution.html | 127 -- 57 files changed, 15260 deletions(-) delete mode 100644 docs/assets/highlight.css delete mode 100644 docs/assets/main.js delete mode 100644 docs/assets/search.js delete mode 100644 docs/assets/style.css delete mode 100644 docs/classes/_aws_lambda_powertools_commons.ConfigService.html delete mode 100644 docs/classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html delete mode 100644 docs/classes/_aws_lambda_powertools_commons.Utility.html delete mode 100644 docs/classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html delete mode 100644 docs/classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html delete mode 100644 docs/classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html delete mode 100644 docs/classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html delete mode 100644 docs/classes/_aws_lambda_powertools_logger.LogFormatter.html delete mode 100644 docs/classes/_aws_lambda_powertools_logger.Logger.html delete mode 100644 docs/classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html delete mode 100644 docs/classes/_aws_lambda_powertools_metrics.Metrics.html delete mode 100644 docs/classes/_aws_lambda_powertools_parameters.AppConfigProvider.html delete mode 100644 docs/classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html delete mode 100644 docs/classes/_aws_lambda_powertools_parameters.SSMProvider.html delete mode 100644 docs/classes/_aws_lambda_powertools_parameters.SecretsProvider.html delete mode 100644 docs/classes/_aws_lambda_powertools_tracer.Tracer.html delete mode 100644 docs/enums/_aws_lambda_powertools_metrics.MetricUnits.html delete mode 100644 docs/functions/_aws_lambda_powertools_idempotency.idempotentFunction.html delete mode 100644 docs/functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html delete mode 100644 docs/functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html delete mode 100644 docs/functions/_aws_lambda_powertools_logger.createLogger.html delete mode 100644 docs/functions/_aws_lambda_powertools_logger.injectLambdaContext.html delete mode 100644 docs/functions/_aws_lambda_powertools_metrics.logMetrics.html delete mode 100644 docs/functions/_aws_lambda_powertools_parameters.getAppConfig.html delete mode 100644 docs/functions/_aws_lambda_powertools_parameters.getParameter.html delete mode 100644 docs/functions/_aws_lambda_powertools_parameters.getParameters.html delete mode 100644 docs/functions/_aws_lambda_powertools_parameters.getParametersByName.html delete mode 100644 docs/functions/_aws_lambda_powertools_parameters.getSecret.html delete mode 100644 docs/functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html delete mode 100644 docs/functions/_aws_lambda_powertools_tracer.createTracer.html delete mode 100644 docs/interfaces/_aws_lambda_powertools_commons.LambdaInterface.html delete mode 100644 docs/interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html delete mode 100644 docs/interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html delete mode 100644 docs/interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html delete mode 100644 docs/interfaces/_aws_lambda_powertools_tracer.TracerInterface.html delete mode 100644 docs/modules/_aws_lambda_powertools_commons.ContextExamples.html delete mode 100644 docs/modules/_aws_lambda_powertools_commons.Events.Custom.html delete mode 100644 docs/modules/_aws_lambda_powertools_commons.Events.html delete mode 100644 docs/modules/_aws_lambda_powertools_commons.html delete mode 100644 docs/modules/_aws_lambda_powertools_idempotency.html delete mode 100644 docs/modules/_aws_lambda_powertools_logger.html delete mode 100644 docs/modules/_aws_lambda_powertools_metrics.html delete mode 100644 docs/modules/_aws_lambda_powertools_parameters.html delete mode 100644 docs/modules/_aws_lambda_powertools_tracer.html delete mode 100644 docs/modules/cdk_sample.html delete mode 100644 docs/modules/docs.html delete mode 100644 docs/modules/layers.html delete mode 100644 docs/modules/sam_example.html delete mode 100644 docs/types/_aws_lambda_powertools_commons.AsyncHandler.html delete mode 100644 docs/types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html delete mode 100644 docs/types/_aws_lambda_powertools_commons.MiddyLikeRequest.html delete mode 100644 docs/types/_aws_lambda_powertools_commons.SyncHandler.html delete mode 100644 docs/types/_aws_lambda_powertools_metrics.MetricResolution.html diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css deleted file mode 100644 index 0c638d1618..0000000000 --- a/docs/assets/highlight.css +++ /dev/null @@ -1,127 +0,0 @@ -:root { - --light-hl-0: #795E26; - --dark-hl-0: #DCDCAA; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #A31515; - --dark-hl-2: #CE9178; - --light-hl-3: #AF00DB; - --dark-hl-3: #C586C0; - --light-hl-4: #001080; - --dark-hl-4: #9CDCFE; - --light-hl-5: #0000FF; - --dark-hl-5: #569CD6; - --light-hl-6: #0070C1; - --dark-hl-6: #4FC1FF; - --light-hl-7: #267F99; - --dark-hl-7: #4EC9B0; - --light-hl-8: #008000; - --dark-hl-8: #6A9955; - --light-hl-9: #098658; - --dark-hl-9: #B5CEA8; - --light-hl-10: #000000FF; - --dark-hl-10: #D4D4D4; - --light-hl-11: #CD3131; - --dark-hl-11: #F44747; - --light-hl-12: #000000; - --dark-hl-12: #C8C8C8; - --light-hl-13: #800000; - --dark-hl-13: #569CD6; - --light-hl-14: #0000FF; - --dark-hl-14: #CE9178; - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --hl-10: var(--light-hl-10); - --hl-11: var(--light-hl-11); - --hl-12: var(--light-hl-12); - --hl-13: var(--light-hl-13); - --hl-14: var(--light-hl-14); - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --hl-10: var(--dark-hl-10); - --hl-11: var(--dark-hl-11); - --hl-12: var(--dark-hl-12); - --hl-13: var(--dark-hl-13); - --hl-14: var(--dark-hl-14); - --code-background: var(--dark-code-background); -} } - -:root[data-theme='light'] { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --hl-10: var(--light-hl-10); - --hl-11: var(--light-hl-11); - --hl-12: var(--light-hl-12); - --hl-13: var(--light-hl-13); - --hl-14: var(--light-hl-14); - --code-background: var(--light-code-background); -} - -:root[data-theme='dark'] { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --hl-10: var(--dark-hl-10); - --hl-11: var(--dark-hl-11); - --hl-12: var(--dark-hl-12); - --hl-13: var(--dark-hl-13); - --hl-14: var(--dark-hl-14); - --code-background: var(--dark-code-background); -} - -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -.hl-3 { color: var(--hl-3); } -.hl-4 { color: var(--hl-4); } -.hl-5 { color: var(--hl-5); } -.hl-6 { color: var(--hl-6); } -.hl-7 { color: var(--hl-7); } -.hl-8 { color: var(--hl-8); } -.hl-9 { color: var(--hl-9); } -.hl-10 { color: var(--hl-10); } -.hl-11 { color: var(--hl-11); } -.hl-12 { color: var(--hl-12); } -.hl-13 { color: var(--hl-13); } -.hl-14 { color: var(--hl-14); } -pre, code { background: var(--code-background); } diff --git a/docs/assets/main.js b/docs/assets/main.js deleted file mode 100644 index 4c8fa615a1..0000000000 --- a/docs/assets/main.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/docs/assets/search.js b/docs/assets/search.js deleted file mode 100644 index 25f3237d37..0000000000 --- a/docs/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = JSON.parse("{\"rows\":[{\"kind\":2,\"name\":\"@aws-lambda-powertools/commons\",\"url\":\"modules/_aws_lambda_powertools_commons.html\",\"classes\":\"\"},{\"kind\":4,\"name\":\"ContextExamples\",\"url\":\"modules/_aws_lambda_powertools_commons.ContextExamples.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":32,\"name\":\"helloworldContext\",\"url\":\"variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ContextExamples\"},{\"kind\":4,\"name\":\"Events\",\"url\":\"modules/_aws_lambda_powertools_commons.Events.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":4,\"name\":\"Custom\",\"url\":\"modules/_aws_lambda_powertools_commons.Events.Custom.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events\"},{\"kind\":32,\"name\":\"CustomEvent\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom.CustomEvent\"},{\"kind\":1024,\"name\":\"key1\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html#__type.key1\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom.CustomEvent.__type\"},{\"kind\":1024,\"name\":\"key2\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html#__type.key2\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom.CustomEvent.__type\"},{\"kind\":1024,\"name\":\"key3\",\"url\":\"variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html#__type.key3\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Events.Custom.CustomEvent.__type\"},{\"kind\":128,\"name\":\"ConfigService\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":2048,\"name\":\"getServiceName\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#getServiceName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":2048,\"name\":\"getXrayTraceId\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#getXrayTraceId\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":2048,\"name\":\"isValueTrue\",\"url\":\"classes/_aws_lambda_powertools_commons.ConfigService.html#isValueTrue\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.ConfigService\"},{\"kind\":128,\"name\":\"EnvironmentVariablesService\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#constructor\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":1024,\"name\":\"serviceNameVariable\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#serviceNameVariable\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getServiceName\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#getServiceName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getXrayTraceId\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#getXrayTraceId\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getXrayTraceSampled\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#getXrayTraceSampled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"isValueTrue\",\"url\":\"classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html#isValueTrue\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.EnvironmentVariablesService\"},{\"kind\":128,\"name\":\"Utility\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":2048,\"name\":\"getColdStart\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#getColdStart\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":2048,\"name\":\"getDefaultServiceName\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#getDefaultServiceName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":2048,\"name\":\"isColdStart\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#isColdStart\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":2048,\"name\":\"isValidServiceName\",\"url\":\"classes/_aws_lambda_powertools_commons.Utility.html#isValidServiceName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/commons.Utility\"},{\"kind\":256,\"name\":\"LambdaInterface\",\"url\":\"interfaces/_aws_lambda_powertools_commons.LambdaInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":1024,\"name\":\"handler\",\"url\":\"interfaces/_aws_lambda_powertools_commons.LambdaInterface.html#handler\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.LambdaInterface\"},{\"kind\":4194304,\"name\":\"AsyncHandler\",\"url\":\"types/_aws_lambda_powertools_commons.AsyncHandler.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_aws_lambda_powertools_commons.AsyncHandler.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.AsyncHandler\"},{\"kind\":4194304,\"name\":\"MiddlewareLikeObj\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddlewareLikeObj\"},{\"kind\":1024,\"name\":\"after\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html#__type.after\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddlewareLikeObj.__type\"},{\"kind\":1024,\"name\":\"before\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html#__type.before\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddlewareLikeObj.__type\"},{\"kind\":1024,\"name\":\"onError\",\"url\":\"types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html#__type.onError\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddlewareLikeObj.__type\"},{\"kind\":4194304,\"name\":\"MiddyLikeRequest\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest\"},{\"kind\":1024,\"name\":\"context\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type.context\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest.__type\"},{\"kind\":1024,\"name\":\"error\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type.error\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest.__type\"},{\"kind\":1024,\"name\":\"event\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type.event\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest.__type\"},{\"kind\":1024,\"name\":\"response\",\"url\":\"types/_aws_lambda_powertools_commons.MiddyLikeRequest.html#__type.response\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.MiddyLikeRequest.__type\"},{\"kind\":4194304,\"name\":\"SyncHandler\",\"url\":\"types/_aws_lambda_powertools_commons.SyncHandler.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_aws_lambda_powertools_commons.SyncHandler.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/commons.SyncHandler\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/logger\",\"url\":\"modules/_aws_lambda_powertools_logger.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"LogFormatter\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":2048,\"name\":\"formatAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#formatAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":2048,\"name\":\"formatError\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#formatError\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":2048,\"name\":\"formatTimestamp\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#formatTimestamp\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":2048,\"name\":\"getCodeLocation\",\"url\":\"classes/_aws_lambda_powertools_logger.LogFormatter.html#getCodeLocation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatter\"},{\"kind\":128,\"name\":\"Logger\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"addContext\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#addContext\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"addPersistentLogAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#addPersistentLogAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"appendKeys\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#appendKeys\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"createChild\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#createChild\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"critical\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#critical\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"debug\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#debug\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"error\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#error\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"getColdStart\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#getColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"getDefaultServiceName\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#getDefaultServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"getLogEvent\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#getLogEvent\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"getLogsSampled\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#getLogsSampled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"info\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#info\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"injectLambdaContext\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#injectLambdaContext\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"isColdStart\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#isColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"isValidServiceName\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#isValidServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"logEventIfEnabled\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#logEventIfEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"refreshSampleRateCalculation\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#refreshSampleRateCalculation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"removeKeys\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#removeKeys\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"removePersistentLogAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#removePersistentLogAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"setPersistentLogAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#setPersistentLogAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"setSampleRateValue\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#setSampleRateValue\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"warn\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#warn\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"injectLambdaContextAfterOrOnError\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#injectLambdaContextAfterOrOnError\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":2048,\"name\":\"injectLambdaContextBefore\",\"url\":\"classes/_aws_lambda_powertools_logger.Logger.html#injectLambdaContextBefore\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.Logger\"},{\"kind\":128,\"name\":\"PowertoolLogFormatter\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#constructor\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":2048,\"name\":\"formatAttributes\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#formatAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":2048,\"name\":\"formatError\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#formatError\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":2048,\"name\":\"formatTimestamp\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#formatTimestamp\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":2048,\"name\":\"getCodeLocation\",\"url\":\"classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html#getCodeLocation\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/logger.PowertoolLogFormatter\"},{\"kind\":256,\"name\":\"LogFormatterInterface\",\"url\":\"interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":2048,\"name\":\"formatAttributes\",\"url\":\"interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html#formatAttributes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatterInterface\"},{\"kind\":2048,\"name\":\"formatError\",\"url\":\"interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html#formatError\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger.LogFormatterInterface\"},{\"kind\":64,\"name\":\"createLogger\",\"url\":\"functions/_aws_lambda_powertools_logger.createLogger.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":64,\"name\":\"injectLambdaContext\",\"url\":\"functions/_aws_lambda_powertools_logger.injectLambdaContext.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/logger\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/metrics\",\"url\":\"modules/_aws_lambda_powertools_metrics.html\",\"classes\":\"\"},{\"kind\":8,\"name\":\"MetricUnits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":16,\"name\":\"Bits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Bits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"BitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#BitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Bytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Bytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"BytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#BytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Count\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Count\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"CountPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#CountPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Gigabits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Gigabits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"GigabitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#GigabitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Gigabytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Gigabytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"GigabytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#GigabytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Kilobits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Kilobits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"KilobitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#KilobitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Kilobytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Kilobytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"KilobytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#KilobytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Megabits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Megabits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"MegabitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#MegabitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Megabytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Megabytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"MegabytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#MegabytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Microseconds\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Microseconds\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Milliseconds\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Milliseconds\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Percent\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Percent\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Seconds\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Seconds\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Terabits\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Terabits\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"TerabitsPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#TerabitsPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"Terabytes\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#Terabytes\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":16,\"name\":\"TerabytesPerSecond\",\"url\":\"enums/_aws_lambda_powertools_metrics.MetricUnits.html#TerabytesPerSecond\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricUnits\"},{\"kind\":128,\"name\":\"Metrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"addDimension\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#addDimension\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"addDimensions\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#addDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"addMetadata\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#addMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"addMetric\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#addMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"captureColdStartMetric\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#captureColdStartMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"clearDefaultDimensions\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#clearDefaultDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"clearDimensions\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#clearDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"clearMetadata\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#clearMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"clearMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#clearMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"getColdStart\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#getColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"getDefaultServiceName\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#getDefaultServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"isColdStart\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#isColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"isValidServiceName\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#isValidServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"logMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#logMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"publishStoredMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#publishStoredMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"serializeMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#serializeMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"setDefaultDimensions\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#setDefaultDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"setFunctionName\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#setFunctionName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"singleMetric\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#singleMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":2048,\"name\":\"throwOnEmptyMetrics\",\"url\":\"classes/_aws_lambda_powertools_metrics.Metrics.html#throwOnEmptyMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.Metrics\"},{\"kind\":256,\"name\":\"MetricsInterface\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":2048,\"name\":\"addDimension\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#addDimension\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"addDimensions\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#addDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"addMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#addMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"addMetric\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#addMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"clearDefaultDimensions\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#clearDefaultDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"clearDimensions\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#clearDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"clearMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#clearMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"clearMetrics\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#clearMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"logMetrics\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#logMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"publishStoredMetrics\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#publishStoredMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"serializeMetrics\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#serializeMetrics\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"setDefaultDimensions\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#setDefaultDimensions\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":2048,\"name\":\"singleMetric\",\"url\":\"interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html#singleMetric\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricsInterface\"},{\"kind\":4194304,\"name\":\"MetricResolution\",\"url\":\"types/_aws_lambda_powertools_metrics.MetricResolution.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":32,\"name\":\"MetricResolution\",\"url\":\"variables/_aws_lambda_powertools_metrics.MetricResolution-1.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"variables/_aws_lambda_powertools_metrics.MetricResolution-1.html#__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricResolution\"},{\"kind\":1024,\"name\":\"High\",\"url\":\"variables/_aws_lambda_powertools_metrics.MetricResolution-1.html#__type.High\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricResolution.__type\"},{\"kind\":1024,\"name\":\"Standard\",\"url\":\"variables/_aws_lambda_powertools_metrics.MetricResolution-1.html#__type.Standard\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics.MetricResolution.__type\"},{\"kind\":64,\"name\":\"logMetrics\",\"url\":\"functions/_aws_lambda_powertools_metrics.logMetrics.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/metrics\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/tracer\",\"url\":\"modules/_aws_lambda_powertools_tracer.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"Tracer\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":1024,\"name\":\"provider\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#provider\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"addErrorAsMetadata\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#addErrorAsMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"addResponseAsMetadata\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#addResponseAsMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"addServiceNameAnnotation\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#addServiceNameAnnotation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"annotateColdStart\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#annotateColdStart\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureAWS\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureAWS\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureAWSClient\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureAWSClient\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureAWSv3Client\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureAWSv3Client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureLambdaHandler\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureLambdaHandler\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"captureMethod\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#captureMethod\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"getColdStart\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#getColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"getDefaultServiceName\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#getDefaultServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"getRootXrayTraceId\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#getRootXrayTraceId\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"getSegment\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#getSegment\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"isColdStart\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#isColdStart\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"isTraceSampled\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#isTraceSampled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"isTracingEnabled\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#isTracingEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"isValidServiceName\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#isValidServiceName\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"putAnnotation\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#putAnnotation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"putMetadata\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#putMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":2048,\"name\":\"setSegment\",\"url\":\"classes/_aws_lambda_powertools_tracer.Tracer.html#setSegment\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.Tracer\"},{\"kind\":256,\"name\":\"TracerInterface\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer\"},{\"kind\":1024,\"name\":\"putAnnotation\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#putAnnotation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#putAnnotation.__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface.putAnnotation\"},{\"kind\":1024,\"name\":\"putMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#putMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#putMetadata.__type-2\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface.putMetadata\"},{\"kind\":2048,\"name\":\"addErrorAsMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#addErrorAsMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"addResponseAsMetadata\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#addResponseAsMetadata\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"addServiceNameAnnotation\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#addServiceNameAnnotation\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"annotateColdStart\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#annotateColdStart\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureAWS\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureAWS\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureAWSClient\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureAWSClient\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureAWSv3Client\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureAWSv3Client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureLambdaHandler\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureLambdaHandler\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"captureMethod\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#captureMethod\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"getRootXrayTraceId\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#getRootXrayTraceId\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"getSegment\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#getSegment\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"isTraceSampled\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#isTraceSampled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"isTracingEnabled\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#isTracingEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":2048,\"name\":\"setSegment\",\"url\":\"interfaces/_aws_lambda_powertools_tracer.TracerInterface.html#setSegment\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer.TracerInterface\"},{\"kind\":64,\"name\":\"captureLambdaHandler\",\"url\":\"functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer\"},{\"kind\":64,\"name\":\"createTracer\",\"url\":\"functions/_aws_lambda_powertools_tracer.createTracer.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/tracer\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/parameters\",\"url\":\"modules/_aws_lambda_powertools_parameters.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"AppConfigProvider\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"client\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"configurationTokenStore\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#configurationTokenStore\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"envVarsService\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#envVarsService\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#store\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":1024,\"name\":\"valueStore\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#valueStore\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"_get\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#_get\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"_getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#_getMultiple\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"addToCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#addToCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"clearCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#clearCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#getMultiple\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":2048,\"name\":\"hasKeyExpiredInCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.AppConfigProvider.html#hasKeyExpiredInCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.AppConfigProvider\"},{\"kind\":128,\"name\":\"DynamoDBProvider\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"client\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"envVarsService\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#envVarsService\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"keyAttr\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#keyAttr\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"sortAttr\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#sortAttr\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#store\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"tableName\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#tableName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":1024,\"name\":\"valueAttr\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#valueAttr\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"_get\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#_get\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"_getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#_getMultiple\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"addToCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#addToCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"clearCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#clearCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#getMultiple\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":2048,\"name\":\"hasKeyExpiredInCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html#hasKeyExpiredInCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.DynamoDBProvider\"},{\"kind\":128,\"name\":\"SSMProvider\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"client\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"envVarsService\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#envVarsService\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"errorsKey\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#errorsKey\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"maxGetParametersItems\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#maxGetParametersItems\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#store\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"_get\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#_get\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"_getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#_getMultiple\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"_getParametersByName\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#_getParametersByName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"addToCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#addToCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"clearCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#clearCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getMultiple\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersBatchByName\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersBatchByName\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersByName\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersByName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersByNameFromCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersByNameFromCache\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersByNameInChunks\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersByNameInChunks\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"getParametersByNameWithDecryptOption\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#getParametersByNameWithDecryptOption\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"hasKeyExpiredInCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#hasKeyExpiredInCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"resolveDecryptionConfigValue\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#resolveDecryptionConfigValue\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"transformAndCacheGetParametersResponse\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#transformAndCacheGetParametersResponse\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"handleAnyInvalidGetParameterErrors\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#handleAnyInvalidGetParameterErrors\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"splitBatchAndDecryptParameters\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#splitBatchAndDecryptParameters\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":2048,\"name\":\"throwIfErrorsKeyIsPresent\",\"url\":\"classes/_aws_lambda_powertools_parameters.SSMProvider.html#throwIfErrorsKeyIsPresent\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SSMProvider\"},{\"kind\":128,\"name\":\"SecretsProvider\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":1024,\"name\":\"client\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#client\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":1024,\"name\":\"envVarsService\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#envVarsService\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":1024,\"name\":\"store\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#store\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"_get\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#_get\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"_getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#_getMultiple\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"addToCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#addToCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"clearCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#clearCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#get\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"getMultiple\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#getMultiple\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":2048,\"name\":\"hasKeyExpiredInCache\",\"url\":\"classes/_aws_lambda_powertools_parameters.SecretsProvider.html#hasKeyExpiredInCache\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/parameters.SecretsProvider\"},{\"kind\":32,\"name\":\"DEFAULT_PROVIDERS\",\"url\":\"variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getAppConfig\",\"url\":\"functions/_aws_lambda_powertools_parameters.getAppConfig.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getParameter\",\"url\":\"functions/_aws_lambda_powertools_parameters.getParameter.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getParameters\",\"url\":\"functions/_aws_lambda_powertools_parameters.getParameters.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getParametersByName\",\"url\":\"functions/_aws_lambda_powertools_parameters.getParametersByName.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":64,\"name\":\"getSecret\",\"url\":\"functions/_aws_lambda_powertools_parameters.getSecret.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/parameters\"},{\"kind\":2,\"name\":\"@aws-lambda-powertools/idempotency\",\"url\":\"modules/_aws_lambda_powertools_idempotency.html\",\"classes\":\"\"},{\"kind\":128,\"name\":\"BasePersistenceLayer\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":1024,\"name\":\"idempotencyKeyPrefix\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#idempotencyKeyPrefix\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"_deleteRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#_deleteRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"_getRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#_getRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"_putRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#_putRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"_updateRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#_updateRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"configure\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#configure\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"deleteRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#deleteRecord\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"getRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#getRecord\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"isPayloadValidationEnabled\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#isPayloadValidationEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"saveInProgress\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#saveInProgress\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":2048,\"name\":\"saveSuccess\",\"url\":\"classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html#saveSuccess\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayer\"},{\"kind\":128,\"name\":\"DynamoDBPersistenceLayer\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":1024,\"name\":\"idempotencyKeyPrefix\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#idempotencyKeyPrefix\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"_deleteRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#_deleteRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"_getRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#_getRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"_putRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#_putRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"_updateRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#_updateRecord\",\"classes\":\"tsd-is-protected\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"configure\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#configure\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"deleteRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#deleteRecord\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"getRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#getRecord\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"isPayloadValidationEnabled\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#isPayloadValidationEnabled\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"saveInProgress\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#saveInProgress\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":2048,\"name\":\"saveSuccess\",\"url\":\"classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html#saveSuccess\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.DynamoDBPersistenceLayer\"},{\"kind\":128,\"name\":\"EnvironmentVariablesService\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#constructor\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":1024,\"name\":\"serviceNameVariable\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#serviceNameVariable\",\"classes\":\"tsd-is-protected tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#get\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getFunctionName\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#getFunctionName\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getServiceName\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#getServiceName\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getXrayTraceId\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#getXrayTraceId\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"getXrayTraceSampled\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#getXrayTraceSampled\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":2048,\"name\":\"isValueTrue\",\"url\":\"classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html#isValueTrue\",\"classes\":\"tsd-is-inherited\",\"parent\":\"@aws-lambda-powertools/idempotency.EnvironmentVariablesService\"},{\"kind\":128,\"name\":\"IdempotencyRecord\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#constructor\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"expiryTimestamp\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#expiryTimestamp\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"idempotencyKey\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#idempotencyKey\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"inProgressExpiryTimestamp\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#inProgressExpiryTimestamp\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"payloadHash\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#payloadHash\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":1024,\"name\":\"responseData\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#responseData\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":2048,\"name\":\"getResponse\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#getResponse\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":2048,\"name\":\"getStatus\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#getStatus\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":2048,\"name\":\"isExpired\",\"url\":\"classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html#isExpired\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.IdempotencyRecord\"},{\"kind\":256,\"name\":\"BasePersistenceLayerInterface\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":2048,\"name\":\"configure\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#configure\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"deleteRecord\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#deleteRecord\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"getRecord\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#getRecord\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"isPayloadValidationEnabled\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#isPayloadValidationEnabled\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"saveInProgress\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#saveInProgress\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":2048,\"name\":\"saveSuccess\",\"url\":\"interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html#saveSuccess\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.BasePersistenceLayerInterface\"},{\"kind\":64,\"name\":\"idempotentFunction\",\"url\":\"functions/_aws_lambda_powertools_idempotency.idempotentFunction.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/_aws_lambda_powertools_idempotency.idempotentFunction.html#idempotentFunction.__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.idempotentFunction.idempotentFunction\"},{\"kind\":64,\"name\":\"idempotentLambdaHandler\",\"url\":\"functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html#idempotentLambdaHandler.__type\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency.idempotentLambdaHandler.idempotentLambdaHandler\"},{\"kind\":64,\"name\":\"makeFunctionIdempotent\",\"url\":\"functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html\",\"classes\":\"\",\"parent\":\"@aws-lambda-powertools/idempotency\"},{\"kind\":2,\"name\":\"docs\",\"url\":\"modules/docs.html\",\"classes\":\"\"},{\"kind\":2,\"name\":\"layers\",\"url\":\"modules/layers.html\",\"classes\":\"\"},{\"kind\":2,\"name\":\"cdk-sample\",\"url\":\"modules/cdk_sample.html\",\"classes\":\"\"},{\"kind\":2,\"name\":\"sam-example\",\"url\":\"modules/sam_example.html\",\"classes\":\"\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,22.407,1,22.407,2,30.692]],[\"comment/0\",[]],[\"name/1\",[3,55.211]],[\"comment/1\",[]],[\"name/2\",[4,55.211]],[\"comment/2\",[]],[\"name/3\",[5,55.211]],[\"comment/3\",[]],[\"name/4\",[6,55.211]],[\"comment/4\",[]],[\"name/5\",[7,55.211]],[\"comment/5\",[]],[\"name/6\",[8,35.434]],[\"comment/6\",[]],[\"name/7\",[9,55.211]],[\"comment/7\",[]],[\"name/8\",[10,55.211]],[\"comment/8\",[]],[\"name/9\",[11,55.211]],[\"comment/9\",[]],[\"name/10\",[12,55.211]],[\"comment/10\",[]],[\"name/11\",[13,30.84]],[\"comment/11\",[]],[\"name/12\",[14,38.853]],[\"comment/12\",[]],[\"name/13\",[15,46.599]],[\"comment/13\",[]],[\"name/14\",[16,46.599]],[\"comment/14\",[]],[\"name/15\",[17,46.599]],[\"comment/15\",[]],[\"name/16\",[18,50.019]],[\"comment/16\",[]],[\"name/17\",[13,30.84]],[\"comment/17\",[]],[\"name/18\",[19,50.019]],[\"comment/18\",[]],[\"name/19\",[14,38.853]],[\"comment/19\",[]],[\"name/20\",[15,46.599]],[\"comment/20\",[]],[\"name/21\",[16,46.599]],[\"comment/21\",[]],[\"name/22\",[20,50.019]],[\"comment/22\",[]],[\"name/23\",[17,46.599]],[\"comment/23\",[]],[\"name/24\",[21,55.211]],[\"comment/24\",[]],[\"name/25\",[13,30.84]],[\"comment/25\",[]],[\"name/26\",[22,44.045]],[\"comment/26\",[]],[\"name/27\",[23,44.045]],[\"comment/27\",[]],[\"name/28\",[24,44.045]],[\"comment/28\",[]],[\"name/29\",[25,44.045]],[\"comment/29\",[]],[\"name/30\",[26,55.211]],[\"comment/30\",[]],[\"name/31\",[27,55.211]],[\"comment/31\",[]],[\"name/32\",[28,55.211]],[\"comment/32\",[]],[\"name/33\",[8,35.434]],[\"comment/33\",[]],[\"name/34\",[29,55.211]],[\"comment/34\",[]],[\"name/35\",[8,35.434]],[\"comment/35\",[]],[\"name/36\",[30,55.211]],[\"comment/36\",[]],[\"name/37\",[31,55.211]],[\"comment/37\",[]],[\"name/38\",[32,55.211]],[\"comment/38\",[]],[\"name/39\",[33,55.211]],[\"comment/39\",[]],[\"name/40\",[8,35.434]],[\"comment/40\",[]],[\"name/41\",[34,55.211]],[\"comment/41\",[]],[\"name/42\",[35,50.019]],[\"comment/42\",[]],[\"name/43\",[36,55.211]],[\"comment/43\",[]],[\"name/44\",[37,55.211]],[\"comment/44\",[]],[\"name/45\",[38,55.211]],[\"comment/45\",[]],[\"name/46\",[8,35.434]],[\"comment/46\",[]],[\"name/47\",[0,22.407,1,22.407,39,30.692]],[\"comment/47\",[]],[\"name/48\",[40,55.211]],[\"comment/48\",[]],[\"name/49\",[13,30.84]],[\"comment/49\",[]],[\"name/50\",[41,46.599]],[\"comment/50\",[]],[\"name/51\",[42,46.599]],[\"comment/51\",[]],[\"name/52\",[43,50.019]],[\"comment/52\",[]],[\"name/53\",[44,50.019]],[\"comment/53\",[]],[\"name/54\",[45,55.211]],[\"comment/54\",[]],[\"name/55\",[13,30.84]],[\"comment/55\",[]],[\"name/56\",[46,55.211]],[\"comment/56\",[]],[\"name/57\",[47,55.211]],[\"comment/57\",[]],[\"name/58\",[48,55.211]],[\"comment/58\",[]],[\"name/59\",[49,55.211]],[\"comment/59\",[]],[\"name/60\",[50,55.211]],[\"comment/60\",[]],[\"name/61\",[51,55.211]],[\"comment/61\",[]],[\"name/62\",[35,50.019]],[\"comment/62\",[]],[\"name/63\",[22,44.045]],[\"comment/63\",[]],[\"name/64\",[23,44.045]],[\"comment/64\",[]],[\"name/65\",[52,55.211]],[\"comment/65\",[]],[\"name/66\",[53,55.211]],[\"comment/66\",[]],[\"name/67\",[54,55.211]],[\"comment/67\",[]],[\"name/68\",[55,50.019]],[\"comment/68\",[]],[\"name/69\",[24,44.045]],[\"comment/69\",[]],[\"name/70\",[25,44.045]],[\"comment/70\",[]],[\"name/71\",[56,55.211]],[\"comment/71\",[]],[\"name/72\",[57,55.211]],[\"comment/72\",[]],[\"name/73\",[58,55.211]],[\"comment/73\",[]],[\"name/74\",[59,55.211]],[\"comment/74\",[]],[\"name/75\",[60,55.211]],[\"comment/75\",[]],[\"name/76\",[61,55.211]],[\"comment/76\",[]],[\"name/77\",[62,55.211]],[\"comment/77\",[]],[\"name/78\",[63,55.211]],[\"comment/78\",[]],[\"name/79\",[64,55.211]],[\"comment/79\",[]],[\"name/80\",[65,55.211]],[\"comment/80\",[]],[\"name/81\",[13,30.84]],[\"comment/81\",[]],[\"name/82\",[41,46.599]],[\"comment/82\",[]],[\"name/83\",[42,46.599]],[\"comment/83\",[]],[\"name/84\",[43,50.019]],[\"comment/84\",[]],[\"name/85\",[44,50.019]],[\"comment/85\",[]],[\"name/86\",[66,55.211]],[\"comment/86\",[]],[\"name/87\",[41,46.599]],[\"comment/87\",[]],[\"name/88\",[42,46.599]],[\"comment/88\",[]],[\"name/89\",[67,55.211]],[\"comment/89\",[]],[\"name/90\",[55,50.019]],[\"comment/90\",[]],[\"name/91\",[0,22.407,1,22.407,68,30.692]],[\"comment/91\",[]],[\"name/92\",[69,55.211]],[\"comment/92\",[]],[\"name/93\",[70,55.211]],[\"comment/93\",[]],[\"name/94\",[71,55.211]],[\"comment/94\",[]],[\"name/95\",[72,55.211]],[\"comment/95\",[]],[\"name/96\",[73,55.211]],[\"comment/96\",[]],[\"name/97\",[74,55.211]],[\"comment/97\",[]],[\"name/98\",[75,55.211]],[\"comment/98\",[]],[\"name/99\",[76,55.211]],[\"comment/99\",[]],[\"name/100\",[77,55.211]],[\"comment/100\",[]],[\"name/101\",[78,55.211]],[\"comment/101\",[]],[\"name/102\",[79,55.211]],[\"comment/102\",[]],[\"name/103\",[80,55.211]],[\"comment/103\",[]],[\"name/104\",[81,55.211]],[\"comment/104\",[]],[\"name/105\",[82,55.211]],[\"comment/105\",[]],[\"name/106\",[83,55.211]],[\"comment/106\",[]],[\"name/107\",[84,55.211]],[\"comment/107\",[]],[\"name/108\",[85,55.211]],[\"comment/108\",[]],[\"name/109\",[86,55.211]],[\"comment/109\",[]],[\"name/110\",[87,55.211]],[\"comment/110\",[]],[\"name/111\",[88,55.211]],[\"comment/111\",[]],[\"name/112\",[89,55.211]],[\"comment/112\",[]],[\"name/113\",[90,55.211]],[\"comment/113\",[]],[\"name/114\",[91,55.211]],[\"comment/114\",[]],[\"name/115\",[92,55.211]],[\"comment/115\",[]],[\"name/116\",[93,55.211]],[\"comment/116\",[]],[\"name/117\",[94,55.211]],[\"comment/117\",[]],[\"name/118\",[95,55.211]],[\"comment/118\",[]],[\"name/119\",[96,55.211]],[\"comment/119\",[]],[\"name/120\",[13,30.84]],[\"comment/120\",[]],[\"name/121\",[97,50.019]],[\"comment/121\",[]],[\"name/122\",[98,50.019]],[\"comment/122\",[]],[\"name/123\",[99,50.019]],[\"comment/123\",[]],[\"name/124\",[100,50.019]],[\"comment/124\",[]],[\"name/125\",[101,55.211]],[\"comment/125\",[]],[\"name/126\",[102,50.019]],[\"comment/126\",[]],[\"name/127\",[103,50.019]],[\"comment/127\",[]],[\"name/128\",[104,50.019]],[\"comment/128\",[]],[\"name/129\",[105,50.019]],[\"comment/129\",[]],[\"name/130\",[22,44.045]],[\"comment/130\",[]],[\"name/131\",[23,44.045]],[\"comment/131\",[]],[\"name/132\",[24,44.045]],[\"comment/132\",[]],[\"name/133\",[25,44.045]],[\"comment/133\",[]],[\"name/134\",[106,46.599]],[\"comment/134\",[]],[\"name/135\",[107,50.019]],[\"comment/135\",[]],[\"name/136\",[108,50.019]],[\"comment/136\",[]],[\"name/137\",[109,50.019]],[\"comment/137\",[]],[\"name/138\",[110,55.211]],[\"comment/138\",[]],[\"name/139\",[111,50.019]],[\"comment/139\",[]],[\"name/140\",[112,55.211]],[\"comment/140\",[]],[\"name/141\",[113,55.211]],[\"comment/141\",[]],[\"name/142\",[97,50.019]],[\"comment/142\",[]],[\"name/143\",[98,50.019]],[\"comment/143\",[]],[\"name/144\",[99,50.019]],[\"comment/144\",[]],[\"name/145\",[100,50.019]],[\"comment/145\",[]],[\"name/146\",[102,50.019]],[\"comment/146\",[]],[\"name/147\",[103,50.019]],[\"comment/147\",[]],[\"name/148\",[104,50.019]],[\"comment/148\",[]],[\"name/149\",[105,50.019]],[\"comment/149\",[]],[\"name/150\",[106,46.599]],[\"comment/150\",[]],[\"name/151\",[107,50.019]],[\"comment/151\",[]],[\"name/152\",[108,50.019]],[\"comment/152\",[]],[\"name/153\",[109,50.019]],[\"comment/153\",[]],[\"name/154\",[111,50.019]],[\"comment/154\",[]],[\"name/155\",[114,50.019]],[\"comment/155\",[]],[\"name/156\",[114,50.019]],[\"comment/156\",[]],[\"name/157\",[8,35.434]],[\"comment/157\",[]],[\"name/158\",[115,55.211]],[\"comment/158\",[]],[\"name/159\",[116,55.211]],[\"comment/159\",[]],[\"name/160\",[106,46.599]],[\"comment/160\",[]],[\"name/161\",[0,22.407,1,22.407,117,30.692]],[\"comment/161\",[]],[\"name/162\",[118,55.211]],[\"comment/162\",[]],[\"name/163\",[13,30.84]],[\"comment/163\",[]],[\"name/164\",[119,55.211]],[\"comment/164\",[]],[\"name/165\",[120,50.019]],[\"comment/165\",[]],[\"name/166\",[121,50.019]],[\"comment/166\",[]],[\"name/167\",[122,50.019]],[\"comment/167\",[]],[\"name/168\",[123,50.019]],[\"comment/168\",[]],[\"name/169\",[124,50.019]],[\"comment/169\",[]],[\"name/170\",[125,50.019]],[\"comment/170\",[]],[\"name/171\",[126,50.019]],[\"comment/171\",[]],[\"name/172\",[127,46.599]],[\"comment/172\",[]],[\"name/173\",[128,50.019]],[\"comment/173\",[]],[\"name/174\",[22,44.045]],[\"comment/174\",[]],[\"name/175\",[23,44.045]],[\"comment/175\",[]],[\"name/176\",[129,50.019]],[\"comment/176\",[]],[\"name/177\",[130,50.019]],[\"comment/177\",[]],[\"name/178\",[24,44.045]],[\"comment/178\",[]],[\"name/179\",[131,50.019]],[\"comment/179\",[]],[\"name/180\",[132,50.019]],[\"comment/180\",[]],[\"name/181\",[25,44.045]],[\"comment/181\",[]],[\"name/182\",[133,50.019]],[\"comment/182\",[]],[\"name/183\",[134,50.019]],[\"comment/183\",[]],[\"name/184\",[135,50.019]],[\"comment/184\",[]],[\"name/185\",[136,55.211]],[\"comment/185\",[]],[\"name/186\",[133,50.019]],[\"comment/186\",[]],[\"name/187\",[8,35.434]],[\"comment/187\",[]],[\"name/188\",[134,50.019]],[\"comment/188\",[]],[\"name/189\",[8,35.434]],[\"comment/189\",[]],[\"name/190\",[120,50.019]],[\"comment/190\",[]],[\"name/191\",[121,50.019]],[\"comment/191\",[]],[\"name/192\",[122,50.019]],[\"comment/192\",[]],[\"name/193\",[123,50.019]],[\"comment/193\",[]],[\"name/194\",[124,50.019]],[\"comment/194\",[]],[\"name/195\",[125,50.019]],[\"comment/195\",[]],[\"name/196\",[126,50.019]],[\"comment/196\",[]],[\"name/197\",[127,46.599]],[\"comment/197\",[]],[\"name/198\",[128,50.019]],[\"comment/198\",[]],[\"name/199\",[129,50.019]],[\"comment/199\",[]],[\"name/200\",[130,50.019]],[\"comment/200\",[]],[\"name/201\",[131,50.019]],[\"comment/201\",[]],[\"name/202\",[132,50.019]],[\"comment/202\",[]],[\"name/203\",[135,50.019]],[\"comment/203\",[]],[\"name/204\",[127,46.599]],[\"comment/204\",[]],[\"name/205\",[137,55.211]],[\"comment/205\",[]],[\"name/206\",[0,22.407,1,22.407,138,30.692]],[\"comment/206\",[]],[\"name/207\",[139,55.211]],[\"comment/207\",[]],[\"name/208\",[13,30.84]],[\"comment/208\",[]],[\"name/209\",[140,44.045]],[\"comment/209\",[]],[\"name/210\",[141,55.211]],[\"comment/210\",[]],[\"name/211\",[142,44.045]],[\"comment/211\",[]],[\"name/212\",[143,44.045]],[\"comment/212\",[]],[\"name/213\",[144,55.211]],[\"comment/213\",[]],[\"name/214\",[145,44.045]],[\"comment/214\",[]],[\"name/215\",[146,44.045]],[\"comment/215\",[]],[\"name/216\",[147,44.045]],[\"comment/216\",[]],[\"name/217\",[148,44.045]],[\"comment/217\",[]],[\"name/218\",[14,38.853]],[\"comment/218\",[]],[\"name/219\",[149,44.045]],[\"comment/219\",[]],[\"name/220\",[150,44.045]],[\"comment/220\",[]],[\"name/221\",[151,55.211]],[\"comment/221\",[]],[\"name/222\",[13,30.84]],[\"comment/222\",[]],[\"name/223\",[140,44.045]],[\"comment/223\",[]],[\"name/224\",[142,44.045]],[\"comment/224\",[]],[\"name/225\",[152,55.211]],[\"comment/225\",[]],[\"name/226\",[153,55.211]],[\"comment/226\",[]],[\"name/227\",[143,44.045]],[\"comment/227\",[]],[\"name/228\",[154,55.211]],[\"comment/228\",[]],[\"name/229\",[155,55.211]],[\"comment/229\",[]],[\"name/230\",[145,44.045]],[\"comment/230\",[]],[\"name/231\",[146,44.045]],[\"comment/231\",[]],[\"name/232\",[147,44.045]],[\"comment/232\",[]],[\"name/233\",[148,44.045]],[\"comment/233\",[]],[\"name/234\",[14,38.853]],[\"comment/234\",[]],[\"name/235\",[149,44.045]],[\"comment/235\",[]],[\"name/236\",[150,44.045]],[\"comment/236\",[]],[\"name/237\",[156,55.211]],[\"comment/237\",[]],[\"name/238\",[13,30.84]],[\"comment/238\",[]],[\"name/239\",[140,44.045]],[\"comment/239\",[]],[\"name/240\",[142,44.045]],[\"comment/240\",[]],[\"name/241\",[157,55.211]],[\"comment/241\",[]],[\"name/242\",[158,55.211]],[\"comment/242\",[]],[\"name/243\",[143,44.045]],[\"comment/243\",[]],[\"name/244\",[145,44.045]],[\"comment/244\",[]],[\"name/245\",[146,44.045]],[\"comment/245\",[]],[\"name/246\",[159,55.211]],[\"comment/246\",[]],[\"name/247\",[147,44.045]],[\"comment/247\",[]],[\"name/248\",[148,44.045]],[\"comment/248\",[]],[\"name/249\",[14,38.853]],[\"comment/249\",[]],[\"name/250\",[149,44.045]],[\"comment/250\",[]],[\"name/251\",[160,55.211]],[\"comment/251\",[]],[\"name/252\",[161,50.019]],[\"comment/252\",[]],[\"name/253\",[162,55.211]],[\"comment/253\",[]],[\"name/254\",[163,55.211]],[\"comment/254\",[]],[\"name/255\",[164,55.211]],[\"comment/255\",[]],[\"name/256\",[150,44.045]],[\"comment/256\",[]],[\"name/257\",[165,55.211]],[\"comment/257\",[]],[\"name/258\",[166,55.211]],[\"comment/258\",[]],[\"name/259\",[167,55.211]],[\"comment/259\",[]],[\"name/260\",[168,55.211]],[\"comment/260\",[]],[\"name/261\",[169,55.211]],[\"comment/261\",[]],[\"name/262\",[170,55.211]],[\"comment/262\",[]],[\"name/263\",[13,30.84]],[\"comment/263\",[]],[\"name/264\",[140,44.045]],[\"comment/264\",[]],[\"name/265\",[142,44.045]],[\"comment/265\",[]],[\"name/266\",[143,44.045]],[\"comment/266\",[]],[\"name/267\",[145,44.045]],[\"comment/267\",[]],[\"name/268\",[146,44.045]],[\"comment/268\",[]],[\"name/269\",[147,44.045]],[\"comment/269\",[]],[\"name/270\",[148,44.045]],[\"comment/270\",[]],[\"name/271\",[14,38.853]],[\"comment/271\",[]],[\"name/272\",[149,44.045]],[\"comment/272\",[]],[\"name/273\",[150,44.045]],[\"comment/273\",[]],[\"name/274\",[171,55.211]],[\"comment/274\",[]],[\"name/275\",[172,55.211]],[\"comment/275\",[]],[\"name/276\",[173,55.211]],[\"comment/276\",[]],[\"name/277\",[174,55.211]],[\"comment/277\",[]],[\"name/278\",[161,50.019]],[\"comment/278\",[]],[\"name/279\",[175,55.211]],[\"comment/279\",[]],[\"name/280\",[0,22.407,1,22.407,176,30.692]],[\"comment/280\",[]],[\"name/281\",[177,55.211]],[\"comment/281\",[]],[\"name/282\",[13,30.84]],[\"comment/282\",[]],[\"name/283\",[178,50.019]],[\"comment/283\",[]],[\"name/284\",[179,50.019]],[\"comment/284\",[]],[\"name/285\",[180,50.019]],[\"comment/285\",[]],[\"name/286\",[181,50.019]],[\"comment/286\",[]],[\"name/287\",[182,50.019]],[\"comment/287\",[]],[\"name/288\",[183,46.599]],[\"comment/288\",[]],[\"name/289\",[184,46.599]],[\"comment/289\",[]],[\"name/290\",[185,46.599]],[\"comment/290\",[]],[\"name/291\",[186,46.599]],[\"comment/291\",[]],[\"name/292\",[187,46.599]],[\"comment/292\",[]],[\"name/293\",[188,46.599]],[\"comment/293\",[]],[\"name/294\",[189,55.211]],[\"comment/294\",[]],[\"name/295\",[13,30.84]],[\"comment/295\",[]],[\"name/296\",[178,50.019]],[\"comment/296\",[]],[\"name/297\",[179,50.019]],[\"comment/297\",[]],[\"name/298\",[180,50.019]],[\"comment/298\",[]],[\"name/299\",[181,50.019]],[\"comment/299\",[]],[\"name/300\",[182,50.019]],[\"comment/300\",[]],[\"name/301\",[183,46.599]],[\"comment/301\",[]],[\"name/302\",[184,46.599]],[\"comment/302\",[]],[\"name/303\",[185,46.599]],[\"comment/303\",[]],[\"name/304\",[186,46.599]],[\"comment/304\",[]],[\"name/305\",[187,46.599]],[\"comment/305\",[]],[\"name/306\",[188,46.599]],[\"comment/306\",[]],[\"name/307\",[18,50.019]],[\"comment/307\",[]],[\"name/308\",[13,30.84]],[\"comment/308\",[]],[\"name/309\",[19,50.019]],[\"comment/309\",[]],[\"name/310\",[14,38.853]],[\"comment/310\",[]],[\"name/311\",[190,55.211]],[\"comment/311\",[]],[\"name/312\",[15,46.599]],[\"comment/312\",[]],[\"name/313\",[16,46.599]],[\"comment/313\",[]],[\"name/314\",[20,50.019]],[\"comment/314\",[]],[\"name/315\",[17,46.599]],[\"comment/315\",[]],[\"name/316\",[191,55.211]],[\"comment/316\",[]],[\"name/317\",[13,30.84]],[\"comment/317\",[]],[\"name/318\",[192,55.211]],[\"comment/318\",[]],[\"name/319\",[193,55.211]],[\"comment/319\",[]],[\"name/320\",[194,55.211]],[\"comment/320\",[]],[\"name/321\",[195,55.211]],[\"comment/321\",[]],[\"name/322\",[196,55.211]],[\"comment/322\",[]],[\"name/323\",[197,55.211]],[\"comment/323\",[]],[\"name/324\",[198,55.211]],[\"comment/324\",[]],[\"name/325\",[199,55.211]],[\"comment/325\",[]],[\"name/326\",[200,55.211]],[\"comment/326\",[]],[\"name/327\",[183,46.599]],[\"comment/327\",[]],[\"name/328\",[184,46.599]],[\"comment/328\",[]],[\"name/329\",[185,46.599]],[\"comment/329\",[]],[\"name/330\",[186,46.599]],[\"comment/330\",[]],[\"name/331\",[187,46.599]],[\"comment/331\",[]],[\"name/332\",[188,46.599]],[\"comment/332\",[]],[\"name/333\",[201,55.211]],[\"comment/333\",[]],[\"name/334\",[8,35.434]],[\"comment/334\",[]],[\"name/335\",[202,55.211]],[\"comment/335\",[]],[\"name/336\",[8,35.434]],[\"comment/336\",[]],[\"name/337\",[203,55.211]],[\"comment/337\",[]],[\"name/338\",[204,55.211]],[\"comment/338\",[]],[\"name/339\",[205,55.211]],[\"comment/339\",[]],[\"name/340\",[206,39.452,207,39.452]],[\"comment/340\",[]],[\"name/341\",[208,39.452,209,39.452]],[\"comment/341\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":8,\"name\":{\"6\":{},\"33\":{},\"35\":{},\"40\":{},\"46\":{},\"157\":{},\"187\":{},\"189\":{},\"334\":{},\"336\":{}},\"comment\":{}}],[\"_deleterecord\",{\"_index\":179,\"name\":{\"284\":{},\"297\":{}},\"comment\":{}}],[\"_get\",{\"_index\":145,\"name\":{\"214\":{},\"230\":{},\"244\":{},\"267\":{}},\"comment\":{}}],[\"_getmultiple\",{\"_index\":146,\"name\":{\"215\":{},\"231\":{},\"245\":{},\"268\":{}},\"comment\":{}}],[\"_getparametersbyname\",{\"_index\":159,\"name\":{\"246\":{}},\"comment\":{}}],[\"_getrecord\",{\"_index\":180,\"name\":{\"285\":{},\"298\":{}},\"comment\":{}}],[\"_putrecord\",{\"_index\":181,\"name\":{\"286\":{},\"299\":{}},\"comment\":{}}],[\"_updaterecord\",{\"_index\":182,\"name\":{\"287\":{},\"300\":{}},\"comment\":{}}],[\"addcontext\",{\"_index\":46,\"name\":{\"56\":{}},\"comment\":{}}],[\"adddimension\",{\"_index\":97,\"name\":{\"121\":{},\"142\":{}},\"comment\":{}}],[\"adddimensions\",{\"_index\":98,\"name\":{\"122\":{},\"143\":{}},\"comment\":{}}],[\"adderrorasmetadata\",{\"_index\":120,\"name\":{\"165\":{},\"190\":{}},\"comment\":{}}],[\"addmetadata\",{\"_index\":99,\"name\":{\"123\":{},\"144\":{}},\"comment\":{}}],[\"addmetric\",{\"_index\":100,\"name\":{\"124\":{},\"145\":{}},\"comment\":{}}],[\"addpersistentlogattributes\",{\"_index\":47,\"name\":{\"57\":{}},\"comment\":{}}],[\"addresponseasmetadata\",{\"_index\":121,\"name\":{\"166\":{},\"191\":{}},\"comment\":{}}],[\"addservicenameannotation\",{\"_index\":122,\"name\":{\"167\":{},\"192\":{}},\"comment\":{}}],[\"addtocache\",{\"_index\":147,\"name\":{\"216\":{},\"232\":{},\"247\":{},\"269\":{}},\"comment\":{}}],[\"after\",{\"_index\":30,\"name\":{\"36\":{}},\"comment\":{}}],[\"annotatecoldstart\",{\"_index\":123,\"name\":{\"168\":{},\"193\":{}},\"comment\":{}}],[\"appconfigprovider\",{\"_index\":139,\"name\":{\"207\":{}},\"comment\":{}}],[\"appendkeys\",{\"_index\":48,\"name\":{\"58\":{}},\"comment\":{}}],[\"asynchandler\",{\"_index\":28,\"name\":{\"32\":{}},\"comment\":{}}],[\"aws\",{\"_index\":0,\"name\":{\"0\":{},\"47\":{},\"91\":{},\"161\":{},\"206\":{},\"280\":{}},\"comment\":{}}],[\"basepersistencelayer\",{\"_index\":177,\"name\":{\"281\":{}},\"comment\":{}}],[\"basepersistencelayerinterface\",{\"_index\":200,\"name\":{\"326\":{}},\"comment\":{}}],[\"before\",{\"_index\":31,\"name\":{\"37\":{}},\"comment\":{}}],[\"bits\",{\"_index\":70,\"name\":{\"93\":{}},\"comment\":{}}],[\"bitspersecond\",{\"_index\":71,\"name\":{\"94\":{}},\"comment\":{}}],[\"bytes\",{\"_index\":72,\"name\":{\"95\":{}},\"comment\":{}}],[\"bytespersecond\",{\"_index\":73,\"name\":{\"96\":{}},\"comment\":{}}],[\"captureaws\",{\"_index\":124,\"name\":{\"169\":{},\"194\":{}},\"comment\":{}}],[\"captureawsclient\",{\"_index\":125,\"name\":{\"170\":{},\"195\":{}},\"comment\":{}}],[\"captureawsv3client\",{\"_index\":126,\"name\":{\"171\":{},\"196\":{}},\"comment\":{}}],[\"capturecoldstartmetric\",{\"_index\":101,\"name\":{\"125\":{}},\"comment\":{}}],[\"capturelambdahandler\",{\"_index\":127,\"name\":{\"172\":{},\"197\":{},\"204\":{}},\"comment\":{}}],[\"capturemethod\",{\"_index\":128,\"name\":{\"173\":{},\"198\":{}},\"comment\":{}}],[\"cdk\",{\"_index\":206,\"name\":{\"340\":{}},\"comment\":{}}],[\"clearcache\",{\"_index\":148,\"name\":{\"217\":{},\"233\":{},\"248\":{},\"270\":{}},\"comment\":{}}],[\"cleardefaultdimensions\",{\"_index\":102,\"name\":{\"126\":{},\"146\":{}},\"comment\":{}}],[\"cleardimensions\",{\"_index\":103,\"name\":{\"127\":{},\"147\":{}},\"comment\":{}}],[\"clearmetadata\",{\"_index\":104,\"name\":{\"128\":{},\"148\":{}},\"comment\":{}}],[\"clearmetrics\",{\"_index\":105,\"name\":{\"129\":{},\"149\":{}},\"comment\":{}}],[\"client\",{\"_index\":140,\"name\":{\"209\":{},\"223\":{},\"239\":{},\"264\":{}},\"comment\":{}}],[\"configservice\",{\"_index\":12,\"name\":{\"10\":{}},\"comment\":{}}],[\"configurationtokenstore\",{\"_index\":141,\"name\":{\"210\":{}},\"comment\":{}}],[\"configure\",{\"_index\":183,\"name\":{\"288\":{},\"301\":{},\"327\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":13,\"name\":{\"11\":{},\"17\":{},\"25\":{},\"49\":{},\"55\":{},\"81\":{},\"120\":{},\"163\":{},\"208\":{},\"222\":{},\"238\":{},\"263\":{},\"282\":{},\"295\":{},\"308\":{},\"317\":{}},\"comment\":{}}],[\"context\",{\"_index\":34,\"name\":{\"41\":{}},\"comment\":{}}],[\"contextexamples\",{\"_index\":3,\"name\":{\"1\":{}},\"comment\":{}}],[\"count\",{\"_index\":74,\"name\":{\"97\":{}},\"comment\":{}}],[\"countpersecond\",{\"_index\":75,\"name\":{\"98\":{}},\"comment\":{}}],[\"createchild\",{\"_index\":49,\"name\":{\"59\":{}},\"comment\":{}}],[\"createlogger\",{\"_index\":67,\"name\":{\"89\":{}},\"comment\":{}}],[\"createtracer\",{\"_index\":137,\"name\":{\"205\":{}},\"comment\":{}}],[\"critical\",{\"_index\":50,\"name\":{\"60\":{}},\"comment\":{}}],[\"custom\",{\"_index\":6,\"name\":{\"4\":{}},\"comment\":{}}],[\"customevent\",{\"_index\":7,\"name\":{\"5\":{}},\"comment\":{}}],[\"debug\",{\"_index\":51,\"name\":{\"61\":{}},\"comment\":{}}],[\"default_providers\",{\"_index\":171,\"name\":{\"274\":{}},\"comment\":{}}],[\"deleterecord\",{\"_index\":184,\"name\":{\"289\":{},\"302\":{},\"328\":{}},\"comment\":{}}],[\"docs\",{\"_index\":204,\"name\":{\"338\":{}},\"comment\":{}}],[\"dynamodbpersistencelayer\",{\"_index\":189,\"name\":{\"294\":{}},\"comment\":{}}],[\"dynamodbprovider\",{\"_index\":151,\"name\":{\"221\":{}},\"comment\":{}}],[\"environmentvariablesservice\",{\"_index\":18,\"name\":{\"16\":{},\"307\":{}},\"comment\":{}}],[\"envvarsservice\",{\"_index\":142,\"name\":{\"211\":{},\"224\":{},\"240\":{},\"265\":{}},\"comment\":{}}],[\"error\",{\"_index\":35,\"name\":{\"42\":{},\"62\":{}},\"comment\":{}}],[\"errorskey\",{\"_index\":157,\"name\":{\"241\":{}},\"comment\":{}}],[\"event\",{\"_index\":36,\"name\":{\"43\":{}},\"comment\":{}}],[\"events\",{\"_index\":5,\"name\":{\"3\":{}},\"comment\":{}}],[\"example\",{\"_index\":209,\"name\":{\"341\":{}},\"comment\":{}}],[\"expirytimestamp\",{\"_index\":192,\"name\":{\"318\":{}},\"comment\":{}}],[\"formatattributes\",{\"_index\":41,\"name\":{\"50\":{},\"82\":{},\"87\":{}},\"comment\":{}}],[\"formaterror\",{\"_index\":42,\"name\":{\"51\":{},\"83\":{},\"88\":{}},\"comment\":{}}],[\"formattimestamp\",{\"_index\":43,\"name\":{\"52\":{},\"84\":{}},\"comment\":{}}],[\"get\",{\"_index\":14,\"name\":{\"12\":{},\"19\":{},\"218\":{},\"234\":{},\"249\":{},\"271\":{},\"310\":{}},\"comment\":{}}],[\"getappconfig\",{\"_index\":172,\"name\":{\"275\":{}},\"comment\":{}}],[\"getcodelocation\",{\"_index\":44,\"name\":{\"53\":{},\"85\":{}},\"comment\":{}}],[\"getcoldstart\",{\"_index\":22,\"name\":{\"26\":{},\"63\":{},\"130\":{},\"174\":{}},\"comment\":{}}],[\"getdefaultservicename\",{\"_index\":23,\"name\":{\"27\":{},\"64\":{},\"131\":{},\"175\":{}},\"comment\":{}}],[\"getfunctionname\",{\"_index\":190,\"name\":{\"311\":{}},\"comment\":{}}],[\"getlogevent\",{\"_index\":52,\"name\":{\"65\":{}},\"comment\":{}}],[\"getlogssampled\",{\"_index\":53,\"name\":{\"66\":{}},\"comment\":{}}],[\"getmultiple\",{\"_index\":149,\"name\":{\"219\":{},\"235\":{},\"250\":{},\"272\":{}},\"comment\":{}}],[\"getparameter\",{\"_index\":173,\"name\":{\"276\":{}},\"comment\":{}}],[\"getparameters\",{\"_index\":174,\"name\":{\"277\":{}},\"comment\":{}}],[\"getparametersbatchbyname\",{\"_index\":160,\"name\":{\"251\":{}},\"comment\":{}}],[\"getparametersbyname\",{\"_index\":161,\"name\":{\"252\":{},\"278\":{}},\"comment\":{}}],[\"getparametersbynamefromcache\",{\"_index\":162,\"name\":{\"253\":{}},\"comment\":{}}],[\"getparametersbynameinchunks\",{\"_index\":163,\"name\":{\"254\":{}},\"comment\":{}}],[\"getparametersbynamewithdecryptoption\",{\"_index\":164,\"name\":{\"255\":{}},\"comment\":{}}],[\"getrecord\",{\"_index\":185,\"name\":{\"290\":{},\"303\":{},\"329\":{}},\"comment\":{}}],[\"getresponse\",{\"_index\":197,\"name\":{\"323\":{}},\"comment\":{}}],[\"getrootxraytraceid\",{\"_index\":129,\"name\":{\"176\":{},\"199\":{}},\"comment\":{}}],[\"getsecret\",{\"_index\":175,\"name\":{\"279\":{}},\"comment\":{}}],[\"getsegment\",{\"_index\":130,\"name\":{\"177\":{},\"200\":{}},\"comment\":{}}],[\"getservicename\",{\"_index\":15,\"name\":{\"13\":{},\"20\":{},\"312\":{}},\"comment\":{}}],[\"getstatus\",{\"_index\":198,\"name\":{\"324\":{}},\"comment\":{}}],[\"getxraytraceid\",{\"_index\":16,\"name\":{\"14\":{},\"21\":{},\"313\":{}},\"comment\":{}}],[\"getxraytracesampled\",{\"_index\":20,\"name\":{\"22\":{},\"314\":{}},\"comment\":{}}],[\"gigabits\",{\"_index\":76,\"name\":{\"99\":{}},\"comment\":{}}],[\"gigabitspersecond\",{\"_index\":77,\"name\":{\"100\":{}},\"comment\":{}}],[\"gigabytes\",{\"_index\":78,\"name\":{\"101\":{}},\"comment\":{}}],[\"gigabytespersecond\",{\"_index\":79,\"name\":{\"102\":{}},\"comment\":{}}],[\"handleanyinvalidgetparametererrors\",{\"_index\":167,\"name\":{\"259\":{}},\"comment\":{}}],[\"handler\",{\"_index\":27,\"name\":{\"31\":{}},\"comment\":{}}],[\"haskeyexpiredincache\",{\"_index\":150,\"name\":{\"220\":{},\"236\":{},\"256\":{},\"273\":{}},\"comment\":{}}],[\"helloworldcontext\",{\"_index\":4,\"name\":{\"2\":{}},\"comment\":{}}],[\"high\",{\"_index\":115,\"name\":{\"158\":{}},\"comment\":{}}],[\"idempotencykey\",{\"_index\":193,\"name\":{\"319\":{}},\"comment\":{}}],[\"idempotencykeyprefix\",{\"_index\":178,\"name\":{\"283\":{},\"296\":{}},\"comment\":{}}],[\"idempotencyrecord\",{\"_index\":191,\"name\":{\"316\":{}},\"comment\":{}}],[\"idempotentfunction\",{\"_index\":201,\"name\":{\"333\":{}},\"comment\":{}}],[\"idempotentlambdahandler\",{\"_index\":202,\"name\":{\"335\":{}},\"comment\":{}}],[\"info\",{\"_index\":54,\"name\":{\"67\":{}},\"comment\":{}}],[\"injectlambdacontext\",{\"_index\":55,\"name\":{\"68\":{},\"90\":{}},\"comment\":{}}],[\"injectlambdacontextafteroronerror\",{\"_index\":63,\"name\":{\"78\":{}},\"comment\":{}}],[\"injectlambdacontextbefore\",{\"_index\":64,\"name\":{\"79\":{}},\"comment\":{}}],[\"inprogressexpirytimestamp\",{\"_index\":194,\"name\":{\"320\":{}},\"comment\":{}}],[\"iscoldstart\",{\"_index\":24,\"name\":{\"28\":{},\"69\":{},\"132\":{},\"178\":{}},\"comment\":{}}],[\"isexpired\",{\"_index\":199,\"name\":{\"325\":{}},\"comment\":{}}],[\"ispayloadvalidationenabled\",{\"_index\":186,\"name\":{\"291\":{},\"304\":{},\"330\":{}},\"comment\":{}}],[\"istracesampled\",{\"_index\":131,\"name\":{\"179\":{},\"201\":{}},\"comment\":{}}],[\"istracingenabled\",{\"_index\":132,\"name\":{\"180\":{},\"202\":{}},\"comment\":{}}],[\"isvalidservicename\",{\"_index\":25,\"name\":{\"29\":{},\"70\":{},\"133\":{},\"181\":{}},\"comment\":{}}],[\"isvaluetrue\",{\"_index\":17,\"name\":{\"15\":{},\"23\":{},\"315\":{}},\"comment\":{}}],[\"key1\",{\"_index\":9,\"name\":{\"7\":{}},\"comment\":{}}],[\"key2\",{\"_index\":10,\"name\":{\"8\":{}},\"comment\":{}}],[\"key3\",{\"_index\":11,\"name\":{\"9\":{}},\"comment\":{}}],[\"keyattr\",{\"_index\":152,\"name\":{\"225\":{}},\"comment\":{}}],[\"kilobits\",{\"_index\":80,\"name\":{\"103\":{}},\"comment\":{}}],[\"kilobitspersecond\",{\"_index\":81,\"name\":{\"104\":{}},\"comment\":{}}],[\"kilobytes\",{\"_index\":82,\"name\":{\"105\":{}},\"comment\":{}}],[\"kilobytespersecond\",{\"_index\":83,\"name\":{\"106\":{}},\"comment\":{}}],[\"lambda\",{\"_index\":1,\"name\":{\"0\":{},\"47\":{},\"91\":{},\"161\":{},\"206\":{},\"280\":{}},\"comment\":{}}],[\"lambdainterface\",{\"_index\":26,\"name\":{\"30\":{}},\"comment\":{}}],[\"layers\",{\"_index\":205,\"name\":{\"339\":{}},\"comment\":{}}],[\"logeventifenabled\",{\"_index\":56,\"name\":{\"71\":{}},\"comment\":{}}],[\"logformatter\",{\"_index\":40,\"name\":{\"48\":{}},\"comment\":{}}],[\"logformatterinterface\",{\"_index\":66,\"name\":{\"86\":{}},\"comment\":{}}],[\"logger\",{\"_index\":45,\"name\":{\"54\":{}},\"comment\":{}}],[\"logmetrics\",{\"_index\":106,\"name\":{\"134\":{},\"150\":{},\"160\":{}},\"comment\":{}}],[\"makefunctionidempotent\",{\"_index\":203,\"name\":{\"337\":{}},\"comment\":{}}],[\"maxgetparametersitems\",{\"_index\":158,\"name\":{\"242\":{}},\"comment\":{}}],[\"megabits\",{\"_index\":84,\"name\":{\"107\":{}},\"comment\":{}}],[\"megabitspersecond\",{\"_index\":85,\"name\":{\"108\":{}},\"comment\":{}}],[\"megabytes\",{\"_index\":86,\"name\":{\"109\":{}},\"comment\":{}}],[\"megabytespersecond\",{\"_index\":87,\"name\":{\"110\":{}},\"comment\":{}}],[\"metricresolution\",{\"_index\":114,\"name\":{\"155\":{},\"156\":{}},\"comment\":{}}],[\"metrics\",{\"_index\":96,\"name\":{\"119\":{}},\"comment\":{}}],[\"metricsinterface\",{\"_index\":113,\"name\":{\"141\":{}},\"comment\":{}}],[\"metricunits\",{\"_index\":69,\"name\":{\"92\":{}},\"comment\":{}}],[\"microseconds\",{\"_index\":88,\"name\":{\"111\":{}},\"comment\":{}}],[\"middlewarelikeobj\",{\"_index\":29,\"name\":{\"34\":{}},\"comment\":{}}],[\"middylikerequest\",{\"_index\":33,\"name\":{\"39\":{}},\"comment\":{}}],[\"milliseconds\",{\"_index\":89,\"name\":{\"112\":{}},\"comment\":{}}],[\"onerror\",{\"_index\":32,\"name\":{\"38\":{}},\"comment\":{}}],[\"payloadhash\",{\"_index\":195,\"name\":{\"321\":{}},\"comment\":{}}],[\"percent\",{\"_index\":90,\"name\":{\"113\":{}},\"comment\":{}}],[\"powertoollogformatter\",{\"_index\":65,\"name\":{\"80\":{}},\"comment\":{}}],[\"powertools/commons\",{\"_index\":2,\"name\":{\"0\":{}},\"comment\":{}}],[\"powertools/idempotency\",{\"_index\":176,\"name\":{\"280\":{}},\"comment\":{}}],[\"powertools/logger\",{\"_index\":39,\"name\":{\"47\":{}},\"comment\":{}}],[\"powertools/metrics\",{\"_index\":68,\"name\":{\"91\":{}},\"comment\":{}}],[\"powertools/parameters\",{\"_index\":138,\"name\":{\"206\":{}},\"comment\":{}}],[\"powertools/tracer\",{\"_index\":117,\"name\":{\"161\":{}},\"comment\":{}}],[\"provider\",{\"_index\":119,\"name\":{\"164\":{}},\"comment\":{}}],[\"publishstoredmetrics\",{\"_index\":107,\"name\":{\"135\":{},\"151\":{}},\"comment\":{}}],[\"putannotation\",{\"_index\":133,\"name\":{\"182\":{},\"186\":{}},\"comment\":{}}],[\"putmetadata\",{\"_index\":134,\"name\":{\"183\":{},\"188\":{}},\"comment\":{}}],[\"refreshsampleratecalculation\",{\"_index\":57,\"name\":{\"72\":{}},\"comment\":{}}],[\"removekeys\",{\"_index\":58,\"name\":{\"73\":{}},\"comment\":{}}],[\"removepersistentlogattributes\",{\"_index\":59,\"name\":{\"74\":{}},\"comment\":{}}],[\"resolvedecryptionconfigvalue\",{\"_index\":165,\"name\":{\"257\":{}},\"comment\":{}}],[\"response\",{\"_index\":37,\"name\":{\"44\":{}},\"comment\":{}}],[\"responsedata\",{\"_index\":196,\"name\":{\"322\":{}},\"comment\":{}}],[\"sam\",{\"_index\":208,\"name\":{\"341\":{}},\"comment\":{}}],[\"sample\",{\"_index\":207,\"name\":{\"340\":{}},\"comment\":{}}],[\"saveinprogress\",{\"_index\":187,\"name\":{\"292\":{},\"305\":{},\"331\":{}},\"comment\":{}}],[\"savesuccess\",{\"_index\":188,\"name\":{\"293\":{},\"306\":{},\"332\":{}},\"comment\":{}}],[\"seconds\",{\"_index\":91,\"name\":{\"114\":{}},\"comment\":{}}],[\"secretsprovider\",{\"_index\":170,\"name\":{\"262\":{}},\"comment\":{}}],[\"serializemetrics\",{\"_index\":108,\"name\":{\"136\":{},\"152\":{}},\"comment\":{}}],[\"servicenamevariable\",{\"_index\":19,\"name\":{\"18\":{},\"309\":{}},\"comment\":{}}],[\"setdefaultdimensions\",{\"_index\":109,\"name\":{\"137\":{},\"153\":{}},\"comment\":{}}],[\"setfunctionname\",{\"_index\":110,\"name\":{\"138\":{}},\"comment\":{}}],[\"setpersistentlogattributes\",{\"_index\":60,\"name\":{\"75\":{}},\"comment\":{}}],[\"setsampleratevalue\",{\"_index\":61,\"name\":{\"76\":{}},\"comment\":{}}],[\"setsegment\",{\"_index\":135,\"name\":{\"184\":{},\"203\":{}},\"comment\":{}}],[\"singlemetric\",{\"_index\":111,\"name\":{\"139\":{},\"154\":{}},\"comment\":{}}],[\"sortattr\",{\"_index\":153,\"name\":{\"226\":{}},\"comment\":{}}],[\"splitbatchanddecryptparameters\",{\"_index\":168,\"name\":{\"260\":{}},\"comment\":{}}],[\"ssmprovider\",{\"_index\":156,\"name\":{\"237\":{}},\"comment\":{}}],[\"standard\",{\"_index\":116,\"name\":{\"159\":{}},\"comment\":{}}],[\"store\",{\"_index\":143,\"name\":{\"212\":{},\"227\":{},\"243\":{},\"266\":{}},\"comment\":{}}],[\"synchandler\",{\"_index\":38,\"name\":{\"45\":{}},\"comment\":{}}],[\"tablename\",{\"_index\":154,\"name\":{\"228\":{}},\"comment\":{}}],[\"terabits\",{\"_index\":92,\"name\":{\"115\":{}},\"comment\":{}}],[\"terabitspersecond\",{\"_index\":93,\"name\":{\"116\":{}},\"comment\":{}}],[\"terabytes\",{\"_index\":94,\"name\":{\"117\":{}},\"comment\":{}}],[\"terabytespersecond\",{\"_index\":95,\"name\":{\"118\":{}},\"comment\":{}}],[\"throwiferrorskeyispresent\",{\"_index\":169,\"name\":{\"261\":{}},\"comment\":{}}],[\"throwonemptymetrics\",{\"_index\":112,\"name\":{\"140\":{}},\"comment\":{}}],[\"tracer\",{\"_index\":118,\"name\":{\"162\":{}},\"comment\":{}}],[\"tracerinterface\",{\"_index\":136,\"name\":{\"185\":{}},\"comment\":{}}],[\"transformandcachegetparametersresponse\",{\"_index\":166,\"name\":{\"258\":{}},\"comment\":{}}],[\"utility\",{\"_index\":21,\"name\":{\"24\":{}},\"comment\":{}}],[\"valueattr\",{\"_index\":155,\"name\":{\"229\":{}},\"comment\":{}}],[\"valuestore\",{\"_index\":144,\"name\":{\"213\":{}},\"comment\":{}}],[\"warn\",{\"_index\":62,\"name\":{\"77\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css deleted file mode 100644 index 18b4f8fee3..0000000000 --- a/docs/assets/style.css +++ /dev/null @@ -1,1367 +0,0 @@ -:root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - --light-color-warning-text: #222; - --light-color-background-warning: #e6e600; - --light-color-icon-background: var(--light-color-background); - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-accent); - --light-color-text: #222; - --light-color-text-aside: #6e6e6e; - --light-color-link: #1f70c2; - - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: var(--light-color-ts-variable); - --light-color-ts-method: var(--light-color-ts-function); - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var(--light-color-ts-constructor); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: var(--light-color-ts-type-alias); - --light-color-ts-accessor: var(--light-color-ts-property); - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - /* object literal not included as it is not used and will be removed in 0.25 */ - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: #5d5d6a; - --dark-color-text: #f5f5f5; - --dark-color-text-aside: #dddddd; - --dark-color-link: #00aff4; - - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: var(--dark-color-ts-variable); - --dark-color-ts-method: var(--dark-color-ts-function); - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); - --dark-color-ts-accessor: var(--dark-color-ts-property); - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - /* object literal not included as it is not used and will be removed in 0.25 */ - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; -} - -@media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } -} - -html { - color-scheme: var(--color-scheme); -} - -body { - margin: 0; -} - -:root[data-theme="light"] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); -} - -:root[data-theme="dark"] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); -} - -.always-visible, -.always-visible .tsd-signatures { - display: inherit !important; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - line-height: 1.2; -} - -h1 > a, -h2 > a, -h3 > a, -h4 > a, -h5 > a, -h6 > a { - text-decoration: none; - color: var(--color-text); -} - -h1 { - font-size: 1.875rem; - margin: 0.67rem 0; -} - -h2 { - font-size: 1.5rem; - margin: 0.83rem 0; -} - -h3 { - font-size: 1.25rem; - margin: 1rem 0; -} - -h4 { - font-size: 1.05rem; - margin: 1.33rem 0; -} - -h5 { - font-size: 1rem; - margin: 1.5rem 0; -} - -h6 { - font-size: 0.875rem; - margin: 2.33rem 0; -} - -.uppercase { - text-transform: uppercase; -} - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -.container { - max-width: 1700px; - padding: 0 2rem; -} - -/* Footer */ -.tsd-generator { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: 3.5rem; -} - -.tsd-generator > p { - margin-top: 0; - margin-bottom: 0; - padding: 0 1rem; -} - -.container-main { - margin: 0 auto; - /* toolbar, footer, margin */ - min-height: calc(100vh - 41px - 56px - 4rem); -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } -} -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } -} -body { - background: var(--color-background); - font-family: "Segoe UI", sans-serif; - font-size: 16px; - color: var(--color-text); -} - -a { - color: var(--color-link); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; -} - -code, -pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; -} - -pre { - position: relative; - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); -} -pre code { - padding: 0; - font-size: 100%; -} -pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; -} -pre:hover > button, -pre > button.visible { - opacity: 1; -} - -blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; -} - -.tsd-typography { - line-height: 1.333em; -} -.tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-typography h4, -.tsd-typography .tsd-index-panel h3, -.tsd-index-panel .tsd-typography h3, -.tsd-typography h5, -.tsd-typography h6 { - font-size: 1em; - margin: 0; -} -.tsd-typography h5, -.tsd-typography h6 { - font-weight: normal; -} -.tsd-typography p, -.tsd-typography ul, -.tsd-typography ol { - margin: 1em 0; -} - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); -} -.tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: " / "; -} - -.tsd-comment-tags { - display: flex; - flex-direction: column; -} -dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; -} -dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; -} -dl.tsd-comment-tag-group dd { - margin: 0; -} -code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; -} -h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; -} - -dl.tsd-comment-tag-group dd:before, -dl.tsd-comment-tag-group dd:after { - content: " "; -} -dl.tsd-comment-tag-group dd pre, -dl.tsd-comment-tag-group dd:after { - clear: both; -} -dl.tsd-comment-tag-group p { - margin: 0; -} - -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; -} -.tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; -} - -.tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; -} -.tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; -} -.tsd-filter-input { - display: flex; - width: fit-content; - width: -moz-fit-content; - align-items: center; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - cursor: pointer; -} -.tsd-filter-input input[type="checkbox"] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; -} -.tsd-filter-input input[type="checkbox"]:disabled { - pointer-events: none; -} -.tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; -} -.tsd-filter-input input[type="checkbox"]:focus + svg { - transform: scale(0.95); -} -.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { - transform: scale(1); -} -.tsd-checkbox-background { - fill: var(--color-accent); -} -input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); -} - -.tsd-theme-toggle { - padding-top: 0.75rem; -} -.tsd-theme-toggle > h4 { - display: inline; - vertical-align: middle; - margin-right: 0.75rem; -} - -.tsd-hierarchy { - list-style: square; - margin: 0; -} -.tsd-hierarchy .target { - font-weight: bold; -} - -.tsd-panel-group.tsd-index-group { - margin-bottom: 0; -} -.tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; -} -@media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); - } -} -@media (max-width: 768px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); - } -} -.tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; -} - -.tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; -} - -.tsd-anchor { - position: relative; - top: -100px; -} - -.tsd-member { - position: relative; -} -.tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; -} - -.tsd-navigation.settings { - margin: 1rem 0; -} -.tsd-navigation > a, -.tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.5rem); -} -.tsd-navigation a, -.tsd-navigation summary > span, -.tsd-page-navigation a { - display: inline-flex; - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; -} -.tsd-navigation a.current, -.tsd-page-navigation a.current { - background: var(--color-active-menu-item); -} -.tsd-navigation a:hover, -.tsd-page-navigation a:hover { - text-decoration: underline; -} -.tsd-navigation ul, -.tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; -} -.tsd-navigation li, -.tsd-page-navigation li { - padding: 0; - max-width: 100%; -} -.tsd-nested-navigation { - margin-left: 3rem; -} -.tsd-nested-navigation > li > details { - margin-left: -1.5rem; -} -.tsd-small-nested-navigation { - margin-left: 1.5rem; -} -.tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; -} - -.tsd-nested-navigation > li > a, -.tsd-nested-navigation > li > span { - width: calc(100% - 1.75rem - 0.5rem); -} - -.tsd-page-navigation ul { - padding-left: 1.75rem; -} - -#tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; -} -#tsd-sidebar-links a:last-of-type { - margin-bottom: 0; -} - -a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} -.tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ -} -.tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ -} -.tsd-accordion-summary, -.tsd-accordion-summary a { - user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - - cursor: pointer; -} -.tsd-accordion-summary a { - width: calc(100% - 1.5rem); -} -.tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; -} -.tsd-index-accordion .tsd-accordion-summary > svg { - margin-left: 0.25rem; -} -.tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; -} -.tsd-index-heading { - margin-top: 1.5rem; - margin-bottom: 0.75rem; -} - -.tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; -} -.tsd-kind-icon path { - transform-origin: center; - transform: scale(1.1); -} -.tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; -} - -.tsd-panel { - margin-bottom: 2.5rem; -} -.tsd-panel.tsd-member { - margin-bottom: 4rem; -} -.tsd-panel:empty { - display: none; -} -.tsd-panel > h1, -.tsd-panel > h2, -.tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; -} -.tsd-panel > h1.tsd-before-signature, -.tsd-panel > h2.tsd-before-signature, -.tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; -} - -.tsd-panel-group { - margin: 4rem 0; -} -.tsd-panel-group.tsd-index-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group details { - margin: 2rem 0; -} - -#tsd-search { - transition: background-color 0.2s; -} -#tsd-search .title { - position: relative; - z-index: 2; -} -#tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 2.5rem; - height: 100%; -} -#tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: var(--color-text); -} -#tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; -} -#tsd-search .field input, -#tsd-search .title, -#tsd-toolbar-links a { - transition: opacity 0.2s; -} -#tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -#tsd-search .results li { - padding: 0 10px; - background-color: var(--color-background); -} -#tsd-search .results li:nth-child(even) { - background-color: var(--color-background-secondary); -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current, -#tsd-search .results li:hover { - background-color: var(--color-accent); -} -#tsd-search .results a { - display: block; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; -} -#tsd-search.has-focus { - background-color: var(--color-accent); -} -#tsd-search.has-focus .field input { - top: 0; - opacity: 1; -} -#tsd-search.has-focus .title, -#tsd-search.has-focus #tsd-toolbar-links a { - z-index: 0; - opacity: 0; -} -#tsd-search.has-focus .results { - visibility: visible; -} -#tsd-search.loading .results li.state.loading { - display: block; -} -#tsd-search.failure .results li.state.failure { - display: block; -} - -#tsd-toolbar-links { - position: absolute; - top: 0; - right: 2rem; - height: 100%; - display: flex; - align-items: center; - justify-content: flex-end; -} -#tsd-toolbar-links a { - margin-left: 1.5rem; -} -#tsd-toolbar-links a:hover { - text-decoration: underline; -} - -.tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; -} - -.tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; -} -.tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; -} -.tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; -} - -ul.tsd-parameter-list, -ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; -} -ul.tsd-parameter-list > li.tsd-parameter-signature, -ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; -} -ul.tsd-parameter-list h5, -ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} -.tsd-sources { - margin-top: 1rem; - font-size: 0.875em; -} -.tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: 1px var(--color-accent) solid; - transition: transform 0.3s ease-in-out; -} -.tsd-page-toolbar a { - color: var(--color-text); - text-decoration: none; -} -.tsd-page-toolbar a.title { - font-weight: bold; -} -.tsd-page-toolbar a.title:hover { - text-decoration: underline; -} -.tsd-page-toolbar .tsd-toolbar-contents { - display: flex; - justify-content: space-between; - height: 2.5rem; - margin: 0 auto; -} -.tsd-page-toolbar .table-cell { - position: relative; - white-space: nowrap; - line-height: 40px; -} -.tsd-page-toolbar .table-cell:first-child { - width: 100%; -} -.tsd-page-toolbar .tsd-toolbar-icon { - box-sizing: border-box; - line-height: 0; - padding: 12px 0; -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.9; -} -.tsd-widget.active { - opacity: 1; - background-color: var(--color-accent); -} -.tsd-widget.no-caption { - width: 40px; -} -.tsd-widget.no-caption:before { - margin: 0; -} - -.tsd-widget.options, -.tsd-widget.menu { - display: none; -} -input[type="checkbox"] + .tsd-widget:before { - background-position: -120px 0; -} -input[type="checkbox"]:checked + .tsd-widget:before { - background-position: -160px 0; -} - -img { - max-width: 100%; -} - -.tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - vertical-align: middle; - color: var(--color-text); -} - -.tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; -} - -.tsd-anchor-link:hover > .tsd-anchor-icon svg { - visibility: visible; -} - -.deprecated { - text-decoration: line-through; -} - -.warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); -} - -.tsd-kind-project { - color: var(--color-ts-project); -} -.tsd-kind-module { - color: var(--color-ts-module); -} -.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-kind-enum-member { - color: var(--color-ts-enum-member); -} -.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-kind-constructor { - color: var(--color-ts-constructor); -} -.tsd-kind-property { - color: var(--color-ts-property); -} -.tsd-kind-method { - color: var(--color-ts-method); -} -.tsd-kind-call-signature { - color: var(--color-ts-call-signature); -} -.tsd-kind-index-signature { - color: var(--color-ts-index-signature); -} -.tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); -} -.tsd-kind-parameter { - color: var(--color-ts-parameter); -} -.tsd-kind-type-literal { - color: var(--color-ts-type-literal); -} -.tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); -} -.tsd-kind-accessor { - color: var(--color-ts-accessor); -} -.tsd-kind-get-signature { - color: var(--color-ts-get-signature); -} -.tsd-kind-set-signature { - color: var(--color-ts-set-signature); -} -.tsd-kind-type-alias { - color: var(--color-ts-type-alias); -} - -/* if we have a kind icon, don't color the text by kind */ -.tsd-kind-icon ~ span { - color: var(--color-text); -} - -* { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); -} - -*::-webkit-scrollbar { - width: 0.75rem; -} - -*::-webkit-scrollbar-track { - background: var(--color-icon-background); -} - -*::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); -} - -/* mobile */ -@media (max-width: 769px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } - - .container-main { - display: flex; - } - html .col-content { - float: none; - max-width: 100%; - width: 100%; - } - html .col-sidebar { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-sidebar > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } -} - -/* one sidebar */ -@media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: "sidebar content"; - margin: 2rem auto; - } - - .col-sidebar { - grid-area: sidebar; - } - .col-content { - grid-area: content; - padding: 0 1rem; - } -} -@media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - padding-top: 1rem; - } - .site-menu { - margin-top: 1rem; - } -} - -/* two sidebars */ -@media (min-width: 1200px) { - .container-main { - grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); - grid-template-areas: "sidebar content toc"; - } - - .col-sidebar { - display: contents; - } - - .page-menu { - grid-area: toc; - padding-left: 1rem; - } - .site-menu { - grid-area: sidebar; - } - - .site-menu { - margin-top: 1rem 0; - } - - .page-menu, - .site-menu { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - } -} diff --git a/docs/classes/_aws_lambda_powertools_commons.ConfigService.html b/docs/classes/_aws_lambda_powertools_commons.ConfigService.html deleted file mode 100644 index 9de67bf733..0000000000 --- a/docs/classes/_aws_lambda_powertools_commons.ConfigService.html +++ /dev/null @@ -1,227 +0,0 @@ -ConfigService | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Abstract class ConfigService

-

This class defines common methods and variables that can be set by the developer -in the runtime.

- -

Abstract

-
-

Hierarchy

-
-
-
-
- -
-
-

Constructors

-
-
-

Methods

-
-
-

Constructors

-
- -
-
-

Methods

-
- -
    - -
  • -

    It returns the value of an environment variable that has given name.

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
    -

    Returns string

-
- -
    - -
  • -

    It returns the value of the POWERTOOLS_SERVICE_NAME environment variable.

    -
    -

    Returns string

-
- -
    - -
  • -

    It returns the value of the _X_AMZN_TRACE_ID environment variable.

    -

    The AWS X-Ray Trace data available in the environment variable has this format: -Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    -

    The actual Trace ID is: 1-5759e988-bd862e3fe1be46a994272793.

    -
    -

    Returns undefined | string

-
- -
    - -
  • -

    It returns true if the string value represents a boolean true value.

    -
    -
    -

    Parameters

    -
      -
    • -
      value: string
    -

    Returns boolean

    boolean

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html b/docs/classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html deleted file mode 100644 index 83054deb6a..0000000000 --- a/docs/classes/_aws_lambda_powertools_commons.EnvironmentVariablesService.html +++ /dev/null @@ -1,268 +0,0 @@ -EnvironmentVariablesService | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Class EnvironmentVariablesService

-

This class is used to return environment variables that are available in the runtime of -the current Lambda invocation. -These variables can be a mix of runtime environment variables set by AWS and -variables that can be set by the developer additionally.

- -

See

-
-
-

Hierarchy

-
-
-
-
- -
-
-

Constructors

-
-
-

Properties

-
-
-

Methods

-
-
-

Constructors

-
- -
-
-

Properties

-
- -
serviceNameVariable: string = 'POWERTOOLS_SERVICE_NAME'
-
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -

    It returns the value of the _X_AMZN_TRACE_ID environment variable.

    -

    The AWS X-Ray Trace data available in the environment variable has this format: -Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    -

    The actual Trace ID is: 1-5759e988-bd862e3fe1be46a994272793.

    -
    -

    Returns undefined | string

-
- -
    - -
  • -

    It returns true if the Sampled flag is set in the _X_AMZN_TRACE_ID environment variable.

    -

    The AWS X-Ray Trace data available in the environment variable has this format: -Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    -
    -

    Returns boolean

-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_commons.Utility.html b/docs/classes/_aws_lambda_powertools_commons.Utility.html deleted file mode 100644 index ab45e3b531..0000000000 --- a/docs/classes/_aws_lambda_powertools_commons.Utility.html +++ /dev/null @@ -1,247 +0,0 @@ -Utility | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Intro

Utility is a base class that other Powertools utilites can extend to inherit shared logic.

-

Key features

    -
  • Cold Start heuristic to determine if the current
  • -
-

Usage

Cold Start

Cold start is a term commonly used to describe the Init phase of a Lambda function. In this phase, Lambda creates or unfreezes an execution environment with the configured resources, downloads the code for the function and all layers, initializes any extensions, initializes the runtime, and then runs the function’s initialization code (the code outside the main handler). The Init phase happens either during the first invocation, or in advance of function invocations if you have enabled provisioned concurrency.

-

To learn more about the Lambda execution environment lifecycle, see the Execution environment section of the AWS Lambda documentation.

-

As a Powertools user you probably won't be using this class directly, in fact if you use other Powertools utilities the cold start heuristic found here is already used to:

-
    -
  • Add a coldStart key to the structured logs when injecting context information in Logger
  • -
  • Emit a metric during a cold start function invocation in Metrics
  • -
  • Annotate the invocation segment with a coldStart key in Tracer
  • -
-

If you want to use this logic in your own utilities, Utility provides two methods:

-

getColdStart()

Since the Utility class is instantiated outside of the Lambda handler it will persist across invocations of the same execution environment. This means that if you call getColdStart() multiple times, it will return true during the first invocation, and false afterwards.

- -

Example

import { Utility } from '@aws-lambda-powertools/commons';

const utility = new Utility();

export const handler = async (_event: any, _context: any) => {
utility.getColdStart();
}; -
-

isColdStart()

This method is an alias of getColdStart() and is exposed for convenience and better readability in certain usages.

- -

Example

import { Utility } from '@aws-lambda-powertools/commons';

const utility = new Utility();

export const handler = async (_event: any, _context: any) => {
if (utility.isColdStart()) {
// do something, this block is only executed on the first invocation of the function
} else {
// do something else, this block gets executed on all subsequent invocations
}
}; -
-
-
-

Hierarchy

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Methods

-
- -
    - -
  • -

    Returns boolean

-
- -
    - -
  • -

    Returns string

-
- -
    - -
  • -

    Returns boolean

-
- -
    - -
  • -

    Validate that the service name provided is valid. -Used internally during initialization.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional serviceName: string
      -

      Service name to validate

      -
    -

    Returns boolean

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html b/docs/classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html deleted file mode 100644 index 0489838d45..0000000000 --- a/docs/classes/_aws_lambda_powertools_idempotency.BasePersistenceLayer.html +++ /dev/null @@ -1,357 +0,0 @@ -BasePersistenceLayer | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Hierarchy

-
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
idempotencyKeyPrefix: string
-
-

Methods

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Saves a record indicating that the function's execution is currently in progress

    -
    -
    -

    Parameters

    -
      -
    • -
      data: Record<string, unknown>
      -

      the data payload that will be hashed to create the hash portion of the idempotency key

      -
    • -
    • -
      Optional remainingTimeInMillis: number
      -

      the remaining time left in the lambda execution context

      -
    -

    Returns Promise<void>

-
- -
    - -
  • -

    Saves a record of the function completing successfully. This will create a record with a COMPLETED status -and will save the result of the completed function in the idempotency record.

    -
    -
    -

    Parameters

    -
      -
    • -
      data: Record<string, unknown>
      -

      the data payload that will be hashed to create the hash portion of the idempotency key

      -
    • -
    • -
      result: Record<string, unknown>
      -

      the result of the successfully completed function

      -
    -

    Returns Promise<void>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html b/docs/classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html deleted file mode 100644 index 0f8ee83df1..0000000000 --- a/docs/classes/_aws_lambda_powertools_idempotency.DynamoDBPersistenceLayer.html +++ /dev/null @@ -1,363 +0,0 @@ -DynamoDBPersistenceLayer | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Hierarchy

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
idempotencyKeyPrefix: string
-
-

Methods

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Saves a record indicating that the function's execution is currently in progress

    -
    -
    -

    Parameters

    -
      -
    • -
      data: Record<string, unknown>
      -

      the data payload that will be hashed to create the hash portion of the idempotency key

      -
    • -
    • -
      Optional remainingTimeInMillis: number
      -

      the remaining time left in the lambda execution context

      -
    -

    Returns Promise<void>

-
- -
    - -
  • -

    Saves a record of the function completing successfully. This will create a record with a COMPLETED status -and will save the result of the completed function in the idempotency record.

    -
    -
    -

    Parameters

    -
      -
    • -
      data: Record<string, unknown>
      -

      the data payload that will be hashed to create the hash portion of the idempotency key

      -
    • -
    • -
      result: Record<string, unknown>
      -

      the result of the successfully completed function

      -
    -

    Returns Promise<void>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html b/docs/classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html deleted file mode 100644 index de2780d70d..0000000000 --- a/docs/classes/_aws_lambda_powertools_idempotency.EnvironmentVariablesService.html +++ /dev/null @@ -1,288 +0,0 @@ -EnvironmentVariablesService | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Class EnvironmentVariablesService

-

This class is used to return environment variables that are available in the runtime of -the current Lambda invocation. -These variables can be a mix of runtime environment variables set by AWS and -variables that can be set by the developer additionally.

- -

Implements

-

See

-
-
-

Hierarchy

-
-
-

Implements

-
    -
  • ConfigServiceInterface
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
serviceNameVariable: string
-
-
-

Methods

-
- -
    - -
  • -

    It returns the value of an environment variable that has given name.

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
    -

    Returns string

-
- -
-
- -
    - -
  • -

    It returns the value of the POWERTOOLS_SERVICE_NAME environment variable.

    -
    -

    Returns string

-
- -
    - -
  • -

    It returns the value of the _X_AMZN_TRACE_ID environment variable.

    -

    The AWS X-Ray Trace data available in the environment variable has this format: -Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    -

    The actual Trace ID is: 1-5759e988-bd862e3fe1be46a994272793.

    -
    -

    Returns undefined | string

-
- -
    - -
  • -

    It returns true if the Sampled flag is set in the _X_AMZN_TRACE_ID environment variable.

    -

    The AWS X-Ray Trace data available in the environment variable has this format: -Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1,

    -
    -

    Returns boolean

-
- -
    - -
  • -

    It returns true if the string value represents a boolean true value.

    -
    -
    -

    Parameters

    -
      -
    • -
      value: string
    -

    Returns boolean

    boolean

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html b/docs/classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html deleted file mode 100644 index 5f6e934014..0000000000 --- a/docs/classes/_aws_lambda_powertools_idempotency.IdempotencyRecord.html +++ /dev/null @@ -1,236 +0,0 @@ -IdempotencyRecord | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Class representing an idempotency record

-
-
-

Hierarchy

-
    -
  • IdempotencyRecord
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
expiryTimestamp?: number
-
- -
idempotencyKey: string
-
- -
inProgressExpiryTimestamp?: number
-
- -
payloadHash?: string
-
- -
responseData?: Record<string, unknown>
-
-

Methods

-
- -
-
- -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_logger.LogFormatter.html b/docs/classes/_aws_lambda_powertools_logger.LogFormatter.html deleted file mode 100644 index 7f7863ecbb..0000000000 --- a/docs/classes/_aws_lambda_powertools_logger.LogFormatter.html +++ /dev/null @@ -1,238 +0,0 @@ -LogFormatter | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

This class defines and implements common methods for the formatting of log attributes.

- -

Abstract

-

Implements

-
-

Hierarchy

-
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Methods

-
- -
-
- -
-
- -
    - -
  • -

    It formats a date into a string in simplified extended ISO format (ISO 8601).

    -
    -
    -

    Parameters

    -
      -
    • -
      now: Date
    -

    Returns string

-
- -
    - -
  • -

    It returns a string containing the location of an error, given a particular stack trace.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional stack: string
    -

    Returns string

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_logger.Logger.html b/docs/classes/_aws_lambda_powertools_logger.Logger.html deleted file mode 100644 index 3e8666195d..0000000000 --- a/docs/classes/_aws_lambda_powertools_logger.Logger.html +++ /dev/null @@ -1,637 +0,0 @@ -Logger | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Intro

The Logger utility provides an opinionated logger with output structured as JSON.

-

Key features

    -
  • Capture key fields from Lambda context, cold start and structures logging output as JSON
  • -
  • Log Lambda context when instructed (disabled by default)
  • -
  • Log sampling prints all logs for a percentage of invocations (disabled by default)
  • -
  • Append additional keys to structured log at any point in time
  • -
-

Usage

For more usage examples, see our documentation.

-

Basic usage

-

Example

import { Logger } from '@aws-lambda-powertools/logger';

// Logger parameters fetched from the environment variables:
const logger = new Logger(); -
-

Functions usage with middleware

If you use function-based Lambda handlers you can use the injectLambdaContext() -middy middleware to automatically add context to your Lambda logs.

- -

Example

import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger';
import middy from '@middy/core';

const logger = new Logger();

const lambdaHandler = async (_event: any, _context: any) => {
logger.info('This is an INFO log with some context');
};

export const handler = middy(lambdaHandler).use(injectLambdaContext(logger)); -
-

Object oriented usage with decorators

If instead you use TypeScript classes to wrap your Lambda handler you can use the @logger.injectLambdaContext() decorator.

- -

Example

import { Logger } from '@aws-lambda-powertools/logger';
import { LambdaInterface } from '@aws-lambda-powertools/commons';

const logger = new Logger();

class Lambda implements LambdaInterface {

// FYI: Decorator might not render properly in VSCode mouse over due to https://github.com/microsoft/TypeScript/issues/47679 and might show as *@logger* instead of `@logger.injectLambdaContext`

// Decorate your handler class method
@logger.injectLambdaContext()
public async handler(_event: any, _context: any): Promise<void> {
logger.info('This is an INFO log with some context');
}
}

const handlerClass = new Lambda();
export const handler = handlerClass.handler.bind(handlerClass); -
-

Functions usage with manual instrumentation

If you prefer to manually instrument your Lambda handler you can use the methods in the Logger class directly.

- -

Example

import { Logger } from '@aws-lambda-powertools/logger';

const logger = new Logger();

export const handler = async (_event, context) => {
logger.addContext(context);
logger.info('This is an INFO log with some context');
}; -
- -

Implements

-

See

https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/

-
-
-

Hierarchy

-
-
-

Implements

-
    -
  • ClassThatLogs
-
-
-
- -
-
-

Constructors

-
- -
-
-

Methods

-
- -
    - -
  • -

    It adds the current Lambda function's invocation context data to the powertoolLogData property of the instance. -This context data will be part of all printed log items.

    -
    -
    -

    Parameters

    -
      -
    • -
      context: Context
    -

    Returns void

-
- -
    - -
  • -

    It adds the given attributes (key-value pairs) to all log items generated by this Logger instance.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional attributes: LogAttributes
    -

    Returns void

-
- -
    - -
  • -

    Alias for addPersistentLogAttributes.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional attributes: LogAttributes
    -

    Returns void

-
- -
    - -
  • -

    It creates a separate Logger instance, identical to the current one -It's possible to overwrite the new instance options by passing them.

    -
    -
    -

    Parameters

    -
      -
    • -
      options: ConstructorOptions = {}
    -

    Returns Logger

-
- -
    - -
  • -

    It prints a log item with level CRITICAL.

    -
    -
    -

    Parameters

    -
      -
    • -
      input: LogItemMessage
    • -
    • -
      Rest ...extraInput: LogItemExtraInput
    -

    Returns void

-
- -
    - -
  • -

    It prints a log item with level DEBUG.

    -
    -
    -

    Parameters

    -
      -
    • -
      input: LogItemMessage
    • -
    • -
      Rest ...extraInput: LogItemExtraInput
    -

    Returns void

-
- -
    - -
  • -

    It prints a log item with level ERROR.

    -
    -
    -

    Parameters

    -
      -
    • -
      input: LogItemMessage
    • -
    • -
      Rest ...extraInput: LogItemExtraInput
    -

    Returns void

-
- -
    - -
  • -

    Returns boolean

-
- -
-
- -
    - -
  • -

    It returns a boolean value. True means that the Lambda invocation events -are printed in the logs.

    -
    -

    Returns boolean

-
- -
    - -
  • -

    It returns a boolean value, if true all the logs will be printed.

    -
    -

    Returns boolean

-
- -
    - -
  • -

    It prints a log item with level INFO.

    -
    -
    -

    Parameters

    -
      -
    • -
      input: LogItemMessage
    • -
    • -
      Rest ...extraInput: LogItemExtraInput
    -

    Returns void

-
- -
    - -
  • -

    Method decorator that adds the current Lambda function context as extra -information in all log items.

    -

    The decorator can be used only when attached to a Lambda function handler which -is written as method of a class, and should be declared just before the handler declaration.

    -

    Note: Currently TypeScript only supports decorators on classes and methods. If you are using the -function syntax, you should use the middleware instead.

    - -

    Example

    import { Logger } from '@aws-lambda-powertools/logger';
    import { LambdaInterface } from '@aws-lambda-powertools/commons';

    const logger = new Logger();

    class Lambda implements LambdaInterface {
    // Decorate your handler class method
    @logger.injectLambdaContext()
    public async handler(_event: any, _context: any): Promise<void> {
    logger.info('This is an INFO log with some context');
    }
    }

    const handlerClass = new Lambda();
    export const handler = handlerClass.handler.bind(handlerClass); -
    - -

    See

    https://www.typescriptlang.org/docs/handbook/decorators.html#method-decorators

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional options: HandlerOptions
    -

    Returns HandlerMethodDecorator

-
- -
    - -
  • -

    Returns boolean

-
- -
    - -
  • -

    Validate that the service name provided is valid. -Used internally during initialization.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional serviceName: string
      -

      Service name to validate

      -
    -

    Returns boolean

-
- -
    - -
  • -

    Logs a Lambda invocation event, if it should.

    -
      -
    • -
    -
    -
    -

    Parameters

    -
      -
    • -
      event: unknown
    • -
    • -
      Optional overwriteValue: boolean
    -

    Returns void

-
- -
    - -
  • -

    If the sample rate feature is enabled, the calculation that determines whether the logs -will actually be printed or not for this invocation is done when the Logger class is -initialized. -This method will repeat that calculation (with possible different outcome).

    -
    -

    Returns void

-
- -
    - -
  • -

    Alias for removePersistentLogAttributes.

    -
    -
    -

    Parameters

    -
      -
    • -
      keys: string[]
    -

    Returns void

-
- -
    - -
  • -

    It removes attributes based on provided keys to all log items generated by this Logger instance.

    -
    -
    -

    Parameters

    -
      -
    • -
      keys: string[]
    -

    Returns void

-
- -
    - -
  • -

    It sets the given attributes (key-value pairs) to all log items generated by this Logger instance. -Note: this replaces the pre-existing value.

    -
    -
    -

    Parameters

    -
      -
    • -
      attributes: LogAttributes
    -

    Returns void

-
- -
    - -
  • -

    It sets the user-provided sample rate value.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional sampleRateValue: number
    -

    Returns void

-
- -
    - -
  • -

    It prints a log item with level WARN.

    -
    -
    -

    Parameters

    -
      -
    • -
      input: LogItemMessage
    • -
    • -
      Rest ...extraInput: LogItemExtraInput
    -

    Returns void

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      logger: Logger
    • -
    • -
      initialPersistentAttributes: LogAttributes
    • -
    • -
      Optional options: HandlerOptions
    -

    Returns void

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      logger: Logger
    • -
    • -
      event: unknown
    • -
    • -
      context: Context
    • -
    • -
      Optional options: HandlerOptions
    -

    Returns void

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html b/docs/classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html deleted file mode 100644 index 7f99a5eb23..0000000000 --- a/docs/classes/_aws_lambda_powertools_logger.PowertoolLogFormatter.html +++ /dev/null @@ -1,235 +0,0 @@ -PowertoolLogFormatter | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

This class is used to transform a set of log key-value pairs -in the AWS Lambda Powertools' default structure log format.

-
-
-

Hierarchy

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Methods

-
- -
-
- -
-
- -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_metrics.Metrics.html b/docs/classes/_aws_lambda_powertools_metrics.Metrics.html deleted file mode 100644 index 43d4e6abae..0000000000 --- a/docs/classes/_aws_lambda_powertools_metrics.Metrics.html +++ /dev/null @@ -1,591 +0,0 @@ -Metrics | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Intro

Metrics creates custom metrics asynchronously by logging metrics to standard output following Amazon CloudWatch Embedded Metric Format (EMF).

-

These metrics can be visualized through Amazon CloudWatch Console.

-

Key features

    -
  • Aggregate up to 100 metrics using a single CloudWatch EMF object (large JSON blob)
  • -
  • Validate against common metric definitions mistakes (metric unit, values, max dimensions, max metrics, etc)
  • -
  • Metrics are created asynchronously by CloudWatch service, no custom stacks needed
  • -
  • Context manager to create a one off metric with a different dimension
  • -
-

Usage

Functions usage with middleware

Using this middleware on your handler function will automatically flush metrics after the function returns or throws an error. -Additionally, you can configure the middleware to easily:

-
    -
  • ensure that at least one metric is emitted before you flush them
  • -
  • capture a ColdStart a metric
  • -
  • set default dimensions for all your metrics
  • -
- -

Example

import { Metrics, logMetrics } from '@aws-lambda-powertools/metrics';
import middy from '@middy/core';

const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

const lambdaHandler = async (_event: any, _context: any) => {
...
};

export const handler = middy(lambdaHandler).use(logMetrics(metrics)); -
-

Object oriented way with decorator

If you are used to TypeScript Class usage to encapsulate your Lambda handler you can leverage the @metrics.logMetrics() decorator to automatically:

-
    -
  • capture a ColdStart metric
  • -
  • flush buffered metrics
  • -
  • throw on empty metrics
  • -
- -

Example

import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';
import { LambdaInterface } from '@aws-lambda-powertools/commons';

const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

class Lambda implements LambdaInterface {

// FYI: Decorator might not render properly in VSCode mouse over due to https://github.com/microsoft/TypeScript/issues/47679 and might show as *@metrics* instead of `@metrics.logMetrics`

@metrics.logMetrics({ captureColdStartMetric: true, throwOnEmptyMetrics: true })
public handler(_event: any, _context: any): Promise<void> {
// ...
metrics.addMetric('test-metric', MetricUnits.Count, 10);
// ...
}
}

const handlerClass = new Lambda();
export const handler = handlerClass.handler.bind(handlerClass); -
-

Standard function

If you are used to classic JavaScript functions, you can leverage the different methods provided to create and publish metrics.

- -

Example

import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';

const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

export const handler = async (_event: any, _context: any): Promise<void> => {
metrics.captureColdStartMetric();
metrics.addMetric('test-metric', MetricUnits.Count, 10);
metrics.publishStoredMetrics();
}; -
-
-
-

Hierarchy

-
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Methods

-
- -
-
- -
    - -
  • -

    Add multiple dimensions to the metrics.

    -

    A dimension is a key-value pair that is used to group metrics.

    -
    -
    -

    Parameters

    -
      -
    • -
      dimensions: {
          [key: string]: string;
      }
      -

      A key-value pair of dimensions

      -
      -
        -
      • -
        [key: string]: string
    -

    Returns void

-
- -
    - -
  • -

    A high-cardinality data part of your Metrics log.

    -

    This is useful when you want to search highly contextual information along with your metrics in your logs.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      The key of the metadata

      -
    • -
    • -
      value: string
      -

      The value of the metadata

      -
    -

    Returns void

-
- -
    - -
  • -

    Add a metric to the metrics buffer.

    -

    By default, metrics are buffered and flushed at the end of the Lambda invocation -or when calling publishStoredMetrics.

    -

    You can add a metric by specifying the metric name, unit, and value. For convenience, -we provide a set of constants for the most common units in MetricUnits.

    - -

    Example

    import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    metrics.addMetric('successfulBooking', MetricUnits.Count, 1); -
    -

    Optionally, you can specify the metric resolution, which can be either High or Standard. -By default, metrics are published with a resolution of Standard, click here -to learn more about metric resolutions.

    - -

    Example

    import { Metrics, MetricUnits, MetricResolution } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    metrics.addMetric('successfulBooking', MetricUnits.Count, 1, MetricResolution.High); -
    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      The metric name

      -
    • -
    • -
      unit: MetricUnit
      -

      The metric unit

      -
    • -
    • -
      value: number
      -

      The metric value

      -
    • -
    • -
      resolution: MetricResolution = MetricResolution.Standard
      -

      The metric resolution

      -
    -

    Returns void

-
- -
    - -
  • -

    Create a singleMetric to capture cold start.

    -

    If it's a cold start invocation, this feature will:

    -
      -
    • Create a separate EMF blob that contains a single metric named ColdStart
    • -
    • Add function_name and service dimensions
    • -
    -

    This has the advantage of keeping cold start metric separate from your application metrics, where you might have unrelated dimensions, -as well as avoiding potential data loss from metrics not being published for other reasons.

    - -

    Example

    import { Metrics } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    export const handler = async (event: any, _context: any): Promise<void> => {
    metrics.captureColdStartMetric();
    }; -
    -
    -

    Returns void

-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Returns boolean

-
- -
-
- -
    - -
  • -

    Returns boolean

-
- -
    - -
  • -

    Validate that the service name provided is valid. -Used internally during initialization.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional serviceName: string
      -

      Service name to validate

      -
    -

    Returns boolean

-
- -
    - -
  • -

    A decorator automating coldstart capture, throw on empty metrics and publishing metrics on handler exit.

    - -

    Example

    import { Metrics } from '@aws-lambda-powertools/metrics';
    import { LambdaInterface } from '@aws-lambda-powertools/commons';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    class Lambda implements LambdaInterface {

    @metrics.logMetrics({ captureColdStartMetric: true })
    public handler(_event: any, _context: any): Promise<void> {
    // ...
    }
    }

    const handlerClass = new Lambda();
    export const handler = handlerClass.handler.bind(handlerClass); -
    - -

    Decorator

    Class

    -
    -
    -

    Parameters

    -
      -
    • -
      options: ExtraOptions = {}
    -

    Returns HandlerMethodDecorator

-
- -
    - -
  • -

    Synchronous function to actually publish your metrics. (Not needed if using logMetrics decorator). -It will create a new EMF blob and log it to standard output to be then ingested by Cloudwatch logs and processed automatically for metrics creation.

    - -

    Example

    import { Metrics, MetricUnits } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' }); // Sets metric namespace, and service as a metric dimension

    export const handler = async (_event: any, _context: any): Promise<void> => {
    metrics.addMetric('test-metric', MetricUnits.Count, 10);
    metrics.publishStoredMetrics();
    }; -
    -
    -

    Returns void

-
- -
    - -
  • -

    Function to create a new metric object compliant with the EMF (Embedded Metric Format) schema which -includes the metric name, unit, and optionally storage resolution.

    -

    The function will create a new EMF blob and log it to standard output to be then ingested by Cloudwatch -logs and processed automatically for metrics creation.

    - -

    See

    https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Specification.html for more details

    -
    -

    Returns Readonly<{
        _aws: {
            CloudWatchMetrics: {
                Dimensions: [string[]];
                Metrics: MetricDefinition[];
                Namespace: string;
            }[];
            Timestamp: number;
        };
        [key: string]: string | number | object;
    }>

    metrics as JSON object compliant EMF Schema Specification

    -
-
- -
    - -
  • -

    Sets default dimensions that will be added to all metrics.

    -
    -
    -

    Parameters

    -
      -
    • -
      dimensions: undefined | Dimensions
      -

      The default dimensions to be added to all metrics.

      -
    -

    Returns void

-
- -
    - -
  • -

    Sets the function name to be added to the metric.

    -
    -
    -

    Parameters

    -
      -
    • -
      value: string
      -

      The function name to be added to the metric.

      -
    -

    Returns void

-
- -
    - -
  • -

    CloudWatch EMF uses the same dimensions across all your metrics. Use singleMetric if you have a metric that should have different dimensions.

    -

    You don't need to call publishStoredMetrics() after calling addMetric for a singleMetrics, they will be flushed directly.

    - -

    Example

    const singleMetric = metrics.singleMetric();
    singleMetric.addDimension('InnerDimension', 'true');
    singleMetric.addMetric('single-metric', MetricUnits.Percent, 50); -
    -
    -

    Returns Metrics

    the Metrics

    -
-
- -
    - -
  • -

    Throw an Error if the metrics buffer is empty.

    - -

    Example

    import { Metrics } from '@aws-lambda-powertools/metrics';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName:'orders' });

    export const handler = async (_event: any, _context: any): Promise<void> => {
    metrics.throwOnEmptyMetrics();
    metrics.publishStoredMetrics(); // will throw since no metrics added.
    }; -
    -
    -

    Returns void

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_parameters.AppConfigProvider.html b/docs/classes/_aws_lambda_powertools_parameters.AppConfigProvider.html deleted file mode 100644 index ab67112532..0000000000 --- a/docs/classes/_aws_lambda_powertools_parameters.AppConfigProvider.html +++ /dev/null @@ -1,438 +0,0 @@ -AppConfigProvider | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Intro

The Parameters utility provides an AppConfigProvider that allows to retrieve configuration profiles from AWS AppConfig.

-

Getting started

This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

-

To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

-
npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata
-
-

Basic usage

-

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a configuration profile
const encodedConfig = await configProvider.get('my-config');
const config = new TextDecoder('utf-8').decode(encodedConfig);
}; -
-

If you want to retrieve configs without customizing the provider, you can use the getAppConfig function instead.

-

Advanced usage

Caching

By default, the provider will cache parameters retrieved in-memory for 5 seconds. -You can adjust how long values should be kept in cache by using the maxAge parameter.

- -

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a configuration profile and cache it for 10 seconds
const encodedConfig = await configProvider.get('my-config', { maxAge: 10 });
const config = new TextDecoder('utf-8').decode(encodedConfig);
}; -
-

If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

- -

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a config and always fetch the latest value
const config = await configProvider.get('my-config', { forceFetch: true });
const config = new TextDecoder('utf-8').decode(encodedConfig);
}; -
-

Transformations

For configurations stored as freeform JSON, Freature Flag, you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

- -

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a JSON config or Feature Flag and parse it as JSON
const config = await configProvider.get('my-config', { transform: 'json' });
}; -
-

For configurations that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

- -

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a base64-encoded string and decode it
const config = await configProvider.get('my-config', { transform: 'binary' });
}; -
-

Extra SDK options

When retrieving a configuration profile, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

- -

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider();

export const handler = async (): Promise<void> => {
// Retrieve a config and pass extra options to the AWS SDK v3 for JavaScript client
const config = await configProvider.get('my-config', {
sdkOptions: {
RequiredMinimumPollIntervalInSeconds: 60,
},
});
const config = new TextDecoder('utf-8').decode(encodedConfig);
}; -
-

This object accepts the same options as the AWS SDK v3 for JavaScript AppConfigData client.

-

Customize AWS SDK v3 for JavaScript client

By default, the provider will create a new AppConfigData client using the default configuration.

-

You can customize the client by passing a custom configuration object to the provider.

- -

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

const configProvider = new AppConfigProvider({
clientConfig: { region: 'eu-west-1' },
}); -
-

This object accepts the same options as the AWS SDK v3 for JavaScript AppConfig Data client.

-

Otherwise, if you want to use a custom client altogether, you can pass it to the provider.

- -

Example

import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';
import { AppConfigDataClient } from '@aws-sdk/client-appconfigdata';

const client = new AppConfigDataClient({ region: 'eu-west-1' });
const configProvider = new AppConfigProvider({
awsSdkV3Client: client,
}); -
-

This object must be an instance of the AWS SDK v3 for JavaScript AppConfig Data client.

-

For more usage examples, see our documentation.

-
-
-

Hierarchy

-
    -
  • BaseProvider -
      -
    • AppConfigProvider
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
client: AppConfigDataClient
-
- -
configurationTokenStore: Map<string, string> = ...
-
- -
envVarsService: EnvironmentVariablesService
-
- -
store: Map<string, ExpirableValue>
-
- -
valueStore: Map<string, Uint8Array> = ...
-
-

Methods

-
- -
    - -
  • -

    Retrieve a configuration from AWS AppConfig.

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      Name of the configuration or its ID

      -
    • -
    • -
      Optional options: AppConfigGetOptionsInterface
      -

      SDK options to propagate to StartConfigurationSession API call

      -
    -

    Returns Promise<undefined | Uint8Array>

-
- -
    - -
  • -

    Retrieving multiple configurations is not supported by AWS AppConfig.

    - -

    Throws

    Not Implemented Error.

    -
    -
    -

    Parameters

    -
      -
    • -
      _path: string
    • -
    • -
      Optional _sdkOptions: unknown
    -

    Returns Promise<Record<string, undefined | string>>

-
- -
    - -
  • -

    Add a value to the cache.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      Key of the cached value

      -
    • -
    • -
      value: string | Uint8Array | Record<string, unknown>
      -

      Value to be cached

      -
    • -
    • -
      maxAge: number
      -

      Maximum age in seconds for the value to be cached

      -
    -

    Returns void

-
- -
    - -
  • -

    Clear the cache.

    -
    -

    Returns void

-
- -
    - -
  • -

    Retrieve a configuration profile from AWS AppConfig.

    - -

    Example

    import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig';

    const configProvider = new AppConfigProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve a configuration profile
    const encodedConfig = await configProvider.get('my-config');
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; -
    -

    You can customize the retrieval of the configuration profile by passing options to the function:

    -
      -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    -

    For usage examples check AppConfigProvider.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      The name of the configuration profile or its ID

      -
    • -
    • -
      Optional options: AppConfigGetOptionsInterface
      -

      Options to configure the provider

      -
    -

    Returns Promise<undefined | string | Uint8Array | Record<string, unknown>>

-
- -
    - -
  • -

    Retrieving multiple configurations is not supported by AWS AppConfig.

    -
    -
    -

    Parameters

    -
      -
    • -
      path: string
    • -
    • -
      Optional _options: unknown
    -

    Returns Promise<undefined | Record<string, unknown>>

-
- -
    - -
  • -

    Check whether a key has expired in the cache or not.

    -

    It returns true if the key is expired or not present in the cache.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      Stringified representation of the key to retrieve

      -
    -

    Returns boolean

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html b/docs/classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html deleted file mode 100644 index ed07c08ad4..0000000000 --- a/docs/classes/_aws_lambda_powertools_parameters.DynamoDBProvider.html +++ /dev/null @@ -1,480 +0,0 @@ -DynamoDBProvider | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Intro

The Parameters utility provides a DynamoDBProvider that allows to retrieve values from Amazon DynamoDB.

-

Getting started

This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

-

To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

-
npm install @aws-lambda-powertools/parameters @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb
-
-

Basic usage

Retrieve a value from DynamoDB:

- -

Example

import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value from DynamoDB
const value = await tableProvider.get('my-value-key');
}; -
-

You can also retrieve multiple values at once:

- -

Example

import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve multiple values from DynamoDB
const values = await tableProvider.getMultiple('my-values-path');
};

## Advanced usage

### Caching

By default, the provider will cache parameters retrieved in-memory for 5 seconds.
You can adjust how long values should be kept in cache by using the `maxAge` parameter.

@example
```typescript
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value and cache it for 10 seconds
const value = await tableProvider.get('my-value-key', { maxAge: 10 });
// Retrieve multiple values and cache them for 20 seconds
const values = await tableProvider.getMultiple('my-values-path', { maxAge: 20 });
}; -
-

If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

-

@example

-
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value and skip cache
const value = await tableProvider.get('my-value-key', { forceFetch: true });
// Retrieve multiple values and skip cache
const values = await tableProvider.getMultiple('my-values-path', { forceFetch: true });
}; -
-

Transformations

For values stored as JSON you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

-

@example

-
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value and parse it as JSON
const value = await tableProvider.get('my-value-key', { transform: 'json' });
// Retrieve multiple values and parse them as JSON
const values = await tableProvider.getMultiple('my-values-path', { transform: 'json' });
}; -
-

For values that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

-

@example

-
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a base64-encoded string and decode it
const value = await tableProvider.get('my-value-key', { transform: 'binary' });
// Retrieve multiple base64-encoded strings and decode them
const values = await tableProvider.getMultiple('my-values-path', { transform: 'binary' });
}; -
-

When retrieving multiple values, you can also use the transform argument set to auto to let the provider automatically detect the type of transformation to apply. -The provider will use the suffix of the sort key (sk) to determine the transformation to apply. For example, if the sort key is my-value-key.json, the provider will -automatically parse the value as JSON. Likewise, if the sort key is my-value-key.binary, the provider will automatically decode the value as base64-encoded binary data.

-

@example

-
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve multiple values and automatically detect the transformation to apply
const values = await tableProvider.getMultiple('my-values-path', { transform: 'auto' });
}; -
-

Custom key names

By default, the provider will use the following key names: id for the partition key, sk for the sort key, and value for the value. -You can adjust the key names by using the keyAttr, sortAttr, and valueAttr parameters.

-

@example

-
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
keyAttr: 'key',
sortAttr: 'sort',
valueAttr: 'val',
}); -
-

Extra SDK options

When retrieving values, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

-

@example

-
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
tableName: 'my-table',
});

export const handler = async (): Promise<void> => {
// Retrieve a value and pass extra options to the AWS SDK v3 for JavaScript client
const value = await tableProvider.get('my-value-key', {
sdkOptions: {
ConsistentRead: true,
},
});
}; -
-

The objects accept the same options as respectively the AWS SDK v3 for JavaScript PutItem command and the AWS SDK v3 for JavaScript DynamoDB client Query command.

-

Customize AWS SDK v3 for JavaScript client

By default, the provider will create a new DynamoDB client using the default configuration.

-

You can customize the client by passing a custom configuration object to the provider.

-

@example

-
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const tableProvider = new DynamoDBProvider({
clientConfig: { region: 'eu-west-1' },
}); -
-

This object accepts the same options as the AWS SDK v3 for JavaScript DynamoDB client constructor.

-

Otherwise, if you want to use a custom client altogether, you can pass it to the provider.

-

@example

-
import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';

const client = new DynamoDBClient({ region: 'eu-west-1' });
const tableProvider = new DynamoDBProvider({
awsSdkV3Client: client,
}); -
-

This object must be an instance of the AWS SDK v3 for JavaScript DynamoDB client.

-

For more usage examples, see our documentation.

-
-
-

Hierarchy

-
    -
  • BaseProvider -
      -
    • DynamoDBProvider
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
client: DynamoDBClient
-
- -
envVarsService: EnvironmentVariablesService
-
- -
keyAttr: string = 'id'
-
- -
sortAttr: string = 'sk'
-
- -
store: Map<string, ExpirableValue>
-
- -
tableName: string
-
- -
valueAttr: string = 'value'
-
-

Methods

-
- -
    - -
  • -

    Retrieve an item from Amazon DynamoDB.

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      Key of the item to retrieve (i.e. the partition key)

      -
    • -
    • -
      Optional options: DynamoDBGetOptionsInterface
      -

      Options to customize the retrieval

      -
    -

    Returns Promise<undefined | string>

-
- -
    - -
  • -

    Retrieve multiple items from Amazon DynamoDB.

    -
    -
    -

    Parameters

    -
      -
    • -
      path: string
      -

      The path of the values to retrieve (i.e. the partition key)

      -
    • -
    • -
      Optional options: DynamoDBGetMultipleOptionsInterface
      -

      Options to customize the retrieval

      -
    -

    Returns Promise<Record<string, undefined | string>>

-
- -
    - -
  • -

    Add a value to the cache.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      Key of the cached value

      -
    • -
    • -
      value: string | Uint8Array | Record<string, unknown>
      -

      Value to be cached

      -
    • -
    • -
      maxAge: number
      -

      Maximum age in seconds for the value to be cached

      -
    -

    Returns void

-
- -
    - -
  • -

    Clear the cache.

    -
    -

    Returns void

-
- -
    - -
  • -

    Retrieve a value from Amazon DynamoDB.

    - -

    Example

    import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

    const tableProvider = new DynamoDBProvider({
    tableName: 'my-table',
    });

    export const handler = async (): Promise<void> => {
    // Retrieve a single value
    const value = await tableProvider.get('my-value-key');
    }; -
    -

    You can customize the retrieval of the value by passing options to the function:

    -
      -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    -

    For usage examples check DynamoDBProvider.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      The name of the value to retrieve (i.e. the partition key)

      -
    • -
    • -
      Optional options: DynamoDBGetOptionsInterface
      -

      Options to configure the provider

      -
    -

    Returns Promise<undefined | string | Record<string, unknown>>

-
- -
    - -
  • -

    Retrieve multiple values from Amazon DynamoDB.

    - -

    Example

    import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

    const tableProvider = new DynamoDBProvider({
    tableName: 'my-table',
    });

    export const handler = async (): Promise<void> => {
    // Retrieve multiple values
    const values = await tableProvider.getMultiple('my-values-path');
    }; -
    -

    You can customize the retrieval of the values by passing options to the function:

    -
      -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    • throwOnTransformError - Whether to throw an error if the transform fails (default: true)
    • -
    -

    For usage examples check DynamoDBProvider.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Parameters

    -
      -
    • -
      path: string
      -

      The path of the values to retrieve (i.e. the partition key)

      -
    • -
    • -
      Optional options: DynamoDBGetMultipleOptionsInterface
      -

      Options to configure the provider

      -
    -

    Returns Promise<undefined | Record<string, unknown>>

-
- -
    - -
  • -

    Check whether a key has expired in the cache or not.

    -

    It returns true if the key is expired or not present in the cache.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      Stringified representation of the key to retrieve

      -
    -

    Returns boolean

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_parameters.SSMProvider.html b/docs/classes/_aws_lambda_powertools_parameters.SSMProvider.html deleted file mode 100644 index 000960f6c1..0000000000 --- a/docs/classes/_aws_lambda_powertools_parameters.SSMProvider.html +++ /dev/null @@ -1,776 +0,0 @@ -SSMProvider | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Intro

The Parameters utility provides a SSMProvider that allows to retrieve parameters from AWS Systems Manager.

-

Getting started

This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

-

To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

-
npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm
-
-

Basic usage

Retrieve a parameter from SSM:

- -

Example

import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter from SSM
const parameter = await parametersProvider.get('/my-parameter');
}; -
-

If you want to retrieve a parameter without customizing the provider, you can use the getParameter function instead.

-

You can also retrieve parameters at once. If you want to get multiple parameters under the same path, you can use the getMultiple method.

- -

Example

import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve multiple parameters by path from SSM
const parameters = await parametersProvider.getMultiple('/my-parameters-path');
};

If you don't need to customize the provider, you can also use the {@link getParameters} function instead.

If instead you want to retrieve multiple parameters by name, you can use the `getParametersByName` method.

@example
```typescript
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve multiple parameters by name from SSM
const parameters = await parametersProvider.getParametersByName({
'/my-parameter-1': {}, // Use default options
'/my-parameter-2': { transform: 'json' }, // Parse the value as JSON
});
}; -
-

If you don't need to customize the provider, you can also use the {@link getParametersByName} function instead.

-

Advanced usage

Caching

By default, the provider will cache parameters retrieved in-memory for 5 seconds. -You can adjust how long values should be kept in cache by using the maxAge parameter.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and cache it for 10 seconds
const parameter = await parametersProvider.get('/my-parameter', { maxAge: 10 });
// Retrieve multiple parameters by path and cache them for 20 seconds
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { maxAge: 20 });
}; -
-

When using the getParametersByName method, you can set a different maxAge for each parameter or set a default maxAge for all parameters.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve multiple parameters by name and cache them individually
const parameters = await parametersProvider.getParametersByName({
'/my-parameter-1': { maxAge: 10 }, // Cache for 10 seconds
'/my-parameter-2': { maxAge: 20 }, // Cache for 20 seconds
});
// Retrieve multiple parameters by name and cache them all for 20 seconds
const parameters = await parametersProvider.getParametersByName({
'/my-parameter-1': {},
'/my-parameter-2': {},
}, { maxAge: 20 });
}; -
-

If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and skip cache
const parameter = await parametersProvider.get('/my-parameter', { forceFetch: true });
// Retrieve multiple parameters and skip cache
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { forceFetch: true });
}; -
-

Likewise, you can use the forceFetch parameter with the getParametersByName method both for individual parameters and for all parameters.

-

Decryption

If you want to retrieve a parameter that is encrypted, you can use the decrypt parameter. This parameter is compatible with get, getMultiple and getParametersByName.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and decrypt it
const parameter = await parametersProvider.get('/my-parameter', { decrypt: true });
// Retrieve multiple parameters and decrypt them
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { decrypt: true });
}; -
-

Transformations

For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and parse it as JSON
const parameter = await parametersProvider.get('/my-parameter', { transform: 'json' });
// Retrieve multiple parameters and parse them as JSON
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { transform: 'json' });
}; -
-

For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a base64-encoded string and decode it
const parameter = await parametersProvider.get('/my-parameter', { transform: 'binary' });
// Retrieve multiple base64-encoded strings and decode them
const parameters = await parametersProvider.getMultiple('/my-parameters-path', { transform: 'binary' });
}; -
-

Both type of transformations are compatible also with the getParametersByName method.

-

Extra SDK options

When retrieving parameters, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider();

export const handler = async (): Promise<void> => {
// Retrieve a parameter and pass extra options to the AWS SDK v3 for JavaScript client
const parameter = await parametersProvider.get('/my-parameter', {
sdkOptions: {
WithDecryption: true,
},
});
}; -
-

The objects accept the same options as respectively the AWS SDK v3 for JavaScript GetParameter command and the AWS SDK v3 for JavaScript GetParametersByPath command.

-

Customize AWS SDK v3 for JavaScript client

By default, the provider will create a new SSM client using the default configuration.

-

You can customize the client by passing a custom configuration object to the provider.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

const parametersProvider = new SSMProvider({
clientConfig: { region: 'eu-west-1' },
}); -
-

This object accepts the same options as the AWS SDK v3 for JavaScript SSM client constructor.

-

Otherwise, if you want to use a custom client altogether, you can pass it to the provider.

-

@example

-
import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';
import { SSMClient } from '@aws-sdk/client-ssm';

const client = new SSMClient({ region: 'eu-west-1' });
const parametersProvider = new SSMProvider({
awsSdkV3Client: client,
}); -
-

This object must be an instance of the AWS SDK v3 for JavaScript SSM client.

-

For more usage examples, see our documentation.

-
-
-

Hierarchy

-
    -
  • BaseProvider -
      -
    • SSMProvider
-
-
-
- -
-
-

Constructors

-
- -
    - -
  • -

    It initializes the SSMProvider class.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional config: SSMProviderOptions
      -

      The configuration object.

      -
    -

    Returns SSMProvider

-
-

Properties

-
- -
client: SSMClient
-
- -
envVarsService: EnvironmentVariablesService
-
- -
errorsKey: string = '_errors'
-
- -
maxGetParametersItems: number = 10
-
- -
store: Map<string, ExpirableValue>
-
-

Methods

-
- -
    - -
  • -

    Retrieve a parameter from AWS Systems Manager.

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      Name of the parameter to retrieve

      -
    • -
    • -
      Optional options: SSMGetOptions
      -

      Options to customize the retrieval

      -
    -

    Returns Promise<undefined | string>

-
- -
    - -
  • -

    Retrieve multiple items from AWS Systems Manager.

    -
    -
    -

    Parameters

    -
      -
    • -
      path: string
      -

      The path of the parameters to retrieve

      -
    • -
    • -
      Optional options: SSMGetMultipleOptions
      -

      Options to configure the provider

      -
    -

    Returns Promise<Record<string, undefined | string>>

-
- -
    - -
  • -

    Retrieve multiple items by name from AWS Systems Manager.

    -
    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      An object of parameter names and their options

      -
    • -
    • -
      throwOnError: boolean
      -

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      -
    • -
    • -
      decrypt: boolean
      -

      Whether to decrypt the parameters or not

      -
    -

    Returns Promise<SSMGetParametersByNameOutputInterface>

-
- -
    - -
  • -

    Add a value to the cache.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      Key of the cached value

      -
    • -
    • -
      value: string | Uint8Array | Record<string, unknown>
      -

      Value to be cached

      -
    • -
    • -
      maxAge: number
      -

      Maximum age in seconds for the value to be cached

      -
    -

    Returns void

-
- -
    - -
  • -

    Clear the cache.

    -
    -

    Returns void

-
- -
    - -
  • -

    Retrieve a value from AWS Systems Manager.

    - -

    Example

    import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

    const parametersProvider = new SSMProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter from SSM
    const parameter = await parametersProvider.get('/my-parameter');
    }; -
    -

    You can customize the retrieval of the value by passing options to the function:

    -
      -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    • decrypt - Whether to decrypt the value before returning it.
    • -
    -

    For usage examples check SSMProvider.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Type Parameters

    -
      -
    • -

      ExplicitUserProvidedType = undefined

    • -
    • -

      InferredFromOptionsType extends undefined | SSMGetOptions = SSMGetOptions

    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      The name of the value to retrieve (i.e. the partition key)

      -
    • -
    • -
      Optional options: InferredFromOptionsType & SSMGetOptions
      -

      Options to configure the provider

      -
    -

    Returns Promise<undefined | SSMGetOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

-
- -
    - -
  • -

    Retrieve multiple values from AWS Systems Manager.

    - -

    Example

    import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

    const parametersProvider = new SSMProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve multiple parameters from SSM
    const parameters = await parametersProvider.getMultiple('/my-parameters-path');
    }; -
    -

    You can customize the retrieval of the values by passing options to the function:

    -
      -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    • throwOnTransformError - Whether to throw an error if the transform fails (default: true)
    • -
    • decrypt - Whether to decrypt the value before returning it.
    • -
    • recursive - Whether to recursively retrieve all parameters under the given path (default: false)
    • -
    -

    For usage examples check SSMProvider.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Type Parameters

    -
      -
    • -

      ExplicitUserProvidedType = undefined

    • -
    • -

      InferredFromOptionsType extends SSMGetMultipleOptionsUnion = undefined

    -
    -

    Parameters

    -
      -
    • -
      path: string
      -

      The path of the parameters to retrieve

      -
    • -
    • -
      Optional options: InferredFromOptionsType & SSMGetMultipleOptions
      -

      Options to configure the retrieval

      -
    -

    Returns Promise<undefined | SSMGetMultipleOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

-
- -
    - -
  • -

    Slice batch and fetch parameters using GetPrameters API by max permissible batch size

    -
    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      An object of parameter names and their options

      -
    • -
    • -
      throwOnError: boolean
      -

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      -
    • -
    • -
      decrypt: boolean
      -

      Whether to decrypt the parameters or not

      -
    -

    Returns Promise<SSMGetParametersByNameOutputInterface>

-
- -
    - -
  • -

    Retrieve multiple parameters by name from AWS Systems Manager.

    - -

    Example

    import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm';

    const parametersProvider = new SSMProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve multiple parameters by name from SSM
    const parameters = await parametersProvider.getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': { transform: 'json' }, // Parse the value as JSON
    });
    }; -
    -

    You can customize the retrieval of the values by passing options to both the function and the parameter:

    -
      -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    • throwOnTransformError - Whether to throw an error if the transform fails (default: true)
    • -
    • decrypt - Whether to decrypt the value before returning it
    • -
    -

    throwOnError decides whether to throw an error if a parameter is not found:

    -
      -
    • A) Default fail-fast behavior: Throws a GetParameterError error upon any failure.
    • -
    • B) Gracefully aggregate all parameters that failed under "_errors" key.
    • -
    -

    It transparently uses GetParameter and/or GetParameters depending on decryption requirements.

    -
                                   ┌────────────────────────┐
    ┌───▶ Decrypt entire batch │─────┐
    └────────────────────────┘ ┌────────────────────┐
    ├─────▶ GetParameters API
    ┌──────────────────┐ ┌────────────────────────┐ └────────────────────┘
    Split batch │─── ┼──▶│ No decryption required │─────┘
    └──────────────────┘ └────────────────────────┘
    ┌────────────────────┐
    ┌────────────────────────┐ GetParameter API
    └──▶│Decrypt some but not all│───────────▶────────────────────┤
    └────────────────────────┘ GetParameters API
    └────────────────────┘ -
    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Type Parameters

    -
      -
    • -

      ExplicitUserProvidedType = undefined

    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      Object containing parameter names and any optional overrides

      -
    • -
    • -
      Optional options: SSMGetParametersByNameOptions
      -

      Options to configure the retrieval

      -
    -

    Returns Promise<SSMGetParametersByNameOutput<ExplicitUserProvidedType>>

-
- -
    - -
  • -

    Fetch each parameter from batch that hasn't expired from cache

    -
    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      An object of parameter names and their options

      -
    -

    Returns Promise<SSMGetParametersByNameFromCacheOutputType>

-
- -
    - -
  • -

    Slice object into chunks of max permissible batch size and fetch parameters

    -
    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      An object of parameter names and their options

      -
    • -
    • -
      throwOnError: boolean
      -

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      -
    • -
    • -
      decrypt: boolean
      -

      Whether to decrypt the parameters or not

      -
    -

    Returns Promise<SSMGetParametersByNameOutputInterface>

-
- -
    - -
  • -

    Fetch parameters by name while also decrypting them

    -
    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      An object of parameter names and their options

      -
    • -
    • -
      throwOnError: boolean
      -

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      -
    -

    Returns Promise<SSMGetParametersByNameOutputInterface>

-
- -
    - -
  • -

    Check whether a key has expired in the cache or not.

    -

    It returns true if the key is expired or not present in the cache.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      Stringified representation of the key to retrieve

      -
    -

    Returns boolean

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      options: SSMGetOptions | SSMGetMultipleOptions = {}
    • -
    • -
      Optional sdkOptions: GetParameterCommandInput | GetParametersByPathCommandInput
    -

    Returns undefined | boolean

-
- -
    - -
  • -

    Transform and cache the response from GetParameters API call

    -
    -
    -

    Parameters

    -
      -
    • -
      response: GetParametersCommandOutput
      -

      The response from the GetParameters API call

      -
    • -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      An object of parameter names and their options

      -
    • -
    • -
      throwOnError: boolean
      -

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      -
    -

    Returns Record<string, unknown>

-
- -
    - -
  • -

    Handle any invalid parameters returned by GetParameters API -GetParameters is non-atomic. Failures don't always reflect in exceptions so we need to collect.

    -
    -
    -

    Parameters

    -
      -
    • -
      result: GetParametersCommandOutput
      -

      The result of the GetParameters API call

      -
    • -
    • -
      throwOnError: boolean
      -

      Whether to throw an error if any of the parameters' retrieval throws an error or handle them gracefully

      -
    -

    Returns string[]

-
- -
    - -
  • -

    Split parameters that can be fetched by GetParameters vs GetParameter.

    -
    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      An object of parameter names and their options

      -
    • -
    • -
      configs: SSMGetParametersByNameOptions
      -

      The configs passed down

      -
    -

    Returns SSMSplitBatchAndDecryptParametersOutputType

-
- -
    - -
  • -

    Throw a GetParameterError if fail-fast is disabled and _errors key is in parameters list.

    -
    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, unknown>
    • -
    • -
      reservedParameter: string
    • -
    • -
      throwOnError: boolean
    -

    Returns void

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_parameters.SecretsProvider.html b/docs/classes/_aws_lambda_powertools_parameters.SecretsProvider.html deleted file mode 100644 index 80430876a4..0000000000 --- a/docs/classes/_aws_lambda_powertools_parameters.SecretsProvider.html +++ /dev/null @@ -1,429 +0,0 @@ -SecretsProvider | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Intro

The Parameters utility provides a SecretsProvider that allows to retrieve secrets from AWS Secrets Manager.

-

Getting started

This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

-

To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for Secrets Manager:

-
npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager
-
-

Basic usage

-

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret
const secret = await secretsProvider.get('my-secret');
}; -
-

If you want to retrieve secrets without customizing the provider, you can use the getSecret function instead.

-

Advanced usage

Caching

By default, the provider will cache parameters retrieved in-memory for 5 seconds. -You can adjust how long values should be kept in cache by using the maxAge parameter.

- -

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret and cache it for 10 seconds
const secret = await secretsProvider.get('my-secret', { maxAge: 10 });
}; -
-

If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

- -

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret and always fetch the latest value
const secret = await secretsProvider.get('my-secret', { forceFetch: true });
}; -
-

Transformations

For parameters stored in JSON or Base64 format, you can use the transform argument for deserialization.

- -

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret and parse it as JSON
const secret = await secretsProvider.get('my-secret', { transform: 'json' });
}; -
-

Extra SDK options

When retrieving a secret, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

- -

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider();

export const handler = async (): Promise<void> => {
// Retrieve a secret and pass extra options to the AWS SDK v3 for JavaScript client
const secret = await secretsProvider.get('my-secret', {
sdkOptions: {
VersionId: 1,
},
});
}; -
-

This object accepts the same options as the AWS SDK v3 for JavaScript Secrets Manager client.

-

Customize AWS SDK v3 for JavaScript client

By default, the provider will create a new Secrets Manager client using the default configuration.

-

You can customize the client by passing a custom configuration object to the provider.

- -

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

const secretsProvider = new SecretsProvider({
clientConfig: { region: 'eu-west-1' },
}); -
-

This object accepts the same options as the AWS SDK v3 for JavaScript Secrets Manager client.

-

Otherwise, if you want to use a custom client altogether, you can pass it to the provider.

- -

Example

import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';
import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager';

const client = new SecretsManagerClient({ region: 'eu-west-1' });
const secretsProvider = new SecretsProvider({
awsSdkV3Client: client,
}); -
-

This object must be an instance of the AWS SDK v3 for JavaScript Secrets Manager client.

-

For more usage examples, see our documentation.

- -

Implements

-

See

https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

-
-
-

Hierarchy

-
    -
  • BaseProvider -
      -
    • SecretsProvider
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
client: SecretsManagerClient
-
- -
envVarsService: EnvironmentVariablesService
-
- -
store: Map<string, ExpirableValue>
-
-

Methods

-
- -
    - -
  • -

    Retrieve a configuration from AWS AppConfig.

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      Name of the configuration or its ID

      -
    • -
    • -
      Optional options: SecretsGetOptions
      -

      SDK options to propagate to the AWS SDK v3 for JavaScript client

      -
    -

    Returns Promise<undefined | string | Uint8Array>

-
- -
    - -
  • -

    Retrieving multiple parameter values is not supported with AWS Secrets Manager.

    - -

    Throws

    Not Implemented Error.

    -
    -
    -

    Parameters

    -
      -
    • -
      _path: string
    • -
    • -
      Optional _options: unknown
    -

    Returns Promise<Record<string, undefined | string>>

-
- -
    - -
  • -

    Add a value to the cache.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      Key of the cached value

      -
    • -
    • -
      value: string | Uint8Array | Record<string, unknown>
      -

      Value to be cached

      -
    • -
    • -
      maxAge: number
      -

      Maximum age in seconds for the value to be cached

      -
    -

    Returns void

-
- -
    - -
  • -

    Clear the cache.

    -
    -

    Returns void

-
- -
    - -
  • -

    Retrieve a secret from AWS Secrets Manager.

    - -

    Example

    import { SecretsProvider } from '@aws-lambda-powertools/parameters/secrets';

    const secretsProvider = new SecretsProvider();

    export const handler = async (): Promise<void> => {
    // Retrieve a secret
    const secret = await secretsProvider.get('my-secret');
    }; -
    -

    You can customize the retrieval of the secret by passing options to the function:

    -
      -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    -

    For usage examples check SecretsProvider.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Type Parameters

    -
      -
    • -

      ExplicitUserProvidedType = undefined

    • -
    • -

      InferredFromOptionsType extends SecretsGetOptionsUnion = SecretsGetOptionsUnion

    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      The name of the secret

      -
    • -
    • -
      Optional options: InferredFromOptionsType & SecretsGetOptions
      -

      Options to customize the retrieval of the secret

      -
    -

    Returns Promise<undefined | SecretsGetOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

-
- -
    - -
  • -

    Retrieving multiple parameter values is not supported with AWS Secrets Manager.

    -
    -
    -

    Parameters

    -
      -
    • -
      path: string
    • -
    • -
      Optional _options: unknown
    -

    Returns Promise<undefined | Record<string, unknown>>

-
- -
    - -
  • -

    Check whether a key has expired in the cache or not.

    -

    It returns true if the key is expired or not present in the cache.

    -
    -
    -

    Parameters

    -
      -
    • -
      key: string
      -

      Stringified representation of the key to retrieve

      -
    -

    Returns boolean

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/classes/_aws_lambda_powertools_tracer.Tracer.html b/docs/classes/_aws_lambda_powertools_tracer.Tracer.html deleted file mode 100644 index 0b74351aa9..0000000000 --- a/docs/classes/_aws_lambda_powertools_tracer.Tracer.html +++ /dev/null @@ -1,694 +0,0 @@ -Tracer | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Intro

Tracer is an opinionated thin wrapper for AWS X-Ray SDK for Node.js.

-

Tracing data can be visualized through AWS X-Ray Console.

-

Key features

    -
  • Auto capture cold start as annotation, and responses or full exceptions as metadata
  • -
  • Auto-disable when not running in AWS Lambda environment
  • -
  • Automatically trace HTTP(s) clients and generate segments for each request
  • -
  • Support tracing functions via decorators, middleware, and manual instrumentation
  • -
  • Support tracing AWS SDK v2 and v3 via AWS X-Ray SDK for Node.js
  • -
-

Usage

For more usage examples, see our documentation.

-

Functions usage with middleware

If you use function-based Lambda handlers you can use the captureLambdaHandler() middy middleware to automatically:

-
    -
  • handle the subsegment lifecycle
  • -
  • add the ServiceName and ColdStart annotations
  • -
  • add the function response as metadata
  • -
  • add the function error as metadata (if any)
  • -
- -

Example

import { captureLambdaHandler, Tracer } from '@aws-lambda-powertools/tracer';
import middy from '@middy/core';

const tracer = new Tracer({ serviceName: 'serverlessAirline' });

const lambdaHandler = async (_event: any, _context: any) => {
...
};

export const handler = middy(lambdaHandler).use(captureLambdaHandler(tracer)); -
-

Object oriented usage with decorators

If instead you use TypeScript Classes to wrap your Lambda handler you can use the @tracer.captureLambdaHandler() decorator to automatically:

-
    -
  • handle the subsegment lifecycle
  • -
  • add the ServiceName and ColdStart annotations
  • -
  • add the function response as metadata
  • -
  • add the function error as metadata (if any)
  • -
- -

Example

import { Tracer } from '@aws-lambda-powertools/tracer';
import { LambdaInterface } from '@aws-lambda-powertools/commons';

const tracer = new Tracer({ serviceName: 'serverlessAirline' });

// FYI: Decorator might not render properly in VSCode mouse over due to https://github.com/microsoft/TypeScript/issues/47679 and might show as *@tracer* instead of `@tracer.captureLambdaHandler`

class Lambda implements LambdaInterface {
@tracer.captureLambdaHandler()
public handler(event: any, context: any) {
...
}
}

const handlerClass = new Lambda();
export const handler = handlerClass.handler.bind(handlerClass); -
-

Functions usage with manual instrumentation

If you prefer to manually instrument your Lambda handler you can use the methods in the tracer class directly.

- -

Example

import { Tracer } from '@aws-lambda-powertools/tracer';

const tracer = new Tracer({ serviceName: 'serverlessAirline' });

export const handler = async (_event: any, context: any) => {
const segment = tracer.getSegment(); // This is the facade segment (the one that is created by AWS Lambda)
// Create subsegment for the function & set it as active
const subsegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`);
tracer.setSegment(subsegment);

// Annotate the subsegment with the cold start & serviceName
tracer.annotateColdStart();
tracer.addServiceNameAnnotation();

let res;
try {
// ... your own logic goes here
// Add the response as metadata
tracer.addResponseAsMetadata(res, process.env._HANDLER);
} catch (err) {
// Add the error as metadata
tracer.addErrorAsMetadata(err as Error);
throw err;
} finally {
// Close the subsegment
subsegment.close();
// Set the facade segment as active again
tracer.setSegment(segment);
}

return res;
} -
-
-
-

Hierarchy

-
-
-

Implements

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
provider: ProviderServiceInterface
-
-

Methods

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -

    Patch a specific AWS SDK v2 client and create traces when your application makes calls to that AWS service.

    -

    If you want to patch all clients use captureAWS and if you are using AWS SDK v3 use captureAWSv3Client instead.

    - -

    See

    https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-awssdkclients.html

    - -

    Example

    import { S3 } from 'aws-sdk';
    import { Tracer } from '@aws-lambda-powertools/tracer';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });
    const s3 = tracer.captureAWSClient(new S3({ apiVersion: '2006-03-01' }));

    export const handler = async (_event: any, _context: any) => {
    ...
    } -
    -
    -
    -

    Type Parameters

    -
      -
    • -

      T

    -
    -

    Parameters

    -
      -
    • -
      service: T
      -

      AWS SDK v2 client

      -
    -

    Returns T

    service - Instrumented AWS SDK v2 client

    -
-
- -
    - -
  • -

    Patch an AWS SDK v3 client and create traces when your application makes calls to that AWS service.

    -

    If you are using AWS SDK v2 use captureAWSClient instead.

    - -

    See

    https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-awssdkclients.html

    - -

    Example

    import { S3Client } from '@aws-sdk/client-s3';
    import { Tracer } from '@aws-lambda-powertools/tracer';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });
    const client = new S3Client({});
    tracer.captureAWSv3Client(client);

    export const handler = async (_event: any, _context: any) => {
    ...
    } -
    -
    -
    -

    Type Parameters

    -
      -
    • -

      T

    -
    -

    Parameters

    -
      -
    • -
      service: T
      -

      AWS SDK v3 client

      -
    -

    Returns T

    service - Instrumented AWS SDK v3 client

    -
-
- -
    - -
  • -

    A decorator automating capture of metadata and annotations on segments or subsegments for a Lambda Handler.

    -

    Using this decorator on your handler function will automatically:

    -
      -
    • handle the subsegment lifecycle
    • -
    • add the ColdStart annotation
    • -
    • add the function response as metadata
    • -
    • add the function error as metadata (if any)
    • -
    -

    Note: Currently TypeScript only supports decorators on classes and methods. If you are using the -function syntax, you should use the middleware instead.

    - -

    Example

    import { Tracer } from '@aws-lambda-powertools/tracer';
    import { LambdaInterface } from '@aws-lambda-powertools/commons';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    class Lambda implements LambdaInterface {
    @tracer.captureLambdaHandler()
    public handler(event: any, context: any) {
    ...
    }
    }

    const handlerClass = new Lambda();
    export const handler = handlerClass.handler.bind(handlerClass); -
    - -

    Decorator

    Class

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional options: CaptureLambdaHandlerOptions
      -

      (optional) Options for the decorator

      -
    -

    Returns HandlerMethodDecorator

-
- -
    - -
  • -

    A decorator automating capture of metadata and annotations on segments or subsegments for an arbitrary function.

    -

    Using this decorator on your function will automatically:

    -
      -
    • handle the subsegment lifecycle
    • -
    • add the function response as metadata
    • -
    • add the function error as metadata (if any)
    • -
    -

    Note: Currently TypeScript only supports decorators on classes and methods. If you are using the -function syntax, you should use the middleware instead.

    - -

    Example

    import { Tracer } from '@aws-lambda-powertools/tracer';
    import { LambdaInterface } from '@aws-lambda-powertools/commons';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    class Lambda implements LambdaInterface {
    @tracer.captureMethod()
    public myMethod(param: any) {
    ...
    }

    public handler(event: any, context: any) {
    ...
    }
    }

    const handlerClass = new Lambda();
    export const handler = handlerClass.handler.bind(handlerClass);; -
    - -

    Decorator

    Class

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional options: CaptureMethodOptions
      -

      (optional) Options for the decorator

      -
    -

    Returns MethodDecorator

-
- -
    - -
  • -

    Returns boolean

-
- -
-
- -
    - -
  • -

    Get the current root AWS X-Ray trace id.

    -

    Utility method that returns the current AWS X-Ray Root trace id. Useful as correlation id for downstream processes.

    - -

    See

    https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces

    - -

    Example

    import { Tracer } from '@aws-lambda-powertools/tracer';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    export const handler = async () => {
    try {
    ...
    } catch (err) {
    const rootTraceId = tracer.getRootXrayTraceId();

    // Example of returning an error response
    return {
    statusCode: 500,
    // Include the rootTraceId in the response so we can show a "contact support" button that
    // takes the customer to a customer service form with the trace as additional context.
    body: `Internal Error - Please contact support and quote the following id: ${rootTraceId}`,
    headers: { '_X_AMZN_TRACE_ID': rootTraceId },
    };
    }
    } -
    -
    -

    Returns undefined | string

    string - The root X-Ray trace id.

    -
-
- -
-
- -
    - -
  • -

    Returns boolean

-
- -
-
- -
    - -
  • -

    Get the current value of the tracingEnabled property.

    -

    You can use this method during manual instrumentation to determine -if tracer is currently enabled.

    -
    -

    Returns boolean

    tracingEnabled - true if tracing is enabled, false otherwise.

    -
-
- -
    - -
  • -

    Validate that the service name provided is valid. -Used internally during initialization.

    -
    -
    -

    Parameters

    -
      -
    • -
      Optional serviceName: string
      -

      Service name to validate

      -
    -

    Returns boolean

-
- -
-
- -
-
- -
    - -
  • -

    Sets the passed subsegment as the current active subsegment.

    -

    If you are using a middleware or a decorator this is done automatically for you.

    - -

    See

    https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-nodejs-subsegments.html

    - -

    Example

    import { Tracer } from '@aws-lambda-powertools/tracer';
    import { Subsegment } from 'aws-xray-sdk-core';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    export const handler = async (_event: any, _context: any) => {
    const subsegment = new Subsegment('### foo.bar');
    tracer.setSegment(subsegment);
    } -
    -
    -
    -

    Parameters

    -
      -
    • -
      segment: Segment | Subsegment
      -

      Subsegment to set as the current segment

      -
    -

    Returns void

-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/enums/_aws_lambda_powertools_metrics.MetricUnits.html b/docs/enums/_aws_lambda_powertools_metrics.MetricUnits.html deleted file mode 100644 index 5b308de1ae..0000000000 --- a/docs/enums/_aws_lambda_powertools_metrics.MetricUnits.html +++ /dev/null @@ -1,321 +0,0 @@ -MetricUnits | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
-
- -
-
-

Enumeration Members

-
- -
Bits: "Bits"
-
- -
BitsPerSecond: "Bits/Second"
-
- -
Bytes: "Bytes"
-
- -
BytesPerSecond: "Bytes/Second"
-
- -
Count: "Count"
-
- -
CountPerSecond: "Count/Second"
-
- -
Gigabits: "Gigabits"
-
- -
GigabitsPerSecond: "Gigabits/Second"
-
- -
Gigabytes: "Gigabytes"
-
- -
GigabytesPerSecond: "Gigabytes/Second"
-
- -
Kilobits: "Kilobits"
-
- -
KilobitsPerSecond: "Kilobits/Second"
-
- -
Kilobytes: "Kilobytes"
-
- -
KilobytesPerSecond: "Kilobytes/Second"
-
- -
Megabits: "Megabits"
-
- -
MegabitsPerSecond: "Megabits/Second"
-
- -
Megabytes: "Megabytes"
-
- -
MegabytesPerSecond: "Megabytes/Second"
-
- -
Microseconds: "Microseconds"
-
- -
Milliseconds: "Milliseconds"
-
- -
Percent: "Percent"
-
- -
Seconds: "Seconds"
-
- -
Terabits: "Terabits"
-
- -
TerabitsPerSecond: "Terabits/Second"
-
- -
Terabytes: "Terabytes"
-
- -
TerabytesPerSecond: "Terabytes/Second"
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_idempotency.idempotentFunction.html b/docs/functions/_aws_lambda_powertools_idempotency.idempotentFunction.html deleted file mode 100644 index 807f10f9ca..0000000000 --- a/docs/functions/_aws_lambda_powertools_idempotency.idempotentFunction.html +++ /dev/null @@ -1,150 +0,0 @@ -idempotentFunction | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -
    -

    Parameters

    -
      -
    • -
      options: IdempotencyFunctionOptions
    -

    Returns ((target, propertyKey, descriptor) => PropertyDescriptor)

    -
      -
    • -
        -
      • (target, propertyKey, descriptor): PropertyDescriptor
      • -
      • -
        -

        Parameters

        -
          -
        • -
          target: unknown
        • -
        • -
          propertyKey: string
        • -
        • -
          descriptor: PropertyDescriptor
        -

        Returns PropertyDescriptor

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html b/docs/functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html deleted file mode 100644 index 33a51074ed..0000000000 --- a/docs/functions/_aws_lambda_powertools_idempotency.idempotentLambdaHandler.html +++ /dev/null @@ -1,150 +0,0 @@ -idempotentLambdaHandler | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -
    -

    Parameters

    -
      -
    • -
      options: IdempotencyLambdaHandlerOptions
    -

    Returns ((target, propertyKey, descriptor) => PropertyDescriptor)

    -
      -
    • -
        -
      • (target, propertyKey, descriptor): PropertyDescriptor
      • -
      • -
        -

        Parameters

        -
          -
        • -
          target: unknown
        • -
        • -
          propertyKey: string
        • -
        • -
          descriptor: PropertyDescriptor
        -

        Returns PropertyDescriptor

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html b/docs/functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html deleted file mode 100644 index 4ad2fc30f9..0000000000 --- a/docs/functions/_aws_lambda_powertools_idempotency.makeFunctionIdempotent.html +++ /dev/null @@ -1,148 +0,0 @@ -makeFunctionIdempotent | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    Wrapper for a function to make it idempotent

    -
    -
    -

    Type Parameters

    -
      -
    • -

      U

    -
    -

    Parameters

    -
      -
    • -
      fn: AnyFunctionWithRecord<U>
      -

      your function to make idempotent

      -
    • -
    • -
      options: IdempotencyFunctionOptions
      -

      options for the idempotency, see IdempotencyFunctionOptions

      -
    -

    Returns AnyIdempotentFunction<U>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_logger.createLogger.html b/docs/functions/_aws_lambda_powertools_logger.createLogger.html deleted file mode 100644 index a64fd138c2..0000000000 --- a/docs/functions/_aws_lambda_powertools_logger.createLogger.html +++ /dev/null @@ -1,135 +0,0 @@ -createLogger | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_logger.injectLambdaContext.html b/docs/functions/_aws_lambda_powertools_logger.injectLambdaContext.html deleted file mode 100644 index b01b4ff381..0000000000 --- a/docs/functions/_aws_lambda_powertools_logger.injectLambdaContext.html +++ /dev/null @@ -1,150 +0,0 @@ -injectLambdaContext | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    A middy middleware that helps emitting CloudWatch EMF metrics in your logs.

    -

    Using this middleware on your handler function will automatically add context information to logs, as well as optionally log the event and clear attributes set during the invocation.

    - -

    Example

    import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger';
    import middy from '@middy/core';


    const logger = new Logger();

    const lambdaHandler = async (_event: any, _context: any) => {
    logger.info('This is an INFO log with some context');
    };

    export const handler = middy(lambdaHandler).use(injectLambdaContext(logger)); -
    -
    -
    -

    Parameters

    -
      -
    • -
      target: Logger | Logger[]
      -

      The Logger instance(s) to use for logging

      -
    • -
    • -
      Optional options: HandlerOptions
      -

      (optional) Options for the middleware

      -
    -

    Returns MiddlewareLikeObj<unknown, unknown, Error, Context>

      -
    • The middy middleware object
    • -
    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_metrics.logMetrics.html b/docs/functions/_aws_lambda_powertools_metrics.logMetrics.html deleted file mode 100644 index 0911c864e1..0000000000 --- a/docs/functions/_aws_lambda_powertools_metrics.logMetrics.html +++ /dev/null @@ -1,154 +0,0 @@ -logMetrics | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    A middy middleware automating capture of metadata and annotations on segments or subsegments for a Lambda Handler.

    -

    Using this middleware on your handler function will automatically flush metrics after the function returns or throws an error. -Additionally, you can configure the middleware to easily:

    -
      -
    • ensure that at least one metric is emitted before you flush them
    • -
    • capture a ColdStart a metric
    • -
    • set default dimensions for all your metrics
    • -
    - -

    Example

    import { Metrics, logMetrics } from '@aws-lambda-powertools/metrics';
    import middy from '@middy/core';

    const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'orders' });

    const lambdaHandler = async (_event: any, _context: any) => {
    ...
    };

    export const handler = middy(lambdaHandler).use(logMetrics(metrics)); -
    -
    -
    -

    Parameters

    -
      -
    • -
      target: Metrics | Metrics[]
      -

      The Metrics instance to use for emitting metrics

      -
    • -
    • -
      options: ExtraOptions = {}
      -

      (optional) Options for the middleware

      -
    -

    Returns MiddlewareLikeObj<unknown, unknown, Error, Context>

    middleware - The middy middleware object

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getAppConfig.html b/docs/functions/_aws_lambda_powertools_parameters.getAppConfig.html deleted file mode 100644 index e398672462..0000000000 --- a/docs/functions/_aws_lambda_powertools_parameters.getAppConfig.html +++ /dev/null @@ -1,195 +0,0 @@ -getAppConfig | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    Intro

    The Parameters utility provides an AppConfigProvider that allows to retrieve configuration profiles from AWS AppConfig.

    -

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

    -

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

    -
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata
    -
    -

    Basic usage

    -

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a configuration profile
    const encodedConfig = await getAppConfig('my-config');
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; -
    -

    Advanced usage

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. -You can adjust how long values should be kept in cache by using the maxAge parameter.

    - -

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a configuration profile and cache it for 10 seconds
    const encodedConfig = await getAppConfig('my-config');
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; -
    -

    If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

    - -

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a config and always fetch the latest value
    const config = await getAppConfig('my-config', { forceFetch: true });
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; -
    -

    Transformations

    For configurations stored as freeform JSON, Freature Flag, you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

    - -

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a JSON config or Feature Flag and parse it as JSON
    const config = await getAppConfig('my-config', { transform: 'json' });
    }; -
    -

    For configurations that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

    - -

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a base64-encoded string and decode it
    const config = await getAppConfig('my-config', { transform: 'binary' });
    }; -
    -

    Extra SDK options

    When retrieving a configuration profile, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

    - -

    Example

    import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

    export const handler = async (): Promise<void> => {
    // Retrieve a config and pass extra options to the AWS SDK v3 for JavaScript client
    const config = await getAppConfig('my-config', {
    sdkOptions: {
    RequiredMinimumPollIntervalInSeconds: 60,
    },
    });
    const config = new TextDecoder('utf-8').decode(encodedConfig);
    }; -
    -

    This object accepts the same options as the AWS SDK v3 for JavaScript AppConfigData client.

    -

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the AppConfigProvider class.

    -

    For more usage examples, see our documentation.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      The name of the configuration profile or its ID

      -
    • -
    • -
      options: GetAppConfigCombinedInterface
      -

      Options to configure the provider

      -
    -

    Returns Promise<undefined | string | Uint8Array | Record<string, unknown>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getParameter.html b/docs/functions/_aws_lambda_powertools_parameters.getParameter.html deleted file mode 100644 index 2ca8af7212..0000000000 --- a/docs/functions/_aws_lambda_powertools_parameters.getParameter.html +++ /dev/null @@ -1,216 +0,0 @@ -getParameter | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    Intro

    The Parameters utility provides an SSMProvider that allows to retrieve parameters from AWS Systems Manager.

    -

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

    -

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

    -
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm
    -
    -

    Basic usage

    -

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter
    const parameter = await getParameter('/my-parameter');
    }; -
    -

    Advanced usage

    Decryption

    If you have encrypted parameters, you can use the decrypt option to automatically decrypt them.

    - -

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and decrypt it
    const parameter = await getParameter('/my-parameter', { decrypt: true });
    }; -
    -

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. -You can adjust how long values should be kept in cache by using the maxAge parameter.

    - -

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and cache it for 10 seconds
    const parameter = await getParameter('/my-parameter', { maxAge: 10 });
    }; -
    -

    If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

    - -

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and always fetch the latest value
    const parameter = await getParameter('/my-parameter', { forceFetch: true });
    }; -
    -

    Transformations

    For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript object instead of a string.

    - -

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and parse it as JSON
    const parameter = await getParameter('/my-parameter', { transform: 'json' });
    }; -
    -

    For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return a decoded string.

    - -

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a base64-encoded string and decode it
    const parameter = await getParameter('/my-parameter', { transform: 'binary' });
    }; -
    -

    Extra SDK options

    When retrieving a parameter, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

    - -

    Example

    import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve a parameter and pass extra options to the AWS SDK v3 for JavaScript client
    const parameter = await getParameter('/my-parameter', {
    sdkOptions: {
    WithDecryption: true,
    },
    });
    }; -
    -

    This object accepts the same options as the AWS SDK v3 for JavaScript SSM GetParameter command.

    -

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SSMProvider class.

    -

    Options

      -
    • You can customize the retrieval of the value by passing options to the function:
    • -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    • decrypt - Whether to decrypt the value before returning it.
    • -
    -

    For more usage examples, see our documentation.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Type Parameters

    -
      -
    • -

      ExplicitUserProvidedType = undefined

    • -
    • -

      InferredFromOptionsType extends SSMGetOptionsUnion = SSMGetOptionsUnion

    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      The name of the parameter to retrieve

      -
    • -
    • -
      Optional options: InferredFromOptionsType & SSMGetOptions
      -

      Options to configure the provider

      -
    -

    Returns Promise<undefined | SSMGetOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getParameters.html b/docs/functions/_aws_lambda_powertools_parameters.getParameters.html deleted file mode 100644 index aae032d90c..0000000000 --- a/docs/functions/_aws_lambda_powertools_parameters.getParameters.html +++ /dev/null @@ -1,217 +0,0 @@ -getParameters | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    Intro

    The Parameters utility provides an SSMProvider that allows to retrieve parameters from AWS Systems Manager.

    -

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

    -

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

    -
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm
    -
    -

    Basic usage

    -

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters by path
    const parameters = await getParameters('/my-parameters-path');
    }; -
    -

    Advanced usage

    Decryption

    If you have encrypted parameters, you can use the decrypt option to automatically decrypt them.

    - -

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and decrypt them
    const parameters = await getParameters('/my-parameters-path', { decrypt: true });
    }; -
    -

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. -You can adjust how long values should be kept in cache by using the maxAge parameter.

    - -

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and cache them for 10 seconds
    const parameters = await getParameters('/my-parameters-path', { maxAge: 10 });
    }; -
    -

    If instead you'd like to always ensure you fetch the latest values from the store regardless if already available in cache, use the forceFetch parameter.

    - -

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and always fetch the latest values
    const parameters = await getParameters('/my-parameters-path', { forceFetch: true });
    }; -
    -

    Transformations

    For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript objects instead of a strings.

    - -

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and parse them as JSON
    const parameters = await getParameters('/my-parameters-path', { transform: 'json' });
    }; -
    -

    For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return decoded strings for each parameter.

    - -

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve base64-encoded strings and decode them
    const parameters = await getParameters('/my-parameters-path', { transform: 'binary' });
    }; -
    -

    Extra SDK options

    When retrieving a parameter, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

    - -

    Example

    import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and pass extra options to the AWS SDK v3 for JavaScript client
    const parameters = await getParameters('/my-parameters-path', {
    sdkOptions: {
    WithDecryption: true,
    },
    });
    }; -
    -

    This object accepts the same options as the AWS SDK v3 for JavaScript SSM getParametersByPath command.

    -

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SSMProvider class.

    -

    Options

      -
    • You can customize the retrieval of the value by passing options to the function:
    • -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    • decrypt - Whether to decrypt the value before returning it.
    • -
    • recursive - Whether to recursively retrieve all parameters within the path.
    • -
    -

    For more usage examples, see our documentation.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Type Parameters

    -
      -
    • -

      ExplicitUserProvidedType = undefined

    • -
    • -

      InferredFromOptionsType extends SSMGetMultipleOptionsUnion = SSMGetMultipleOptionsUnion

    -
    -

    Parameters

    -
      -
    • -
      path: string
      -

      The path of the parameters to retrieve

      -
    • -
    • -
      Optional options: InferredFromOptionsType & SSMGetMultipleOptions
      -

      Options to configure the provider

      -
    -

    Returns Promise<undefined | SSMGetMultipleOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getParametersByName.html b/docs/functions/_aws_lambda_powertools_parameters.getParametersByName.html deleted file mode 100644 index 8579057aae..0000000000 --- a/docs/functions/_aws_lambda_powertools_parameters.getParametersByName.html +++ /dev/null @@ -1,217 +0,0 @@ -getParametersByName | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    Intro

    The Parameters utility provides an SSMProvider that allows to retrieve parameters from AWS Systems Manager.

    -

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

    -

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for AppConfig:

    -
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm
    -
    -

    Basic usage

    -

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and cache them for 10 seconds
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': { maxAge: 10 }, // Cache for 10 seconds
    });
    }; -
    -

    Advanced usage

    Decryption

    If you have encrypted parameters, you can use the decrypt option to automatically decrypt them.

    - -

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and decrypt them
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': {}, // Use default options
    }, { decrypt: true });
    }; -
    -

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. -You can adjust how long values should be kept in cache by using the maxAge parameter.

    - -

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and cache them for 10 seconds
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': {}, // Use default options
    }, { maxAge: 10 });
    }; -
    -

    Alternatively, if you need more granular control over caching each parameter, you can pass it in the options object.

    - -

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and cache them individually
    const parameters = await getParametersByName({
    '/my-parameter-1': { maxAge: 10 }, // Cache for 10 seconds
    '/my-parameter-2': { maxAge: 20 }, // Cache for 20 seconds
    });
    }; -
    -

    If instead you'd like to always ensure you fetch the latest values from the store regardless if already available in cache, use the forceFetch parameter.

    - -

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and pass extra options to skip cache
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options
    '/my-parameter-2': {}, // Use default options
    }, { forceFetch: true });
    }; -
    -

    Transformations

    For parameters stored as JSON you can use the transform argument for deserialization. This will return a JavaScript objects instead of a strings. -For parameters that are instead stored as base64-encoded binary data, you can use the transform argument set to binary for decoding. This will return decoded strings for each parameter.

    - -

    Example

    import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';

    export const handler = async (): Promise<void> => {
    // Retrieve parameters and pass extra options to transform them
    const parameters = await getParametersByName({
    '/my-parameter-1': {}, // Use default options (no transformation)
    '/my-parameter-2': { transform: 'json' }, // Parse the value as JSON
    '/my-parameter-3': { transform: 'binary' }, // Parse the value as base64-encoded binary data
    });
    }; -
    -

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SSMProvider class.

    -

    Options

      -
    • You can customize the retrieval of the value by passing options to both the function and the parameter:
    • -
    • maxAge - The maximum age of the value in cache before fetching a new one (in seconds) (default: 5)
    • -
    • forceFetch - Whether to always fetch a new value from the store regardless if already available in cache
    • -
    • transform - Whether to transform the value before returning it. Supported values: json, binary
    • -
    • sdkOptions - Extra options to pass to the AWS SDK v3 for JavaScript client
    • -
    • decrypt - Whether to decrypt the value before returning it
    • -
    -

    throwOnError decides whether to throw an error if a parameter is not found:

    -
      -
    • A) Default fail-fast behavior: Throws a GetParameterError error upon any failure.
    • -
    • B) Gracefully aggregate all parameters that failed under "_errors" key.
    • -
    -

    It transparently uses GetParameter and/or getParametersByName depending on decryption requirements.

    -
                                   ┌────────────────────────┐
    ┌───▶ Decrypt entire batch │─────┐
    └────────────────────────┘ ┌────────────────────┐
    ├─────▶ getParametersByName API
    ┌──────────────────┐ ┌────────────────────────┐ └────────────────────┘
    Split batch │─── ┼──▶│ No decryption required │─────┘
    └──────────────────┘ └────────────────────────┘
    ┌────────────────────┐
    ┌────────────────────────┐ GetParameter API
    └──▶│Decrypt some but not all│───────────▶────────────────────┤
    └────────────────────────┘ getParametersByName API
    └────────────────────┘ -
    -

    For more usage examples, see our documentation.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Type Parameters

    -
      -
    • -

      ExplicitUserProvidedType = undefined

    -
    -

    Parameters

    -
      -
    • -
      parameters: Record<string, SSMGetParametersByNameOptions>
      -

      The path of the parameters to retrieve

      -
    • -
    • -
      Optional options: SSMGetParametersByNameOptions
      -

      Options to configure the provider

      -
    -

    Returns Promise<SSMGetParametersByNameOutput<ExplicitUserProvidedType>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_parameters.getSecret.html b/docs/functions/_aws_lambda_powertools_parameters.getSecret.html deleted file mode 100644 index 7576b555a4..0000000000 --- a/docs/functions/_aws_lambda_powertools_parameters.getSecret.html +++ /dev/null @@ -1,198 +0,0 @@ -getSecret | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    Intro

    The Parameters utility provides a SecretsProvider that allows to retrieve secrets from AWS Secrets Manager.

    -

    Getting started

    This utility supports AWS SDK v3 for JavaScript only. This allows the utility to be modular, and you to install only -the SDK packages you need and keep your bundle size small.

    -

    To use the provider, you must install the Parameters utility and the AWS SDK v3 for JavaScript for Secrets Manager:

    -
    npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager
    -
    -

    Basic usage

    -

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret
    const secret = await getSecret('my-secret');
    }; -
    -

    Advanced usage

    Caching

    By default, the provider will cache parameters retrieved in-memory for 5 seconds. -You can adjust how long values should be kept in cache by using the maxAge parameter.

    - -

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret and cache it for 10 seconds
    const secret = await getSecret('my-secret', { maxAge: 10 });
    }; -
    -

    If instead you'd like to always ensure you fetch the latest parameter from the store regardless if already available in cache, use the forceFetch parameter.

    - -

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret and always fetch the latest value
    const secret = await getSecret('my-secret', { forceFetch: true });
    }; -
    -

    Transformations

    For parameters stored as JSON or base64-encoded strings, you can use the transform argument set to json or binary for deserialization.

    - -

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret and parse it as JSON
    const secret = await getSecret('my-secret', { transform: 'json' });
    }; -
    -

    Extra SDK options

    When retrieving a secret, you can pass extra options to the AWS SDK v3 for JavaScript client by using the sdkOptions parameter.

    - -

    Example

    import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

    export const handler = async (): Promise<void> => {
    // Retrieve a secret and pass extra options to the AWS SDK v3 for JavaScript client
    const secret = await getSecret('my-secret', {
    sdkOptions: {
    VersionId: 1,
    },
    });
    }; -
    -

    This object accepts the same options as the AWS SDK v3 for JavaScript Secrets Manager client.

    -

    Built-in provider class

    For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the SecretsProvider class.

    -

    For more usage examples, see our documentation.

    - -

    See

    https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/

    -
    -
    -

    Type Parameters

    -
      -
    • -

      ExplicitUserProvidedType = undefined

    • -
    • -

      InferredFromOptionsType extends SecretsGetOptionsUnion = SecretsGetOptionsUnion

    -
    -

    Parameters

    -
      -
    • -
      name: string
      -

      The name of the secret to retrieve

      -
    • -
    • -
      Optional options: InferredFromOptionsType & SecretsGetOptions
      -

      Options to configure the provider

      -
    -

    Returns Promise<undefined | SecretsGetOutput<ExplicitUserProvidedType, InferredFromOptionsType>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html b/docs/functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html deleted file mode 100644 index 9ad6d19480..0000000000 --- a/docs/functions/_aws_lambda_powertools_tracer.captureLambdaHandler.html +++ /dev/null @@ -1,154 +0,0 @@ -captureLambdaHandler | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
    - -
  • -

    A middy middleware automating capture of metadata and annotations on segments or subsegments for a Lambda Handler.

    -

    Using this middleware on your handler function will automatically:

    -
      -
    • handle the subsegment lifecycle
    • -
    • add the ColdStart annotation
    • -
    • add the function response as metadata
    • -
    • add the function error as metadata (if any)
    • -
    - -

    Example

    import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer';
    import middy from '@middy/core';

    const tracer = new Tracer({ serviceName: 'serverlessAirline' });

    const lambdaHandler = async (_event: any, _context: any) => {
    ...
    };

    export const handler = middy(lambdaHandler).use(captureLambdaHandler(tracer)); -
    -
    -
    -

    Parameters

    -
      -
    • -
      target: Tracer
      -

      The Tracer instance to use for tracing

      -
    • -
    • -
      Optional options: CaptureLambdaHandlerOptions
      -

      (optional) Options for the middleware

      -
    -

    Returns MiddlewareLikeObj<unknown, unknown, Error, Context>

    middleware - The middy middleware object

    -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/functions/_aws_lambda_powertools_tracer.createTracer.html b/docs/functions/_aws_lambda_powertools_tracer.createTracer.html deleted file mode 100644 index 9c9ea451c3..0000000000 --- a/docs/functions/_aws_lambda_powertools_tracer.createTracer.html +++ /dev/null @@ -1,135 +0,0 @@ -createTracer | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_commons.LambdaInterface.html b/docs/interfaces/_aws_lambda_powertools_commons.LambdaInterface.html deleted file mode 100644 index 561fba0b4f..0000000000 --- a/docs/interfaces/_aws_lambda_powertools_commons.LambdaInterface.html +++ /dev/null @@ -1,150 +0,0 @@ -LambdaInterface | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Hierarchy

-
    -
  • LambdaInterface
-
-
-
- -
-
-

Properties

-
-
-

Properties

-
- -
handler: SyncHandler<Handler<any, any>> | AsyncHandler<Handler<any, any>>
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html b/docs/interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html deleted file mode 100644 index 56b70ee102..0000000000 --- a/docs/interfaces/_aws_lambda_powertools_idempotency.BasePersistenceLayerInterface.html +++ /dev/null @@ -1,235 +0,0 @@ -BasePersistenceLayerInterface | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Hierarchy

-
    -
  • BasePersistenceLayerInterface
-
-

Implemented by

-
-
-
-
- -
-
-

Methods

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html b/docs/interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html deleted file mode 100644 index 79e914b2e4..0000000000 --- a/docs/interfaces/_aws_lambda_powertools_logger.LogFormatterInterface.html +++ /dev/null @@ -1,182 +0,0 @@ -LogFormatterInterface | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Hierarchy

-
    -
  • LogFormatterInterface
-
-

Implemented by

-
-
-
-
- -
-
-

Methods

-
- -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html b/docs/interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html deleted file mode 100644 index d7c1a7e1b5..0000000000 --- a/docs/interfaces/_aws_lambda_powertools_metrics.MetricsInterface.html +++ /dev/null @@ -1,321 +0,0 @@ -MetricsInterface | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Hierarchy

-
    -
  • MetricsInterface
-
-

Implemented by

-
-
-
-
- -
-
-

Methods

-
- -
-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      dimensions: {
          [key: string]: string;
      }
      -
        -
      • -
        [key: string]: string
    -

    Returns void

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      Optional options: MetricsOptions
    -

    Returns HandlerMethodDecorator

-
- -
-
- -
    - -
  • -

    Returns Readonly<{
        _aws: {
            CloudWatchMetrics: {
                Dimensions: [string[]];
                Metrics: MetricDefinition[];
                Namespace: string;
            }[];
            Timestamp: number;
        };
        [key: string]: string | number | object;
    }>

-
- -
-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/interfaces/_aws_lambda_powertools_tracer.TracerInterface.html b/docs/interfaces/_aws_lambda_powertools_tracer.TracerInterface.html deleted file mode 100644 index f448c14abc..0000000000 --- a/docs/interfaces/_aws_lambda_powertools_tracer.TracerInterface.html +++ /dev/null @@ -1,398 +0,0 @@ -TracerInterface | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
-

Hierarchy

-
    -
  • TracerInterface
-
-

Implemented by

-
-
-
-
- -
-
-

Properties

-
- -
putAnnotation: ((key, value) => void)
-
-

Type declaration

-
    -
  • -
      -
    • (key, value): void
    • -
    • -
      -

      Parameters

      -
        -
      • -
        key: string
      • -
      • -
        value: string | number | boolean
      -

      Returns void

-
- -
putMetadata: ((key, value, namespace?) => void)
-
-

Type declaration

-
    -
  • -
      -
    • (key, value, namespace?): void
    • -
    • -
      -

      Parameters

      -
        -
      • -
        key: string
      • -
      • -
        value: unknown
      • -
      • -
        Optional namespace: string
      -

      Returns void

-
-

Methods

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      error: Error
    • -
    • -
      Optional remote: boolean
    -

    Returns void

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      Optional data: unknown
    • -
    • -
      Optional methodName: string
    -

    Returns void

-
- -
-
- -
-
- -
-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T

    -
    -

    Parameters

    -
      -
    • -
      service: T
    -

    Returns void | T

-
- -
    - -
  • -
    -

    Type Parameters

    -
      -
    • -

      T

    -
    -

    Parameters

    -
      -
    • -
      service: T
    -

    Returns void | T

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      Optional options: CaptureLambdaHandlerOptions
    -

    Returns HandlerMethodDecorator

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      Optional options: CaptureMethodOptions
    -

    Returns MethodDecorator

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_commons.ContextExamples.html b/docs/modules/_aws_lambda_powertools_commons.ContextExamples.html deleted file mode 100644 index 223c1b24a0..0000000000 --- a/docs/modules/_aws_lambda_powertools_commons.ContextExamples.html +++ /dev/null @@ -1,132 +0,0 @@ -ContextExamples | AWS Lambda Powertools Typescript API Reference
-
- -
- -
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_commons.Events.Custom.html b/docs/modules/_aws_lambda_powertools_commons.Events.Custom.html deleted file mode 100644 index e2a0f57c0a..0000000000 --- a/docs/modules/_aws_lambda_powertools_commons.Events.Custom.html +++ /dev/null @@ -1,133 +0,0 @@ -Custom | AWS Lambda Powertools Typescript API Reference
-
- -
- -
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_commons.Events.html b/docs/modules/_aws_lambda_powertools_commons.Events.html deleted file mode 100644 index ae3a3d084b..0000000000 --- a/docs/modules/_aws_lambda_powertools_commons.Events.html +++ /dev/null @@ -1,132 +0,0 @@ -Events | AWS Lambda Powertools Typescript API Reference
-
- -
- -
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_commons.html b/docs/modules/_aws_lambda_powertools_commons.html deleted file mode 100644 index 8f0a074d4b..0000000000 --- a/docs/modules/_aws_lambda_powertools_commons.html +++ /dev/null @@ -1,246 +0,0 @@ -@aws-lambda-powertools/commons | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

-

You can use the library in both TypeScript and JavaScript code bases.

-
-

Also available in Python, Java, and .NET.

-
-

Documentation | npm | Roadmap | Examples

-

Table of contents

-

Features

    -
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • -
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • -
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • -
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • -
-

Getting started

Find the complete project's documentation here.

-

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.

-

Each TypeScript utility is installed as standalone npm package.

-

Install all three core utilities at once with this single command:

-
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
-
-

Or refer to the installation guide of each utility:

-

👉 Installation guide for the Tracer utility

-

👉 Installation guide for the Logger utility

-

👉 Installation guide for the Metrics utility

-

👉 Installation guide for the Parameters utility

-

Examples

-

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

-

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

-

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

-

Connect

-

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

-

The following companies, among others, use Powertools:

- -

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

-

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

-

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

-

License

This library is licensed under the MIT-0 License. See the LICENSE file.

-
-
-
-

Index

-
-

Namespaces

-
-
-

Classes

-
-
-

Interfaces

-
-
-

Type Aliases

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_idempotency.html b/docs/modules/_aws_lambda_powertools_idempotency.html deleted file mode 100644 index e713cae7b1..0000000000 --- a/docs/modules/_aws_lambda_powertools_idempotency.html +++ /dev/null @@ -1,237 +0,0 @@ -@aws-lambda-powertools/idempotency | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

-

You can use the library in both TypeScript and JavaScript code bases.

-

AWS Lambda Powertools for Python and AWS Lambda Powertools for Java are also available.

-

📜 Documentation | NPM | Roadmap | Examples | Serverless TypeScript Demo

-

Table of contents

-

Features

    -
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • -
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • -
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • -
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • -
-

Getting started

Find the complete project's documentation here.

-

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

-

Install all three core utilities at once with this single command:

-
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
-
-

Or refer to the installation guide of each utility:

-

👉 Installation guide for the Tracer utility

-

👉 Installation guide for the Logger utility

-

👉 Installation guide for the Metrics utility

-

👉 Installation guide for the Parameters utility

-

Examples

-

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

-

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

-

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

-

Connect

-

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

-

The following companies, among others, use Powertools:

- -

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

-

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

-

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

-

License

This library is licensed under the MIT-0 License. See the LICENSE file.

-
-
-
-

Index

-
-

Classes

-
-
-

Interfaces

-
-
-

Functions

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_logger.html b/docs/modules/_aws_lambda_powertools_logger.html deleted file mode 100644 index 303ee5e121..0000000000 --- a/docs/modules/_aws_lambda_powertools_logger.html +++ /dev/null @@ -1,238 +0,0 @@ -@aws-lambda-powertools/logger | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

-

You can use the library in both TypeScript and JavaScript code bases.

-
-

Also available in Python, Java, and .NET.

-
-

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

-

Table of contents

-

Features

    -
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • -
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • -
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • -
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • -
-

Getting started

Find the complete project's documentation here.

-

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.

-

Each TypeScript utility is installed as standalone npm package.

-

Install all three core utilities at once with this single command:

-
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
-
-

Or refer to the installation guide of each utility:

-

👉 Installation guide for the Tracer utility

-

👉 Installation guide for the Logger utility

-

👉 Installation guide for the Metrics utility

-

👉 Installation guide for the Parameters utility

-

Examples

-

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

-

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

-

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

-

Connect

-

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

-

The following companies, among others, use Powertools:

- -

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

-

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

-

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

-

License

This library is licensed under the MIT-0 License. See the LICENSE file.

-
-
-
-

Index

-
-

Classes

-
-
-

Interfaces

-
-
-

Functions

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_metrics.html b/docs/modules/_aws_lambda_powertools_metrics.html deleted file mode 100644 index 4163b34413..0000000000 --- a/docs/modules/_aws_lambda_powertools_metrics.html +++ /dev/null @@ -1,246 +0,0 @@ -@aws-lambda-powertools/metrics | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

-

You can use the library in both TypeScript and JavaScript code bases.

-
-

Also available in Python, Java, and .NET.

-
-

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

-

Table of contents

-

Features

    -
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • -
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • -
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • -
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • -
-

Getting started

Find the complete project's documentation here.

-

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

-

Install all three core utilities at once with this single command:

-
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
-
-

Or refer to the installation guide of each utility:

-

👉 Installation guide for the Tracer utility

-

👉 Installation guide for the Logger utility

-

👉 Installation guide for the Metrics utility

-

👉 Installation guide for the Parameters utility

-

Examples

-

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

-

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

-

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

-

Connect

-

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

-

The following companies, among others, use Powertools:

- -

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

-

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

-

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

-

License

This library is licensed under the MIT-0 License. See the LICENSE file.

-
-
-
-

Index

-
-

Enumerations

-
-
-

Classes

-
-
-

Interfaces

-
-
-

Type Aliases

-
-
-

Variables

-
-
-

Functions

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_parameters.html b/docs/modules/_aws_lambda_powertools_parameters.html deleted file mode 100644 index 173677bb93..0000000000 --- a/docs/modules/_aws_lambda_powertools_parameters.html +++ /dev/null @@ -1,251 +0,0 @@ -@aws-lambda-powertools/parameters | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript

- - - - - - - - -
⚠️ WARNING: Do not use this utility in production just yet! ⚠️
This utility is currently released as beta developer preview and is intended strictly for feedback and testing purposes and not for production workloads.. The version and all future versions tagged with the -beta suffix should be treated as not stable. Up until before the General Availability release we might introduce significant breaking changes and improvements in response to customers feedback.
-

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

-

You can use the library in both TypeScript and JavaScript code bases.

-
-

Also available in Python, Java, and .NET.

-
-

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

-

Table of contents

-

Features

    -
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • -
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • -
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • -
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • -
-

Getting started

Find the complete project's documentation here.

-

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

-

Install all three core utilities at once with this single command:

-
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
-
-

Or refer to the installation guide of each utility:

-

👉 Installation guide for the Tracer utility

-

👉 Installation guide for the Logger utility

-

👉 Installation guide for the Metrics utility

-

👉 Installation guide for the Parameters utility

-

Examples

-

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

-

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

-

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

-

Connect

-

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

-

The following companies, among others, use Powertools:

- -

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

-

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

-

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

-

License

This library is licensed under the MIT-0 License. See the LICENSE file.

-
-
-
-

Index

-
-

Classes

-
-
-

Variables

-
-
-

Functions

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/_aws_lambda_powertools_tracer.html b/docs/modules/_aws_lambda_powertools_tracer.html deleted file mode 100644 index 9f29e58f92..0000000000 --- a/docs/modules/_aws_lambda_powertools_tracer.html +++ /dev/null @@ -1,235 +0,0 @@ -@aws-lambda-powertools/tracer | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

-

You can use the library in both TypeScript and JavaScript code bases.

-
-

Also available in Python, Java, and .NET.

-
-

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

-

Table of contents

-

Features

    -
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • -
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • -
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • -
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB
  • -
-

Getting started

Find the complete project's documentation here.

-

Installation

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

-

Install all three core utilities at once with this single command:

-
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
-
-

Or refer to the installation guide of each utility:

-

👉 Installation guide for the Tracer utility

-

👉 Installation guide for the Logger utility

-

👉 Installation guide for the Metrics utility

-

👉 Installation guide for the Parameters utility

-

Examples

-

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

-

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

-

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

-

Connect

-

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

-

The following companies, among others, use Powertools:

- -

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

-

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

-

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

-

License

This library is licensed under the MIT-0 License. See the LICENSE file.

-
-
-
-

Index

-
-

Classes

-
-
-

Interfaces

-
-
-

Functions

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/cdk_sample.html b/docs/modules/cdk_sample.html deleted file mode 100644 index ed8a19e8c1..0000000000 --- a/docs/modules/cdk_sample.html +++ /dev/null @@ -1,181 +0,0 @@ -cdk-sample | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript examples in CDK

This is a deployable CDK app that deploys AWS Lambda functions as part of a CloudFormation stack. These Lambda functions use the utilities made available as part of AWS Lambda Powertools for TypeScript to demonstrate their usage.

-
-

Note -You will need to have a valid AWS Account in order to deploy these resources. These resources may incur costs to your AWS Account. The cost from some services are covered by the AWS Free Tier but not all of them. If you don't have an AWS Account follow these instructions to create one.

-
-

The example functions, located in the functions folder, are frontend by a REST API that is deployed using AWS API Gateway.

-

The API has three endpoints:

-
    -
  • POST / - Adds an item to the DynamoDB table
  • -
  • GET / - Retrieves all items from the DynamoDB table
  • -
  • GET /{id} - Retrieves a specific item from the DynamoDB table
  • -
-

Deploying the stack

    -
  • Navigate to this location of the repo in your terminal (examples/cdk)
  • -
  • npm ci
  • -
  • npm run cdk deploy --all --profile <YOUR_AWS_PROFILE>
  • -
-

Note: Prior to deploying you may need to run cdk bootstrap aws://<YOU_AWS_ACCOUNT_ID>/<AWS_REGION> --profile <YOUR_AWS_PROFILE> if you have not already bootstrapped your account for CDK.

-
-

Note -You can find your API Gateway Endpoint URL in the output values displayed after deployment.

-
-

Execute the functions via API Gateway

Use the API Gateway Endpoint URL from the output values to execute the functions. First, let's add two items to the DynamoDB Table by running:

-
curl -XPOST --header 'Content-Type: application/json' --data '{"id":"myfirstitem","name":"Some Name for the first item"}' https://randomid12345.execute-api.eu-central-1.amazonaws.com/prod/
curl -XPOST --header 'Content-Type: application/json' --data '{"id":"myseconditem","name":"Some Name for the second item"}' https://randomid1245.execute-api.eu-central-1.amazonaws.com/prod/ -
-

Now, let's retrieve all items by running:

-
curl -XGET https://randomid12345.execute-api.eu-central-1.amazonaws.com/prod/
-
-

And finally, let's retrieve a specific item by running:

-
curl -XGET https://randomid12345.execute-api.eu-central-1.amazonaws.com/prod/myseconditem/
-
-

Observe the outputs in AWS CloudWatch & X-Ray

CloudWatch

If we check the logs in CloudWatch, we can see that the logs are structured like this

-
2022-04-26T17:00:23.808Z	e8a51294-6c6a-414c-9777-6b0f24d8739b	DEBUG	
{
"level": "DEBUG",
"message": "retrieved items: 0",
"service": "getAllItems",
"timestamp": "2022-04-26T17:00:23.808Z",
"awsRequestId": "e8a51294-6c6a-414c-9777-6b0f24d8739b"
} -
-

By having structured logs like this, we can easily search and analyse them in CloudWatch Logs Insight. Run the following query to get all messages for a specific awsRequestId:

-
filter awsRequestId="bcd50969-3a55-49b6-a997-91798b3f133a"
| fields timestamp, message -
-

AWS X-Ray

As we have enabled tracing for our Lambda-Funtions, you can visit AWS CloudWatch Console and see Traces and a Service Map for our application.

-

Cleanup

To delete the sample application that you created, run the command below while in the examples/cdk directory:

-
cdk destroy
-
-
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/docs.html b/docs/modules/docs.html deleted file mode 100644 index 2d8277b151..0000000000 --- a/docs/modules/docs.html +++ /dev/null @@ -1,235 +0,0 @@ -docs | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript

Join our Discord

-

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.

-

You can use the library in both TypeScript and JavaScript code bases.

-
-

Also available in Python, Java, and .NET.

-
-

Documentation | npm | Roadmap | Examples | Serverless TypeScript Demo

-

Table of contents

-

Features

    -
  • Tracer - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions
  • -
  • Logger - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context
  • -
  • Metrics - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
  • -
  • Parameters (beta) - High-level functions to retrieve one or more parameters from AWS SSM Parameter Store, AWS Secrets Manager, AWS AppConfig, and Amazon DynamoDB
  • -
-

Getting started

Find the complete project's documentation here.

-

Installation

You have 2 ways of consuming those utilities:

-
    -
  • NPM modules
  • -
  • Lambda Layer
  • -
-

Lambda layers

The AWS Lambda Powertools for TypeScript utilities is packaged as a single AWS Lambda Layer

-

👉 Installation guide for the AWS Lambda Powertools for TypeScript layer

-

NPM modules

The AWS Lambda Powertools for TypeScript utilities follow a modular approach, similar to the official AWS SDK v3 for JavaScript.
Each TypeScript utility is installed as standalone NPM package.

-

Install all three core utilities at once with this single command:

-
npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics
-
-

Or refer to the installation guide of each utility:

-

👉 Installation guide for the Tracer utility

-

👉 Installation guide for the Logger utility

-

👉 Installation guide for the Metrics utility

-

👉 Installation guide for the Parameters utility

-

Examples

-

Serverless TypeScript Demo application

The Serverless TypeScript Demo shows how to use Lambda Powertools for TypeScript.
You can find instructions on how to deploy and load test this application in the repository.

-

Contribute

If you are interested in contributing to this project, please refer to our Contributing Guidelines.

-

Roadmap

The roadmap of Powertools is driven by customers’ demand.
Help us prioritize upcoming functionalities or utilities by upvoting existing RFCs and feature requests, or creating new ones, in this GitHub repository.

-

Connect

-

How to support AWS Lambda Powertools for TypeScript?

Becoming a reference customer

Knowing which companies are using this library is important to help prioritize the project internally. If your company is using AWS Lambda Powertools for TypeScript, you can request to have your name and logo added to the README file by raising a Support Lambda Powertools (become a reference){target="_blank"} issue.

-

The following companies, among others, use Powertools:

- -

Sharing your work

Share what you did with Powertools 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools here.

-

Using Lambda Layer

This helps us understand who uses Powertools in a non-intrusive way, and helps us gain future investments for other Powertools languages. When using Layers, you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process.

-

Credits

Credits for the Lambda Powertools idea go to DAZN and their DAZN Lambda Powertools.

-

License

This library is licensed under the MIT-0 License. See the LICENSE file.

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/layers.html b/docs/modules/layers.html deleted file mode 100644 index baefe8a1de..0000000000 --- a/docs/modules/layers.html +++ /dev/null @@ -1,176 +0,0 @@ -layers | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

Lambda Powertools for TypeScript Layer Publisher

This CDK app is meant to be used to publish Powertools for TypeScript Lambda Layer. It is composed of a single stack deploying the Layer into the target account.

-

Usage

npm ci
npm run cdk deploy -
-

By default it will package the layer with the latest version publicly available but you can force the public version to use with PowerToolsPackageVersion context variable:

-
npm run cdk deploy -- --context PowerToolsPackageVersion='0.9.0'
-
-

Tests

Units

npm run test
-
-

E2E

This will deploy and destroy several stacks in your AWS Account

-
npm run test:e2e
-
-

PS: You can force

-
    -
  • the lambda runtime to test with the RUNTIME env variable
  • -
  • the Powertools version with VERSION env variable
  • -
-
RUNTIME=node12.x VERSION=0.9.0 npm run test:e2e
-
-

How to add new region

    -
  • Activate new region in your TEST and PROD accounts
  • -
  • Bootstrap a CDKToolkit stack in the new region
  • -
-
 cdk bootstrap aws://AWS_ACCOUNT/NEW_REGION   
-
-
    -
  • Build the layer folder from the project root directory
  • -
-
bash ./.github/scripts/setup_tmp_layer_files.sh 
-
-
    -
  • Deploy the first layer version to the new region, make sure to set the NEW_REGION in your AWS CLI configuration correctly, otherwise you will deploy to the wrong region
  • -
-
npm run cdk -w layers -- deploy --app cdk.out --context region=NEW_REGION 'LayerPublisherStack' --require-approval never --verbose 
-
-
    -
  • Run the bumper script to bring all layers to the same version across all regions
  • -
  • Add new region to the worklflow in ./github/workflows/reusable_deploy_layer_stack.yml
  • -
  • Document new region in docs/index.md
  • -
-
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/modules/sam_example.html b/docs/modules/sam_example.html deleted file mode 100644 index 1df92c11d5..0000000000 --- a/docs/modules/sam_example.html +++ /dev/null @@ -1,231 +0,0 @@ -sam-example | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -

AWS Lambda Powertools for TypeScript examples in SAM

This project contains source code and supporting files for a serverless application that you can deploy with the SAM CLI. The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality for building and testing Lambda applications. It uses Docker to run your functions in an Amazon Linux environment that matches Lambda. It can also emulate your application's build environment and API.

-

This project includes the following files and folders:

-
    -
  • src - Code for the application's Lambda function written in TypeScript. See "Prepare the project" below for instructions on how to copy the Lambda handler code here.
  • -
  • events - Invocation events that you can use to invoke the function.
  • -
  • template.yaml - A template that defines the application's AWS resources.
  • -
-

The application uses several AWS resources, including Lambda functions and an API Gateway API. These resources are defined in the template.yaml file in this project. You can update the template to add AWS resources through the same deployment process that updates your application code.

-
-

Note -You will need to have a valid AWS Account in order to deploy these resources. These resources may incur costs to your AWS Account. The cost from some services are covered by the AWS Free Tier but not all of them. If you don't have an AWS Account follow these instructions to create one.

-
-

Prepare the project

All the following commands in this file must be executed inside the folder examples/sam

-

Before deploying this example install the npm dependencies:

-
npm i
-
-
-

Note -In order to run this example you'll need AWS SAM CLI version 1.65 or later. If you have an older version of the AWS SAM CLI, see Upgrading the AWS SAM CLI.

-
-

Deploy the sample application

To build and deploy your application for the first time, run the following in your shell:

-
sam build --beta-features
sam deploy --guided -
-

The first command will build the source of your application. Using esbuild for bundling Node.js and TypeScript is a beta feature, therefore we add the --beta-features parameter. The second command will package and deploy your application to AWS, with a series of prompts:

-
    -
  • Stack Name: The name of the stack to deploy to CloudFormation. This should be unique to your account and region, and a good starting point would be something matching your project name.
  • -
  • AWS Region: The AWS region you want to deploy your app to.
  • -
  • Confirm changes before deploy: If set to yes, any change sets will be shown to you before execution for manual review. If set to no, the AWS SAM CLI will automatically deploy application changes.
  • -
  • Allow SAM CLI IAM role creation: Many AWS SAM templates, including this example, create AWS IAM roles required for the AWS Lambda function(s) included to access AWS services. By default, these are scoped down to minimum required permissions. To deploy an AWS CloudFormation stack which creates or modifies IAM roles, the CAPABILITY_IAM value for capabilities must be provided. If permission isn't provided through this prompt, to deploy this example you must explicitly pass --capabilities CAPABILITY_IAM to the sam deploy command.
  • -
  • Save arguments to samconfig.toml: If set to yes, your choices will be saved to a configuration file inside the project, so that in the future you can just re-run sam deploy without parameters to deploy changes to your application.
  • -
-

You can find your API Gateway Endpoint URL in the output values displayed after deployment.

-

Execute the functions via API Gateway

Use the API Gateway Endpoint URL from the output values to execute the functions. First, let's add two items to the DynamoDB Table by running:

-
curl -XPOST --header 'Content-Type: application/json' --data '{"id":"myfirstitem","name":"Some Name for the first item"}' https://randomid12345.execute-api.eu-central-1.amazonaws.com/Prod/
curl -XPOST --header 'Content-Type: application/json' --data '{"id":"myseconditem","name":"Some Name for the second item"}' https://randomid1245.execute-api.eu-central-1.amazonaws.com/Prod/ -
-

Now, let's retrieve all items by running:

-
curl -XGET https://randomid12345.execute-api.eu-central-1.amazonaws.com/Prod/
-
-

And finally, let's retrieve a specific item by running:

-
curl -XGET https://randomid12345.execute-api.eu-central-1.amazonaws.com/Prod/myseconditem/
-
-

Observe the outputs in AWS CloudWatch & X-Ray

CloudWatch

If we check the logs in CloudWatch, we can see that the logs are structured like this

-
2022-04-26T17:00:23.808Z	e8a51294-6c6a-414c-9777-6b0f24d8739b	DEBUG	
{
"level": "DEBUG",
"message": "retrieved items: 0",
"service": "getAllItems",
"timestamp": "2022-04-26T17:00:23.808Z",
"awsRequestId": "e8a51294-6c6a-414c-9777-6b0f24d8739b"
} -
-

By having structured logs like this, we can easily search and analyse them in CloudWatch Logs Insight. Run the following query to get all messages for a specific awsRequestId:

-
filter awsRequestId="bcd50969-3a55-49b6-a997-91798b3f133a"
| fields timestamp, message -
-

AWS X-Ray

As we have enabled tracing for our Lambda-Funtions, you can visit AWS CloudWatch Console and see Traces and a Service Map for our application.

-

You can also use the AWS SAM CLI to retrieve traces by running sam traces.

-

Use the SAM CLI to build and test locally

Build your application with the sam build command.

-
sam build --beta-features
-
-

The SAM CLI installs dependencies defined in package.json, compiles TypeScript with esbuild, creates a deployment package, and saves it in the .aws-sam/build folder.

-

Test a single function by invoking it directly with a test event. An event is a JSON document that represents the input that the function receives from the event source. Test events are included in the events folder in this project.

-

Run functions locally and invoke them with the sam local invoke command.

-
sam local invoke getAllItemsFunction --event events/event-get-all-items.json
-
-

The SAM CLI can also emulate your application's API. Use the sam local start-api to run the API locally on port 3000.

-
sam local start-api
curl http://localhost:3000/ -
-

The SAM CLI reads the application template to determine the API's routes and the functions that they invoke. The Events property on each function's definition includes the route and method for each path.

-
Events:
HelloWorld:
Type: Api
Properties:
Path: /
Method: get -
-

Fetch, tail, and filter Lambda function logs

To simplify troubleshooting, SAM CLI has a command called sam logs. sam logs lets you fetch logs generated by your deployed Lambda function from the command line. In addition to printing the logs on the terminal, this command has several nifty features to help you quickly find the bug.

-

NOTE: This command works for all AWS Lambda functions; not just the ones you deploy using SAM.

-
sam logs -n getAllItemsFunction --stack-name powertools-example --tail
-
-

You can find more information and examples about filtering Lambda function logs in the SAM CLI Documentation.

-

Switch to Lambda Layer

In this example we are including AWS Lambda Powertools as a dependency in our function's package.json. This is the recommended approach for development and testing. However, for production, you can also use the AWS Lambda Powertools as a Lambda Layer.

-

To start using the AWS Lambda Powertools as a Lambda Layer, you need to:

-
    -
  1. Specify the Layer's ARN in Layers section under each function's Properties section
  2. -
  3. Instruct esbuild to not bundle @aws-lambda-powertools under each function's Metadata/BuildProperties section
  4. -
-

To do so, open the template.yaml file, and for each Lambda Function, update the following sections:

-
Resources:
putItemFunction:
Type: AWS::Serverless::Function
Properties:
+ Layers:
+ - arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:6
Handler: src/put-item.putItemHandler
Description: A simple example includes a HTTP ost method to add one item to a DynamoDB table.
Policies: -
-

and:

-
Metadata: 
# Manage esbuild properties
BuildMethod: esbuild
BuildProperties:
BuildMethod: esbuild
BuildProperties:
Minify: true
Target: "ES2020"
Sourcemap: true
External:
- "@aws-sdk/lib-dynamodb"
- "@aws-sdk/client-dynamodb"
+ - "@aws-lambda-powertools/commons"
+ - "@aws-lambda-powertools/logger'
+ - "@aws-lambda-powertools/metrics"
+ - "@aws-lambda-powertools/tracer"
EntryPoints: -
-

Learn more about Lambda Layers here and about the Lambda Powertools for TypeScript layers here.

-

Cleanup

To delete the sample application that you created, run the command below while in the examples/sam directory:

-
sam delete
-
-

Resources

See the AWS SAM developer guide for an introduction to SAM specification, the SAM CLI, and serverless application concepts.

-

Next, you can use AWS Serverless Application Repository to deploy ready to use Apps that go beyond hello world samples and learn how authors developed their applications: AWS Serverless Application Repository main page

-
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_commons.AsyncHandler.html b/docs/types/_aws_lambda_powertools_commons.AsyncHandler.html deleted file mode 100644 index 5b0af3b0cd..0000000000 --- a/docs/types/_aws_lambda_powertools_commons.AsyncHandler.html +++ /dev/null @@ -1,146 +0,0 @@ -AsyncHandler | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
AsyncHandler<T>: ((event, context) => Promise<NonNullable<Parameters<Parameters<T>[2]>[1]>>)
-
-

Type Parameters

-
    -
  • -

    T extends Handler

-
-

Type declaration

-
    -
  • -
      -
    • (event, context): Promise<NonNullable<Parameters<Parameters<T>[2]>[1]>>
    • -
    • -
      -

      Parameters

      -
        -
      • -
        event: Parameters<T>[0]
      • -
      • -
        context: Parameters<T>[1]
      -

      Returns Promise<NonNullable<Parameters<Parameters<T>[2]>[1]>>

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html b/docs/types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html deleted file mode 100644 index f861b66a87..0000000000 --- a/docs/types/_aws_lambda_powertools_commons.MiddlewareLikeObj.html +++ /dev/null @@ -1,146 +0,0 @@ -MiddlewareLikeObj | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
-
- -

Type alias MiddlewareLikeObj<TEvent, TResult, TErr, TContext>

-
MiddlewareLikeObj<TEvent, TResult, TErr, TContext>: {
    after?: MiddlewareFn<TEvent, TResult, TErr, TContext>;
    before?: MiddlewareFn<TEvent, TResult, TErr, TContext>;
    onError?: MiddlewareFn<TEvent, TResult, TErr, TContext>;
}
-
-

Type Parameters

-
    -
  • -

    TEvent = unknown

  • -
  • -

    TResult = unknown

  • -
  • -

    TErr = Error

  • -
  • -

    TContext extends Context = Context

-
-

Type declaration

-
    -
  • -
    Optional after?: MiddlewareFn<TEvent, TResult, TErr, TContext>
  • -
  • -
    Optional before?: MiddlewareFn<TEvent, TResult, TErr, TContext>
  • -
  • -
    Optional onError?: MiddlewareFn<TEvent, TResult, TErr, TContext>
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_commons.MiddyLikeRequest.html b/docs/types/_aws_lambda_powertools_commons.MiddyLikeRequest.html deleted file mode 100644 index 80fb494fb6..0000000000 --- a/docs/types/_aws_lambda_powertools_commons.MiddyLikeRequest.html +++ /dev/null @@ -1,137 +0,0 @@ -MiddyLikeRequest | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
MiddyLikeRequest: {
    context: Context;
    error: Error | null;
    event: unknown;
    response: unknown | null;
}
-
-

Type declaration

-
    -
  • -
    context: Context
  • -
  • -
    error: Error | null
  • -
  • -
    event: unknown
  • -
  • -
    response: unknown | null
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_commons.SyncHandler.html b/docs/types/_aws_lambda_powertools_commons.SyncHandler.html deleted file mode 100644 index ab1ddc2373..0000000000 --- a/docs/types/_aws_lambda_powertools_commons.SyncHandler.html +++ /dev/null @@ -1,148 +0,0 @@ -SyncHandler | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
SyncHandler<T>: ((event, context, callback) => void)
-
-

Type Parameters

-
    -
  • -

    T extends Handler

-
-

Type declaration

-
    -
  • -
      -
    • (event, context, callback): void
    • -
    • -
      -

      Parameters

      -
        -
      • -
        event: Parameters<T>[0]
      • -
      • -
        context: Parameters<T>[1]
      • -
      • -
        callback: Parameters<T>[2]
      -

      Returns void

-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/types/_aws_lambda_powertools_metrics.MetricResolution.html b/docs/types/_aws_lambda_powertools_metrics.MetricResolution.html deleted file mode 100644 index 6d1ade3a48..0000000000 --- a/docs/types/_aws_lambda_powertools_metrics.MetricResolution.html +++ /dev/null @@ -1,127 +0,0 @@ -MetricResolution | AWS Lambda Powertools Typescript API Reference
-
- -
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file From 0269954def71cb618623eab8d75c8d84b1aaf484 Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Tue, 6 Jun 2023 16:56:01 +0200 Subject: [PATCH 10/16] remove generated variables in docs --- ...ons.ContextExamples.helloworldContext.html | 127 ---------------- ...ols_commons.Events.Custom.CustomEvent.html | 137 ------------------ ...powertools_metrics.MetricResolution-1.html | 134 ----------------- ...wertools_parameters.DEFAULT_PROVIDERS.html | 126 ---------------- 4 files changed, 524 deletions(-) delete mode 100644 docs/variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html delete mode 100644 docs/variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html delete mode 100644 docs/variables/_aws_lambda_powertools_metrics.MetricResolution-1.html delete mode 100644 docs/variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html diff --git a/docs/variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html b/docs/variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html deleted file mode 100644 index 57b6e364cf..0000000000 --- a/docs/variables/_aws_lambda_powertools_commons.ContextExamples.helloworldContext.html +++ /dev/null @@ -1,127 +0,0 @@ -helloworldContext | AWS Lambda Powertools Typescript API Reference
-
- -
-
- -
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html b/docs/variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html deleted file mode 100644 index 2c1062d2fc..0000000000 --- a/docs/variables/_aws_lambda_powertools_commons.Events.Custom.CustomEvent.html +++ /dev/null @@ -1,137 +0,0 @@ -CustomEvent | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
CustomEvent: {
    key1: string;
    key2: string;
    key3: string;
} = ...
-
-

Type declaration

-
    -
  • -
    key1: string
  • -
  • -
    key2: string
  • -
  • -
    key3: string
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/variables/_aws_lambda_powertools_metrics.MetricResolution-1.html b/docs/variables/_aws_lambda_powertools_metrics.MetricResolution-1.html deleted file mode 100644 index fd1b262301..0000000000 --- a/docs/variables/_aws_lambda_powertools_metrics.MetricResolution-1.html +++ /dev/null @@ -1,134 +0,0 @@ -MetricResolution | AWS Lambda Powertools Typescript API Reference
-
- -
-
-
- -
MetricResolution: {
    High: 1;
    Standard: 60;
} = ...
-
-

Type declaration

-
    -
  • -
    Readonly High: 1
  • -
  • -
    Readonly Standard: 60
-
-
-

Generated using TypeDoc

-
\ No newline at end of file diff --git a/docs/variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html b/docs/variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html deleted file mode 100644 index 7e0012c514..0000000000 --- a/docs/variables/_aws_lambda_powertools_parameters.DEFAULT_PROVIDERS.html +++ /dev/null @@ -1,126 +0,0 @@ -DEFAULT_PROVIDERS | AWS Lambda Powertools Typescript API Reference
-
- -
- -
-

Generated using TypeDoc

-
\ No newline at end of file From 640d02e0c03bd5654892a316ade4614a9438d67e Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Tue, 6 Jun 2023 17:32:03 +0200 Subject: [PATCH 11/16] adjust middleware export --- packages/idempotency/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/idempotency/src/index.ts b/packages/idempotency/src/index.ts index dbe2ff9aff..2cb76b05e2 100644 --- a/packages/idempotency/src/index.ts +++ b/packages/idempotency/src/index.ts @@ -3,4 +3,4 @@ export * from './IdempotencyConfig'; export * from './idempotentDecorator'; export * from './IdempotencyHandler'; export * from './makeFunctionIdempotent'; -export * from './middleware/makeHandlerIdempotent'; +export * from './middleware'; From 5be37584e5d8e876d419000053cfa310822200fe Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Wed, 7 Jun 2023 10:16:44 +0200 Subject: [PATCH 12/16] add more docs --- packages/idempotency/src/IdempotencyConfig.ts | 34 +++++++++++++++++++ .../idempotency/src/IdempotencyHandler.ts | 3 ++ .../idempotency/src/idempotentDecorator.ts | 26 ++++++++++++++ packages/idempotency/src/index.ts | 2 +- .../src/persistence/IdempotencyRecord.ts | 30 ++++++++++++++-- packages/idempotency/src/persistence/index.ts | 1 + .../idempotencyDecorator.test.FunctionCode.ts | 2 +- ...akeFunctionIdempotent.test.FunctionCode.ts | 2 +- .../tests/unit/IdempotencyHandler.test.ts | 2 +- packages/parameters/src/docs.ts | 4 --- 10 files changed, 96 insertions(+), 10 deletions(-) delete mode 100644 packages/parameters/src/docs.ts diff --git a/packages/idempotency/src/IdempotencyConfig.ts b/packages/idempotency/src/IdempotencyConfig.ts index f8a00ed8d4..ad494bdc64 100644 --- a/packages/idempotency/src/IdempotencyConfig.ts +++ b/packages/idempotency/src/IdempotencyConfig.ts @@ -2,14 +2,48 @@ import { EnvironmentVariablesService } from './config'; import type { Context } from 'aws-lambda'; import type { IdempotencyConfigOptions } from './types'; +/** + * Configuration for the idempotency feature. + */ class IdempotencyConfig { + /** + * The JMESPath expression used to extract the idempotency key from the event. + * @default '' + */ public eventKeyJmesPath: string; + /** + * The number of seconds the idempotency key is valid. + * @default 3600 (1 hour) + */ public expiresAfterSeconds: number; + /** + * The hash function used to generate the idempotency key. + * @see https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm_options + * @default 'md5' + */ public hashFunction: string; + /** + * The lambda context object. + */ public lambdaContext?: Context; + /** + * The maximum number of items to store in the local cache. + * @default 1000 + */ public maxLocalCacheSize: number; + /** + * The JMESPath expression used to extract the payload to validate. + */ public payloadValidationJmesPath?: string; + /** + * Throw an error if the idempotency key is not found in the event. + * In some cases, you may want to allow the request to continue without idempotency. + */ public throwOnNoIdempotencyKey: boolean; + /** + * Use the local cache to store idempotency keys. + * @see {@link LRUCache} + */ public useLocalCache: boolean; readonly #envVarsService: EnvironmentVariablesService; readonly #enabled: boolean = true; diff --git a/packages/idempotency/src/IdempotencyHandler.ts b/packages/idempotency/src/IdempotencyHandler.ts index f8983e59c0..66ecae19eb 100644 --- a/packages/idempotency/src/IdempotencyHandler.ts +++ b/packages/idempotency/src/IdempotencyHandler.ts @@ -10,6 +10,9 @@ import { BasePersistenceLayer, IdempotencyRecord } from './persistence'; import { IdempotencyConfig } from './IdempotencyConfig'; import { MAX_RETRIES } from './constants'; +/** + * @internal + */ export class IdempotencyHandler { private readonly fullFunctionPayload: Record; private readonly functionPayloadToBeHashed: Record; diff --git a/packages/idempotency/src/idempotentDecorator.ts b/packages/idempotency/src/idempotentDecorator.ts index 54be01cce7..020c3e2cd9 100644 --- a/packages/idempotency/src/idempotentDecorator.ts +++ b/packages/idempotency/src/idempotentDecorator.ts @@ -85,6 +85,32 @@ const idempotentLambdaHandler = function ( ) => PropertyDescriptor { return idempotent(options); }; +/** + * Use this decorator to make any class function idempotent. + * Similar to the `idempotentLambdaHandler` decorator, you need to provide a persistence layer to store the idempotency information. + * @example + * ```ts + * import { + * DynamoDBPersistenceLayer, + * idempotentFunction + * } from '@aws-lambda-powertools/idempotency' + * + * class MyClass { + * + * public async handler(_event: any, _context: any) { + * for(const record of _event.records){ + * await this.process(record); + * } + * } + * + * @idempotentFunction({ persistenceStore: new DynamoDBPersistenceLayer() }) + * public async process(record: Record; private status: IdempotencyRecordStatus; @@ -22,10 +38,17 @@ class IdempotencyRecord { this.status = config.status; } + /** + * Get the response data of the record. + */ public getResponse(): Record | undefined { return this.responseData; } + /** + * Get the status of the record. + * @throws {IdempotencyInvalidStatusError} If the status is not a valid status. + */ public getStatus(): IdempotencyRecordStatus { if (this.isExpired()) { return IdempotencyRecordStatus.EXPIRED; @@ -36,6 +59,9 @@ class IdempotencyRecord { } } + /** + * Returns true if the record is expired or undefined. + */ public isExpired(): boolean { return ( this.expiryTimestamp !== undefined && diff --git a/packages/idempotency/src/persistence/index.ts b/packages/idempotency/src/persistence/index.ts index 72ea36e01f..92f177da4e 100644 --- a/packages/idempotency/src/persistence/index.ts +++ b/packages/idempotency/src/persistence/index.ts @@ -1,3 +1,4 @@ export * from './BasePersistenceLayer'; export * from './BasePersistenceLayerInterface'; export * from './IdempotencyRecord'; +export * from './DynamoDBPersistenceLayer'; diff --git a/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts b/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts index a75a72b026..244457aab3 100644 --- a/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts +++ b/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts @@ -1,8 +1,8 @@ import type { Context } from 'aws-lambda'; import { LambdaInterface } from '@aws-lambda-powertools/commons'; -import { DynamoDBPersistenceLayer } from '../../src/dynamodb'; import { idempotentFunction, idempotentLambdaHandler } from '../../src'; import { Logger } from '../../../logger'; +import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer'; const IDEMPOTENCY_TABLE_NAME = process.env.IDEMPOTENCY_TABLE_NAME || 'table_name'; diff --git a/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts b/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts index 897499ccfc..af2d3062c6 100644 --- a/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts +++ b/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts @@ -1,5 +1,5 @@ import type { Context } from 'aws-lambda'; -import { DynamoDBPersistenceLayer } from '../../src/dynamodb'; +import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer'; import { makeFunctionIdempotent } from '../../src'; import { Logger } from '@aws-lambda-powertools/logger'; diff --git a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts index 2b140ff7f3..8f4b4c3a0d 100644 --- a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts +++ b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts @@ -11,7 +11,7 @@ import { } from '../../src/Exceptions'; import { IdempotencyRecordStatus } from '../../src/types'; import { BasePersistenceLayer, IdempotencyRecord } from '../../src/persistence'; -import { IdempotencyHandler } from '../../src'; +import { IdempotencyHandler } from '../../src/IdempotencyHandler'; import { IdempotencyConfig } from '../../src/'; import { MAX_RETRIES } from '../../src/constants'; diff --git a/packages/parameters/src/docs.ts b/packages/parameters/src/docs.ts deleted file mode 100644 index f43ccf14aa..0000000000 --- a/packages/parameters/src/docs.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './appconfig'; -export * from './ssm'; -export * from './secrets'; -export * from './dynamodb'; From 31d16617fb90a6df332f729a29bad80cdfe84e4f Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 12 Jun 2023 09:47:21 +0200 Subject: [PATCH 13/16] added warning to readme and imports --- packages/idempotency/README.md | 18 ++++++++++++++++-- packages/idempotency/src/index.ts | 2 -- packages/idempotency/src/persistence/index.ts | 1 - .../src/types/DynamoDBPersistence.ts | 2 +- packages/idempotency/typedoc.json | 11 +++++++++-- packages/logger/typedoc.json | 2 +- packages/metrics/typedoc.json | 9 +++++++-- 7 files changed, 34 insertions(+), 11 deletions(-) diff --git a/packages/idempotency/README.md b/packages/idempotency/README.md index 9647cb47f9..2cccb6ab31 100644 --- a/packages/idempotency/README.md +++ b/packages/idempotency/README.md @@ -1,11 +1,18 @@ # Powertools for AWS Lambda (TypeScript) - Idempotency Utility + +| ⚠️ **WARNING: Do not use this utility in production just yet!** ⚠️ | +| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/awslabs/aws-lambda-powertools-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. | _ | + + Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). ## Intro This package provides a utility to implement idempotency in your Lambda functions. You can either use it as a decorator on your Lambda handler or as a wrapper on any other function. +If you use middy, we also provide a middleware to make your Lambda handler idempotent. The current implementation provides a persistance layer for Amazon DynamoDB, which offers a variety of configuration options. You can also bring your own persistance layer by implementing the `IdempotencyPersistanceLayer` interface. @@ -35,6 +42,7 @@ A more common approach is to use the function wrapper. Similar to `@idempotentFunction` decorator you need to pass keyword argument to indicate which part of the payload will be hashed. ### Middy middleware +// TODO: after e2e tests are implemented ### DynamoDB peristance layer To store the idempotency information offer a DynamoDB persistance layer. @@ -47,6 +55,8 @@ See the [API documentation](https://awslabs.github.io/aws-lambda-powertools-type ### Decorator Lambda handler ```ts +import { idempotentLambdaHandler } from "@aws-lambda-powertools/idempotency"; +import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); @@ -65,7 +75,9 @@ export const handler = lambdaClass.handler.bind(lambdaClass); ### Decorator function ```ts -import { makeFunctionIdempotent, DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency"; +import { idempotentLambdaHandler } from "@aws-lambda-powertools/idempotency"; +import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; + const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); @@ -105,7 +117,9 @@ You can use `transactionId` as the idempotency key. This will ensure that the sa In case where you don't use classes and decorators you can wrap your function to make it idempotent. ```ts -import { makeFunctionIdempotent, DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency"; +import { makeFunctionIdempotent } from "@aws-lambda-powertools/idempotency"; +import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; + const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); const processingFunction = async (payload: Record): Promise => { diff --git a/packages/idempotency/src/index.ts b/packages/idempotency/src/index.ts index ad76cc41c2..02f3b0e01e 100644 --- a/packages/idempotency/src/index.ts +++ b/packages/idempotency/src/index.ts @@ -2,5 +2,3 @@ export * from './Exceptions'; export * from './IdempotencyConfig'; export * from './idempotentDecorator'; export * from './makeFunctionIdempotent'; -export * from './middleware'; -export * from './persistence'; diff --git a/packages/idempotency/src/persistence/index.ts b/packages/idempotency/src/persistence/index.ts index 92f177da4e..72ea36e01f 100644 --- a/packages/idempotency/src/persistence/index.ts +++ b/packages/idempotency/src/persistence/index.ts @@ -1,4 +1,3 @@ export * from './BasePersistenceLayer'; export * from './BasePersistenceLayerInterface'; export * from './IdempotencyRecord'; -export * from './DynamoDBPersistenceLayer'; diff --git a/packages/idempotency/src/types/DynamoDBPersistence.ts b/packages/idempotency/src/types/DynamoDBPersistence.ts index a2ddb13257..65b1980510 100644 --- a/packages/idempotency/src/types/DynamoDBPersistence.ts +++ b/packages/idempotency/src/types/DynamoDBPersistence.ts @@ -39,8 +39,8 @@ interface DynamoPersistenceOptionsBaseInterface { */ interface DynamoPersistenceOptionsWithClientConfig extends DynamoPersistenceOptionsBaseInterface { - clientConfig?: DynamoDBClientConfig; awsSdkV3Client?: never; + clientConfig?: DynamoDBClientConfig; } /** diff --git a/packages/idempotency/typedoc.json b/packages/idempotency/typedoc.json index 8ead571a7f..b983e7c7b4 100644 --- a/packages/idempotency/typedoc.json +++ b/packages/idempotency/typedoc.json @@ -1,5 +1,12 @@ { - "extends": ["../../typedoc.base.json"], - "entryPoints": ["./src/index.ts", "./src/types/index.ts"], + "extends": [ + "../../typedoc.base.json" + ], + "entryPoints": [ + "./src/index.ts", + "./src/types/index.ts", + "./src/middleware/index.ts", + "./src/persistence/index.ts" + ], "readme": "README.md" } \ No newline at end of file diff --git a/packages/logger/typedoc.json b/packages/logger/typedoc.json index 50f27a916a..3a1fad0dcf 100644 --- a/packages/logger/typedoc.json +++ b/packages/logger/typedoc.json @@ -2,7 +2,7 @@ "extends": ["../../typedoc.base.json"], "entryPoints": [ "./src/index.ts", - "./src/types/index.ts" + "./src/types" ], "readme": "README.md" } \ No newline at end of file diff --git a/packages/metrics/typedoc.json b/packages/metrics/typedoc.json index 8ead571a7f..a81c0d5f1d 100644 --- a/packages/metrics/typedoc.json +++ b/packages/metrics/typedoc.json @@ -1,5 +1,10 @@ { - "extends": ["../../typedoc.base.json"], - "entryPoints": ["./src/index.ts", "./src/types/index.ts"], + "extends": [ + "../../typedoc.base.json" + ], + "entryPoints": [ + "./src/index.ts", + "./src/types/index.ts" + ], "readme": "README.md" } \ No newline at end of file From 85326d35d88d083996e47a94e79342b831e618ed Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 12 Jun 2023 09:51:22 +0200 Subject: [PATCH 14/16] switch to any to make examples easier to consume --- packages/idempotency/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/idempotency/README.md b/packages/idempotency/README.md index 2cccb6ab31..80c1da112a 100644 --- a/packages/idempotency/README.md +++ b/packages/idempotency/README.md @@ -57,12 +57,13 @@ See the [API documentation](https://awslabs.github.io/aws-lambda-powertools-type ```ts import { idempotentLambdaHandler } from "@aws-lambda-powertools/idempotency"; import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; +import type { Context } from 'aws-lambda'; const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); class MyLambdaHandler implements LambdaInterface { @idempotentLambdaHandler({ persistenceStore: dynamoDBPersistenceLayer }) - public async handler(_event: Record, _context: Context): Promise { + public async handler(_event: any, _context: Context): Promise { // your lambda code here return "Hello World"; } @@ -77,13 +78,14 @@ export const handler = lambdaClass.handler.bind(lambdaClass); ```ts import { idempotentLambdaHandler } from "@aws-lambda-powertools/idempotency"; import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; +import type { Context } from 'aws-lambda'; const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); class MyLambdaHandler implements LambdaInterface { - public async handler(_event: Event, _context: Context): Promise { + public async handler(_event: any, _context: Context): Promise { for(const record of _event.Records) { await this.processRecord(record); } @@ -119,6 +121,7 @@ In case where you don't use classes and decorators you can wrap your function to ```ts import { makeFunctionIdempotent } from "@aws-lambda-powertools/idempotency"; import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; +import type { Context } from 'aws-lambda'; const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); @@ -132,7 +135,7 @@ const processIdempotently = makeFunctionIdempotent(proccessingFunction, { }); export const handler = async ( - _event: Event, + _event: any, _context: Context ): Promise => { for (const record of _event.Records) { From 74b21b5c6edee18c0264b64d2dbd4fa64cd8a1a3 Mon Sep 17 00:00:00 2001 From: Alexander Melnyk Date: Mon, 12 Jun 2023 09:55:57 +0200 Subject: [PATCH 15/16] add status record comment --- packages/idempotency/src/persistence/IdempotencyRecord.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/idempotency/src/persistence/IdempotencyRecord.ts b/packages/idempotency/src/persistence/IdempotencyRecord.ts index cb87a86e46..b2fe7a0528 100644 --- a/packages/idempotency/src/persistence/IdempotencyRecord.ts +++ b/packages/idempotency/src/persistence/IdempotencyRecord.ts @@ -27,6 +27,12 @@ class IdempotencyRecord { * The response data of the request, this will be returned if the payload hash matches. */ public responseData?: Record; + /** + * The idempotency record status can be COMPLETED, IN_PROGRESS or EXPIRED. + * We check the status during idempotency processing to make sure we don't process an expired record and handle concurrent requests. + * @link {IdempotencyRecordStatus} + * @private + */ private status: IdempotencyRecordStatus; public constructor(config: IdempotencyRecordOptions) { From 08c9161ba635d24746f0a0fc3522a105792207ae Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Mon, 12 Jun 2023 11:06:19 +0200 Subject: [PATCH 16/16] Update typedoc.json --- typedoc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typedoc.json b/typedoc.json index fb47312ec8..c277d0cc80 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,7 +1,7 @@ { "entryPoints": ["packages/*"], "entryPointStrategy": "packages", - "name": "AWS Lambda Powertools Typescript API Reference", + "name": "Powertools for AWS Lambda (Typescript) API Reference", "readme": "README.md", "out": "api", "exclude": [