@liflig/cdk 2.21.2 → 2.21.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +18 -2
  2. package/lib/cdk-pipelines/cloud-assembly-lookup-handler.d.ts +1 -1
  3. package/lib/cdk-pipelines/cloud-assembly-lookup-handler.js +46 -35
  4. package/lib/cdk-pipelines/liflig-cdk-pipeline.js +6 -6
  5. package/lib/index.d.ts +1 -4
  6. package/lib/index.js +2 -6
  7. package/lib/ses/configurationsetsnsdestination/handler.d.ts +1 -1
  8. package/lib/ses/configurationsetsnsdestination/handler.js +15 -25
  9. package/lib/ses/configurationsetsnsdestination/index.js +7 -7
  10. package/lib/ses/sesdomain/handler.d.ts +1 -1
  11. package/lib/ses/sesdomain/handler.js +31 -31
  12. package/lib/ses/sesdomain/index.js +6 -6
  13. package/lib/ses/sesverifyemail/handler.d.ts +1 -1
  14. package/lib/ses/sesverifyemail/handler.js +12 -10
  15. package/lib/ses/sesverifyemail/index.js +6 -6
  16. package/package.json +14 -3
  17. package/lib/cdk-deploy/cdk-deploy.d.ts +0 -63
  18. package/lib/cdk-deploy/cdk-deploy.js +0 -175
  19. package/lib/cdk-deploy/index.d.ts +0 -1
  20. package/lib/cdk-deploy/index.js +0 -6
  21. package/lib/cdk-deploy/start-deploy-handler.d.ts +0 -8
  22. package/lib/cdk-deploy/start-deploy-handler.js +0 -72
  23. package/lib/cdk-deploy/status-handler.d.ts +0 -6
  24. package/lib/cdk-deploy/status-handler.js +0 -83
  25. package/lib/ecs-update-image/artifact-status.d.ts +0 -39
  26. package/lib/ecs-update-image/artifact-status.js +0 -41
  27. package/lib/ecs-update-image/ecs-update-image.d.ts +0 -41
  28. package/lib/ecs-update-image/ecs-update-image.js +0 -98
  29. package/lib/ecs-update-image/index.d.ts +0 -3
  30. package/lib/ecs-update-image/index.js +0 -10
  31. package/lib/ecs-update-image/start-deploy-handler.d.ts +0 -6
  32. package/lib/ecs-update-image/start-deploy-handler.js +0 -104
  33. package/lib/ecs-update-image/status-handler.d.ts +0 -11
  34. package/lib/ecs-update-image/status-handler.js +0 -74
  35. package/lib/ecs-update-image/tag.d.ts +0 -47
  36. package/lib/ecs-update-image/tag.js +0 -67
  37. package/lib/pipelines/conventions.d.ts +0 -14
  38. package/lib/pipelines/conventions.js +0 -24
  39. package/lib/pipelines/deploy-env.d.ts +0 -18
  40. package/lib/pipelines/deploy-env.js +0 -96
  41. package/lib/pipelines/index.d.ts +0 -2
  42. package/lib/pipelines/index.js +0 -8
  43. package/lib/pipelines/liflig-cdk-deployer-deps.d.ts +0 -13
  44. package/lib/pipelines/liflig-cdk-deployer-deps.js +0 -35
  45. package/lib/pipelines/pipeline.d.ts +0 -78
  46. package/lib/pipelines/pipeline.js +0 -224
package/README.md CHANGED
@@ -32,18 +32,34 @@ are not yet resolved. Some relevant information:
32
32
 
33
33
  ## Testing library changes before releasing
34
34
 
35
- 1. Assemble artifact
35
+ ### Alternative 1: Install liflig-cdk from tarball
36
+
37
+ 1. Assemble artifact, which emits a tarball
36
38
 
37
39
  ```bash
38
40
  npm pack
39
41
  ```
40
42
 
41
- Install the library in an application
43
+ 2. Install the library in an application from a tarball
42
44
 
43
45
  ```bash
44
46
  npm install /path/to/liflig-cdk/liflig-cdk-0.0.0-development.tgz
45
47
  ```
46
48
 
49
+ ### Alternative 2: Install liflig-cdk from a Git branch
50
+
51
+ 1. Navigate to the project where you want to test the changes
52
+
53
+ ```bash
54
+ cd /path/to/other/project
55
+ ```
56
+
57
+ 2. Install the library in an application from a Git branch
58
+
59
+ ```bash
60
+ npm install "https://github.com/capralifecycle/liflig-cdk.git#my-feature-branch"
61
+ ```
62
+
47
63
  Note: `npm link` cannot be used, since it will lead to multiple
48
64
  declarations of the same classes from CDK, breaking the `instanceof`
49
65
  operator.
@@ -3,4 +3,4 @@ export interface CloudAssemblyLookupUserParameters {
3
3
  bucketName: string;
4
4
  objectKey: string;
5
5
  }
6
- export declare const cloudAssemblyLookupHandler: Handler;
6
+ export declare const handler: Handler;
@@ -1,63 +1,74 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cloudAssemblyLookupHandler = void 0;
4
- // This is a self-contained function that will be serialized as a lambda.
5
- const cloudAssemblyLookupHandler = async (event, context) => {
6
- const AWS = require("aws-sdk");
7
- const s3 = new AWS.S3();
8
- const codepipeline = new AWS.CodePipeline();
3
+ exports.handler = void 0;
4
+ const client_s3_1 = require("@aws-sdk/client-s3");
5
+ const client_codepipeline_1 = require("@aws-sdk/client-codepipeline");
6
+ const lib_storage_1 = require("@aws-sdk/lib-storage");
7
+ const handler = async (event, context) => {
8
+ const s3Client = new client_s3_1.S3Client();
9
+ const codepipelineClient = new client_codepipeline_1.CodePipelineClient();
9
10
  const jobId = event["CodePipeline.job"].id;
10
11
  try {
11
12
  const userParametersRaw = event["CodePipeline.job"].data.actionConfiguration.configuration
12
13
  .UserParameters;
13
14
  console.log("User parameters", userParametersRaw);
15
+ console.log("Parsing user parameters");
14
16
  const userParameters = JSON.parse(userParametersRaw);
15
- const referenceData = await s3
16
- .getObject({
17
+ console.log("Fetching reference data from S3");
18
+ const getReferenceDataResp = await s3Client.send(new client_s3_1.GetObjectCommand({
17
19
  Bucket: userParameters.bucketName,
18
20
  Key: userParameters.objectKey,
19
- })
20
- .promise()
21
- .then((it) => it.Body.toString());
21
+ }));
22
+ const referenceData = await getReferenceDataResp.Body.transformToString("utf-8");
23
+ console.log("Parsing reference data from S3");
22
24
  const cloudAssemblyReference = JSON.parse(referenceData);
23
25
  const outputArtifact = event["CodePipeline.job"].data.outputArtifacts[0];
24
26
  const s3Loc = outputArtifact.location.s3Location;
25
- const cloudAssemblyZipData = await s3
26
- .getObject({
27
+ console.log("Fetching Cloud Assembly ZIP data from S3");
28
+ const cloudAssemblyZipData = await s3Client.send(new client_s3_1.GetObjectCommand({
27
29
  Bucket: cloudAssemblyReference.cloudAssemblyBucketName,
28
30
  Key: cloudAssemblyReference.cloudAssemblyBucketKey,
29
- })
30
- .promise();
31
- console.log("Size of Cloud Assembly", cloudAssemblyZipData.ContentLength);
32
- await new AWS.S3({
33
- credentials: event["CodePipeline.job"].data.artifactCredentials,
34
- })
35
- .putObject({
36
- Bucket: s3Loc.bucketName,
37
- Key: s3Loc.objectKey,
38
- Body: cloudAssemblyZipData.Body,
39
- })
40
- .promise();
41
- await codepipeline
42
- .putJobSuccessResult({
31
+ }));
32
+ console.log("Content-Length of Cloud Assembly (bytes)", cloudAssemblyZipData.ContentLength);
33
+ console.log("Creating authenticated S3 client for artifact upload");
34
+ const artifactCreds = event["CodePipeline.job"].data.artifactCredentials;
35
+ if (artifactCreds === undefined) {
36
+ console.error("No artifact credentials found in job event");
37
+ }
38
+ const authedS3Client = new client_s3_1.S3Client({
39
+ credentials: artifactCreds,
40
+ });
41
+ console.log(`Uploading Cloud Assembly ZIP to s3://${s3Loc.bucketName}/${s3Loc.objectKey}`);
42
+ const upload = new lib_storage_1.Upload({
43
+ client: authedS3Client,
44
+ params: {
45
+ Bucket: s3Loc.bucketName,
46
+ Key: s3Loc.objectKey,
47
+ Body: cloudAssemblyZipData.Body,
48
+ },
49
+ });
50
+ upload.on("httpUploadProgress", (progress) => {
51
+ console.log(progress);
52
+ });
53
+ await upload.done();
54
+ console.log("Sending success result to CodePipeline");
55
+ await codepipelineClient.send(new client_codepipeline_1.PutJobSuccessResultCommand({
43
56
  jobId,
44
- })
45
- .promise();
57
+ }));
46
58
  console.log("Success");
47
59
  }
48
60
  catch (e) {
49
- await codepipeline
50
- .putJobFailureResult({
61
+ console.log("Sending failure result to CodePipeline");
62
+ await codepipelineClient.send(new client_codepipeline_1.PutJobFailureResultCommand({
51
63
  failureDetails: {
52
64
  message: JSON.stringify(e),
53
65
  type: "JobFailed",
54
66
  externalExecutionId: context.awsRequestId,
55
67
  },
56
68
  jobId,
57
- })
58
- .promise();
69
+ }));
59
70
  console.error("Failed", e);
60
71
  }
61
72
  };
62
- exports.cloudAssemblyLookupHandler = cloudAssemblyLookupHandler;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyQ0EseUVBQXlFO0FBQ2xFLE1BQU0sMEJBQTBCLEdBQVksS0FBSyxFQUN0RCxLQUF3QixFQUN4QixPQUFPLEVBQ1AsRUFBRTtJQUNGLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQTZCLENBQUE7SUFDMUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUE7SUFDdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUE7SUFFM0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRTFDLElBQUksQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQ3JCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO2FBQzdELGNBQWMsQ0FBQTtRQUVuQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFFakQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDL0IsaUJBQWlCLENBQ21CLENBQUE7UUFFdEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxFQUFFO2FBQzNCLFNBQVMsQ0FBQztZQUNULE1BQU0sRUFBRSxjQUFjLENBQUMsVUFBVTtZQUNqQyxHQUFHLEVBQUUsY0FBYyxDQUFDLFNBQVM7U0FDOUIsQ0FBQzthQUNELE9BQU8sRUFBRTthQUNULElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBRXBDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDdkMsYUFBYSxDQUNZLENBQUE7UUFFM0IsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4RSxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQTtRQUVoRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sRUFBRTthQUNsQyxTQUFTLENBQUM7WUFDVCxNQUFNLEVBQUUsc0JBQXNCLENBQUMsdUJBQXVCO1lBQ3RELEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxzQkFBc0I7U0FDbkQsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFBO1FBRVosT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUV6RSxNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLFdBQVcsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1NBQ2hFLENBQUM7YUFDQyxTQUFTLENBQUM7WUFDVCxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDeEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQ3BCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxJQUFJO1NBQ2hDLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQTtRQUVaLE1BQU0sWUFBWTthQUNmLG1CQUFtQixDQUFDO1lBQ25CLEtBQUs7U0FDTixDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQUE7UUFFWixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxZQUFZO2FBQ2YsbUJBQW1CLENBQUM7WUFDbkIsY0FBYyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQzFDO1lBQ0QsS0FBSztTQUNOLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQTtRQUVaLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzVCLENBQUM7QUFDSCxDQUFDLENBQUE7QUE1RVksUUFBQSwwQkFBMEIsOEJBNEV0QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMgKi9cbmltcG9ydCB0eXBlIHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCJcblxuLy8gUmVsZXZhbnQgZmllbGRzIGZyb21cbi8vIGh0dHBzOi8vZG9jcy5hbWF6b25hd3MuY24vZW5fdXMvbGFtYmRhL2xhdGVzdC9kZy9zZXJ2aWNlcy1jb2RlcGlwZWxpbmUuaHRtbFxuaW50ZXJmYWNlIENvZGVQaXBlbGluZUV2ZW50IHtcbiAgXCJDb2RlUGlwZWxpbmUuam9iXCI6IHtcbiAgICBpZDogc3RyaW5nXG4gICAgZGF0YToge1xuICAgICAgYWN0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgLy8gSlNPTlxuICAgICAgICAgIFVzZXJQYXJhbWV0ZXJzOiBzdHJpbmdcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb3V0cHV0QXJ0aWZhY3RzOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICBsb2NhdGlvbjoge1xuICAgICAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgICAgIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICAgICAgICAgICAgb2JqZWN0S2V5OiBzdHJpbmdcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1bXVxuICAgICAgYXJ0aWZhY3RDcmVkZW50aWFsczoge1xuICAgICAgICBhY2Nlc3NLZXlJZDogc3RyaW5nXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogc3RyaW5nXG4gICAgICAgIHNlc3Npb25Ub2tlbjogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBDbG91ZEFzc2VtYmx5UmVmZXJlbmNlIHtcbiAgY2xvdWRBc3NlbWJseUJ1Y2tldE5hbWU6IHN0cmluZ1xuICBjbG91ZEFzc2VtYmx5QnVja2V0S2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMge1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgb2JqZWN0S2V5OiBzdHJpbmdcbn1cblxuLy8gVGhpcyBpcyBhIHNlbGYtY29udGFpbmVkIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBzZXJpYWxpemVkIGFzIGEgbGFtYmRhLlxuZXhwb3J0IGNvbnN0IGNsb3VkQXNzZW1ibHlMb29rdXBIYW5kbGVyOiBIYW5kbGVyID0gYXN5bmMgKFxuICBldmVudDogQ29kZVBpcGVsaW5lRXZlbnQsXG4gIGNvbnRleHQsXG4pID0+IHtcbiAgY29uc3QgQVdTID0gcmVxdWlyZShcImF3cy1zZGtcIikgYXMgdHlwZW9mIGltcG9ydChcImF3cy1zZGtcIilcbiAgY29uc3QgczMgPSBuZXcgQVdTLlMzKClcbiAgY29uc3QgY29kZXBpcGVsaW5lID0gbmV3IEFXUy5Db2RlUGlwZWxpbmUoKVxuXG4gIGNvbnN0IGpvYklkID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmlkXG5cbiAgdHJ5IHtcbiAgICBjb25zdCB1c2VyUGFyYW1ldGVyc1JhdyA9XG4gICAgICBldmVudFtcIkNvZGVQaXBlbGluZS5qb2JcIl0uZGF0YS5hY3Rpb25Db25maWd1cmF0aW9uLmNvbmZpZ3VyYXRpb25cbiAgICAgICAgLlVzZXJQYXJhbWV0ZXJzXG5cbiAgICBjb25zb2xlLmxvZyhcIlVzZXIgcGFyYW1ldGVyc1wiLCB1c2VyUGFyYW1ldGVyc1JhdylcblxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzID0gSlNPTi5wYXJzZShcbiAgICAgIHVzZXJQYXJhbWV0ZXJzUmF3LFxuICAgICkgYXMgQ2xvdWRBc3NlbWJseUxvb2t1cFVzZXJQYXJhbWV0ZXJzXG5cbiAgICBjb25zdCByZWZlcmVuY2VEYXRhID0gYXdhaXQgczNcbiAgICAgIC5nZXRPYmplY3Qoe1xuICAgICAgICBCdWNrZXQ6IHVzZXJQYXJhbWV0ZXJzLmJ1Y2tldE5hbWUsXG4gICAgICAgIEtleTogdXNlclBhcmFtZXRlcnMub2JqZWN0S2V5LFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICAgIC50aGVuKChpdCkgPT4gaXQuQm9keSEudG9TdHJpbmcoKSlcblxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UgPSBKU09OLnBhcnNlKFxuICAgICAgcmVmZXJlbmNlRGF0YSxcbiAgICApIGFzIENsb3VkQXNzZW1ibHlSZWZlcmVuY2VcblxuICAgIGNvbnN0IG91dHB1dEFydGlmYWN0ID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEub3V0cHV0QXJ0aWZhY3RzWzBdXG4gICAgY29uc3QgczNMb2MgPSBvdXRwdXRBcnRpZmFjdC5sb2NhdGlvbi5zM0xvY2F0aW9uXG5cbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5WmlwRGF0YSA9IGF3YWl0IHMzXG4gICAgICAuZ2V0T2JqZWN0KHtcbiAgICAgICAgQnVja2V0OiBjbG91ZEFzc2VtYmx5UmVmZXJlbmNlLmNsb3VkQXNzZW1ibHlCdWNrZXROYW1lLFxuICAgICAgICBLZXk6IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UuY2xvdWRBc3NlbWJseUJ1Y2tldEtleSxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG5cbiAgICBjb25zb2xlLmxvZyhcIlNpemUgb2YgQ2xvdWQgQXNzZW1ibHlcIiwgY2xvdWRBc3NlbWJseVppcERhdGEuQ29udGVudExlbmd0aClcblxuICAgIGF3YWl0IG5ldyBBV1MuUzMoe1xuICAgICAgY3JlZGVudGlhbHM6IGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5kYXRhLmFydGlmYWN0Q3JlZGVudGlhbHMsXG4gICAgfSlcbiAgICAgIC5wdXRPYmplY3Qoe1xuICAgICAgICBCdWNrZXQ6IHMzTG9jLmJ1Y2tldE5hbWUsXG4gICAgICAgIEtleTogczNMb2Mub2JqZWN0S2V5LFxuICAgICAgICBCb2R5OiBjbG91ZEFzc2VtYmx5WmlwRGF0YS5Cb2R5LFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcblxuICAgIGF3YWl0IGNvZGVwaXBlbGluZVxuICAgICAgLnB1dEpvYlN1Y2Nlc3NSZXN1bHQoe1xuICAgICAgICBqb2JJZCxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG5cbiAgICBjb25zb2xlLmxvZyhcIlN1Y2Nlc3NcIilcbiAgfSBjYXRjaCAoZSkge1xuICAgIGF3YWl0IGNvZGVwaXBlbGluZVxuICAgICAgLnB1dEpvYkZhaWx1cmVSZXN1bHQoe1xuICAgICAgICBmYWlsdXJlRGV0YWlsczoge1xuICAgICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KGUpLFxuICAgICAgICAgIHR5cGU6IFwiSm9iRmFpbGVkXCIsXG4gICAgICAgICAgZXh0ZXJuYWxFeGVjdXRpb25JZDogY29udGV4dC5hd3NSZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICAgIGpvYklkLFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcblxuICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWRcIiwgZSlcbiAgfVxufVxuIl19
73
+ exports.handler = handler;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxrREFBK0Q7QUFDL0Qsc0VBSXFDO0FBQ3JDLHNEQUE2QztBQTBDdEMsTUFBTSxPQUFPLEdBQVksS0FBSyxFQUFFLEtBQXdCLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBUSxFQUFFLENBQUE7SUFDL0IsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHdDQUFrQixFQUFFLENBQUE7SUFFbkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRTFDLElBQUksQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQ3JCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO2FBQzdELGNBQWMsQ0FBQTtRQUVuQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFFakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQy9CLGlCQUFpQixDQUNtQixDQUFBO1FBRXRDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtRQUM5QyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FDOUMsSUFBSSw0QkFBZ0IsQ0FBQztZQUNuQixNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVU7WUFDakMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxTQUFTO1NBQzlCLENBQUMsQ0FDSCxDQUFBO1FBQ0QsTUFBTSxhQUFhLEdBQ2pCLE1BQU0sb0JBQW9C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cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuaW1wb3J0IHR5cGUgeyBIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuaW1wb3J0IHsgR2V0T2JqZWN0Q29tbWFuZCwgUzNDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCJcbmltcG9ydCB7XG4gIENvZGVQaXBlbGluZUNsaWVudCxcbiAgUHV0Sm9iRmFpbHVyZVJlc3VsdENvbW1hbmQsXG4gIFB1dEpvYlN1Y2Nlc3NSZXN1bHRDb21tYW5kLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvZGVwaXBlbGluZVwiXG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIlxuXG4vLyBSZWxldmFudCBmaWVsZHMgZnJvbVxuLy8gaHR0cHM6Ly9kb2NzLmFtYXpvbmF3cy5jbi9lbl91cy9sYW1iZGEvbGF0ZXN0L2RnL3NlcnZpY2VzLWNvZGVwaXBlbGluZS5odG1sXG5pbnRlcmZhY2UgQ29kZVBpcGVsaW5lRXZlbnQge1xuICBcIkNvZGVQaXBlbGluZS5qb2JcIjoge1xuICAgIGlkOiBzdHJpbmdcbiAgICBkYXRhOiB7XG4gICAgICBhY3Rpb25Db25maWd1cmF0aW9uOiB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAvLyBKU09OXG4gICAgICAgICAgVXNlclBhcmFtZXRlcnM6IHN0cmluZ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvdXRwdXRBcnRpZmFjdHM6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nXG4gICAgICAgIGxvY2F0aW9uOiB7XG4gICAgICAgICAgczNMb2NhdGlvbjoge1xuICAgICAgICAgICAgYnVja2V0TmFtZTogc3RyaW5nXG4gICAgICAgICAgICBvYmplY3RLZXk6IHN0cmluZ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVtdXG4gICAgICBhcnRpZmFjdENyZWRlbnRpYWxzOiB7XG4gICAgICAgIGFjY2Vzc0tleUlkOiBzdHJpbmdcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiBzdHJpbmdcbiAgICAgICAgc2Vzc2lvblRva2VuOiBzdHJpbmdcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIENsb3VkQXNzZW1ibHlSZWZlcmVuY2Uge1xuICBjbG91ZEFzc2VtYmx5QnVja2V0TmFtZTogc3RyaW5nXG4gIGNsb3VkQXNzZW1ibHlCdWNrZXRLZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkQXNzZW1ibHlMb29rdXBVc2VyUGFyYW1ldGVycyB7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICBvYmplY3RLZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlcjogSGFuZGxlciA9IGFzeW5jIChldmVudDogQ29kZVBpcGVsaW5lRXZlbnQsIGNvbnRleHQpID0+IHtcbiAgY29uc3QgczNDbGllbnQgPSBuZXcgUzNDbGllbnQoKVxuICBjb25zdCBjb2RlcGlwZWxpbmVDbGllbnQgPSBuZXcgQ29kZVBpcGVsaW5lQ2xpZW50KClcblxuICBjb25zdCBqb2JJZCA9IGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5pZFxuXG4gIHRyeSB7XG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnNSYXcgPVxuICAgICAgZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEuYWN0aW9uQ29uZmlndXJhdGlvbi5jb25maWd1cmF0aW9uXG4gICAgICAgIC5Vc2VyUGFyYW1ldGVyc1xuXG4gICAgY29uc29sZS5sb2coXCJVc2VyIHBhcmFtZXRlcnNcIiwgdXNlclBhcmFtZXRlcnNSYXcpXG5cbiAgICBjb25zb2xlLmxvZyhcIlBhcnNpbmcgdXNlciBwYXJhbWV0ZXJzXCIpXG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnMgPSBKU09OLnBhcnNlKFxuICAgICAgdXNlclBhcmFtZXRlcnNSYXcsXG4gICAgKSBhcyBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnNcblxuICAgIGNvbnNvbGUubG9nKFwiRmV0Y2hpbmcgcmVmZXJlbmNlIGRhdGEgZnJvbSBTM1wiKVxuICAgIGNvbnN0IGdldFJlZmVyZW5jZURhdGFSZXNwID0gYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiB1c2VyUGFyYW1ldGVycy5idWNrZXROYW1lLFxuICAgICAgICBLZXk6IHVzZXJQYXJhbWV0ZXJzLm9iamVjdEtleSxcbiAgICAgIH0pLFxuICAgIClcbiAgICBjb25zdCByZWZlcmVuY2VEYXRhID1cbiAgICAgIGF3YWl0IGdldFJlZmVyZW5jZURhdGFSZXNwLkJvZHkhLnRyYW5zZm9ybVRvU3RyaW5nKFwidXRmLThcIilcblxuICAgIGNvbnNvbGUubG9nKFwiUGFyc2luZyByZWZlcmVuY2UgZGF0YSBmcm9tIFMzXCIpXG4gICAgY29uc3QgY2xvdWRBc3NlbWJseVJlZmVyZW5jZSA9IEpTT04ucGFyc2UoXG4gICAgICByZWZlcmVuY2VEYXRhLFxuICAgICkgYXMgQ2xvdWRBc3NlbWJseVJlZmVyZW5jZVxuXG4gICAgY29uc3Qgb3V0cHV0QXJ0aWZhY3QgPSBldmVudFtcIkNvZGVQaXBlbGluZS5qb2JcIl0uZGF0YS5vdXRwdXRBcnRpZmFjdHNbMF1cbiAgICBjb25zdCBzM0xvYyA9IG91dHB1dEFydGlmYWN0LmxvY2F0aW9uLnMzTG9jYXRpb25cblxuICAgIGNvbnNvbGUubG9nKFwiRmV0Y2hpbmcgQ2xvdWQgQXNzZW1ibHkgWklQIGRhdGEgZnJvbSBTM1wiKVxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlaaXBEYXRhID0gYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiBjbG91ZEFzc2VtYmx5UmVmZXJlbmNlLmNsb3VkQXNzZW1ibHlCdWNrZXROYW1lLFxuICAgICAgICBLZXk6IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UuY2xvdWRBc3NlbWJseUJ1Y2tldEtleSxcbiAgICAgIH0pLFxuICAgIClcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIFwiQ29udGVudC1MZW5ndGggb2YgQ2xvdWQgQXNzZW1ibHkgKGJ5dGVzKVwiLFxuICAgICAgY2xvdWRBc3NlbWJseVppcERhdGEuQ29udGVudExlbmd0aCxcbiAgICApXG5cbiAgICBjb25zb2xlLmxvZyhcIkNyZWF0aW5nIGF1dGhlbnRpY2F0ZWQgUzMgY2xpZW50IGZvciBhcnRpZmFjdCB1cGxvYWRcIilcbiAgICBjb25zdCBhcnRpZmFjdENyZWRzID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEuYXJ0aWZhY3RDcmVkZW50aWFsc1xuICAgIGlmIChhcnRpZmFjdENyZWRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJObyBhcnRpZmFjdCBjcmVkZW50aWFscyBmb3VuZCBpbiBqb2IgZXZlbnRcIilcbiAgICB9XG4gICAgY29uc3QgYXV0aGVkUzNDbGllbnQgPSBuZXcgUzNDbGllbnQoe1xuICAgICAgY3JlZGVudGlhbHM6IGFydGlmYWN0Q3JlZHMsXG4gICAgfSlcblxuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYFVwbG9hZGluZyBDbG91ZCBBc3NlbWJseSBaSVAgdG8gczM6Ly8ke3MzTG9jLmJ1Y2tldE5hbWV9LyR7czNMb2Mub2JqZWN0S2V5fWAsXG4gICAgKVxuXG4gICAgY29uc3QgdXBsb2FkID0gbmV3IFVwbG9hZCh7XG4gICAgICBjbGllbnQ6IGF1dGhlZFMzQ2xpZW50LFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIEJ1Y2tldDogczNMb2MuYnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiBzM0xvYy5vYmplY3RLZXksXG4gICAgICAgIEJvZHk6IGNsb3VkQXNzZW1ibHlaaXBEYXRhLkJvZHksXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICB1cGxvYWQub24oXCJodHRwVXBsb2FkUHJvZ3Jlc3NcIiwgKHByb2dyZXNzKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhwcm9ncmVzcylcbiAgICB9KVxuXG4gICAgYXdhaXQgdXBsb2FkLmRvbmUoKVxuXG4gICAgY29uc29sZS5sb2coXCJTZW5kaW5nIHN1Y2Nlc3MgcmVzdWx0IHRvIENvZGVQaXBlbGluZVwiKVxuICAgIGF3YWl0IGNvZGVwaXBlbGluZUNsaWVudC5zZW5kKFxuICAgICAgbmV3IFB1dEpvYlN1Y2Nlc3NSZXN1bHRDb21tYW5kKHtcbiAgICAgICAgam9iSWQsXG4gICAgICB9KSxcbiAgICApXG4gICAgY29uc29sZS5sb2coXCJTdWNjZXNzXCIpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmxvZyhcIlNlbmRpbmcgZmFpbHVyZSByZXN1bHQgdG8gQ29kZVBpcGVsaW5lXCIpXG4gICAgYXdhaXQgY29kZXBpcGVsaW5lQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgUHV0Sm9iRmFpbHVyZVJlc3VsdENvbW1hbmQoe1xuICAgICAgICBmYWlsdXJlRGV0YWlsczoge1xuICAgICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KGUpLFxuICAgICAgICAgIHR5cGU6IFwiSm9iRmFpbGVkXCIsXG4gICAgICAgICAgZXh0ZXJuYWxFeGVjdXRpb25JZDogY29udGV4dC5hd3NSZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICAgIGpvYklkLFxuICAgICAgfSksXG4gICAgKVxuICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWRcIiwgZSlcbiAgfVxufVxuIl19
@@ -13,8 +13,8 @@ const pipelines = require("aws-cdk-lib/pipelines");
13
13
  const fs = require("fs");
14
14
  const path = require("path");
15
15
  const artefact_bucket_1 = require("../griid/artefact-bucket");
16
- const cloud_assembly_lookup_handler_1 = require("./cloud-assembly-lookup-handler");
17
16
  const slack_notification_1 = require("./slack-notification");
17
+ const aws_lambda_nodejs_1 = require("aws-cdk-lib/aws-lambda-nodejs");
18
18
  /**
19
19
  * CDK Pipeline for Liflig.
20
20
  *
@@ -147,12 +147,12 @@ class LifligCdkPipeline extends constructs.Construct {
147
147
  return undefined;
148
148
  }
149
149
  cloudAssemblyStage(cloudAssemblyArtifact, cdkBucket, pipelineName) {
150
- const cloudAssemblyLookupFn = new lambda.Function(this, "CloudAssemblyLookupFn", {
151
- code: new lambda.InlineCode(`exports.handler = ${cloud_assembly_lookup_handler_1.cloudAssemblyLookupHandler.toString()};`),
152
- handler: "index.handler",
153
- runtime: lambda.Runtime.NODEJS_16_X,
150
+ const cloudAssemblyLookupFn = new aws_lambda_nodejs_1.NodejsFunction(this, "CloudAssemblyLookupFn", {
151
+ entry: require.resolve("./cloud-assembly-lookup-handler"),
152
+ runtime: lambda.Runtime.NODEJS_18_X,
154
153
  timeout: cdk.Duration.minutes(1),
155
154
  memorySize: 512,
155
+ awsSdkConnectionReuse: false,
156
156
  });
157
157
  cdkBucket.grantReadWrite(cloudAssemblyLookupFn);
158
158
  const userParameters = {
@@ -229,4 +229,4 @@ class LifligCdkPipeline extends constructs.Construct {
229
229
  }
230
230
  }
231
231
  exports.LifligCdkPipeline = LifligCdkPipeline;
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmbGlnLWNkay1waXBlbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstcGlwZWxpbmVzL2xpZmxpZy1jZGstcGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLDZEQUE0RDtBQUM1RCw0RUFBMkU7QUFDM0UsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUNoRCxpREFBZ0Q7QUFDaEQsMERBQXlEO0FBRXpELG1DQUFrQztBQUNsQyxtREFBa0Q7QUFDbEQseUJBQXdCO0FBQ3hCLDZCQUE0QjtBQUM1Qiw4REFBaUU7QUFDakUsbUZBR3dDO0FBQ3hDLDZEQUFnRjtBQStDaEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFDekQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBb0I7UUFDMUMsT0FBTyxhQUFhLFlBQVksR0FBRyxDQUFBO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFlBQW9CO1FBQzlDLE9BQU8sYUFBYSxZQUFZLFVBQVUsQ0FBQTtJQUM1QyxDQUFDO0lBT0QsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBNkI7O1FBRTdCLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFBLEtBQUssQ0FBQyxlQUFlLG1DQUFJLElBQUEsd0NBQXNCLEVBQUMsSUFBSSxDQUFDLENBQUE7UUFFNUUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUV6RCxJQUFJLEtBQWlDLENBQUE7UUFDckMsSUFBSSxNQUFpQyxDQUFBO1FBRXJDLFFBQVEsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pCLEtBQUss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QW9QQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgY29kZXBpcGVsaW5lIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCJcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZUFjdGlvbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9uc1wiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCJcbmltcG9ydCAqIGFzIGV2ZW50cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50c1wiXG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHNcIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tIFwiYXdzLWNkay1saWIvcGlwZWxpbmVzXCJcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IGdldEdyaWlkQXJ0ZWZhY3RCdWNrZXQgfSBmcm9tIFwiLi4vZ3JpaWQvYXJ0ZWZhY3QtYnVja2V0XCJcbmltcG9ydCB7XG4gIGNsb3VkQXNzZW1ibHlMb29rdXBIYW5kbGVyLFxuICBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMsXG59IGZyb20gXCIuL2Nsb3VkLWFzc2VtYmx5LWxvb2t1cC1oYW5kbGVyXCJcbmltcG9ydCB7IFNsYWNrTm90aWZpY2F0aW9uLCBTbGFja05vdGlmaWNhdGlvblByb3BzIH0gZnJvbSBcIi4vc2xhY2stbm90aWZpY2F0aW9uXCJcblxuZXhwb3J0IGludGVyZmFjZSBMaWZsaWdDZGtQaXBlbGluZVByb3BzIHtcbiAgLyoqXG4gICAqIEJ1Y2tldCBob2xkaW5nIHBpcGVsaW5lIGNvbmZpZ3VyYXRpb24gYW5kIHRyaWdnZXIgZmlsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgZXhpc3RpbmcgYnVja2V0IGJhc2VkIG9uIEdyaWlkIGNvbnZlbnRpb25zXG4gICAqL1xuICBhcnRpZmFjdHNCdWNrZXQ/OiBzMy5JQnVja2V0XG4gIC8qKlxuICAgKiBOYW1lIG9mIHBpcGVsaW5lLiBUaGlzIGlzIHVzZWQgZm9yIHRoZSBwYXRoIHdoZXJlIGNvbmZpZ3VyYXRpb25cbiAgICogaXMgc3RvcmVkIGluIFMzLlxuICAgKi9cbiAgcGlwZWxpbmVOYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFR5cGUgb2YgdXBsb2FkZWQgYXJ0aWZhY3QuIFRoaXMgY2hhbmdlcyB0aGUgYmVoYXZpb3VyIG9mIHRoZVxuICAgKiBwaXBlbGluZSBhbmQgd2hhdCBraW5kIG9mIHByb2Nlc3MgaXQgcGVyZm9ybXMuXG4gICAqXG4gICAqIFR3byB0eXBlcyBhcmUgc3VwcG9ydGVkOlxuICAgKlxuICAgKiAgIC0gY2RrLXNvdXJjZTogVGhlIHVwbG9hZGVkIGFydGlmYWN0IHJlcHJlc2VudHMgYSBDREsgYXBwbGljYXRpb25cbiAgICogICAgIGFzIHNvdXJjZSBjb2RlLiBBIGJ1aWxkIHN0ZXAgd2lsbCBjb21waWxlIHRoaXMgaW50byBhXG4gICAqICAgICBDREsgQ2xvdWQgQXNzZW1ibHkuXG4gICAqXG4gICAqICAgICBBcyBwYXJ0IG9mIHN5bnRoZXNpemluZyB0aGlzIGludG8gYSBDREsgQ2xvdWQgQXNzZW1ibHksXG4gICAqICAgICBhIGZpbGUgXCJ2YXJpYWJsZXMuanNvblwiIHdpbGwgYmUgd3JpdHRlbiBmb3IgdGhlXG4gICAqICAgICBDREsgYXBwbGljYXRpb24gdG8gcGFyYW1ldGVyaXplIHRoZSBidWlsZCBpZiBhbnlcbiAgICogICAgIHZhcmlhYmxlcyBhcmUgZm91bmQgaW4gdGhlIHBpcGVsaW5lIHNvdXJjZS5cbiAgICpcbiAgICogICAtIGNsb3VkLWFzc2VtYmx5OiBUaGUgdXBsb2FkZWQgYXJ0aWZhY3QgcmVwcmVzZW50cyBhXG4gICAqICAgICBDREsgQ2xvdWQgQXNzZW1ibHkgd2hpY2ggaXMgcmVhZHkgZm9yIGRlcGxveW1lbnQuXG4gICAqXG4gICAqICAgICBUaGlzIGRvZXMgbm90IHN1cHBvcnQgcmVhZGluZyB2YXJpYWJsZXMgYXQgdGhlIGN1cnJlbnQgdGltZVxuICAgKiAgICAgc2luY2UgQ0RLIFBpcGVsaW5lcyBkb24ndCBzdXBwb3J0IHBhcmFtZXRlcml6ZWQgZGVwbG95cy5cbiAgICogICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzk1NjBcbiAgICovXG4gIHNvdXJjZVR5cGU6IFwiY2RrLXNvdXJjZVwiIHwgXCJjbG91ZC1hc3NlbWJseVwiXG4gIC8qKlxuICAgKiBUaGUgbmFtZXNwYWNlIHVzZWQgZm9yIHBhcmFtZXRlcnMgaW4gUGFyYW1ldGVyIFN0b3JlLlxuICAgKlxuICAgKiBPbmx5IHJlbGV2YW50IGZvciBzb3VyY2VUeXBlIG9mIFwiY2RrLXNvcnVjZVwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAqL1xuICBwYXJhbWV0ZXJzTmFtZXNwYWNlPzogc3RyaW5nXG59XG5cbi8qKlxuICogQ0RLIFBpcGVsaW5lIGZvciBMaWZsaWcuXG4gKlxuICogQXZvaWQgcHV0dGluZyBtdWx0aXBsZSBwaXBlbGluZXMgaW4gYSBzdGFjaywgc2luY2UgdGhlIHBpcGVsaW5lXG4gKiB3aWxsIGFsc28ga2VlcCB0aGUgaG9zdGluZyBzdGFjayB1cC10by1kYXRlLlxuICpcbiAqIFRoZSBwaXBlbGluZSBpcyBleGVjdXRlZCBieSB3cml0aW5nIGFuIGVtcHR5IGZpbGUgdG9cbiAqIHMzOi8vPGFydGlmYWN0cy1idWNrZXQ+L3BpcGVsaW5lcy88cGlwZWxpbmUtbmFtZT4vdHJpZ2dlclxuICpcbiAqIENvbmZpZ3VyYXRpb24gZmlsZXMgYXJlIHJlYWQgZnJvbSBTMyBhdCB0aGUgcGF0aFxuICogczM6Ly88YXJ0aWZhY3RzLWJ1Y2tldD4vcGlwZWxpbmVzLzxwaXBlbGluZS1uYW1lPi9cbiAqXG4gKiBGb3IgdXBsb2FkIHR5cGUgXCJjZGstc291cmNlXCI6XG4gKlxuICogICAtIGNkay1zb3VyY2UuanNvbiBob2xkaW5nIGEgcG9pbnRlciB0byB0aGUgYWN0aXZlIENESyBzb3VyY2VcbiAqICAgICB0aGF0IHNob3VsZCBiZSB1c2VkLiBTY2hlbWE6XG4gKlxuICogICAgIHtcbiAqICAgICAgIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICogICAgICAgYnVja2V0S2V5OiBzdHJpbmdcbiAqICAgICB9XG4gKlxuICogICAtIHZhcmlhYmxlcyouanNvbiB3aGljaCBjYW4gYmUgemVybyBvciBtb3JlIGZpbGVzXG4gKiAgICAgd2l0aCBzdHJpbmctc3RyaW5nIG1hcCBob2xkaW5nIHZhcmlhYmxlcyB0aGF0IHdpbGxcbiAqICAgICBiZSB3cml0dGVuIHRvIHZhcmlhYmxlcy5qc29uIGFuZCBjYW4gYmUgcmVhZCBieSB0aGVcbiAqICAgICB0aGUgQ0RLIGFwcGxpY2F0aW9uIGR1cmluZyBzeW50aGVzaXplLlxuICpcbiAqIEZvciB1cGxvYWQgdHlwZSBcImNsb3VkLWFzc2VtYmx5XCI6XG4gKlxuICogICAtIGNsb3VkLWFzc2VtYmx5Lmpzb24gaG9sZGluZyBhIHBvaW50ZXIgdG8gdGhlIGFjdGl2ZVxuICogICAgIENESyBDbG91ZCBBc3NlbWJseSB0aGF0IHNob3VsZCBiZSB1c2VkOiBTY2hlbWE6XG4gKlxuICogICAgIHtcbiAqICAgICAgIGNsb3VkQXNzZW1ibHlCdWNrZXROYW1lOiBzdHJpbmdcbiAqICAgICAgIGNsb3VkQXNzZW1ibHlCdWNrZXRLZXk6IHN0cmluZ1xuICogICAgIH1cbiAqXG4gKiBWYXJpYWJsZXMgZW5hYmxlcyBzZXBhcmF0aW9uIG9mIElhQyBjb2RlIGFuZCBhcHBsaWNhdGlvbiBjb2RlIGlmXG4gKiB0aGV5IGFyZSBub3QgY29sb2NhdGVkIGluIHRoZSBzYW1lIHJlcG9zaXRvcnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBMaWZsaWdDZGtQaXBlbGluZSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFBhdGggb24gUzMgZm9yIHBpcGVsaW5lIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgcGlwZWxpbmVTM1ByZWZpeChwaXBlbGluZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBwaXBlbGluZXMvJHtwaXBlbGluZU5hbWV9L2BcbiAgfVxuXG4gIC8qKlxuICAgKiBLZXkgaW4gUzMgYnVja2V0IHVzZWQgdG8gdHJpZ2dlciBwaXBlbGluZS5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBlbXB0eSBmaWxlIHdpdGhpbiB0aGUgcGlwZWxpbmUgcGF0aC5cbiAgICovXG4gIHN0YXRpYyBwaXBlbGluZVMzVHJpZ2dlcktleShwaXBlbGluZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBwaXBlbGluZXMvJHtwaXBlbGluZU5hbWV9L3RyaWdnZXJgXG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgY2RrUGlwZWxpbmU6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVcbiAgcHVibGljIHJlYWRvbmx5IGNvZGVQaXBlbGluZTogY29kZXBpcGVsaW5lLlBpcGVsaW5lXG4gIHB1YmxpYyByZWFkb25seSBhcnRpZmFjdHNCdWNrZXQ6IHMzLklCdWNrZXRcbiAgcHVibGljIHJlYWRvbmx5IHRyaWdnZXJPYmplY3RLZXk6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBMaWZsaWdDZGtQaXBlbGluZVByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICB0aGlzLmFydGlmYWN0c0J1Y2tldCA9IHByb3BzLmFydGlmYWN0c0J1Y2tldCA/PyBnZXRHcmlpZEFydGVmYWN0QnVja2V0KHRoaXMpXG5cbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QgPSBuZXcgY29kZXBpcGVsaW5lLkFydGlmYWN0KClcblxuICAgIGxldCBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXJcbiAgICBsZXQgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdXG5cbiAgICBzd2l0Y2ggKHByb3BzLnNvdXJjZVR5cGUpIHtcbiAgICAgIGNhc2UgXCJjbG91ZC1hc3NlbWJseVwiOlxuICAgICAgICBjb25zdCBjbG91ZEFzc2VtYmx5ID0gdGhpcy5jbG91ZEFzc2VtYmx5U3RhZ2UoXG4gICAgICAgICAgY2xvdWRBc3NlbWJseUFydGlmYWN0LFxuICAgICAgICAgIHRoaXMuYXJ0aWZhY3RzQnVja2V0LFxuICAgICAgICAgIHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgICAgKVxuICAgICAgICBzeW50aCA9IGNsb3VkQXNzZW1ibHkuc3ludGhcbiAgICAgICAgc3RhZ2VzID0gY2xvdWRBc3NlbWJseS5zdGFnZXNcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJjZGstc291cmNlXCI6XG4gICAgICAgIGNvbnN0IGNka1NvdXJjZSA9IHRoaXMuY2RrU291cmNlU3RhZ2UoXG4gICAgICAgICAgY2xvdWRBc3NlbWJseUFydGlmYWN0LFxuICAgICAgICAgIHRoaXMuYXJ0aWZhY3RzQnVja2V0LFxuICAgICAgICAgIHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgICAgICBwcm9wcy5wYXJhbWV0ZXJzTmFtZXNwYWNlID8/IFwiZGVmYXVsdFwiLFxuICAgICAgICApXG4gICAgICAgIHN5bnRoID0gY2RrU291cmNlLnN5bnRoXG4gICAgICAgIHN0YWdlcyA9IGNka1NvdXJjZS5zdGFnZXNcbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjb25zdCBkdW1teUFydGlmYWN0ID0gbmV3IGNvZGVwaXBlbGluZS5BcnRpZmFjdCgpXG5cbiAgICB0aGlzLnRyaWdnZXJPYmplY3RLZXkgPSBMaWZsaWdDZGtQaXBlbGluZS5waXBlbGluZVMzVHJpZ2dlcktleShcbiAgICAgIHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICApXG5cbiAgICB0aGlzLmNvZGVQaXBlbGluZSA9IG5ldyBjb2RlcGlwZWxpbmUuUGlwZWxpbmUodGhpcywgXCJDb2RlUGlwZWxpbmVcIiwge1xuICAgICAgcGlwZWxpbmVOYW1lOiBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgICBzdGFnZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHN0YWdlTmFtZTogXCJTb3VyY2VcIixcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBuZXcgY29kZXBpcGVsaW5lQWN0aW9ucy5TM1NvdXJjZUFjdGlvbih7XG4gICAgICAgICAgICAgIGFjdGlvbk5hbWU6IFwic291cmNlXCIsXG4gICAgICAgICAgICAgIGJ1Y2tldDogdGhpcy5hcnRpZmFjdHNCdWNrZXQsXG4gICAgICAgICAgICAgIHRyaWdnZXI6IGNvZGVwaXBlbGluZUFjdGlvbnMuUzNUcmlnZ2VyLk5PTkUsXG4gICAgICAgICAgICAgIGJ1Y2tldEtleTogdGhpcy50cmlnZ2VyT2JqZWN0S2V5LFxuICAgICAgICAgICAgICBvdXRwdXQ6IGR1bW15QXJ0aWZhY3QsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAuLi5zdGFnZXMsXG4gICAgICBdLFxuICAgICAgcmVzdGFydEV4ZWN1dGlvbk9uVXBkYXRlOiB0cnVlLFxuICAgIH0pXG5cbiAgICBuZXcgZXZlbnRzLlJ1bGUodGhpcywgXCJQaXBlbGluZVRyaWdnZXJcIiwge1xuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIHNvdXJjZTogW1wiYXdzLnMzXCJdLFxuICAgICAgICBkZXRhaWxUeXBlOiBbXCJPYmplY3QgQ3JlYXRlZFwiXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgYnVja2V0OiB7XG4gICAgICAgICAgICBuYW1lOiBbdGhpcy5hcnRpZmFjdHNCdWNrZXQuYnVja2V0TmFtZV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgIGtleTogW3RoaXMudHJpZ2dlck9iamVjdEtleV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0YXJnZXRzOiBbbmV3IHRhcmdldHMuQ29kZVBpcGVsaW5lKHRoaXMuY29kZVBpcGVsaW5lKV0sXG4gICAgfSlcblxuICAgIHRoaXMuY2RrUGlwZWxpbmUgPSBuZXcgcGlwZWxpbmVzLkNvZGVQaXBlbGluZSh0aGlzLCBcIkNka1BpcGVsaW5lXCIsIHtcbiAgICAgIHN5bnRoLFxuICAgICAgdXNlQ2hhbmdlU2V0czogZmFsc2UsXG4gICAgICBjb2RlUGlwZWxpbmU6IHRoaXMuY29kZVBpcGVsaW5lLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRBd3NDZGtQYWNrYWdlSnNvbkZpbGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBBbHNvIGxvb2sgdXAgdGhlIHRyZWUgYSBiaXQgdG8gaGFuZGxlIHlhcm4gd29ya3NwYWNlcy5cbiAgICBjb25zdCBjYW5kaWRhdGVzID0gW1xuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwibm9kZV9tb2R1bGVzL2F3cy1jZGsvcGFja2FnZS5qc29uXCIpLFxuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLi4vbm9kZV9tb2R1bGVzL2F3cy1jZGsvcGFja2FnZS5qc29uXCIpLFxuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLi4vLi4vbm9kZV9tb2R1bGVzL2F3cy1jZGsvcGFja2FnZS5qc29uXCIpLFxuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2F3cy1jZGsvcGFja2FnZS5qc29uXCIpLFxuICAgIF1cblxuICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGNhbmRpZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIHByaXZhdGUgY2xvdWRBc3NlbWJseVN0YWdlKFxuICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdDogY29kZXBpcGVsaW5lLkFydGlmYWN0LFxuICAgIGNka0J1Y2tldDogczMuSUJ1Y2tldCxcbiAgICBwaXBlbGluZU5hbWU6IHN0cmluZyxcbiAgKTogeyBzdGFnZXM6IGNvZGVwaXBlbGluZS5TdGFnZVByb3BzW107IHN5bnRoOiBwaXBlbGluZXMuSUZpbGVTZXRQcm9kdWNlciB9IHtcbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5TG9va3VwRm4gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ2xvdWRBc3NlbWJseUxvb2t1cEZuXCIsXG4gICAgICB7XG4gICAgICAgIGNvZGU6IG5ldyBsYW1iZGEuSW5saW5lQ29kZShcbiAgICAgICAgICBgZXhwb3J0cy5oYW5kbGVyID0gJHtjbG91ZEFzc2VtYmx5TG9va3VwSGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgICApLFxuICAgICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gICAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgICBtZW1vcnlTaXplOiA1MTIsXG4gICAgICB9LFxuICAgIClcblxuICAgIGNka0J1Y2tldC5ncmFudFJlYWRXcml0ZShjbG91ZEFzc2VtYmx5TG9va3VwRm4pXG5cbiAgICBjb25zdCB1c2VyUGFyYW1ldGVyczogQ2xvdWRBc3NlbWJseUxvb2t1cFVzZXJQYXJhbWV0ZXJzID0ge1xuICAgICAgYnVja2V0TmFtZTogY2RrQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICBvYmplY3RLZXk6IGBwaXBlbGluZXMvJHtwaXBlbGluZU5hbWV9L2Nsb3VkLWFzc2VtYmx5Lmpzb25gLFxuICAgIH1cblxuICAgIGNvbnN0IHN5bnRoID0gcGlwZWxpbmVzLkNvZGVQaXBlbGluZUZpbGVTZXQuZnJvbUFydGlmYWN0KFxuICAgICAgY2xvdWRBc3NlbWJseUFydGlmYWN0LFxuICAgIClcblxuICAgIGNvbnN0IHN0YWdlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgc3RhZ2VOYW1lOiBcIlByZXBhcmVDbG91ZEFzc2VtYmx5XCIsXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBuZXcgY29kZXBpcGVsaW5lQWN0aW9ucy5MYW1iZGFJbnZva2VBY3Rpb24oe1xuICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJjbG91ZC1hc3NlbWJseS1sb29rdXBcIixcbiAgICAgICAgICAgIGxhbWJkYTogY2xvdWRBc3NlbWJseUxvb2t1cEZuLFxuICAgICAgICAgICAgb3V0cHV0czogW2Nsb3VkQXNzZW1ibHlBcnRpZmFjdF0sXG4gICAgICAgICAgICB1c2VyUGFyYW1ldGVycyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXVxuICAgIHJldHVybiB7IHN0YWdlcywgc3ludGggfVxuICB9XG5cbiAgcHJpdmF0ZSBjZGtTb3VyY2VTdGFnZShcbiAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3Q6IGNvZGVwaXBlbGluZS5BcnRpZmFjdCxcbiAgICBjZGtCdWNrZXQ6IHMzLklCdWNrZXQsXG4gICAgcGlwZWxpbmVOYW1lOiBzdHJpbmcsXG4gICAgcGFyYW1ldGVyc05hbWVzcGFjZTogc3RyaW5nLFxuICApOiB7IHN0YWdlczogY29kZXBpcGVsaW5lLlN0YWdlUHJvcHNbXTsgc3ludGg6IHBpcGVsaW5lcy5JRmlsZVNldFByb2R1Y2VyIH0ge1xuICAgIGNvbnN0IHByZXBhcmVDZGtTb3VyY2VGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJQcmVwYXJlQ2RrU291cmNlRm5cIiwge1xuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KFxuICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uLy4uL2Fzc2V0cy9wcmVwYXJlLWNkay1zb3VyY2UtbGFtYmRhXCIpLFxuICAgICAgKSxcbiAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgLy8gVXNpbmcgcHl0aG9uIGluc3RlYWQgaWYgTm9kZUpTIGR1ZSB0byB6aXAtc3VwcG9ydCBpbiBzdGRsaWIuXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM184LFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICBtZW1vcnlTaXplOiA1MTIsXG4gICAgfSlcblxuICAgIGNvbnN0IGFjY291bnQgPSBjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudFxuICAgIGNvbnN0IHJlZ2lvbiA9IGNkay5TdGFjay5vZih0aGlzKS5yZWdpb25cblxuICAgIHByZXBhcmVDZGtTb3VyY2VGbi5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wic3NtOkdldFBhcmFtZXRlcnNCeVBhdGhcIl0sXG4gICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgIGBhcm46YXdzOnNzbToke3JlZ2lvbn06JHthY2NvdW50fTpwYXJhbWV0ZXIvbGlmbGlnLWNkay8qL3BpcGVsaW5lLXZhcmlhYmxlcy8qYCxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIGNka0J1Y2tldC5ncmFudFJlYWRXcml0ZShwcmVwYXJlQ2RrU291cmNlRm4pXG5cbiAgICBjb25zdCBjZGtTb3VyY2VBcnRpZmFjdCA9IG5ldyBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QoKVxuXG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnM6IFByZXBhcmVDZGtTb3VyY2VVc2VyUGFyYW1ldGVycyA9IHtcbiAgICAgIGJ1Y2tldE5hbWU6IGNka0J1Y2tldC5idWNrZXROYW1lLFxuICAgICAgcHJlZml4OiBgcGlwZWxpbmVzLyR7cGlwZWxpbmVOYW1lfS9gLFxuICAgICAgcGFyYW1ldGVyc05hbWVzcGFjZTogcGFyYW1ldGVyc05hbWVzcGFjZSxcbiAgICB9XG5cbiAgICBjb25zdCBzeW50aCA9IG5ldyBwaXBlbGluZXMuU2hlbGxTdGVwKFwiR2VuZXJhdGVDbG91ZEFzc2VtYmx5XCIsIHtcbiAgICAgIGlucHV0OiBwaXBlbGluZXMuQ29kZVBpcGVsaW5lRmlsZVNldC5mcm9tQXJ0aWZhY3QoY2RrU291cmNlQXJ0aWZhY3QpLFxuICAgICAgaW5zdGFsbENvbW1hbmRzOiBbXCJucG0gY2lcIl0sXG4gICAgICBjb21tYW5kczogW1wibnB4IGNkayBzeW50aFwiXSxcbiAgICB9KVxuICAgIGNvbnN0IHN0YWdlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgc3RhZ2VOYW1lOiBcIlByZXBhcmVDZGtTb3VyY2VcIixcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIG5ldyBjb2RlcGlwZWxpbmVBY3Rpb25zLkxhbWJkYUludm9rZUFjdGlvbih7XG4gICAgICAgICAgICBhY3Rpb25OYW1lOiBcInByZXBhcmUtY2RrLXNvdXJjZVwiLFxuICAgICAgICAgICAgbGFtYmRhOiBwcmVwYXJlQ2RrU291cmNlRm4sXG4gICAgICAgICAgICBvdXRwdXRzOiBbY2RrU291cmNlQXJ0aWZhY3RdLFxuICAgICAgICAgICAgdXNlclBhcmFtZXRlcnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF1cbiAgICByZXR1cm4geyBzdGFnZXMsIHN5bnRoIH1cbiAgfVxuXG4gIGFkZFNsYWNrTm90aWZpY2F0aW9uKFxuICAgIHByb3BzOiBPbWl0PFxuICAgICAgU2xhY2tOb3RpZmljYXRpb25Qcm9wcyxcbiAgICAgIFwicGlwZWxpbmVcIiB8IFwiYXJ0aWZhY3RzQnVja2V0XCIgfCBcInRyaWdnZXJPYmplY3RLZXlcIlxuICAgID4sXG4gICk6IHZvaWQge1xuICAgIG5ldyBTbGFja05vdGlmaWNhdGlvbih0aGlzLCBcIlNsYWNrXCIsIHtcbiAgICAgIHBpcGVsaW5lOiB0aGlzLmNvZGVQaXBlbGluZSxcbiAgICAgIGFydGlmYWN0c0J1Y2tldDogdGhpcy5hcnRpZmFjdHNCdWNrZXQsXG4gICAgICB0cmlnZ2VyT2JqZWN0S2V5OiB0aGlzLnRyaWdnZXJPYmplY3RLZXksXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KVxuICB9XG59XG5cbmludGVyZmFjZSBQcmVwYXJlQ2RrU291cmNlVXNlclBhcmFtZXRlcnMge1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgcHJlZml4OiBzdHJpbmdcbiAgcGFyYW1ldGVyc05hbWVzcGFjZTogc3RyaW5nXG59XG4iXX0=
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmbGlnLWNkay1waXBlbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstcGlwZWxpbmVzL2xpZmxpZy1jZGstcGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLDZEQUE0RDtBQUM1RCw0RUFBMkU7QUFDM0UsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUNoRCxpREFBZ0Q7QUFDaEQsMERBQXlEO0FBRXpELG1DQUFrQztBQUNsQyxtREFBa0Q7QUFDbEQseUJBQXdCO0FBQ3hCLDZCQUE0QjtBQUM1Qiw4REFBaUU7QUFFakUsNkRBQWdGO0FBQ2hGLHFFQUE4RDtBQStDOUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFDekQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBb0I7UUFDMUMsT0FBTyxhQUFhLFlBQVksR0FBRyxDQUFBO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFlBQW9CO1FBQzlDLE9BQU8sYUFBYSxZQUFZLFVBQVUsQ0FBQTtJQUM1QyxDQUFDO0lBT0QsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBNkI7O1FBRTdCLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFBLEtBQUssQ0FBQyxlQUFlLG1DQUFJLElBQUEsd0NBQXNCLEVBQUMsSUFBSSxDQUFDLENBQUE7UUFFNUUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUV6RCxJQUFJLEtBQWlDLENBQUE7UUFDckMsSUFBSSxNQUFpQyxDQUFBO1FBRXJDLFFBQVEsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pCLEtBQUss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dHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZVwiXG5pbXBvcnQgKiBhcyBjb2RlcGlwZWxpbmVBY3Rpb25zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHNcIlxuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCJcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBwaXBlbGluZXMgZnJvbSBcImF3cy1jZGstbGliL3BpcGVsaW5lc1wiXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgeyBnZXRHcmlpZEFydGVmYWN0QnVja2V0IH0gZnJvbSBcIi4uL2dyaWlkL2FydGVmYWN0LWJ1Y2tldFwiXG5pbXBvcnQgeyBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMgfSBmcm9tIFwiLi9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlclwiXG5pbXBvcnQgeyBTbGFja05vdGlmaWNhdGlvbiwgU2xhY2tOb3RpZmljYXRpb25Qcm9wcyB9IGZyb20gXCIuL3NsYWNrLW5vdGlmaWNhdGlvblwiXG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlmbGlnQ2RrUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBCdWNrZXQgaG9sZGluZyBwaXBlbGluZSBjb25maWd1cmF0aW9uIGFuZCB0cmlnZ2VyIGZpbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIGV4aXN0aW5nIGJ1Y2tldCBiYXNlZCBvbiBHcmlpZCBjb252ZW50aW9uc1xuICAgKi9cbiAgYXJ0aWZhY3RzQnVja2V0PzogczMuSUJ1Y2tldFxuICAvKipcbiAgICogTmFtZSBvZiBwaXBlbGluZS4gVGhpcyBpcyB1c2VkIGZvciB0aGUgcGF0aCB3aGVyZSBjb25maWd1cmF0aW9uXG4gICAqIGlzIHN0b3JlZCBpbiBTMy5cbiAgICovXG4gIHBpcGVsaW5lTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUeXBlIG9mIHVwbG9hZGVkIGFydGlmYWN0LiBUaGlzIGNoYW5nZXMgdGhlIGJlaGF2aW91ciBvZiB0aGVcbiAgICogcGlwZWxpbmUgYW5kIHdoYXQga2luZCBvZiBwcm9jZXNzIGl0IHBlcmZvcm1zLlxuICAgKlxuICAgKiBUd28gdHlwZXMgYXJlIHN1cHBvcnRlZDpcbiAgICpcbiAgICogICAtIGNkay1zb3VyY2U6IFRoZSB1cGxvYWRlZCBhcnRpZmFjdCByZXByZXNlbnRzIGEgQ0RLIGFwcGxpY2F0aW9uXG4gICAqICAgICBhcyBzb3VyY2UgY29kZS4gQSBidWlsZCBzdGVwIHdpbGwgY29tcGlsZSB0aGlzIGludG8gYVxuICAgKiAgICAgQ0RLIENsb3VkIEFzc2VtYmx5LlxuICAgKlxuICAgKiAgICAgQXMgcGFydCBvZiBzeW50aGVzaXppbmcgdGhpcyBpbnRvIGEgQ0RLIENsb3VkIEFzc2VtYmx5LFxuICAgKiAgICAgYSBmaWxlIFwidmFyaWFibGVzLmpzb25cIiB3aWxsIGJlIHdyaXR0ZW4gZm9yIHRoZVxuICAgKiAgICAgQ0RLIGFwcGxpY2F0aW9uIHRvIHBhcmFtZXRlcml6ZSB0aGUgYnVpbGQgaWYgYW55XG4gICAqICAgICB2YXJpYWJsZXMgYXJlIGZvdW5kIGluIHRoZSBwaXBlbGluZSBzb3VyY2UuXG4gICAqXG4gICAqICAgLSBjbG91ZC1hc3NlbWJseTogVGhlIHVwbG9hZGVkIGFydGlmYWN0IHJlcHJlc2VudHMgYVxuICAgKiAgICAgQ0RLIENsb3VkIEFzc2VtYmx5IHdoaWNoIGlzIHJlYWR5IGZvciBkZXBsb3ltZW50LlxuICAgKlxuICAgKiAgICAgVGhpcyBkb2VzIG5vdCBzdXBwb3J0IHJlYWRpbmcgdmFyaWFibGVzIGF0IHRoZSBjdXJyZW50IHRpbWVcbiAgICogICAgIHNpbmNlIENESyBQaXBlbGluZXMgZG9uJ3Qgc3VwcG9ydCBwYXJhbWV0ZXJpemVkIGRlcGxveXMuXG4gICAqICAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy85NTYwXG4gICAqL1xuICBzb3VyY2VUeXBlOiBcImNkay1zb3VyY2VcIiB8IFwiY2xvdWQtYXNzZW1ibHlcIlxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSB1c2VkIGZvciBwYXJhbWV0ZXJzIGluIFBhcmFtZXRlciBTdG9yZS5cbiAgICpcbiAgICogT25seSByZWxldmFudCBmb3Igc291cmNlVHlwZSBvZiBcImNkay1zb3J1Y2VcIi5cbiAgICpcbiAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgKi9cbiAgcGFyYW1ldGVyc05hbWVzcGFjZT86IHN0cmluZ1xufVxuXG4vKipcbiAqIENESyBQaXBlbGluZSBmb3IgTGlmbGlnLlxuICpcbiAqIEF2b2lkIHB1dHRpbmcgbXVsdGlwbGUgcGlwZWxpbmVzIGluIGEgc3RhY2ssIHNpbmNlIHRoZSBwaXBlbGluZVxuICogd2lsbCBhbHNvIGtlZXAgdGhlIGhvc3Rpbmcgc3RhY2sgdXAtdG8tZGF0ZS5cbiAqXG4gKiBUaGUgcGlwZWxpbmUgaXMgZXhlY3V0ZWQgYnkgd3JpdGluZyBhbiBlbXB0eSBmaWxlIHRvXG4gKiBzMzovLzxhcnRpZmFjdHMtYnVja2V0Pi9waXBlbGluZXMvPHBpcGVsaW5lLW5hbWU+L3RyaWdnZXJcbiAqXG4gKiBDb25maWd1cmF0aW9uIGZpbGVzIGFyZSByZWFkIGZyb20gUzMgYXQgdGhlIHBhdGhcbiAqIHMzOi8vPGFydGlmYWN0cy1idWNrZXQ+L3BpcGVsaW5lcy88cGlwZWxpbmUtbmFtZT4vXG4gKlxuICogRm9yIHVwbG9hZCB0eXBlIFwiY2RrLXNvdXJjZVwiOlxuICpcbiAqICAgLSBjZGstc291cmNlLmpzb24gaG9sZGluZyBhIHBvaW50ZXIgdG8gdGhlIGFjdGl2ZSBDREsgc291cmNlXG4gKiAgICAgdGhhdCBzaG91bGQgYmUgdXNlZC4gU2NoZW1hOlxuICpcbiAqICAgICB7XG4gKiAgICAgICBidWNrZXROYW1lOiBzdHJpbmdcbiAqICAgICAgIGJ1Y2tldEtleTogc3RyaW5nXG4gKiAgICAgfVxuICpcbiAqICAgLSB2YXJpYWJsZXMqLmpzb24gd2hpY2ggY2FuIGJlIHplcm8gb3IgbW9yZSBmaWxlc1xuICogICAgIHdpdGggc3RyaW5nLXN0cmluZyBtYXAgaG9sZGluZyB2YXJpYWJsZXMgdGhhdCB3aWxsXG4gKiAgICAgYmUgd3JpdHRlbiB0byB2YXJpYWJsZXMuanNvbiBhbmQgY2FuIGJlIHJlYWQgYnkgdGhlXG4gKiAgICAgdGhlIENESyBhcHBsaWNhdGlvbiBkdXJpbmcgc3ludGhlc2l6ZS5cbiAqXG4gKiBGb3IgdXBsb2FkIHR5cGUgXCJjbG91ZC1hc3NlbWJseVwiOlxuICpcbiAqICAgLSBjbG91ZC1hc3NlbWJseS5qc29uIGhvbGRpbmcgYSBwb2ludGVyIHRvIHRoZSBhY3RpdmVcbiAqICAgICBDREsgQ2xvdWQgQXNzZW1ibHkgdGhhdCBzaG91bGQgYmUgdXNlZDogU2NoZW1hOlxuICpcbiAqICAgICB7XG4gKiAgICAgICBjbG91ZEFzc2VtYmx5QnVja2V0TmFtZTogc3RyaW5nXG4gKiAgICAgICBjbG91ZEFzc2VtYmx5QnVja2V0S2V5OiBzdHJpbmdcbiAqICAgICB9XG4gKlxuICogVmFyaWFibGVzIGVuYWJsZXMgc2VwYXJhdGlvbiBvZiBJYUMgY29kZSBhbmQgYXBwbGljYXRpb24gY29kZSBpZlxuICogdGhleSBhcmUgbm90IGNvbG9jYXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5LlxuICovXG5leHBvcnQgY2xhc3MgTGlmbGlnQ2RrUGlwZWxpbmUgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBQYXRoIG9uIFMzIGZvciBwaXBlbGluZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgc3RhdGljIHBpcGVsaW5lUzNQcmVmaXgocGlwZWxpbmVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcGlwZWxpbmVzLyR7cGlwZWxpbmVOYW1lfS9gXG4gIH1cblxuICAvKipcbiAgICogS2V5IGluIFMzIGJ1Y2tldCB1c2VkIHRvIHRyaWdnZXIgcGlwZWxpbmUuXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZW1wdHkgZmlsZSB3aXRoaW4gdGhlIHBpcGVsaW5lIHBhdGguXG4gICAqL1xuICBzdGF0aWMgcGlwZWxpbmVTM1RyaWdnZXJLZXkocGlwZWxpbmVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcGlwZWxpbmVzLyR7cGlwZWxpbmVOYW1lfS90cmlnZ2VyYFxuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGNka1BpcGVsaW5lOiBwaXBlbGluZXMuQ29kZVBpcGVsaW5lXG4gIHB1YmxpYyByZWFkb25seSBjb2RlUGlwZWxpbmU6IGNvZGVwaXBlbGluZS5QaXBlbGluZVxuICBwdWJsaWMgcmVhZG9ubHkgYXJ0aWZhY3RzQnVja2V0OiBzMy5JQnVja2V0XG4gIHB1YmxpYyByZWFkb25seSB0cmlnZ2VyT2JqZWN0S2V5OiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTGlmbGlnQ2RrUGlwZWxpbmVQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5hcnRpZmFjdHNCdWNrZXQgPSBwcm9wcy5hcnRpZmFjdHNCdWNrZXQgPz8gZ2V0R3JpaWRBcnRlZmFjdEJ1Y2tldCh0aGlzKVxuXG4gICAgY29uc3QgY2xvdWRBc3NlbWJseUFydGlmYWN0ID0gbmV3IGNvZGVwaXBlbGluZS5BcnRpZmFjdCgpXG5cbiAgICBsZXQgc3ludGg6IHBpcGVsaW5lcy5JRmlsZVNldFByb2R1Y2VyXG4gICAgbGV0IHN0YWdlczogY29kZXBpcGVsaW5lLlN0YWdlUHJvcHNbXVxuXG4gICAgc3dpdGNoIChwcm9wcy5zb3VyY2VUeXBlKSB7XG4gICAgICBjYXNlIFwiY2xvdWQtYXNzZW1ibHlcIjpcbiAgICAgICAgY29uc3QgY2xvdWRBc3NlbWJseSA9IHRoaXMuY2xvdWRBc3NlbWJseVN0YWdlKFxuICAgICAgICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdCxcbiAgICAgICAgICB0aGlzLmFydGlmYWN0c0J1Y2tldCxcbiAgICAgICAgICBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgICAgIClcbiAgICAgICAgc3ludGggPSBjbG91ZEFzc2VtYmx5LnN5bnRoXG4gICAgICAgIHN0YWdlcyA9IGNsb3VkQXNzZW1ibHkuc3RhZ2VzXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwiY2RrLXNvdXJjZVwiOlxuICAgICAgICBjb25zdCBjZGtTb3VyY2UgPSB0aGlzLmNka1NvdXJjZVN0YWdlKFxuICAgICAgICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdCxcbiAgICAgICAgICB0aGlzLmFydGlmYWN0c0J1Y2tldCxcbiAgICAgICAgICBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgICAgICAgcHJvcHMucGFyYW1ldGVyc05hbWVzcGFjZSA/PyBcImRlZmF1bHRcIixcbiAgICAgICAgKVxuICAgICAgICBzeW50aCA9IGNka1NvdXJjZS5zeW50aFxuICAgICAgICBzdGFnZXMgPSBjZGtTb3VyY2Uuc3RhZ2VzXG4gICAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY29uc3QgZHVtbXlBcnRpZmFjdCA9IG5ldyBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QoKVxuXG4gICAgdGhpcy50cmlnZ2VyT2JqZWN0S2V5ID0gTGlmbGlnQ2RrUGlwZWxpbmUucGlwZWxpbmVTM1RyaWdnZXJLZXkoXG4gICAgICBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgKVxuXG4gICAgdGhpcy5jb2RlUGlwZWxpbmUgPSBuZXcgY29kZXBpcGVsaW5lLlBpcGVsaW5lKHRoaXMsIFwiQ29kZVBpcGVsaW5lXCIsIHtcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgc3RhZ2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzdGFnZU5hbWU6IFwiU291cmNlXCIsXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgbmV3IGNvZGVwaXBlbGluZUFjdGlvbnMuUzNTb3VyY2VBY3Rpb24oe1xuICAgICAgICAgICAgICBhY3Rpb25OYW1lOiBcInNvdXJjZVwiLFxuICAgICAgICAgICAgICBidWNrZXQ6IHRoaXMuYXJ0aWZhY3RzQnVja2V0LFxuICAgICAgICAgICAgICB0cmlnZ2VyOiBjb2RlcGlwZWxpbmVBY3Rpb25zLlMzVHJpZ2dlci5OT05FLFxuICAgICAgICAgICAgICBidWNrZXRLZXk6IHRoaXMudHJpZ2dlck9iamVjdEtleSxcbiAgICAgICAgICAgICAgb3V0cHV0OiBkdW1teUFydGlmYWN0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uc3RhZ2VzLFxuICAgICAgXSxcbiAgICAgIHJlc3RhcnRFeGVjdXRpb25PblVwZGF0ZTogdHJ1ZSxcbiAgICB9KVxuXG4gICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsIFwiUGlwZWxpbmVUcmlnZ2VyXCIsIHtcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBzb3VyY2U6IFtcImF3cy5zM1wiXSxcbiAgICAgICAgZGV0YWlsVHlwZTogW1wiT2JqZWN0IENyZWF0ZWRcIl0sXG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGJ1Y2tldDoge1xuICAgICAgICAgICAgbmFtZTogW3RoaXMuYXJ0aWZhY3RzQnVja2V0LmJ1Y2tldE5hbWVdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgICBrZXk6IFt0aGlzLnRyaWdnZXJPYmplY3RLZXldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW25ldyB0YXJnZXRzLkNvZGVQaXBlbGluZSh0aGlzLmNvZGVQaXBlbGluZSldLFxuICAgIH0pXG5cbiAgICB0aGlzLmNka1BpcGVsaW5lID0gbmV3IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUodGhpcywgXCJDZGtQaXBlbGluZVwiLCB7XG4gICAgICBzeW50aCxcbiAgICAgIHVzZUNoYW5nZVNldHM6IGZhbHNlLFxuICAgICAgY29kZVBpcGVsaW5lOiB0aGlzLmNvZGVQaXBlbGluZSxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0QXdzQ2RrUGFja2FnZUpzb25GaWxlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gQWxzbyBsb29rIHVwIHRoZSB0cmVlIGEgYml0IHRvIGhhbmRsZSB5YXJuIHdvcmtzcGFjZXMuXG4gICAgY29uc3QgY2FuZGlkYXRlcyA9IFtcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIm5vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uLy4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICBdXG5cbiAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhjYW5kaWRhdGUpKSB7XG4gICAgICAgIHJldHVybiBjYW5kaWRhdGVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBwcml2YXRlIGNsb3VkQXNzZW1ibHlTdGFnZShcbiAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3Q6IGNvZGVwaXBlbGluZS5BcnRpZmFjdCxcbiAgICBjZGtCdWNrZXQ6IHMzLklCdWNrZXQsXG4gICAgcGlwZWxpbmVOYW1lOiBzdHJpbmcsXG4gICk6IHsgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdOyBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXIgfSB7XG4gICAgY29uc3QgY2xvdWRBc3NlbWJseUxvb2t1cEZuID0gbmV3IE5vZGVqc0Z1bmN0aW9uKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ2xvdWRBc3NlbWJseUxvb2t1cEZuXCIsXG4gICAgICB7XG4gICAgICAgIGVudHJ5OiByZXF1aXJlLnJlc29sdmUoXCIuL2Nsb3VkLWFzc2VtYmx5LWxvb2t1cC1oYW5kbGVyXCIpLFxuICAgICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgICAgYXdzU2RrQ29ubmVjdGlvblJldXNlOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgY2RrQnVja2V0LmdyYW50UmVhZFdyaXRlKGNsb3VkQXNzZW1ibHlMb29rdXBGbilcblxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzOiBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMgPSB7XG4gICAgICBidWNrZXROYW1lOiBjZGtCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIG9iamVjdEtleTogYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vY2xvdWQtYXNzZW1ibHkuanNvbmAsXG4gICAgfVxuXG4gICAgY29uc3Qgc3ludGggPSBwaXBlbGluZXMuQ29kZVBpcGVsaW5lRmlsZVNldC5mcm9tQXJ0aWZhY3QoXG4gICAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QsXG4gICAgKVxuXG4gICAgY29uc3Qgc3RhZ2VzID0gW1xuICAgICAge1xuICAgICAgICBzdGFnZU5hbWU6IFwiUHJlcGFyZUNsb3VkQXNzZW1ibHlcIixcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIG5ldyBjb2RlcGlwZWxpbmVBY3Rpb25zLkxhbWJkYUludm9rZUFjdGlvbih7XG4gICAgICAgICAgICBhY3Rpb25OYW1lOiBcImNsb3VkLWFzc2VtYmx5LWxvb2t1cFwiLFxuICAgICAgICAgICAgbGFtYmRhOiBjbG91ZEFzc2VtYmx5TG9va3VwRm4sXG4gICAgICAgICAgICBvdXRwdXRzOiBbY2xvdWRBc3NlbWJseUFydGlmYWN0XSxcbiAgICAgICAgICAgIHVzZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdXG4gICAgcmV0dXJuIHsgc3RhZ2VzLCBzeW50aCB9XG4gIH1cblxuICBwcml2YXRlIGNka1NvdXJjZVN0YWdlKFxuICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdDogY29kZXBpcGVsaW5lLkFydGlmYWN0LFxuICAgIGNka0J1Y2tldDogczMuSUJ1Y2tldCxcbiAgICBwaXBlbGluZU5hbWU6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBzdHJpbmcsXG4gICk6IHsgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdOyBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXIgfSB7XG4gICAgY29uc3QgcHJlcGFyZUNka1NvdXJjZUZuID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcIlByZXBhcmVDZGtTb3VyY2VGblwiLCB7XG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoXG4gICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vLi4vYXNzZXRzL3ByZXBhcmUtY2RrLXNvdXJjZS1sYW1iZGFcIiksXG4gICAgICApLFxuICAgICAgaGFuZGxlcjogXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICAvLyBVc2luZyBweXRob24gaW5zdGVhZCBpZiBOb2RlSlMgZHVlIHRvIHppcC1zdXBwb3J0IGluIHN0ZGxpYi5cbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzgsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICB9KVxuXG4gICAgY29uc3QgYWNjb3VudCA9IGNkay5TdGFjay5vZih0aGlzKS5hY2NvdW50XG4gICAgY29uc3QgcmVnaW9uID0gY2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuXG4gICAgcHJlcGFyZUNka1NvdXJjZUZuLmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJzc206R2V0UGFyYW1ldGVyc0J5UGF0aFwiXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgYGFybjphd3M6c3NtOiR7cmVnaW9ufToke2FjY291bnR9OnBhcmFtZXRlci9saWZsaWctY2RrLyovcGlwZWxpbmUtdmFyaWFibGVzLypgLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY2RrQnVja2V0LmdyYW50UmVhZFdyaXRlKHByZXBhcmVDZGtTb3VyY2VGbilcblxuICAgIGNvbnN0IGNka1NvdXJjZUFydGlmYWN0ID0gbmV3IGNvZGVwaXBlbGluZS5BcnRpZmFjdCgpXG5cbiAgICBjb25zdCB1c2VyUGFyYW1ldGVyczogUHJlcGFyZUNka1NvdXJjZVVzZXJQYXJhbWV0ZXJzID0ge1xuICAgICAgYnVja2V0TmFtZTogY2RrQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICBwcmVmaXg6IGBwaXBlbGluZXMvJHtwaXBlbGluZU5hbWV9L2AsXG4gICAgICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBwYXJhbWV0ZXJzTmFtZXNwYWNlLFxuICAgIH1cblxuICAgIGNvbnN0IHN5bnRoID0gbmV3IHBpcGVsaW5lcy5TaGVsbFN0ZXAoXCJHZW5lcmF0ZUNsb3VkQXNzZW1ibHlcIiwge1xuICAgICAgaW5wdXQ6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVGaWxlU2V0LmZyb21BcnRpZmFjdChjZGtTb3VyY2VBcnRpZmFjdCksXG4gICAgICBpbnN0YWxsQ29tbWFuZHM6IFtcIm5wbSBjaVwiXSxcbiAgICAgIGNvbW1hbmRzOiBbXCJucHggY2RrIHN5bnRoXCJdLFxuICAgIH0pXG4gICAgY29uc3Qgc3RhZ2VzID0gW1xuICAgICAge1xuICAgICAgICBzdGFnZU5hbWU6IFwiUHJlcGFyZUNka1NvdXJjZVwiLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgbmV3IGNvZGVwaXBlbGluZUFjdGlvbnMuTGFtYmRhSW52b2tlQWN0aW9uKHtcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6IFwicHJlcGFyZS1jZGstc291cmNlXCIsXG4gICAgICAgICAgICBsYW1iZGE6IHByZXBhcmVDZGtTb3VyY2VGbixcbiAgICAgICAgICAgIG91dHB1dHM6IFtjZGtTb3VyY2VBcnRpZmFjdF0sXG4gICAgICAgICAgICB1c2VyUGFyYW1ldGVycyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXVxuICAgIHJldHVybiB7IHN0YWdlcywgc3ludGggfVxuICB9XG5cbiAgYWRkU2xhY2tOb3RpZmljYXRpb24oXG4gICAgcHJvcHM6IE9taXQ8XG4gICAgICBTbGFja05vdGlmaWNhdGlvblByb3BzLFxuICAgICAgXCJwaXBlbGluZVwiIHwgXCJhcnRpZmFjdHNCdWNrZXRcIiB8IFwidHJpZ2dlck9iamVjdEtleVwiXG4gICAgPixcbiAgKTogdm9pZCB7XG4gICAgbmV3IFNsYWNrTm90aWZpY2F0aW9uKHRoaXMsIFwiU2xhY2tcIiwge1xuICAgICAgcGlwZWxpbmU6IHRoaXMuY29kZVBpcGVsaW5lLFxuICAgICAgYXJ0aWZhY3RzQnVja2V0OiB0aGlzLmFydGlmYWN0c0J1Y2tldCxcbiAgICAgIHRyaWdnZXJPYmplY3RLZXk6IHRoaXMudHJpZ2dlck9iamVjdEtleSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pXG4gIH1cbn1cblxuaW50ZXJmYWNlIFByZXBhcmVDZGtTb3VyY2VVc2VyUGFyYW1ldGVycyB7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICBwcmVmaXg6IHN0cmluZ1xuICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBzdHJpbmdcbn1cbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import * as alarms from "./alarms";
2
2
  import * as cdkPipelines from "./cdk-pipelines";
3
3
  import * as griid from "./griid";
4
- import * as pipelines from "./pipelines";
5
4
  import * as ses from "./ses";
6
5
  import * as webapp from "./webapp";
7
6
  import * as configureParameters from "./configure-parameters";
@@ -12,16 +11,14 @@ import * as rds from "./rds";
12
11
  import * as platform from "./platform";
13
12
  export { BastionHost } from "./bastion-host";
14
13
  export * from "./build-artifacts";
15
- export * from "./cdk-deploy";
16
14
  export { CrossRegionSsmParameter } from "./cross-region-ssm-parameter";
17
- export * from "./ecs-update-image";
18
15
  export { HostedZoneWithParam } from "./hosted-zone-with-param";
19
16
  export { createCloudAssemblySnapshot } from "./snapshots";
20
17
  export { SsmParameterBackedResource } from "./ssm-parameter-backed-resource";
21
18
  export { SsmParameterReader } from "./ssm-parameter-reader";
22
19
  export { tagResources } from "./tags";
23
20
  export { WebappDeployViaRole } from "./webapp-deploy-via-role";
24
- export { alarms, cdkPipelines, griid, pipelines, ses, webapp, configureParameters, ecs, loadBalancer, rds, platform, cloudTrailSlackIntegration, };
21
+ export { alarms, cdkPipelines, griid, ses, webapp, configureParameters, ecs, loadBalancer, rds, platform, cloudTrailSlackIntegration, };
25
22
  /**
26
23
  * Check if we are synthesizing a snapshot by setting IS_SNAPSHOT
27
24
  * environment variable to true.
package/lib/index.js CHANGED
@@ -14,15 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.isSnapshot = exports.cloudTrailSlackIntegration = exports.platform = exports.rds = exports.loadBalancer = exports.ecs = exports.configureParameters = exports.webapp = exports.ses = exports.pipelines = exports.griid = exports.cdkPipelines = exports.alarms = exports.WebappDeployViaRole = exports.tagResources = exports.SsmParameterReader = exports.SsmParameterBackedResource = exports.createCloudAssemblySnapshot = exports.HostedZoneWithParam = exports.CrossRegionSsmParameter = exports.BastionHost = void 0;
17
+ exports.isSnapshot = exports.cloudTrailSlackIntegration = exports.platform = exports.rds = exports.loadBalancer = exports.ecs = exports.configureParameters = exports.webapp = exports.ses = exports.griid = exports.cdkPipelines = exports.alarms = exports.WebappDeployViaRole = exports.tagResources = exports.SsmParameterReader = exports.SsmParameterBackedResource = exports.createCloudAssemblySnapshot = exports.HostedZoneWithParam = exports.CrossRegionSsmParameter = exports.BastionHost = void 0;
18
18
  const alarms = require("./alarms");
19
19
  exports.alarms = alarms;
20
20
  const cdkPipelines = require("./cdk-pipelines");
21
21
  exports.cdkPipelines = cdkPipelines;
22
22
  const griid = require("./griid");
23
23
  exports.griid = griid;
24
- const pipelines = require("./pipelines");
25
- exports.pipelines = pipelines;
26
24
  const ses = require("./ses");
27
25
  exports.ses = ses;
28
26
  const webapp = require("./webapp");
@@ -44,10 +42,8 @@ exports.platform = platform;
44
42
  var bastion_host_1 = require("./bastion-host");
45
43
  Object.defineProperty(exports, "BastionHost", { enumerable: true, get: function () { return bastion_host_1.BastionHost; } });
46
44
  __exportStar(require("./build-artifacts"), exports);
47
- __exportStar(require("./cdk-deploy"), exports);
48
45
  var cross_region_ssm_parameter_1 = require("./cross-region-ssm-parameter");
49
46
  Object.defineProperty(exports, "CrossRegionSsmParameter", { enumerable: true, get: function () { return cross_region_ssm_parameter_1.CrossRegionSsmParameter; } });
50
- __exportStar(require("./ecs-update-image"), exports);
51
47
  var hosted_zone_with_param_1 = require("./hosted-zone-with-param");
52
48
  Object.defineProperty(exports, "HostedZoneWithParam", { enumerable: true, get: function () { return hosted_zone_with_param_1.HostedZoneWithParam; } });
53
49
  var snapshots_1 = require("./snapshots");
@@ -68,4 +64,4 @@ Object.defineProperty(exports, "WebappDeployViaRole", { enumerable: true, get: f
68
64
  * happen during snapshot creation.
69
65
  */
70
66
  exports.isSnapshot = process.env.IS_SNAPSHOT === "true";
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBa0M7QUE2QmhDLHdCQUFNO0FBNUJSLGdEQUErQztBQTZCN0Msb0NBQVk7QUE1QmQsaUNBQWdDO0FBNkI5QixzQkFBSztBQTVCUCx5Q0FBd0M7QUE2QnRDLDhCQUFTO0FBNUJYLDZCQUE0QjtBQTZCMUIsa0JBQUc7QUE1QkwsbUNBQWtDO0FBNkJoQyx3QkFBTTtBQTVCUiw4REFBNkQ7QUE2QjNELGtEQUFtQjtBQTVCckIsNkJBQTRCO0FBNkIxQixrQkFBRztBQTVCTCxnREFBK0M7QUE2QjdDLG9DQUFZO0FBNUJkLDZFQUE0RTtBQStCMUUsZ0VBQTBCO0FBOUI1Qiw2QkFBNEI7QUE0QjFCLGtCQUFHO0FBM0JMLHVDQUFzQztBQTRCcEMsNEJBQVE7QUExQlYsZ0VBQWdFO0FBQ2hFLHVDQUF1QztBQUV2QywrQ0FBNEM7QUFBbkMsMkdBQUEsV0FBVyxPQUFBO0FBQ3BCLG9EQUFpQztBQUNqQywrQ0FBNEI7QUFDNUIsMkVBQXNFO0FBQTdELHFJQUFBLHVCQUF1QixPQUFBO0FBQ2hDLHFEQUFrQztBQUNsQyxtRUFBOEQ7QUFBckQsNkhBQUEsbUJBQW1CLE9BQUE7QUFDNUIseUNBQXlEO0FBQWhELHdIQUFBLDJCQUEyQixPQUFBO0FBQ3BDLGlGQUE0RTtBQUFuRSwySUFBQSwwQkFBMEIsT0FBQTtBQUNuQywrREFBMkQ7QUFBbEQsMEhBQUEsa0JBQWtCLE9BQUE7QUFDM0IsK0JBQXFDO0FBQTVCLG9HQUFBLFlBQVksT0FBQTtBQUNyQixtRUFBOEQ7QUFBckQsNkhBQUEsbUJBQW1CLE9BQUE7QUFpQjVCOzs7Ozs7R0FNRztBQUNVLFFBQUEsVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFsYXJtcyBmcm9tIFwiLi9hbGFybXNcIlxuaW1wb3J0ICogYXMgY2RrUGlwZWxpbmVzIGZyb20gXCIuL2Nkay1waXBlbGluZXNcIlxuaW1wb3J0ICogYXMgZ3JpaWQgZnJvbSBcIi4vZ3JpaWRcIlxuaW1wb3J0ICogYXMgcGlwZWxpbmVzIGZyb20gXCIuL3BpcGVsaW5lc1wiXG5pbXBvcnQgKiBhcyBzZXMgZnJvbSBcIi4vc2VzXCJcbmltcG9ydCAqIGFzIHdlYmFwcCBmcm9tIFwiLi93ZWJhcHBcIlxuaW1wb3J0ICogYXMgY29uZmlndXJlUGFyYW1ldGVycyBmcm9tIFwiLi9jb25maWd1cmUtcGFyYW1ldGVyc1wiXG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcIi4vZWNzXCJcbmltcG9ydCAqIGFzIGxvYWRCYWxhbmNlciBmcm9tIFwiLi9sb2FkLWJhbGFuY2VyXCJcbmltcG9ydCAqIGFzIGNsb3VkVHJhaWxTbGFja0ludGVncmF0aW9uIGZyb20gXCIuL2Nsb3VkdHJhaWwtc2xhY2staW50ZWdyYXRpb25cIlxuaW1wb3J0ICogYXMgcmRzIGZyb20gXCIuL3Jkc1wiXG5pbXBvcnQgKiBhcyBwbGF0Zm9ybSBmcm9tIFwiLi9wbGF0Zm9ybVwiXG5cbi8vIFRPRE86IFdlIHdhbnQgdG8gc3dpdGNoIGV4cG9ydHMgc28gdGhleSBldmVyeSBjb25zdHJ1Y3QgdW5kZXJcbi8vICBhIG5hbWVzcGFjZSBzdWNoIGFzIHRoZSBzbnMgZXhwb3J0LlxuXG5leHBvcnQgeyBCYXN0aW9uSG9zdCB9IGZyb20gXCIuL2Jhc3Rpb24taG9zdFwiXG5leHBvcnQgKiBmcm9tIFwiLi9idWlsZC1hcnRpZmFjdHNcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2RrLWRlcGxveVwiXG5leHBvcnQgeyBDcm9zc1JlZ2lvblNzbVBhcmFtZXRlciB9IGZyb20gXCIuL2Nyb3NzLXJlZ2lvbi1zc20tcGFyYW1ldGVyXCJcbmV4cG9ydCAqIGZyb20gXCIuL2Vjcy11cGRhdGUtaW1hZ2VcIlxuZXhwb3J0IHsgSG9zdGVkWm9uZVdpdGhQYXJhbSB9IGZyb20gXCIuL2hvc3RlZC16b25lLXdpdGgtcGFyYW1cIlxuZXhwb3J0IHsgY3JlYXRlQ2xvdWRBc3NlbWJseVNuYXBzaG90IH0gZnJvbSBcIi4vc25hcHNob3RzXCJcbmV4cG9ydCB7IFNzbVBhcmFtZXRlckJhY2tlZFJlc291cmNlIH0gZnJvbSBcIi4vc3NtLXBhcmFtZXRlci1iYWNrZWQtcmVzb3VyY2VcIlxuZXhwb3J0IHsgU3NtUGFyYW1ldGVyUmVhZGVyIH0gZnJvbSBcIi4vc3NtLXBhcmFtZXRlci1yZWFkZXJcIlxuZXhwb3J0IHsgdGFnUmVzb3VyY2VzIH0gZnJvbSBcIi4vdGFnc1wiXG5leHBvcnQgeyBXZWJhcHBEZXBsb3lWaWFSb2xlIH0gZnJvbSBcIi4vd2ViYXBwLWRlcGxveS12aWEtcm9sZVwiXG5cbmV4cG9ydCB7XG4gIGFsYXJtcyxcbiAgY2RrUGlwZWxpbmVzLFxuICBncmlpZCxcbiAgcGlwZWxpbmVzLFxuICBzZXMsXG4gIHdlYmFwcCxcbiAgY29uZmlndXJlUGFyYW1ldGVycyxcbiAgZWNzLFxuICBsb2FkQmFsYW5jZXIsXG4gIHJkcyxcbiAgcGxhdGZvcm0sXG4gIGNsb3VkVHJhaWxTbGFja0ludGVncmF0aW9uLFxufVxuXG4vKipcbiAqIENoZWNrIGlmIHdlIGFyZSBzeW50aGVzaXppbmcgYSBzbmFwc2hvdCBieSBzZXR0aW5nIElTX1NOQVBTSE9UXG4gKiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0cnVlLlxuICpcbiAqIFRoaXMgYWxsb3dzIGZvciBzcGVjaWFsIGNvbmRpdGlvbmFsIGxvZ2ljIHRoYXQgc2hvdWxkIG9ubHlcbiAqIGhhcHBlbiBkdXJpbmcgc25hcHNob3QgY3JlYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NuYXBzaG90ID0gcHJvY2Vzcy5lbnYuSVNfU05BUFNIT1QgPT09IFwidHJ1ZVwiXG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBa0M7QUEwQmhDLHdCQUFNO0FBekJSLGdEQUErQztBQTBCN0Msb0NBQVk7QUF6QmQsaUNBQWdDO0FBMEI5QixzQkFBSztBQXpCUCw2QkFBNEI7QUEwQjFCLGtCQUFHO0FBekJMLG1DQUFrQztBQTBCaEMsd0JBQU07QUF6QlIsOERBQTZEO0FBMEIzRCxrREFBbUI7QUF6QnJCLDZCQUE0QjtBQTBCMUIsa0JBQUc7QUF6QkwsZ0RBQStDO0FBMEI3QyxvQ0FBWTtBQXpCZCw2RUFBNEU7QUE0QjFFLGdFQUEwQjtBQTNCNUIsNkJBQTRCO0FBeUIxQixrQkFBRztBQXhCTCx1Q0FBc0M7QUF5QnBDLDRCQUFRO0FBdkJWLGdFQUFnRTtBQUNoRSx1Q0FBdUM7QUFFdkMsK0NBQTRDO0FBQW5DLDJHQUFBLFdBQVcsT0FBQTtBQUNwQixvREFBaUM7QUFDakMsMkVBQXNFO0FBQTdELHFJQUFBLHVCQUF1QixPQUFBO0FBQ2hDLG1FQUE4RDtBQUFyRCw2SEFBQSxtQkFBbUIsT0FBQTtBQUM1Qix5Q0FBeUQ7QUFBaEQsd0hBQUEsMkJBQTJCLE9BQUE7QUFDcEMsaUZBQTRFO0FBQW5FLDJJQUFBLDBCQUEwQixPQUFBO0FBQ25DLCtEQUEyRDtBQUFsRCwwSEFBQSxrQkFBa0IsT0FBQTtBQUMzQiwrQkFBcUM7QUFBNUIsb0dBQUEsWUFBWSxPQUFBO0FBQ3JCLG1FQUE4RDtBQUFyRCw2SEFBQSxtQkFBbUIsT0FBQTtBQWdCNUI7Ozs7OztHQU1HO0FBQ1UsUUFBQSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEtBQUssTUFBTSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYWxhcm1zIGZyb20gXCIuL2FsYXJtc1wiXG5pbXBvcnQgKiBhcyBjZGtQaXBlbGluZXMgZnJvbSBcIi4vY2RrLXBpcGVsaW5lc1wiXG5pbXBvcnQgKiBhcyBncmlpZCBmcm9tIFwiLi9ncmlpZFwiXG5pbXBvcnQgKiBhcyBzZXMgZnJvbSBcIi4vc2VzXCJcbmltcG9ydCAqIGFzIHdlYmFwcCBmcm9tIFwiLi93ZWJhcHBcIlxuaW1wb3J0ICogYXMgY29uZmlndXJlUGFyYW1ldGVycyBmcm9tIFwiLi9jb25maWd1cmUtcGFyYW1ldGVyc1wiXG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcIi4vZWNzXCJcbmltcG9ydCAqIGFzIGxvYWRCYWxhbmNlciBmcm9tIFwiLi9sb2FkLWJhbGFuY2VyXCJcbmltcG9ydCAqIGFzIGNsb3VkVHJhaWxTbGFja0ludGVncmF0aW9uIGZyb20gXCIuL2Nsb3VkdHJhaWwtc2xhY2staW50ZWdyYXRpb25cIlxuaW1wb3J0ICogYXMgcmRzIGZyb20gXCIuL3Jkc1wiXG5pbXBvcnQgKiBhcyBwbGF0Zm9ybSBmcm9tIFwiLi9wbGF0Zm9ybVwiXG5cbi8vIFRPRE86IFdlIHdhbnQgdG8gc3dpdGNoIGV4cG9ydHMgc28gdGhleSBldmVyeSBjb25zdHJ1Y3QgdW5kZXJcbi8vICBhIG5hbWVzcGFjZSBzdWNoIGFzIHRoZSBzbnMgZXhwb3J0LlxuXG5leHBvcnQgeyBCYXN0aW9uSG9zdCB9IGZyb20gXCIuL2Jhc3Rpb24taG9zdFwiXG5leHBvcnQgKiBmcm9tIFwiLi9idWlsZC1hcnRpZmFjdHNcIlxuZXhwb3J0IHsgQ3Jvc3NSZWdpb25Tc21QYXJhbWV0ZXIgfSBmcm9tIFwiLi9jcm9zcy1yZWdpb24tc3NtLXBhcmFtZXRlclwiXG5leHBvcnQgeyBIb3N0ZWRab25lV2l0aFBhcmFtIH0gZnJvbSBcIi4vaG9zdGVkLXpvbmUtd2l0aC1wYXJhbVwiXG5leHBvcnQgeyBjcmVhdGVDbG91ZEFzc2VtYmx5U25hcHNob3QgfSBmcm9tIFwiLi9zbmFwc2hvdHNcIlxuZXhwb3J0IHsgU3NtUGFyYW1ldGVyQmFja2VkUmVzb3VyY2UgfSBmcm9tIFwiLi9zc20tcGFyYW1ldGVyLWJhY2tlZC1yZXNvdXJjZVwiXG5leHBvcnQgeyBTc21QYXJhbWV0ZXJSZWFkZXIgfSBmcm9tIFwiLi9zc20tcGFyYW1ldGVyLXJlYWRlclwiXG5leHBvcnQgeyB0YWdSZXNvdXJjZXMgfSBmcm9tIFwiLi90YWdzXCJcbmV4cG9ydCB7IFdlYmFwcERlcGxveVZpYVJvbGUgfSBmcm9tIFwiLi93ZWJhcHAtZGVwbG95LXZpYS1yb2xlXCJcblxuZXhwb3J0IHtcbiAgYWxhcm1zLFxuICBjZGtQaXBlbGluZXMsXG4gIGdyaWlkLFxuICBzZXMsXG4gIHdlYmFwcCxcbiAgY29uZmlndXJlUGFyYW1ldGVycyxcbiAgZWNzLFxuICBsb2FkQmFsYW5jZXIsXG4gIHJkcyxcbiAgcGxhdGZvcm0sXG4gIGNsb3VkVHJhaWxTbGFja0ludGVncmF0aW9uLFxufVxuXG4vKipcbiAqIENoZWNrIGlmIHdlIGFyZSBzeW50aGVzaXppbmcgYSBzbmFwc2hvdCBieSBzZXR0aW5nIElTX1NOQVBTSE9UXG4gKiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0cnVlLlxuICpcbiAqIFRoaXMgYWxsb3dzIGZvciBzcGVjaWFsIGNvbmRpdGlvbmFsIGxvZ2ljIHRoYXQgc2hvdWxkIG9ubHlcbiAqIGhhcHBlbiBkdXJpbmcgc25hcHNob3QgY3JlYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NuYXBzaG90ID0gcHJvY2Vzcy5lbnYuSVNfU05BUFNIT1QgPT09IFwidHJ1ZVwiXG4iXX0=
@@ -13,5 +13,5 @@ type OnEventHandler = (event: {
13
13
  PhysicalResourceId?: string;
14
14
  Data?: Record<string, any>;
15
15
  }>;
16
- export declare const configurationSetSnsDestinationHandler: OnEventHandler;
16
+ export declare const handler: OnEventHandler;
17
17
  export {};
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configurationSetSnsDestinationHandler = void 0;
4
- // This function is inline-compiled for the lambda.
5
- // It must be self-contained.
6
- const configurationSetSnsDestinationHandler = async (event) => {
7
- const AWS = require("aws-sdk");
8
- const ses = new AWS.SESV2();
3
+ exports.handler = void 0;
4
+ const client_sesv2_1 = require("@aws-sdk/client-sesv2");
5
+ const handler = async (event) => {
6
+ const sesv2Client = new client_sesv2_1.SESv2Client();
9
7
  const configurationSetName = event.ResourceProperties.ConfigurationSetName;
10
8
  const eventDestinationName = event.ResourceProperties.EventDestinationName;
11
9
  const snsTopicArn = event.ResourceProperties.SnsTopicArn;
12
- const matchingEventTypes = event.ResourceProperties.MatchingEventTypes;
10
+ const matchingEventTypes = event.ResourceProperties.MatchingEventTypes.map((eventType) => eventType);
13
11
  const eventDestination = {
14
12
  MatchingEventTypes: matchingEventTypes,
15
13
  Enabled: true,
@@ -20,24 +18,20 @@ const configurationSetSnsDestinationHandler = async (event) => {
20
18
  console.log(`EventDestination ${JSON.stringify(eventDestination)}`);
21
19
  switch (event.RequestType) {
22
20
  case "Delete":
23
- const deleteResponse = await ses
24
- .deleteConfigurationSetEventDestination({
21
+ const deleteResponse = await sesv2Client.send(new client_sesv2_1.DeleteConfigurationSetEventDestinationCommand({
25
22
  ConfigurationSetName: configurationSetName,
26
23
  EventDestinationName: eventDestinationName,
27
- })
28
- .promise();
24
+ }));
29
25
  console.log(`ses.deleteConfigurationSetEventDestination: ${JSON.stringify(deleteResponse)}`);
30
26
  return {
31
27
  PhysicalResourceId: event.PhysicalResourceId,
32
28
  };
33
29
  case "Create":
34
- const createResponse = await ses
35
- .createConfigurationSetEventDestination({
30
+ const createResponse = await sesv2Client.send(new client_sesv2_1.CreateConfigurationSetEventDestinationCommand({
36
31
  ConfigurationSetName: configurationSetName,
37
32
  EventDestinationName: eventDestinationName,
38
33
  EventDestination: eventDestination,
39
- })
40
- .promise();
34
+ }));
41
35
  console.log(`ses.createConfigurationSetEventDestination: ${JSON.stringify(createResponse)}`);
42
36
  return {
43
37
  PhysicalResourceId: `ConfigurationSetSnsDestination-${configurationSetName}-${eventDestinationName}`,
@@ -47,23 +41,19 @@ const configurationSetSnsDestinationHandler = async (event) => {
47
41
  const previousConfigurationSetName = event.OldResourceProperties.ConfigurationSetName;
48
42
  if (configurationSetName !== previousConfigurationSetName ||
49
43
  eventDestinationName !== previousEventDestinationName) {
50
- const createResponse = await ses
51
- .createConfigurationSetEventDestination({
44
+ const createResponse = await sesv2Client.send(new client_sesv2_1.CreateConfigurationSetEventDestinationCommand({
52
45
  ConfigurationSetName: configurationSetName,
53
46
  EventDestinationName: eventDestinationName,
54
47
  EventDestination: eventDestination,
55
- })
56
- .promise();
48
+ }));
57
49
  console.log(`ses.createConfigurationSetEventDestination: ${JSON.stringify(createResponse)}`);
58
50
  }
59
51
  else {
60
- const updateResponse = await ses
61
- .updateConfigurationSetEventDestination({
52
+ const updateResponse = await sesv2Client.send(new client_sesv2_1.UpdateConfigurationSetEventDestinationCommand({
62
53
  ConfigurationSetName: configurationSetName,
63
54
  EventDestinationName: eventDestinationName,
64
55
  EventDestination: eventDestination,
65
- })
66
- .promise();
56
+ }));
67
57
  console.log(`ses.UpdateConfigurationSetEventDestination: ${JSON.stringify(updateResponse)}`);
68
58
  }
69
59
  return {
@@ -71,5 +61,5 @@ const configurationSetSnsDestinationHandler = async (event) => {
71
61
  };
72
62
  }
73
63
  };
74
- exports.configurationSetSnsDestinationHandler = configurationSetSnsDestinationHandler;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXMvY29uZmlndXJhdGlvbnNldHNuc2Rlc3RpbmF0aW9uL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0JBLG1EQUFtRDtBQUNuRCw2QkFBNkI7QUFDdEIsTUFBTSxxQ0FBcUMsR0FBbUIsS0FBSyxFQUN4RSxLQUFLLEVBQ0wsRUFBRTtJQUNGLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU5QixNQUFNLEdBQUcsR0FBYyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQWdCLENBQUE7SUFFcEQsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUE7SUFDMUUsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUE7SUFDMUUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtJQUN4RCxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQTtJQUV0RSxNQUFNLGdCQUFnQixHQUFnRDtRQUNwRSxrQkFBa0IsRUFBRSxrQkFBa0I7UUFDdEMsT0FBTyxFQUFFLElBQUk7UUFDYixjQUFjLEVBQUU7WUFDZCxRQUFRLEVBQUUsV0FBVztTQUN0QjtLQUNGLENBQUE7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRW5FLFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFCLEtBQUssUUFBUTtZQUNYLE1BQU0sY0FBYyxHQUFHLE1BQU0sR0FBRztpQkFDN0Isc0NBQXNDLENBQUM7Z0JBQ3RDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsb0JBQW9CLEVBQUUsb0JBQW9CO2FBQzNDLENBQUM7aUJBQ0QsT0FBTyxFQUFFLENBQUE7WUFDWixPQUFPLENBQUMsR0FBRyxDQUNULCtDQUErQyxJQUFJLENBQUMsU0FBUyxDQUMzRCxjQUFjLENBQ2YsRUFBRSxDQUNKLENBQUE7WUFFRCxPQUFPO2dCQUNMLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7YUFDN0MsQ0FBQTtRQUVILEtBQUssUUFBUTtZQUNYLE1BQU0sY0FBYyxHQUFHLE1BQU0sR0FBRztpQkFDN0Isc0NBQXNDLENBQUM7Z0JBQ3RDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsb0JBQW9CLEVBQUUsb0JBQW9CO2dCQUMxQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7YUFDbkMsQ0FBQztpQkFDRCxPQUFPLEVBQUUsQ0FBQTtZQUNaLE9BQU8sQ0FBQyxHQUFHLENBQ1QsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQzNELGNBQWMsQ0FDZixFQUFFLENBQ0osQ0FBQTtZQUNELE9BQU87Z0JBQ0wsa0JBQWtCLEVBQUUsa0NBQWtDLG9CQUFvQixJQUFJLG9CQUFvQixFQUFFO2FBQ3JHLENBQUE7UUFFSCxLQUFLLFFBQVE7WUFDWCxNQUFNLDRCQUE0QixHQUNoQyxLQUFLLENBQUMscUJBQXNCLENBQUMsb0JBQW9CLENBQUE7WUFDbkQsTUFBTSw0QkFBNEIsR0FDaEMsS0FBSyxDQUFDLHFCQUFzQixDQUFDLG9CQUFvQixDQUFBO1lBRW5ELElBQ0Usb0JBQW9CLEtBQUssNEJBQTRCO2dCQUNyRCxvQkFBb0IsS0FBSyw0QkFBNEIsRUFDckQsQ0FBQztnQkFDRCxNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUc7cUJBQzdCLHNDQUFzQyxDQUFDO29CQUN0QyxvQkFBb0IsRUFBRSxvQkFBb0I7b0JBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjtvQkFDMUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2lCQUNuQyxDQUFDO3FCQUNELE9BQU8sRUFBRSxDQUFBO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQ1QsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQzNELGNBQWMsQ0FDZixFQUFFLENBQ0osQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUc7cUJBQzdCLHNDQUFzQyxDQUFDO29CQUN0QyxvQkFBb0IsRUFBRSxvQkFBb0I7b0JBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjtvQkFDMUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2lCQUNuQyxDQUFDO3FCQUNELE9BQU8sRUFBRSxDQUFBO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQ1QsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQzNELGNBQWMsQ0FDZixFQUFFLENBQ0osQ0FBQTtZQUNILENBQUM7WUFFRCxPQUFPO2dCQUNMLGtCQUFrQixFQUFFLGtDQUFrQyxvQkFBb0IsSUFBSSxvQkFBb0IsRUFBRTthQUNyRyxDQUFBO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQTtBQWxHWSxRQUFBLHFDQUFxQyx5Q0FrR2pEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuaW1wb3J0IHR5cGUgKiBhcyBfQVdTIGZyb20gXCJhd3Mtc2RrXCJcblxuaW50ZXJmYWNlIFJlc291cmNlUHJvcHMge1xuICBDb25maWd1cmF0aW9uU2V0TmFtZTogc3RyaW5nXG4gIEV2ZW50RGVzdGluYXRpb25OYW1lOiBzdHJpbmdcbiAgU25zVG9waWNBcm46IHN0cmluZ1xuICBNYXRjaGluZ0V2ZW50VHlwZXM6IHN0cmluZ1tdXG59XG5cbnR5cGUgT25FdmVudEhhbmRsZXIgPSAoZXZlbnQ6IHtcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nXG4gIFJlcXVlc3RUeXBlOiBcIkNyZWF0ZVwiIHwgXCJVcGRhdGVcIiB8IFwiRGVsZXRlXCJcbiAgUmVzb3VyY2VQcm9wZXJ0aWVzOiBSZXNvdXJjZVByb3BzXG4gIE9sZFJlc291cmNlUHJvcGVydGllcz86IFJlc291cmNlUHJvcHNcbn0pID0+IFByb21pc2U8e1xuICBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmdcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT5cbn0+XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgaW5saW5lLWNvbXBpbGVkIGZvciB0aGUgbGFtYmRhLlxuLy8gSXQgbXVzdCBiZSBzZWxmLWNvbnRhaW5lZC5cbmV4cG9ydCBjb25zdCBjb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25IYW5kbGVyOiBPbkV2ZW50SGFuZGxlciA9IGFzeW5jIChcbiAgZXZlbnQsXG4pID0+IHtcbiAgY29uc3QgQVdTID0gcmVxdWlyZShcImF3cy1zZGtcIilcblxuICBjb25zdCBzZXM6IEFXUy5TRVNWMiA9IG5ldyBBV1MuU0VTVjIoKSBhcyBfQVdTLlNFU1YyXG5cbiAgY29uc3QgY29uZmlndXJhdGlvblNldE5hbWUgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuQ29uZmlndXJhdGlvblNldE5hbWVcbiAgY29uc3QgZXZlbnREZXN0aW5hdGlvbk5hbWUgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRXZlbnREZXN0aW5hdGlvbk5hbWVcbiAgY29uc3Qgc25zVG9waWNBcm4gPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuU25zVG9waWNBcm5cbiAgY29uc3QgbWF0Y2hpbmdFdmVudFR5cGVzID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLk1hdGNoaW5nRXZlbnRUeXBlc1xuXG4gIGNvbnN0IGV2ZW50RGVzdGluYXRpb246IF9BV1MuU0VTVjIuVHlwZXMuRXZlbnREZXN0aW5hdGlvbkRlZmluaXRpb24gPSB7XG4gICAgTWF0Y2hpbmdFdmVudFR5cGVzOiBtYXRjaGluZ0V2ZW50VHlwZXMsXG4gICAgRW5hYmxlZDogdHJ1ZSxcbiAgICBTbnNEZXN0aW5hdGlvbjoge1xuICAgICAgVG9waWNBcm46IHNuc1RvcGljQXJuLFxuICAgIH0sXG4gIH1cblxuICBjb25zb2xlLmxvZyhgRXZlbnREZXN0aW5hdGlvbiAke0pTT04uc3RyaW5naWZ5KGV2ZW50RGVzdGluYXRpb24pfWApXG5cbiAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgXCJEZWxldGVcIjpcbiAgICAgIGNvbnN0IGRlbGV0ZVJlc3BvbnNlID0gYXdhaXQgc2VzXG4gICAgICAgIC5kZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbih7XG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IGNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgfSlcbiAgICAgICAgLnByb21pc2UoKVxuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBzZXMuZGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZGVsZXRlUmVzcG9uc2UsXG4gICAgICAgICl9YCxcbiAgICAgIClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBldmVudC5QaHlzaWNhbFJlc291cmNlSWQsXG4gICAgICB9XG5cbiAgICBjYXNlIFwiQ3JlYXRlXCI6XG4gICAgICBjb25zdCBjcmVhdGVSZXNwb25zZSA9IGF3YWl0IHNlc1xuICAgICAgICAuY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24oe1xuICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBjb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICBFdmVudERlc3RpbmF0aW9uTmFtZTogZXZlbnREZXN0aW5hdGlvbk5hbWUsXG4gICAgICAgICAgRXZlbnREZXN0aW5hdGlvbjogZXZlbnREZXN0aW5hdGlvbixcbiAgICAgICAgfSlcbiAgICAgICAgLnByb21pc2UoKVxuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBzZXMuY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgY3JlYXRlUmVzcG9uc2UsXG4gICAgICAgICl9YCxcbiAgICAgIClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogYENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvbi0ke2NvbmZpZ3VyYXRpb25TZXROYW1lfS0ke2V2ZW50RGVzdGluYXRpb25OYW1lfWAsXG4gICAgICB9XG5cbiAgICBjYXNlIFwiVXBkYXRlXCI6XG4gICAgICBjb25zdCBwcmV2aW91c0V2ZW50RGVzdGluYXRpb25OYW1lID1cbiAgICAgICAgZXZlbnQuT2xkUmVzb3VyY2VQcm9wZXJ0aWVzIS5FdmVudERlc3RpbmF0aW9uTmFtZVxuICAgICAgY29uc3QgcHJldmlvdXNDb25maWd1cmF0aW9uU2V0TmFtZSA9XG4gICAgICAgIGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcyEuQ29uZmlndXJhdGlvblNldE5hbWVcblxuICAgICAgaWYgKFxuICAgICAgICBjb25maWd1cmF0aW9uU2V0TmFtZSAhPT0gcHJldmlvdXNDb25maWd1cmF0aW9uU2V0TmFtZSB8fFxuICAgICAgICBldmVudERlc3RpbmF0aW9uTmFtZSAhPT0gcHJldmlvdXNFdmVudERlc3RpbmF0aW9uTmFtZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZVJlc3BvbnNlID0gYXdhaXQgc2VzXG4gICAgICAgICAgLmNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uKHtcbiAgICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBjb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb246IGV2ZW50RGVzdGluYXRpb24sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucHJvbWlzZSgpXG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBzZXMuY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBjcmVhdGVSZXNwb25zZSxcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVJlc3BvbnNlID0gYXdhaXQgc2VzXG4gICAgICAgICAgLnVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uKHtcbiAgICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBjb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb246IGV2ZW50RGVzdGluYXRpb24sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucHJvbWlzZSgpXG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBzZXMuVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICB1cGRhdGVSZXNwb25zZSxcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uLSR7Y29uZmlndXJhdGlvblNldE5hbWV9LSR7ZXZlbnREZXN0aW5hdGlvbk5hbWV9YCxcbiAgICAgIH1cbiAgfVxufVxuIl19
64
+ exports.handler = handler;
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXMvY29uZmlndXJhdGlvbnNldHNuc2Rlc3RpbmF0aW9uL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBTzhCO0FBb0J2QixNQUFNLE9BQU8sR0FBbUIsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3JELE1BQU0sV0FBVyxHQUFHLElBQUksMEJBQVcsRUFBRSxDQUFBO0lBQ3JDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFBO0lBQzFFLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFBO0lBQzFFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUE7SUFDeEQsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUN4RSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBc0IsQ0FDdEMsQ0FBQTtJQUVELE1BQU0sZ0JBQWdCLEdBQStCO1FBQ25ELGtCQUFrQixFQUFFLGtCQUFrQjtRQUN0QyxPQUFPLEVBQUUsSUFBSTtRQUNiLGNBQWMsRUFBRTtZQUNkLFFBQVEsRUFBRSxXQUFXO1NBQ3RCO0tBQ0YsQ0FBQTtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFbkUsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUIsS0FBSyxRQUFRO1lBQ1gsTUFBTSxjQUFjLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUMzQyxJQUFJLDREQUE2QyxDQUFDO2dCQUNoRCxvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjthQUMzQyxDQUFDLENBQ0gsQ0FBQTtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQ1QsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQzNELGNBQWMsQ0FDZixFQUFFLENBQ0osQ0FBQTtZQUVELE9BQU87Z0JBQ0wsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjthQUM3QyxDQUFBO1FBRUgsS0FBSyxRQUFRO1lBQ1gsTUFBTSxjQUFjLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUMzQyxJQUFJLDREQUE2QyxDQUFDO2dCQUNoRCxvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2FBQ25DLENBQUMsQ0FDSCxDQUFBO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCwrQ0FBK0MsSUFBSSxDQUFDLFNBQVMsQ0FDM0QsY0FBYyxDQUNmLEVBQUUsQ0FDSixDQUFBO1lBQ0QsT0FBTztnQkFDTCxrQkFBa0IsRUFBRSxrQ0FBa0Msb0JBQW9CLElBQUksb0JBQW9CLEVBQUU7YUFDckcsQ0FBQTtRQUVILEtBQUssUUFBUTtZQUNYLE1BQU0sNEJBQTRCLEdBQ2hDLEtBQUssQ0FBQyxxQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQTtZQUNuRCxNQUFNLDRCQUE0QixHQUNoQyxLQUFLLENBQUMscUJBQXNCLENBQUMsb0JBQW9CLENBQUE7WUFFbkQsSUFDRSxvQkFBb0IsS0FBSyw0QkFBNEI7Z0JBQ3JELG9CQUFvQixLQUFLLDRCQUE0QixFQUNyRCxDQUFDO2dCQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FDM0MsSUFBSSw0REFBNkMsQ0FBQztvQkFDaEQsb0JBQW9CLEVBQUUsb0JBQW9CO29CQUMxQyxvQkFBb0IsRUFBRSxvQkFBb0I7b0JBQzFDLGdCQUFnQixFQUFFLGdCQUFnQjtpQkFDbkMsQ0FBQyxDQUNILENBQUE7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCwrQ0FBK0MsSUFBSSxDQUFDLFNBQVMsQ0FDM0QsY0FBYyxDQUNmLEVBQUUsQ0FDSixDQUFBO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FDM0MsSUFBSSw0REFBNkMsQ0FBQztvQkFDaEQsb0JBQW9CLEVBQUUsb0JBQW9CO29CQUMxQyxvQkFBb0IsRUFBRSxvQkFBb0I7b0JBQzFDLGdCQUFnQixFQUFFLGdCQUFnQjtpQkFDbkMsQ0FBQyxDQUNILENBQUE7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCwrQ0FBK0MsSUFBSSxDQUFDLFNBQVMsQ0FDM0QsY0FBYyxDQUNmLEVBQUUsQ0FDSixDQUFBO1lBQ0gsQ0FBQztZQUVELE9BQU87Z0JBQ0wsa0JBQWtCLEVBQUUsa0NBQWtDLG9CQUFvQixJQUFJLG9CQUFvQixFQUFFO2FBQ3JHLENBQUE7SUFDTCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBL0ZZLFFBQUEsT0FBTyxXQStGbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTRVN2MkNsaWVudCxcbiAgQ3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kLFxuICBVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbkNvbW1hbmQsXG4gIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCxcbiAgRXZlbnRUeXBlLFxuICBFdmVudERlc3RpbmF0aW9uRGVmaW5pdGlvbixcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZXN2MlwiXG5cbmludGVyZmFjZSBSZXNvdXJjZVByb3BzIHtcbiAgQ29uZmlndXJhdGlvblNldE5hbWU6IHN0cmluZ1xuICBFdmVudERlc3RpbmF0aW9uTmFtZTogc3RyaW5nXG4gIFNuc1RvcGljQXJuOiBzdHJpbmdcbiAgTWF0Y2hpbmdFdmVudFR5cGVzOiBzdHJpbmdbXVxufVxuXG50eXBlIE9uRXZlbnRIYW5kbGVyID0gKGV2ZW50OiB7XG4gIFBoeXNpY2FsUmVzb3VyY2VJZD86IHN0cmluZ1xuICBSZXF1ZXN0VHlwZTogXCJDcmVhdGVcIiB8IFwiVXBkYXRlXCIgfCBcIkRlbGV0ZVwiXG4gIFJlc291cmNlUHJvcGVydGllczogUmVzb3VyY2VQcm9wc1xuICBPbGRSZXNvdXJjZVByb3BlcnRpZXM/OiBSZXNvdXJjZVByb3BzXG59KSA9PiBQcm9taXNlPHtcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIERhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG59PlxuXG5leHBvcnQgY29uc3QgaGFuZGxlcjogT25FdmVudEhhbmRsZXIgPSBhc3luYyAoZXZlbnQpID0+IHtcbiAgY29uc3Qgc2VzdjJDbGllbnQgPSBuZXcgU0VTdjJDbGllbnQoKVxuICBjb25zdCBjb25maWd1cmF0aW9uU2V0TmFtZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5Db25maWd1cmF0aW9uU2V0TmFtZVxuICBjb25zdCBldmVudERlc3RpbmF0aW9uTmFtZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5FdmVudERlc3RpbmF0aW9uTmFtZVxuICBjb25zdCBzbnNUb3BpY0FybiA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5TbnNUb3BpY0FyblxuICBjb25zdCBtYXRjaGluZ0V2ZW50VHlwZXMgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuTWF0Y2hpbmdFdmVudFR5cGVzLm1hcChcbiAgICAoZXZlbnRUeXBlKSA9PiBldmVudFR5cGUgYXMgRXZlbnRUeXBlLFxuICApXG5cbiAgY29uc3QgZXZlbnREZXN0aW5hdGlvbjogRXZlbnREZXN0aW5hdGlvbkRlZmluaXRpb24gPSB7XG4gICAgTWF0Y2hpbmdFdmVudFR5cGVzOiBtYXRjaGluZ0V2ZW50VHlwZXMsXG4gICAgRW5hYmxlZDogdHJ1ZSxcbiAgICBTbnNEZXN0aW5hdGlvbjoge1xuICAgICAgVG9waWNBcm46IHNuc1RvcGljQXJuLFxuICAgIH0sXG4gIH1cblxuICBjb25zb2xlLmxvZyhgRXZlbnREZXN0aW5hdGlvbiAke0pTT04uc3RyaW5naWZ5KGV2ZW50RGVzdGluYXRpb24pfWApXG5cbiAgc3dpdGNoIChldmVudC5SZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgXCJEZWxldGVcIjpcbiAgICAgIGNvbnN0IGRlbGV0ZVJlc3BvbnNlID0gYXdhaXQgc2VzdjJDbGllbnQuc2VuZChcbiAgICAgICAgbmV3IERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCh7XG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IGNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYHNlcy5kZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbjogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBkZWxldGVSZXNwb25zZSxcbiAgICAgICAgKX1gLFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgICAgIH1cblxuICAgIGNhc2UgXCJDcmVhdGVcIjpcbiAgICAgIGNvbnN0IGNyZWF0ZVJlc3BvbnNlID0gYXdhaXQgc2VzdjJDbGllbnQuc2VuZChcbiAgICAgICAgbmV3IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCh7XG4gICAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IGNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgICBFdmVudERlc3RpbmF0aW9uOiBldmVudERlc3RpbmF0aW9uLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgc2VzLmNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGNyZWF0ZVJlc3BvbnNlLFxuICAgICAgICApfWAsXG4gICAgICApXG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb24tJHtjb25maWd1cmF0aW9uU2V0TmFtZX0tJHtldmVudERlc3RpbmF0aW9uTmFtZX1gLFxuICAgICAgfVxuXG4gICAgY2FzZSBcIlVwZGF0ZVwiOlxuICAgICAgY29uc3QgcHJldmlvdXNFdmVudERlc3RpbmF0aW9uTmFtZSA9XG4gICAgICAgIGV2ZW50Lk9sZFJlc291cmNlUHJvcGVydGllcyEuRXZlbnREZXN0aW5hdGlvbk5hbWVcbiAgICAgIGNvbnN0IHByZXZpb3VzQ29uZmlndXJhdGlvblNldE5hbWUgPVxuICAgICAgICBldmVudC5PbGRSZXNvdXJjZVByb3BlcnRpZXMhLkNvbmZpZ3VyYXRpb25TZXROYW1lXG5cbiAgICAgIGlmIChcbiAgICAgICAgY29uZmlndXJhdGlvblNldE5hbWUgIT09IHByZXZpb3VzQ29uZmlndXJhdGlvblNldE5hbWUgfHxcbiAgICAgICAgZXZlbnREZXN0aW5hdGlvbk5hbWUgIT09IHByZXZpb3VzRXZlbnREZXN0aW5hdGlvbk5hbWVcbiAgICAgICkge1xuICAgICAgICBjb25zdCBjcmVhdGVSZXNwb25zZSA9IGF3YWl0IHNlc3YyQ2xpZW50LnNlbmQoXG4gICAgICAgICAgbmV3IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uQ29tbWFuZCh7XG4gICAgICAgICAgICBDb25maWd1cmF0aW9uU2V0TmFtZTogY29uZmlndXJhdGlvblNldE5hbWUsXG4gICAgICAgICAgICBFdmVudERlc3RpbmF0aW9uTmFtZTogZXZlbnREZXN0aW5hdGlvbk5hbWUsXG4gICAgICAgICAgICBFdmVudERlc3RpbmF0aW9uOiBldmVudERlc3RpbmF0aW9uLFxuICAgICAgICAgIH0pLFxuICAgICAgICApXG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBzZXMuY3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBjcmVhdGVSZXNwb25zZSxcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVJlc3BvbnNlID0gYXdhaXQgc2VzdjJDbGllbnQuc2VuZChcbiAgICAgICAgICBuZXcgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25Db21tYW5kKHtcbiAgICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBjb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgICAgIEV2ZW50RGVzdGluYXRpb246IGV2ZW50RGVzdGluYXRpb24sXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYHNlcy5VcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbjogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIHVwZGF0ZVJlc3BvbnNlLFxuICAgICAgICAgICl9YCxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb24tJHtjb25maWd1cmF0aW9uU2V0TmFtZX0tJHtldmVudERlc3RpbmF0aW9uTmFtZX1gLFxuICAgICAgfVxuICB9XG59XG4iXX0=
@@ -6,9 +6,9 @@ const iam = require("aws-cdk-lib/aws-iam");
6
6
  const lambda = require("aws-cdk-lib/aws-lambda");
7
7
  const cdk = require("aws-cdk-lib");
8
8
  const cr = require("aws-cdk-lib/custom-resources");
9
- const handler_1 = require("./handler");
10
9
  const aws_logs_1 = require("aws-cdk-lib/aws-logs");
11
10
  const snsSubscriptions = require("aws-cdk-lib/aws-sns-subscriptions");
11
+ const aws_lambda_nodejs_1 = require("aws-cdk-lib/aws-lambda-nodejs");
12
12
  class ConfigurationSetSnsDestination extends constructs.Construct {
13
13
  constructor(scope, id, props) {
14
14
  var _a;
@@ -26,7 +26,7 @@ class ConfigurationSetSnsDestination extends constructs.Construct {
26
26
  const sesEventLoggerFunction = new lambda.Function(this, "EventsHandler", {
27
27
  code: new lambda.InlineCode(`exports.handler = ${sesEventLoggerHandler.toString()};`),
28
28
  handler: "index.handler",
29
- runtime: lambda.Runtime.NODEJS_16_X,
29
+ runtime: lambda.Runtime.NODEJS_18_X,
30
30
  logRetention: aws_logs_1.RetentionDays.THREE_MONTHS,
31
31
  });
32
32
  if ((_a = props.logEvents) !== null && _a !== void 0 ? _a : true) {
@@ -51,11 +51,11 @@ class ConfigurationSetSnsDestinationProvider extends constructs.Construct {
51
51
  constructor(scope, id) {
52
52
  super(scope, id);
53
53
  this.provider = new cr.Provider(this, "Provider", {
54
- onEventHandler: new lambda.Function(this, "Function", {
55
- code: new lambda.InlineCode(`exports.handler = ${handler_1.configurationSetSnsDestinationHandler.toString()};`),
56
- handler: "index.handler",
57
- runtime: lambda.Runtime.NODEJS_16_X,
54
+ onEventHandler: new aws_lambda_nodejs_1.NodejsFunction(this, "Function", {
55
+ entry: require.resolve("./handler"),
56
+ runtime: lambda.Runtime.NODEJS_18_X,
58
57
  timeout: cdk.Duration.minutes(5),
58
+ awsSdkConnectionReuse: false,
59
59
  initialPolicy: [
60
60
  new iam.PolicyStatement({
61
61
  actions: [
@@ -72,4 +72,4 @@ class ConfigurationSetSnsDestinationProvider extends constructs.Construct {
72
72
  this.serviceToken = this.provider.serviceToken;
73
73
  }
74
74
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL2NvbmZpZ3VyYXRpb25zZXRzbnNkZXN0aW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUVoRCxtQ0FBa0M7QUFDbEMsbURBQWtEO0FBQ2xELHVDQUFpRTtBQUNqRSxtREFBb0Q7QUFDcEQsc0VBQXFFO0FBdUNyRSxNQUFhLDhCQUErQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3RFLFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTBDOztRQUUxQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLFlBQVksRUFDVixzQ0FBc0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWTtZQUN2RSxVQUFVLEVBQUU7Z0JBQ1Ysb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFDcEMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtnQkFDNUMsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDeEUsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ3pEO1lBQ0QsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxZQUFZLEVBQUUsd0JBQWEsQ0FBQyxZQUFZO1NBQ3pDLENBQUMsQ0FBQTtRQUVGLElBQUksTUFBQSxLQUFLLENBQUMsU0FBUyxtQ0FBSSxJQUFJLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDNUIsSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUNoRSxDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5DRCx3RUFtQ0M7QUFFRCxNQUFNLHFCQUFxQixHQUFlLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2pFLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLHNDQUF1QyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3ZFOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUEyQjtRQUNuRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxNQUFNLEVBQUUsR0FBRyw4Q0FBOEMsQ0FBQTtRQUN6RCxPQUFPLENBQ0osS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUE0QztZQUN2RSxJQUFJLHNDQUFzQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDdEQsQ0FBQTtJQUNILENBQUM7SUFLRCxZQUFZLEtBQTJCLEVBQUUsRUFBVTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEQsY0FBYyxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNwRCxJQUFJLEVBQUUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUN6QixxQkFBcUIsK0NBQXFDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FDekU7Z0JBQ0QsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ25DLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLGFBQWEsRUFBRTtvQkFDYixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLE9BQU8sRUFBRTs0QkFDUCw0Q0FBNEM7NEJBQzVDLDRDQUE0Qzs0QkFDNUMsNENBQTRDOzRCQUM1QywwQ0FBMEM7eUJBQzNDO3dCQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztxQkFDakIsQ0FBQztpQkFDSDthQUNGLENBQUM7U0FDSCxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFBO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgeyBjb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25IYW5kbGVyIH0gZnJvbSBcIi4vaGFuZGxlclwiXG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCJcbmltcG9ydCAqIGFzIHNuc1N1YnNjcmlwdGlvbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnMtc3Vic2NyaXB0aW9uc1wiXG5pbXBvcnQgeyBTTlNIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG5leHBvcnQgdHlwZSBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25FdmVudFR5cGUgPVxuICB8IFwiU0VORFwiXG4gIHwgXCJSRUpFQ1RcIlxuICB8IFwiQk9VTkNFXCJcbiAgfCBcIkNPTVBMQUlOVFwiXG4gIHwgXCJERUxJVkVSWVwiXG4gIHwgXCJPUEVOXCJcbiAgfCBcIkNMSUNLXCJcbiAgfCBcIlJFTkRFUklOR19GQUlMVVJFXCJcbiAgfCBcIkRFTElWRVJZX0RFTEFZXCJcbiAgfCBcIlNVQlNDUklQVElPTlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBTRVMgZXZlbnRzIHdpbGwgYmUgbG9nZ2VkIHRvIENsb3VkV2F0Y2hcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgbG9nRXZlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogVGhlIFNFUyBjb25maWd1cmF0aW9uIHNldCBuYW1lXG4gICAqL1xuICBjb25maWd1cmF0aW9uU2V0TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgU0VTIGNvbmZpZ3VyYXRpb24gc2V0IGV2ZW50IGRlc3RpbmF0aW9uIG5hbWVcbiAgICovXG4gIGV2ZW50RGVzdGluYXRpb25OYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFNOUyB0b3BpYyB0byBzZW5kIGJvdW5jZXMgdG9cbiAgICovXG4gIHNuc1RvcGljOiBzbnMuSVRvcGljXG4gIC8qKlxuICAgKiBFdmVudCB0eXBlcyB0byBtYXRjaFxuICAgKi9cbiAgbWF0Y2hpbmdFdmVudFR5cGVzOiBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25FdmVudFR5cGVbXVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46XG4gICAgICAgIENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvblByb3ZpZGVyLmdldE9yQ3JlYXRlKHRoaXMpLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IHByb3BzLmNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICBFdmVudERlc3RpbmF0aW9uTmFtZTogcHJvcHMuZXZlbnREZXN0aW5hdGlvbk5hbWUsXG4gICAgICAgIFNuc1RvcGljQXJuOiBwcm9wcy5zbnNUb3BpYy50b3BpY0FybixcbiAgICAgICAgTWF0Y2hpbmdFdmVudFR5cGVzOiBwcm9wcy5tYXRjaGluZ0V2ZW50VHlwZXMsXG4gICAgICAgIFNlcmlhbDogMSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGNvbnN0IHNlc0V2ZW50TG9nZ2VyRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRXZlbnRzSGFuZGxlclwiLCB7XG4gICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke3Nlc0V2ZW50TG9nZ2VySGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgKSxcbiAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVEhSRUVfTU9OVEhTLFxuICAgIH0pXG5cbiAgICBpZiAocHJvcHMubG9nRXZlbnRzID8/IHRydWUpIHtcbiAgICAgIHByb3BzLnNuc1RvcGljLmFkZFN1YnNjcmlwdGlvbihcbiAgICAgICAgbmV3IHNuc1N1YnNjcmlwdGlvbnMuTGFtYmRhU3Vic2NyaXB0aW9uKHNlc0V2ZW50TG9nZ2VyRnVuY3Rpb24pLFxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBzZXNFdmVudExvZ2dlckhhbmRsZXI6IFNOU0hhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgZXZlbnQuUmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+XG4gICAgY29uc29sZS5sb2coYFNFUyBldmVudCBtZXNzYWdlIGZyb20gU05TOiAke3JlY29yZC5TbnMuTWVzc2FnZX1gKSxcbiAgKVxufVxuXG5jbGFzcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlciBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpbmdsZXRvbiBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0T3JDcmVhdGUoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBjZGsuU3RhY2sub2Yoc2NvcGUpXG4gICAgY29uc3QgaWQgPSBcImxpZmxpZy1jZGsuY29uZmlndXJhdGlvbi1zZXQtc25zLWRlc3RpbmF0aW9uXCJcbiAgICByZXR1cm4gKFxuICAgICAgKHN0YWNrLm5vZGUudHJ5RmluZENoaWxkKGlkKSBhcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlcikgfHxcbiAgICAgIG5ldyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlcihzdGFjaywgaWQpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlcjogY3IuUHJvdmlkZXJcbiAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2VUb2tlbjogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCBcIlByb3ZpZGVyXCIsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgICAgYGV4cG9ydHMuaGFuZGxlciA9ICR7Y29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uSGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgICApLFxuICAgICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gICAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICBpbml0aWFsUG9saWN5OiBbXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICBcInNlczpDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiLFxuICAgICAgICAgICAgICBcInNlczpVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiLFxuICAgICAgICAgICAgICBcInNlczpEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiLFxuICAgICAgICAgICAgICBcInNlczpHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnNcIixcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9KVxuXG4gICAgdGhpcy5zZXJ2aWNlVG9rZW4gPSB0aGlzLnByb3ZpZGVyLnNlcnZpY2VUb2tlblxuICB9XG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL2NvbmZpZ3VyYXRpb25zZXRzbnNkZXN0aW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUVoRCxtQ0FBa0M7QUFDbEMsbURBQWtEO0FBQ2xELG1EQUFvRDtBQUNwRCxzRUFBcUU7QUFFckUscUVBQThEO0FBc0M5RCxNQUFhLDhCQUErQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3RFLFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTBDOztRQUUxQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLFlBQVksRUFDVixzQ0FBc0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWTtZQUN2RSxVQUFVLEVBQUU7Z0JBQ1Ysb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFDcEMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtnQkFDNUMsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDeEUsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ3pEO1lBQ0QsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxZQUFZLEVBQUUsd0JBQWEsQ0FBQyxZQUFZO1NBQ3pDLENBQUMsQ0FBQTtRQUVGLElBQUksTUFBQSxLQUFLLENBQUMsU0FBUyxtQ0FBSSxJQUFJLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDNUIsSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUNoRSxDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5DRCx3RUFtQ0M7QUFFRCxNQUFNLHFCQUFxQixHQUFlLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2pFLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLHNDQUF1QyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3ZFOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUEyQjtRQUNuRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxNQUFNLEVBQUUsR0FBRyw4Q0FBOEMsQ0FBQTtRQUN6RCxPQUFPLENBQ0osS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUE0QztZQUN2RSxJQUFJLHNDQUFzQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDdEQsQ0FBQTtJQUNILENBQUM7SUFLRCxZQUFZLEtBQTJCLEVBQUUsRUFBVTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEQsY0FBYyxFQUFFLElBQUksa0NBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNuRCxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ25DLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLHFCQUFxQixFQUFFLEtBQUs7Z0JBQzVCLGFBQWEsRUFBRTtvQkFDYixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLE9BQU8sRUFBRTs0QkFDUCw0Q0FBNEM7NEJBQzVDLDRDQUE0Qzs0QkFDNUMsNENBQTRDOzRCQUM1QywwQ0FBMEM7eUJBQzNDO3dCQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztxQkFDakIsQ0FBQztpQkFDSDthQUNGLENBQUM7U0FDSCxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFBO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCJcbmltcG9ydCAqIGFzIHNuc1N1YnNjcmlwdGlvbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnMtc3Vic2NyaXB0aW9uc1wiXG5pbXBvcnQgeyBTTlNIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIlxuXG5leHBvcnQgdHlwZSBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25FdmVudFR5cGUgPVxuICB8IFwiU0VORFwiXG4gIHwgXCJSRUpFQ1RcIlxuICB8IFwiQk9VTkNFXCJcbiAgfCBcIkNPTVBMQUlOVFwiXG4gIHwgXCJERUxJVkVSWVwiXG4gIHwgXCJPUEVOXCJcbiAgfCBcIkNMSUNLXCJcbiAgfCBcIlJFTkRFUklOR19GQUlMVVJFXCJcbiAgfCBcIkRFTElWRVJZX0RFTEFZXCJcbiAgfCBcIlNVQlNDUklQVElPTlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBTRVMgZXZlbnRzIHdpbGwgYmUgbG9nZ2VkIHRvIENsb3VkV2F0Y2hcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgbG9nRXZlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogVGhlIFNFUyBjb25maWd1cmF0aW9uIHNldCBuYW1lXG4gICAqL1xuICBjb25maWd1cmF0aW9uU2V0TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgU0VTIGNvbmZpZ3VyYXRpb24gc2V0IGV2ZW50IGRlc3RpbmF0aW9uIG5hbWVcbiAgICovXG4gIGV2ZW50RGVzdGluYXRpb25OYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFNOUyB0b3BpYyB0byBzZW5kIGJvdW5jZXMgdG9cbiAgICovXG4gIHNuc1RvcGljOiBzbnMuSVRvcGljXG4gIC8qKlxuICAgKiBFdmVudCB0eXBlcyB0byBtYXRjaFxuICAgKi9cbiAgbWF0Y2hpbmdFdmVudFR5cGVzOiBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25FdmVudFR5cGVbXVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46XG4gICAgICAgIENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvblByb3ZpZGVyLmdldE9yQ3JlYXRlKHRoaXMpLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgQ29uZmlndXJhdGlvblNldE5hbWU6IHByb3BzLmNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICBFdmVudERlc3RpbmF0aW9uTmFtZTogcHJvcHMuZXZlbnREZXN0aW5hdGlvbk5hbWUsXG4gICAgICAgIFNuc1RvcGljQXJuOiBwcm9wcy5zbnNUb3BpYy50b3BpY0FybixcbiAgICAgICAgTWF0Y2hpbmdFdmVudFR5cGVzOiBwcm9wcy5tYXRjaGluZ0V2ZW50VHlwZXMsXG4gICAgICAgIFNlcmlhbDogMSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGNvbnN0IHNlc0V2ZW50TG9nZ2VyRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRXZlbnRzSGFuZGxlclwiLCB7XG4gICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke3Nlc0V2ZW50TG9nZ2VySGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgKSxcbiAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVEhSRUVfTU9OVEhTLFxuICAgIH0pXG5cbiAgICBpZiAocHJvcHMubG9nRXZlbnRzID8/IHRydWUpIHtcbiAgICAgIHByb3BzLnNuc1RvcGljLmFkZFN1YnNjcmlwdGlvbihcbiAgICAgICAgbmV3IHNuc1N1YnNjcmlwdGlvbnMuTGFtYmRhU3Vic2NyaXB0aW9uKHNlc0V2ZW50TG9nZ2VyRnVuY3Rpb24pLFxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBzZXNFdmVudExvZ2dlckhhbmRsZXI6IFNOU0hhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgZXZlbnQuUmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+XG4gICAgY29uc29sZS5sb2coYFNFUyBldmVudCBtZXNzYWdlIGZyb20gU05TOiAke3JlY29yZC5TbnMuTWVzc2FnZX1gKSxcbiAgKVxufVxuXG5jbGFzcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlciBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNpbmdsZXRvbiBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0T3JDcmVhdGUoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBjZGsuU3RhY2sub2Yoc2NvcGUpXG4gICAgY29uc3QgaWQgPSBcImxpZmxpZy1jZGsuY29uZmlndXJhdGlvbi1zZXQtc25zLWRlc3RpbmF0aW9uXCJcbiAgICByZXR1cm4gKFxuICAgICAgKHN0YWNrLm5vZGUudHJ5RmluZENoaWxkKGlkKSBhcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlcikgfHxcbiAgICAgIG5ldyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm92aWRlcihzdGFjaywgaWQpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm92aWRlcjogY3IuUHJvdmlkZXJcbiAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2VUb2tlbjogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCBcIlByb3ZpZGVyXCIsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgXCJGdW5jdGlvblwiLCB7XG4gICAgICAgIGVudHJ5OiByZXF1aXJlLnJlc29sdmUoXCIuL2hhbmRsZXJcIiksXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xOF9YLFxuICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgICAgYXdzU2RrQ29ubmVjdGlvblJldXNlOiBmYWxzZSxcbiAgICAgICAgaW5pdGlhbFBvbGljeTogW1xuICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgXCJzZXM6Q3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIixcbiAgICAgICAgICAgICAgXCJzZXM6VXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIixcbiAgICAgICAgICAgICAgXCJzZXM6RGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIixcbiAgICAgICAgICAgICAgXCJzZXM6R2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zXCIsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfSlcblxuICAgIHRoaXMuc2VydmljZVRva2VuID0gdGhpcy5wcm92aWRlci5zZXJ2aWNlVG9rZW5cbiAgfVxufVxuIl19
@@ -6,5 +6,5 @@ type OnEventHandler = (event: {
6
6
  PhysicalResourceId?: string;
7
7
  Data?: Record<string, any>;
8
8
  }>;
9
- export declare const sesDomainHandler: OnEventHandler;
9
+ export declare const handler: OnEventHandler;
10
10
  export {};