@liflig/cdk 3.13.6 → 3.14.0

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 (106) hide show
  1. package/lib/alarms/database-alarms.d.ts +2 -2
  2. package/lib/alarms/database-alarms.js +2 -2
  3. package/lib/alarms/index.d.ts +4 -4
  4. package/lib/alarms/index.js +1 -1
  5. package/lib/alarms/lambda-alarms.d.ts +2 -2
  6. package/lib/alarms/lambda-alarms.js +2 -2
  7. package/lib/alarms/slack-alarm.d.ts +2 -2
  8. package/lib/alarms/slack-alarm.js +5 -5
  9. package/lib/api-gateway/access-logs.d.ts +2 -2
  10. package/lib/api-gateway/access-logs.js +3 -3
  11. package/lib/api-gateway/authorizers/basic-auth-authorizer.d.ts +1 -1
  12. package/lib/api-gateway/authorizers/basic-auth-authorizer.js +3 -3
  13. package/lib/api-gateway/authorizers/cognito-user-pool-authorizer.d.ts +1 -1
  14. package/lib/api-gateway/authorizers/cognito-user-pool-authorizer.js +6 -8
  15. package/lib/api-gateway/authorizers/cognito-user-pool-or-basic-auth-authorizer.d.ts +1 -1
  16. package/lib/api-gateway/authorizers/cognito-user-pool-or-basic-auth-authorizer.js +8 -12
  17. package/lib/api-gateway/domain.d.ts +1 -1
  18. package/lib/api-gateway/domain.js +4 -4
  19. package/lib/api-gateway/http-api-gateway.d.ts +10 -10
  20. package/lib/api-gateway/http-api-gateway.js +27 -27
  21. package/lib/api-gateway/index.d.ts +2 -2
  22. package/lib/api-gateway/index.js +2 -2
  23. package/lib/bastion-host.d.ts +1 -1
  24. package/lib/bastion-host.js +3 -3
  25. package/lib/bin/cdk-create-snapshots.js +2 -2
  26. package/lib/bin/fetch-pipeline-variables.js +5 -5
  27. package/lib/build-artifacts/index.d.ts +2 -2
  28. package/lib/build-artifacts/index.js +3 -3
  29. package/lib/cdk-pipelines/cloud-assembly-lookup-handler.js +2 -2
  30. package/lib/cdk-pipelines/index.d.ts +2 -2
  31. package/lib/cdk-pipelines/index.js +1 -1
  32. package/lib/cdk-pipelines/liflig-cdk-pipeline.d.ts +3 -3
  33. package/lib/cdk-pipelines/liflig-cdk-pipeline.js +15 -13
  34. package/lib/cdk-pipelines/slack-notification.d.ts +3 -3
  35. package/lib/cdk-pipelines/slack-notification.js +5 -5
  36. package/lib/cdk-pipelines/variables.js +8 -8
  37. package/lib/cloudtrail-slack-integration/cloudtrail-slack-integration.d.ts +1 -1
  38. package/lib/cloudtrail-slack-integration/cloudtrail-slack-integration.js +8 -8
  39. package/lib/cloudtrail-slack-integration/index.d.ts +1 -1
  40. package/lib/cloudtrail-slack-integration/index.js +1 -1
  41. package/lib/configure-parameters/configure-parameters.d.ts +1 -1
  42. package/lib/configure-parameters/configure-parameters.js +3 -3
  43. package/lib/configure-parameters/index.d.ts +1 -1
  44. package/lib/configure-parameters/index.js +1 -1
  45. package/lib/cross-region-ssm-parameter.js +2 -2
  46. package/lib/ecs/cluster.d.ts +2 -2
  47. package/lib/ecs/cluster.js +3 -3
  48. package/lib/ecs/fargate-service.d.ts +1 -1
  49. package/lib/ecs/fargate-service.js +1 -1
  50. package/lib/ecs/index.d.ts +4 -4
  51. package/lib/ecs/index.js +1 -1
  52. package/lib/ecs/listener-rule.d.ts +1 -1
  53. package/lib/ecs/listener-rule.js +2 -2
  54. package/lib/ecs/open-telemetry.d.ts +3 -3
  55. package/lib/ecs/open-telemetry.js +8 -8
  56. package/lib/feature-flags.d.ts +1 -1
  57. package/lib/feature-flags.js +2 -2
  58. package/lib/hosted-zone-with-param.d.ts +1 -1
  59. package/lib/hosted-zone-with-param.js +3 -3
  60. package/lib/index.d.ts +5 -5
  61. package/lib/index.js +6 -6
  62. package/lib/kinesis/index.d.ts +1 -1
  63. package/lib/kinesis/index.js +1 -1
  64. package/lib/kinesis/kinesis-to-datadog-stream.d.ts +1 -1
  65. package/lib/kinesis/kinesis-to-datadog-stream.js +3 -3
  66. package/lib/load-balancer/index.d.ts +1 -1
  67. package/lib/load-balancer/index.js +1 -1
  68. package/lib/load-balancer/load-balancer.d.ts +2 -2
  69. package/lib/load-balancer/load-balancer.js +3 -3
  70. package/lib/platform/index.d.ts +2 -2
  71. package/lib/platform/index.js +2 -2
  72. package/lib/platform/platform.d.ts +1 -1
  73. package/lib/platform/platform.js +2 -2
  74. package/lib/rds/database.d.ts +3 -3
  75. package/lib/rds/database.js +3 -3
  76. package/lib/rds/index.d.ts +1 -1
  77. package/lib/rds/index.js +1 -1
  78. package/lib/ses/configurationsetdeliveryoptions/index.js +3 -3
  79. package/lib/ses/configurationsetsnsdestination/handler.js +8 -5
  80. package/lib/ses/configurationsetsnsdestination/index.d.ts +1 -1
  81. package/lib/ses/configurationsetsnsdestination/index.js +8 -8
  82. package/lib/ses/index.d.ts +3 -3
  83. package/lib/ses/index.js +3 -3
  84. package/lib/ses/sesdomain/handler.js +10 -8
  85. package/lib/ses/sesdomain/index.d.ts +2 -2
  86. package/lib/ses/sesdomain/index.js +7 -7
  87. package/lib/ses/sesverifyemail/handler.js +2 -2
  88. package/lib/ses/sesverifyemail/index.d.ts +1 -1
  89. package/lib/ses/sesverifyemail/index.js +7 -7
  90. package/lib/snapshots.js +12 -16
  91. package/lib/ssm-parameter-backed-resource.js +3 -3
  92. package/lib/ssm-parameter-reader.d.ts +1 -1
  93. package/lib/ssm-parameter-reader.js +2 -2
  94. package/lib/tags.d.ts +1 -1
  95. package/lib/tags.js +1 -1
  96. package/lib/utils.d.ts +1 -1
  97. package/lib/utils.js +1 -1
  98. package/lib/webapp/index.d.ts +2 -2
  99. package/lib/webapp/index.js +3 -3
  100. package/lib/webapp/security-headers.d.ts +1 -1
  101. package/lib/webapp/security-headers.js +2 -2
  102. package/lib/webapp/webapp.d.ts +4 -4
  103. package/lib/webapp/webapp.js +3 -3
  104. package/lib/webapp-deploy-via-role.d.ts +1 -1
  105. package/lib/webapp-deploy-via-role.js +4 -4
  106. package/package.json +19 -25
@@ -3,7 +3,7 @@ import { createCloudAssemblySnapshot } from "../snapshots.js";
3
3
  let src;
4
4
  let dst;
5
5
  // If no arguments are given, use some sensible defaults.
6
- if (process.argv.length == 2) {
6
+ if (process.argv.length === 2) {
7
7
  src = "cdk.out";
8
8
  dst = "__snapshots__";
9
9
  }
@@ -17,4 +17,4 @@ createCloudAssemblySnapshot(src, dst).catch((e) => {
17
17
  console.error(e.stack || e.message || e);
18
18
  process.exitCode = 1;
19
19
  });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNyZWF0ZS1zbmFwc2hvdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2Nkay1jcmVhdGUtc25hcHNob3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU3RCxJQUFJLEdBQVcsQ0FBQTtBQUNmLElBQUksR0FBVyxDQUFBO0FBRWYseURBQXlEO0FBQ3pELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDN0IsR0FBRyxHQUFHLFNBQVMsQ0FBQTtJQUNmLEdBQUcsR0FBRyxlQUFlLENBQUE7QUFDdkIsQ0FBQztLQUFNLENBQUM7SUFDTixpREFBaUQ7SUFDakQsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckIsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDdkIsQ0FBQztBQUVELDJCQUEyQixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNoRCxzRUFBc0U7SUFDdEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDeEMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUE7QUFDdEIsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgeyBjcmVhdGVDbG91ZEFzc2VtYmx5U25hcHNob3QgfSBmcm9tIFwiLi4vc25hcHNob3RzLmpzXCJcblxubGV0IHNyYzogc3RyaW5nXG5sZXQgZHN0OiBzdHJpbmdcblxuLy8gSWYgbm8gYXJndW1lbnRzIGFyZSBnaXZlbiwgdXNlIHNvbWUgc2Vuc2libGUgZGVmYXVsdHMuXG5pZiAocHJvY2Vzcy5hcmd2Lmxlbmd0aCA9PSAyKSB7XG4gIHNyYyA9IFwiY2RrLm91dFwiXG4gIGRzdCA9IFwiX19zbmFwc2hvdHNfX1wiXG59IGVsc2Uge1xuICAvLyBJbiBOb2RlLCBmaXJzdCBwYXJhbWV0ZXIgaXMgdGhlIHRoaXJkIGVsZW1lbnQuXG4gIHNyYyA9IHByb2Nlc3MuYXJndlsyXVxuICBkc3QgPSBwcm9jZXNzLmFyZ3ZbM11cbn1cblxuY3JlYXRlQ2xvdWRBc3NlbWJseVNuYXBzaG90KHNyYywgZHN0KS5jYXRjaCgoZSkgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gIGNvbnNvbGUuZXJyb3IoZS5zdGFjayB8fCBlLm1lc3NhZ2UgfHwgZSlcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDFcbn0pXG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNyZWF0ZS1zbmFwc2hvdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2Nkay1jcmVhdGUtc25hcHNob3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU3RCxJQUFJLEdBQVcsQ0FBQTtBQUNmLElBQUksR0FBVyxDQUFBO0FBRWYseURBQXlEO0FBQ3pELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDOUIsR0FBRyxHQUFHLFNBQVMsQ0FBQTtJQUNmLEdBQUcsR0FBRyxlQUFlLENBQUE7QUFDdkIsQ0FBQztLQUFNLENBQUM7SUFDTixpREFBaUQ7SUFDakQsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckIsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDdkIsQ0FBQztBQUVELDJCQUEyQixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNoRCxzRUFBc0U7SUFDdEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDeEMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUE7QUFDdEIsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgeyBjcmVhdGVDbG91ZEFzc2VtYmx5U25hcHNob3QgfSBmcm9tIFwiLi4vc25hcHNob3RzLmpzXCJcblxubGV0IHNyYzogc3RyaW5nXG5sZXQgZHN0OiBzdHJpbmdcblxuLy8gSWYgbm8gYXJndW1lbnRzIGFyZSBnaXZlbiwgdXNlIHNvbWUgc2Vuc2libGUgZGVmYXVsdHMuXG5pZiAocHJvY2Vzcy5hcmd2Lmxlbmd0aCA9PT0gMikge1xuICBzcmMgPSBcImNkay5vdXRcIlxuICBkc3QgPSBcIl9fc25hcHNob3RzX19cIlxufSBlbHNlIHtcbiAgLy8gSW4gTm9kZSwgZmlyc3QgcGFyYW1ldGVyIGlzIHRoZSB0aGlyZCBlbGVtZW50LlxuICBzcmMgPSBwcm9jZXNzLmFyZ3ZbMl1cbiAgZHN0ID0gcHJvY2Vzcy5hcmd2WzNdXG59XG5cbmNyZWF0ZUNsb3VkQXNzZW1ibHlTbmFwc2hvdChzcmMsIGRzdCkuY2F0Y2goKGUpID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICBjb25zb2xlLmVycm9yKGUuc3RhY2sgfHwgZS5tZXNzYWdlIHx8IGUpXG4gIHByb2Nlc3MuZXhpdENvZGUgPSAxXG59KVxuIl19
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import * as fs from "fs";
3
- import { SSMClient, GetParametersByPathCommand, } from "@aws-sdk/client-ssm";
2
+ import * as fs from "node:fs";
3
+ import { GetParametersByPathCommand, SSMClient, } from "@aws-sdk/client-ssm";
4
4
  /**
5
5
  * Read all variables from SSM Parameter Store under a given prefix.
6
6
  */
7
7
  export async function getVariablesFromParameterStore(prefix) {
8
8
  const ssm = new SSMClient({});
9
9
  const parameters = {};
10
- let nextToken = undefined;
10
+ let nextToken;
11
11
  do {
12
12
  const result = await ssm.send(new GetParametersByPathCommand({
13
13
  Path: prefix,
@@ -23,7 +23,7 @@ export async function getVariablesFromParameterStore(prefix) {
23
23
  }
24
24
  let namespace;
25
25
  // If no arguments are given, use some sensible defaults.
26
- if (process.argv.length == 2) {
26
+ if (process.argv.length === 2) {
27
27
  namespace = "default";
28
28
  }
29
29
  else {
@@ -48,4 +48,4 @@ main(namespace).catch((e) => {
48
48
  console.error(e.stack || e.message || e);
49
49
  process.exitCode = 1;
50
50
  });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcGlwZWxpbmUtdmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9mZXRjaC1waXBlbGluZS12YXJpYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ3hCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsMEJBQTBCLEdBRTNCLE1BQU0scUJBQXFCLENBQUE7QUFFNUI7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDhCQUE4QixDQUNsRCxNQUFjO0lBRWQsTUFBTSxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFN0IsTUFBTSxVQUFVLEdBQTJCLEVBQUUsQ0FBQTtJQUU3QyxJQUFJLFNBQVMsR0FBdUIsU0FBUyxDQUFBO0lBRTdDLEdBQUcsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUE4QixNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQ3RELElBQUksMEJBQTBCLENBQUM7WUFDN0IsSUFBSSxFQUFFLE1BQU07WUFDWixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDLENBQ0gsQ0FBQTtRQUVELEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxDQUFDLFVBQVcsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNqRCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQU0sQ0FBQTtRQUNyQyxDQUFDO1FBRUQsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUE7SUFDOUIsQ0FBQyxRQUFRLFNBQVMsSUFBSSxJQUFJLEVBQUM7SUFFM0IsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQztBQUNELElBQUksU0FBaUIsQ0FBQTtBQUVyQix5REFBeUQ7QUFDekQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUM3QixTQUFTLEdBQUcsU0FBUyxDQUFBO0FBQ3ZCLENBQUM7S0FBTSxDQUFDO0lBQ04saURBQWlEO0lBQ2pELFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzdCLENBQUM7QUFFRCxLQUFLLFVBQVUsSUFBSSxDQUFDLFNBQWlCO0lBQ25DLE1BQU0sU0FBUyxHQUFHO1FBQ2hCLDJEQUEyRDtRQUMzRCx3REFBd0Q7UUFDeEQsOENBQThDO1FBQzlDLGtCQUFrQixFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1FBQzVDLEdBQUcsQ0FBQyxNQUFNLDhCQUE4QixDQUN0QyxlQUFlLFNBQVMsc0JBQXNCLENBQy9DLENBQUM7S0FDSCxDQUFBO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBRXpELEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFBO0lBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUMxQyxDQUFDO0FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzFCLHNFQUFzRTtJQUN0RSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUN4QyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUN0QixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiXG5pbXBvcnQge1xuICBTU01DbGllbnQsXG4gIEdldFBhcmFtZXRlcnNCeVBhdGhDb21tYW5kLFxuICBHZXRQYXJhbWV0ZXJzQnlQYXRoUmVzdWx0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNzbVwiXG5cbi8qKlxuICogUmVhZCBhbGwgdmFyaWFibGVzIGZyb20gU1NNIFBhcmFtZXRlciBTdG9yZSB1bmRlciBhIGdpdmVuIHByZWZpeC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZhcmlhYmxlc0Zyb21QYXJhbWV0ZXJTdG9yZShcbiAgcHJlZml4OiBzdHJpbmcsXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgY29uc3Qgc3NtID0gbmV3IFNTTUNsaWVudCh7fSlcblxuICBjb25zdCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge31cblxuICBsZXQgbmV4dFRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICBkbyB7XG4gICAgY29uc3QgcmVzdWx0OiBHZXRQYXJhbWV0ZXJzQnlQYXRoUmVzdWx0ID0gYXdhaXQgc3NtLnNlbmQoXG4gICAgICBuZXcgR2V0UGFyYW1ldGVyc0J5UGF0aENvbW1hbmQoe1xuICAgICAgICBQYXRoOiBwcmVmaXgsXG4gICAgICAgIE5leHRUb2tlbjogbmV4dFRva2VuLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgZm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgcmVzdWx0LlBhcmFtZXRlcnMhKSB7XG4gICAgICBjb25zdCBuYW1lID0gcGFyYW1ldGVyLk5hbWUhLnNsaWNlKHByZWZpeC5sZW5ndGgpXG4gICAgICBwYXJhbWV0ZXJzW25hbWVdID0gcGFyYW1ldGVyLlZhbHVlIVxuICAgIH1cblxuICAgIG5leHRUb2tlbiA9IHJlc3VsdC5OZXh0VG9rZW5cbiAgfSB3aGlsZSAobmV4dFRva2VuICE9IG51bGwpXG5cbiAgcmV0dXJuIHBhcmFtZXRlcnNcbn1cbmxldCBuYW1lc3BhY2U6IHN0cmluZ1xuXG4vLyBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCB1c2Ugc29tZSBzZW5zaWJsZSBkZWZhdWx0cy5cbmlmIChwcm9jZXNzLmFyZ3YubGVuZ3RoID09IDIpIHtcbiAgbmFtZXNwYWNlID0gXCJkZWZhdWx0XCJcbn0gZWxzZSB7XG4gIC8vIEluIE5vZGUsIGZpcnN0IHBhcmFtZXRlciBpcyB0aGUgdGhpcmQgZWxlbWVudC5cbiAgbmFtZXNwYWNlID0gcHJvY2Vzcy5hcmd2WzJdXG59XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4obmFtZXNwYWNlOiBzdHJpbmcpIHtcbiAgY29uc3QgdmFyaWFibGVzID0ge1xuICAgIC8vIFNwZWNpYWwgdmFyaWFibGUgdGhhdCBjYW4gYmUgdXNlZCB3aGVuIHJlYWRpbmcgdmFyaWFibGVzXG4gICAgLy8gdG8gZW5zdXJlIGl0IGlzIG5vdCBzdGFsZS4gSW4gdGhlIHBpcGVsaW5lLCB2YXJpYWJsZXNcbiAgICAvLyB3aWxsIG5ldmVyIGJlIHN0YWxlLCBidXQgbG9jYWxseSBpdCBjYW4gYmUuXG4gICAgdmFyaWFibGVzVGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgLi4uKGF3YWl0IGdldFZhcmlhYmxlc0Zyb21QYXJhbWV0ZXJTdG9yZShcbiAgICAgIGAvbGlmbGlnLWNkay8ke25hbWVzcGFjZX0vcGlwZWxpbmUtdmFyaWFibGVzL2AsXG4gICAgKSksXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBKU09OLnN0cmluZ2lmeSh2YXJpYWJsZXMsIHVuZGVmaW5lZCwgXCIgIFwiKVxuXG4gIGZzLndyaXRlRmlsZVN5bmMoXCJ2YXJpYWJsZXMuanNvblwiLCByZXN1bHQpXG4gIGNvbnNvbGUubG9nKFwiUmV0cmlldmVkIGFuZCBzYXZlZCB0byB2YXJpYWJsZXMuanNvbjpcIilcbiAgY29uc29sZS5sb2cocmVzdWx0LnJlcGxhY2UoL14vZ20sIFwiICBcIikpXG59XG5cbm1haW4obmFtZXNwYWNlKS5jYXRjaCgoZSkgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzXG4gIGNvbnNvbGUuZXJyb3IoZS5zdGFjayB8fCBlLm1lc3NhZ2UgfHwgZSlcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDFcbn0pXG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcGlwZWxpbmUtdmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9mZXRjaC1waXBlbGluZS12YXJpYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzdCLE9BQU8sRUFDTCwwQkFBMEIsRUFFMUIsU0FBUyxHQUNWLE1BQU0scUJBQXFCLENBQUE7QUFFNUI7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDhCQUE4QixDQUNsRCxNQUFjO0lBRWQsTUFBTSxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFN0IsTUFBTSxVQUFVLEdBQTJCLEVBQUUsQ0FBQTtJQUU3QyxJQUFJLFNBQTZCLENBQUE7SUFFakMsR0FBRyxDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQThCLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FDdEQsSUFBSSwwQkFBMEIsQ0FBQztZQUM3QixJQUFJLEVBQUUsTUFBTTtZQUNaLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FDSCxDQUFBO1FBRUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsVUFBVyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBTSxDQUFBO1FBQ3JDLENBQUM7UUFFRCxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQTtJQUM5QixDQUFDLFFBQVEsU0FBUyxJQUFJLElBQUksRUFBQztJQUUzQixPQUFPLFVBQVUsQ0FBQTtBQUNuQixDQUFDO0FBQ0QsSUFBSSxTQUFpQixDQUFBO0FBRXJCLHlEQUF5RDtBQUN6RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzlCLFNBQVMsR0FBRyxTQUFTLENBQUE7QUFDdkIsQ0FBQztLQUFNLENBQUM7SUFDTixpREFBaUQ7SUFDakQsU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDN0IsQ0FBQztBQUVELEtBQUssVUFBVSxJQUFJLENBQUMsU0FBaUI7SUFDbkMsTUFBTSxTQUFTLEdBQUc7UUFDaEIsMkRBQTJEO1FBQzNELHdEQUF3RDtRQUN4RCw4Q0FBOEM7UUFDOUMsa0JBQWtCLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7UUFDNUMsR0FBRyxDQUFDLE1BQU0sOEJBQThCLENBQ3RDLGVBQWUsU0FBUyxzQkFBc0IsQ0FDL0MsQ0FBQztLQUNILENBQUE7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFekQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLENBQUE7SUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDMUIsc0VBQXNFO0lBQ3RFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3hDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFBO0FBQ3RCLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0ICogYXMgZnMgZnJvbSBcIm5vZGU6ZnNcIlxuaW1wb3J0IHtcbiAgR2V0UGFyYW1ldGVyc0J5UGF0aENvbW1hbmQsXG4gIHR5cGUgR2V0UGFyYW1ldGVyc0J5UGF0aFJlc3VsdCxcbiAgU1NNQ2xpZW50LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNzbVwiXG5cbi8qKlxuICogUmVhZCBhbGwgdmFyaWFibGVzIGZyb20gU1NNIFBhcmFtZXRlciBTdG9yZSB1bmRlciBhIGdpdmVuIHByZWZpeC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZhcmlhYmxlc0Zyb21QYXJhbWV0ZXJTdG9yZShcbiAgcHJlZml4OiBzdHJpbmcsXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgY29uc3Qgc3NtID0gbmV3IFNTTUNsaWVudCh7fSlcblxuICBjb25zdCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge31cblxuICBsZXQgbmV4dFRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBkbyB7XG4gICAgY29uc3QgcmVzdWx0OiBHZXRQYXJhbWV0ZXJzQnlQYXRoUmVzdWx0ID0gYXdhaXQgc3NtLnNlbmQoXG4gICAgICBuZXcgR2V0UGFyYW1ldGVyc0J5UGF0aENvbW1hbmQoe1xuICAgICAgICBQYXRoOiBwcmVmaXgsXG4gICAgICAgIE5leHRUb2tlbjogbmV4dFRva2VuLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgZm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgcmVzdWx0LlBhcmFtZXRlcnMhKSB7XG4gICAgICBjb25zdCBuYW1lID0gcGFyYW1ldGVyLk5hbWUhLnNsaWNlKHByZWZpeC5sZW5ndGgpXG4gICAgICBwYXJhbWV0ZXJzW25hbWVdID0gcGFyYW1ldGVyLlZhbHVlIVxuICAgIH1cblxuICAgIG5leHRUb2tlbiA9IHJlc3VsdC5OZXh0VG9rZW5cbiAgfSB3aGlsZSAobmV4dFRva2VuICE9IG51bGwpXG5cbiAgcmV0dXJuIHBhcmFtZXRlcnNcbn1cbmxldCBuYW1lc3BhY2U6IHN0cmluZ1xuXG4vLyBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCB1c2Ugc29tZSBzZW5zaWJsZSBkZWZhdWx0cy5cbmlmIChwcm9jZXNzLmFyZ3YubGVuZ3RoID09PSAyKSB7XG4gIG5hbWVzcGFjZSA9IFwiZGVmYXVsdFwiXG59IGVsc2Uge1xuICAvLyBJbiBOb2RlLCBmaXJzdCBwYXJhbWV0ZXIgaXMgdGhlIHRoaXJkIGVsZW1lbnQuXG4gIG5hbWVzcGFjZSA9IHByb2Nlc3MuYXJndlsyXVxufVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKG5hbWVzcGFjZTogc3RyaW5nKSB7XG4gIGNvbnN0IHZhcmlhYmxlcyA9IHtcbiAgICAvLyBTcGVjaWFsIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHVzZWQgd2hlbiByZWFkaW5nIHZhcmlhYmxlc1xuICAgIC8vIHRvIGVuc3VyZSBpdCBpcyBub3Qgc3RhbGUuIEluIHRoZSBwaXBlbGluZSwgdmFyaWFibGVzXG4gICAgLy8gd2lsbCBuZXZlciBiZSBzdGFsZSwgYnV0IGxvY2FsbHkgaXQgY2FuIGJlLlxuICAgIHZhcmlhYmxlc1RpbWVzdGFtcDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIC4uLihhd2FpdCBnZXRWYXJpYWJsZXNGcm9tUGFyYW1ldGVyU3RvcmUoXG4gICAgICBgL2xpZmxpZy1jZGsvJHtuYW1lc3BhY2V9L3BpcGVsaW5lLXZhcmlhYmxlcy9gLFxuICAgICkpLFxuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gSlNPTi5zdHJpbmdpZnkodmFyaWFibGVzLCB1bmRlZmluZWQsIFwiICBcIilcblxuICBmcy53cml0ZUZpbGVTeW5jKFwidmFyaWFibGVzLmpzb25cIiwgcmVzdWx0KVxuICBjb25zb2xlLmxvZyhcIlJldHJpZXZlZCBhbmQgc2F2ZWQgdG8gdmFyaWFibGVzLmpzb246XCIpXG4gIGNvbnNvbGUubG9nKHJlc3VsdC5yZXBsYWNlKC9eL2dtLCBcIiAgXCIpKVxufVxuXG5tYWluKG5hbWVzcGFjZSkuY2F0Y2goKGUpID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2Vzc1xuICBjb25zb2xlLmVycm9yKGUuc3RhY2sgfHwgZS5tZXNzYWdlIHx8IGUpXG4gIHByb2Nlc3MuZXhpdENvZGUgPSAxXG59KVxuIl19
@@ -1,7 +1,7 @@
1
- import * as constructs from "constructs";
2
1
  import * as ecr from "aws-cdk-lib/aws-ecr";
3
2
  import * as iam from "aws-cdk-lib/aws-iam";
4
- import { Props as GithubActionsRoleProps } from "./github-actions-role";
3
+ import * as constructs from "constructs";
4
+ import { type Props as GithubActionsRoleProps } from "./github-actions-role";
5
5
  interface Props {
6
6
  /**
7
7
  * The name to use for the S3 Bucket.
@@ -1,8 +1,8 @@
1
- import * as constructs from "constructs";
1
+ import * as cdk from "aws-cdk-lib";
2
2
  import * as ecr from "aws-cdk-lib/aws-ecr";
3
3
  import * as iam from "aws-cdk-lib/aws-iam";
4
4
  import * as s3 from "aws-cdk-lib/aws-s3";
5
- import * as cdk from "aws-cdk-lib";
5
+ import * as constructs from "constructs";
6
6
  import { GithubActionsRole, } from "./github-actions-role";
7
7
  /**
8
8
  * Utility functions for generating IAM statements.
@@ -185,4 +185,4 @@ export class BuildArtifacts extends constructs.Construct {
185
185
  }
186
186
  }
187
187
  }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSx1QkFBdUIsQ0FBQTtBQW1GOUI7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLHNCQUFzQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUN2RSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztRQUN4QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztRQUM3QixTQUFTLEVBQUU7WUFDVCxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLDhDQUE4QyxNQUFNLElBQUksR0FBRyxFQUFFO1NBQ3RJO0tBQ0YsQ0FBQztJQUNKLGlCQUFpQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFrQixFQUFFLEVBQUUsQ0FDckUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDdkIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2pCLFNBQVMsRUFBRTtZQUNULE1BQU0sQ0FBQyxhQUFh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UyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDcEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQzdCLENBQUMsQ0FBQTtRQUVGLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtTQUN6QixDQUFDLENBQUE7UUFFRixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO2dCQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2FBQ3pCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ2hDLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCB7XG4gIEdpdGh1YkFjdGlvbnNSb2xlLFxuICBQcm9wcyBhcyBHaXRodWJBY3Rpb25zUm9sZVByb3BzLFxufSBmcm9tIFwiLi9naXRodWItYWN0aW9ucy1yb2xlXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIFMzIEJ1Y2tldC5cbiAgICpcbiAgICogTk9URTogU2hvdWxkIGluY2x1ZGUgYm90aCBhY2NvdW50IGFuZCByZWdpb24gc28gdGhhdCBpdCB3aWxsXG4gICAqIG5vdCBjb25mbGljdCB3aXRoIG90aGVyIGFjY291bnRzL3JlZ2lvbnMuXG4gICAqL1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIEVDUiBSZXBvc2l0b3J5LlxuICAgKi9cbiAgZWNyUmVwb3NpdG9yeU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogQ3JlYXRlIGEgcm9sZSB0aGF0IGNhbiBiZSBhc3N1bWVkIGJ5IExpZmxpZyBKZW5raW5zLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBjaVJvbGVOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGFwcGx5IHRvIGltYWdlcyBzdG9yZWQgaW4gdGhlIEVDUiByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV4cGlyZSB1bnRhZ2dlZCBpbWFnZXMgYWZ0ZXIgMTAgZGF5cyBhbmQgYW55IGltYWdlIG9sZGVyIHRoYW4gMTgwIGRheXNcbiAgICovXG4gIGVjclJlcG9zaXRvcnlMaWZlY3ljbGVSdWxlcz86IGVjci5MaWZlY3ljbGVSdWxlW11cbiAgLyoqXG4gICAqIElEIG9mIEFXUyBhY2NvdW50cyB0aGF0IHdpbGwgYmUgZ3JhbnRlZCBwZXJtaXNzaW9uIHRvIHJlYWQgZnJvbVxuICAgKiB0aGUgYXJ0aWZhY3QgcmVwb3MuXG4gICAqL1xuICB0YXJnZXRBY2NvdW50SWRzPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIGNyZWF0aW5nIElBTSByb2xlcyB0aGF0IGNhbiBiZSBhc3N1bWVkXG4gICAqIGJ5IEdpdEh1YiBBY3Rpb25zIGluIHNwZWNpZmljIEdpdEh1YiByZXBvc2l0b3JpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcm9sZXMgYXJlIGNyZWF0ZWQuXG4gICAqL1xuICBnaXRodWJBY3Rpb25zPzogT21pdDxcbiAgICBHaXRodWJBY3Rpb25zUm9sZVByb3BzLFxuICAgIFwidHJ1c3RlZE93bmVyc1wiIHwgXCJ0cnVzdGVkQnJhbmNoXCIgfCBcIm9pZGNQcm92aWRlclwiIHwgXCJyb2xlTmFtZVwiXG4gID4gJiB7XG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIHRydXN0ZWQgR2l0SHViIHJlcG9zaXRvcnkgb3duZXJzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgW1wiY2FwcmFsaWZlY3ljbGVcIl1cbiAgICAgKi9cbiAgICB0cnVzdGVkT3duZXJzPzogc3RyaW5nW11cbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcm9sZSB0byBjcmVhdGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLXJvbGVcIlxuICAgICAqL1xuICAgIHJvbGVOYW1lPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGRlZmF1bHQgYnJhbmNoIGluIGFsbCByZXBvc2l0b3JpZXMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcIm1hc3RlclwiXG4gICAgICovXG4gICAgZGVmYXVsdEJyYW5jaD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIGEgbGltaXRlZCByb2xlIHRoYXQgY2FuIGJlIHVzZWQgb24gbm9uLWRlZmF1bHRcbiAgICAgKiBicmFuY2hlcyB3aXRoIGxlc3MgSUFNIHBlcm1pc3Npb25zIHRoYW4gdGhlIG1haW4gcm9sZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gYSBsaW1pdGVkIHJvbGUgaXMgY3JlYXRlZC5cbiAgICAgKi9cbiAgICBsaW1pdGVkUm9sZUNvbmZpZ3VyYXRpb24/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFdoZXRoZXIgdG8gY3JlYXRlIHRoZSByb2xlIG9yIG5vdC5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICAgKi9cbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNyZWF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCBcImdpdGh1Yi1hY3Rpb25zLWxpbWl0ZWQtcm9sZVwiXG4gICAgICAgKi9cbiAgICAgIHJvbGVOYW1lPzogc3RyaW5nXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGdlbmVyYXRpbmcgSUFNIHN0YXRlbWVudHMuXG4gKi9cbmNvbnN0IHBvbGljeVN0YXRlbWVudHMgPSB7XG4gIGFsbG93UGlwZWxpbmVWYXJpYWJsZXM6IChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHByZWZpeD86IHN0cmluZykgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGBhcm46YXdzOnNzbToke2Nkay5TdGFjay5vZihzY29wZSkucmVnaW9ufToke2Nkay5TdGFjay5vZihzY29wZSkuYWNjb3VudH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvJHtwcmVmaXggPz8gXCIqXCJ9YCxcbiAgICAgIF0sXG4gICAgfSksXG4gIGRlbnlQcm9kUGlwZWxpbmVzOiAoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBidWNrZXQ6IHMzLklCdWNrZXQpID0+XG4gICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkRFTlksXG4gICAgICBhY3Rpb25zOiBbXCJzMzoqXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGJ1Y2tldC5hcm5Gb3JPYmplY3RzKFwicGlwZWxpbmVzLyotcHJvZC8qXCIpLFxuICAgICAgICBidWNrZXQuYXJuRm9yT2JqZWN0cyhcInBpcGVsaW5lcy8qLXByb2QtKi8qXCIpLFxuICAgICAgXSxcbiAgICB9KSxcbiAgZGVueVByb2RQaXBlbGluZVZhcmlhYmxlczogKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCkgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuREVOWSxcbiAgICAgIGFjdGlvbnM6IFtcInNzbTpQdXRQYXJhbWV0ZXJcIl0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgYGFybjphd3M6c3NtOiR7Y2RrLlN0YWNrLm9mKHNjb3BlKS5yZWdpb259OiR7XG4gICAgICAgICAgY2RrLlN0YWNrLm9mKHNjb3BlKS5hY2NvdW50XG4gICAgICAgIH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvcHJvZCpgLFxuICAgICAgXSxcbiAgICB9KSxcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIGZvciB2YWxpZGF0aW5nIHRoZSBjb25zdHJ1Y3QgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUHJvcHMgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGxldCB2YWxpZCA9IHRydWVcbiAgaWYgKFxuICAgIHByb3BzLmdpdGh1YkFjdGlvbnM/LmRlZmF1bHRCcmFuY2ggJiZcbiAgICAhcHJvcHMuZ2l0aHViQWN0aW9ucy5kZWZhdWx0QnJhbmNoLm1hdGNoKC9eW2EtekEtWjAtOS1dKyQvKVxuICApIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYERlZmF1bHQgYnJhbmNoICR7cHJvcHMuZ2l0aHViQWN0aW9ucy5kZWZhdWx0QnJhbmNofSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnNgLFxuICAgIClcbiAgICB2YWxpZCA9IGZhbHNlXG4gIH1cbiAgcmV0dXJuIHZhbGlkXG59XG5cbi8qKlxuICogQ3JlYXRlIHZhcmlvdXMgYXJ0aWZhY3RzIHVzZWQgYXMgcGFydCBvZiBDb250aW51b3VzIEludGVncmF0aW9uIChDSSkuXG4gKlxuICogVGhpcyBpbmNsdWRlcyBhcnRpZmFjdCByZXBvc2l0b3JpZXMgc3VjaCBhcyBTMyBidWNrZXQgYW5kIEVDUlxuICogcmVwb3NpdG9yeSwgYXMgd2VsbCBhcyBJQU0gcm9sZShzKSB0aGF0IGdyYW50IHRoZSBDSSBzZXJ2ZXIgd3JpdGVcbiAqIGFjY2VzcyB0byB0aGVzZSByZXBvc2l0b3JpZXMuXG4gKlxuICogVE9ETzogSG93IGNhbiB3ZSBjbGVhbnVwIHN0dWZmIHRoYXQgZ29lcyBpbnRvIHRoaXMgUzMgQnVja2V0IGFuZFxuICogIEVDUiBSZXBvc2l0b3J5PyBDYW4gd2UgZXZlciByZWxpYWJseSBjbGVhbnVwPyBXZSBwcm9iYWJseSBuZWVkXG4gKiAgc29tZSBzdHJhdGVneSBmb3IgaG93IHdlIHB1dCBzdHVmZiBoZXJlIHRvIGJlIGFibGUgdG8gZG8gaXQuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgQnVpbGRBcnRpZmFjdHMgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcHVibGljIHJlYWRvbmx5IGVjclJlcG9zaXRvcnlBcm46IHN0cmluZ1xuICBwdWJsaWMgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeU5hbWU6IHN0cmluZ1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZT86IGlhbS5Sb2xlXG4gIHB1YmxpYyByZWFkb25seSBsaW1pdGVkUm9sZT86IGlhbS5Sb2xlXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBpZiAoIXZhbGlkYXRlUHJvcHMocHJvcHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHByb3BzIHdlcmUgc3VwcGxpZWRcIilcbiAgICB9XG5cbiAgICB0aGlzLmJ1Y2tldE5hbWUgPSBwcm9wcy5idWNrZXROYW1lXG4gICAgdGhpcy5lY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG4gICAgdGhpcy5lY3JSZXBvc2l0b3J5QXJuID0gY2RrLkFybi5mb3JtYXQoXG4gICAgICB7XG4gICAgICAgIHNlcnZpY2U6IFwiZWNyXCIsXG4gICAgICAgIHJlc291cmNlOiBcInJlcG9zaXRvcnlcIixcbiAgICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLmVjclJlcG9zaXRvcnlOYW1lLFxuICAgICAgfSxcbiAgICAgIGNkay5TdGFjay5vZih0aGlzKSxcbiAgICApXG5cbiAgICBjb25zdCBlY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG5cbiAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsIFwiUzNCdWNrZXRcIiwge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuYnVja2V0TmFtZSxcbiAgICAgIGVuY3J5cHRpb246IHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgIGV2ZW50QnJpZGdlRW5hYmxlZDogdHJ1ZSxcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICBsaWZlY3ljbGVSdWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbm9uY3VycmVudFZlcnNpb25FeHBpcmF0aW9uOiBjZGsuRHVyYXRpb24uZGF5cygxMCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICBjb25zdCBlY3JSZXBvID0gbmV3IGVjci5SZXBvc2l0b3J5KHRoaXMsIFwiRWNyUmVwb3NpdG9yeVwiLCB7XG4gICAgICByZXBvc2l0b3J5TmFtZTogZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICBsaWZlY3ljbGVSdWxlczogcHJvcHMuZWNyUmVwb3NpdG9yeUxpZmVjeWNsZVJ1bGVzIHx8IFtcbiAgICAgICAge1xuICAgICAgICAgIG1heEltYWdlQWdlOiBjZGsuRHVyYXRpb24uZGF5cygxMCksXG4gICAgICAgICAgdGFnU3RhdHVzOiBlY3IuVGFnU3RhdHVzLlVOVEFHR0VELFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbWF4SW1hZ2VBZ2U6IGNkay5EdXJhdGlvbi5kYXlzKDE4MCksXG4gICAgICAgICAgdGFnU3RhdHVzOiBlY3IuVGFnU3RhdHVzLkFOWSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIEFsbG93IGEgdGFyZ2V0IHRvIHJlYWQgZnJvbSB0aGUgcmVwb3MuIEFzIGFueSBzcGVjaWZpYyByb2xlcyBuZWVkXG4gICAgLy8gdG8gZXhpc3QgYmVmb3JlIHdlIGNhbiBncmFudCBhY2Nlc3MsIHdlIGRlbGVnYXRlIHRoYXQgcmVzcG9uc2liaWxpdHlcbiAgICAvLyB0byB0aGUgdGFyZ2V0IGFjY291bnQuXG4gICAgZm9yIChjb25zdCB0YXJnZXRBY2NvdW50SWQgb2YgcHJvcHMudGFyZ2V0QWNjb3VudElkcyB8fCBbXSkge1xuICAgICAgYnVja2V0LmdyYW50UmVhZChuZXcgaWFtLkFjY291bnRQcmluY2lwYWwodGFyZ2V0QWNjb3VudElkKSlcbiAgICAgIGVjclJlcG8uZ3JhbnRQdWxsKG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbCh0YXJnZXRBY2NvdW50SWQpKVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5naXRodWJBY3Rpb25zKSB7XG4gICAgICBjb25zdCB0cnVzdGVkT3duZXJzID0gcHJvcHMuZ2l0aHViQWN0aW9ucy50cnVzdGVkT3duZXJzID8/IFtcbiAgICAgICAgXCJjYXByYWxpZmVjeWNsZVwiLFxuICAgICAgXVxuICAgICAgLy8gTk9URTogVGhlcmUncyBhbiBMMiBjb25zdHJ1Y3QgdGhhdCBwcmVkYXRlcyB0aGUgb2ZmaWNpYWwgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UsXG4gICAgICAvLyBhbmQgaXQgaXMgdGhlcmVmb3JlIGltcGxlbWVudGVkIGFzIGEgY3VzdG9tIHJlc291cmNlLlxuICAgICAgLy8gV2UgdXNlIHRoZSBMMSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSBpbnN0ZWFkIGJlY2F1c2U6XG4gICAgICAvLyAxKSBpdCdzIHNpbXBsZXJcbiAgICAgIC8vIDIpIHRoZXJlJ3MgYSBjaGFuY2UgdGhlIEwyIGNvbnN0cnVjdCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gdGhlIGZ1dHVyZSBpbiBmYXZvclxuICAgICAgLy8gb2YgdGhlIG9mZmljaWFsIENsb3VkRm9ybWF0aW9uIHJlc291cmNlLlxuICAgICAgY29uc3QgY2ZuT2lkY1Byb3ZpZGVyID0gbmV3IGlhbS5DZm5PSURDUHJvdmlkZXIoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiT3BlbklkQ29ubmVjdFByb3ZpZGVyXCIsXG4gICAgICAgIHtcbiAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbVwiLFxuICAgICAgICAgIGNsaWVudElkTGlzdDogW1wic3RzLmFtYXpvbmF3cy5jb21cIl0sXG4gICAgICAgICAgLy8gTk9URTogVGhlIHRodW1icHJpbnQgaXNuJ3QgYWN0dWFsbHkgdXNlZCwgYnV0IHRoZSBBV1MgQVBJIHN0aWxsIHJlcXVpcmVzIHVzIHRvIHN1cHBseSBpdC5cbiAgICAgICAgICAvLyBNb3JlIGRldGFpbHMgaGVyZTogaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMjQwMTIyMTU1NzU4L2h0dHBzOi8vZ2l0aHViLmNvbS9hd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzL2lzc3Vlcy8zNTcjaXNzdWVjb21tZW50LTE2MjYzNTczMzNcbiAgICAgICAgICB0aHVtYnByaW50TGlzdDogW1wiMWM1OGEzYTg1MThlODc1OWJmMDc1Yjc2Yjc1MGQ0ZjJkZjI2NGZjZFwiXSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICAgIGNvbnN0IG9pZGNQcm92aWRlciA9XG4gICAgICAgIGlhbS5PcGVuSWRDb25uZWN0UHJvdmlkZXIuZnJvbU9wZW5JZENvbm5lY3RQcm92aWRlckFybihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIFwiUHJvdmlkZXJcIixcbiAgICAgICAgICBjZm5PaWRjUHJvdmlkZXIucmVmLFxuICAgICAgICApXG4gICAgICBjb25zdCBjcmVhdGVMaW1pdGVkUm9sZSA9XG4gICAgICAgIHByb3BzLmdpdGh1YkFjdGlvbnMubGltaXRlZFJvbGVDb25maWd1cmF0aW9uPy5lbmFibGVkID8/IHRydWVcbiAgICAgIGNvbnN0IHJvbGUgPSBuZXcgR2l0aHViQWN0aW9uc1JvbGUodGhpcywgXCJHaXRodWJBY3Rpb25zUm9sZVwiLCB7XG4gICAgICAgIG9pZGNQcm92aWRlcixcbiAgICAgICAgdHJ1c3RlZE93bmVycyxcbiAgICAgICAgcm9sZU5hbWU6IHByb3BzLmdpdGh1YkFjdGlvbnMucm9sZU5hbWUgPz8gXCJnaXRodWItYWN0aW9ucy1yb2xlXCIsXG4gICAgICAgIHRydXN0ZWRCcmFuY2g6IGNyZWF0ZUxpbWl0ZWRSb2xlXG4gICAgICAgICAgPyAocHJvcHMuZ2l0aHViQWN0aW9ucy5kZWZhdWx0QnJhbmNoID8/IFwibWFzdGVyXCIpXG4gICAgICAgICAgOiAvLyBOT1RFOiBJZiB0aGUgbGltaXRlZCByb2xlIGlzIGRpc2FibGVkLCBvbmx5IG9uZSByb2xlIHdpbGwgYmUgY3JlYXRlZFxuICAgICAgICAgICAgLy8gYW5kIHRoYXQgcm9sZSB0aGVuIG5lZWRzIHRvIGJlIGFzc3VtYWJsZSBmcm9tIGFsbCBicmFuY2hlcy5cbiAgICAgICAgICAgIFwiKlwiLFxuICAgICAgICByZXBvc2l0b3JpZXM6IHByb3BzLmdpdGh1YkFjdGlvbnMucmVwb3NpdG9yaWVzLFxuICAgICAgfSlcbiAgICAgIHRoaXMucm9sZSA9IHJvbGUucm9sZVxuICAgICAgdGhpcy5yb2xlLmFkZFRvUG9saWN5KHBvbGljeVN0YXRlbWVudHMuYWxsb3dQaXBlbGluZVZhcmlhYmxlcyh0aGlzKSlcbiAgICAgIGJ1Y2tldC5ncmFudFB1dCh0aGlzLnJvbGUpXG4gICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2godGhpcy5yb2xlKVxuICAgICAgaWYgKGNyZWF0ZUxpbWl0ZWRSb2xlKSB7XG4gICAgICAgIGNvbnN0IGxpbWl0ZWRSb2xlID0gbmV3IEdpdGh1YkFjdGlvbnNSb2xlKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgXCJHaXRodWJBY3Rpb25zTGltaXRlZFJvbGVcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvaWRjUHJvdmlkZXIsXG4gICAgICAgICAgICB0cnVzdGVkT3duZXJzLFxuICAgICAgICAgICAgcm9sZU5hbWU6XG4gICAgICAgICAgICAgIHByb3BzLmdpdGh1YkFjdGlvbnMubGltaXRlZFJvbGVDb25maWd1cmF0aW9uPy5yb2xlTmFtZSA/P1xuICAgICAgICAgICAgICBcImdpdGh1Yi1hY3Rpb25zLWxpbWl0ZWQtcm9sZVwiLFxuICAgICAgICAgICAgLy8gTk9URTogVGhlIGxpbWl0ZWQgcm9sZSBjYW4gYmUgYXNzdW1lZCBmcm9tIGFsbCBicmFuY2hlcy5cbiAgICAgICAgICAgIHRydXN0ZWRCcmFuY2g6IFwiKlwiLFxuICAgICAgICAgICAgcmVwb3NpdG9yaWVzOiBwcm9wcy5naXRodWJBY3Rpb25zLnJlcG9zaXRvcmllcyxcbiAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgICAgIHRoaXMubGltaXRlZFJvbGUgPSBsaW1pdGVkUm9sZS5yb2xlXG4gICAgICAgIHRoaXMubGltaXRlZFJvbGUuYWRkVG9Qb2xpY3koXG4gICAgICAgICAgcG9saWN5U3RhdGVtZW50cy5hbGxvd1BpcGVsaW5lVmFyaWFibGVzKHRoaXMsIFwiZGV2KlwiKSxcbiAgICAgICAgKVxuICAgICAgICB0aGlzLmxpbWl0ZWRSb2xlLmFkZFRvUG9saWN5KFxuICAgICAgICAgIHBvbGljeVN0YXRlbWVudHMuZGVueVByb2RQaXBlbGluZXMoc2NvcGUsIGJ1Y2tldCksXG4gICAgICAgIClcbiAgICAgICAgYnVja2V0LmdyYW50UHV0KHRoaXMubGltaXRlZFJvbGUpXG4gICAgICAgIGVjclJlcG8uZ3JhbnRQdWxsUHVzaCh0aGlzLmxpbWl0ZWRSb2xlKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMuY2lSb2xlTmFtZSkge1xuICAgICAgY29uc3QgbGVnYWN5Um9sZUZvckplbmtpbnMgPSBuZXcgaWFtLlJvbGUodGhpcywgXCJDaVJvbGVcIiwge1xuICAgICAgICByb2xlTmFtZTogcHJvcHMuY2lSb2xlTmFtZSxcbiAgICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLkFyblByaW5jaXBhbChcbiAgICAgICAgICBcImFybjphd3M6aWFtOjo5MjM0MDIwOTcwNDY6cm9sZS9idWlsZHRvb2xzLWplbmtpbnMtUm9sZUplbmtpbnNTbGF2ZS1KUUdZSFI1V0U2QzVcIixcbiAgICAgICAgKSxcbiAgICAgIH0pXG4gICAgICBsZWdhY3lSb2xlRm9ySmVua2lucy5hZGRUb1BvbGljeShcbiAgICAgICAgcG9saWN5U3RhdGVtZW50cy5hbGxvd1BpcGVsaW5lVmFyaWFibGVzKHRoaXMpLFxuICAgICAgKVxuICAgICAgYnVja2V0LmdyYW50UHV0KGxlZ2FjeVJvbGVGb3JKZW5raW5zKVxuICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKGxlZ2FjeVJvbGVGb3JKZW5raW5zKVxuICAgIH1cblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiRWNyUmVwb1VyaVwiLCB7XG4gICAgICB2YWx1ZTogZWNyUmVwby5yZXBvc2l0b3J5VXJpLFxuICAgIH0pXG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIkJ1Y2tldE5hbWVcIiwge1xuICAgICAgdmFsdWU6IGJ1Y2tldC5idWNrZXROYW1lLFxuICAgIH0pXG5cbiAgICBpZiAodGhpcy5yb2xlKSB7XG4gICAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIlJvbGVBcm5cIiwge1xuICAgICAgICB2YWx1ZTogdGhpcy5yb2xlLnJvbGVBcm4sXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAodGhpcy5saW1pdGVkUm9sZSkge1xuICAgICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJMaW1pdGVkUm9sZUFyblwiLCB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmxpbWl0ZWRSb2xlLnJvbGVBcm4sXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSx1QkFBdUIsQ0FBQTtBQW1GOUI7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLHNCQUFzQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFlLEVBQUUsRUFBRSxDQUN2RSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztRQUN4QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztRQUM3QixTQUFTLEVBQUU7WUFDVCxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLDhDQUE4QyxNQUFNLElBQUksR0FBRyxFQUFFO1NBQ3RJO0tBQ0YsQ0FBQztJQUNKLGlCQUFpQixFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUFrQixFQUFFLEVBQUUsQ0FDckUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDdkIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2pCLFNBQVMsRUFBRTtZQUNULE1BQU0sQ0FBQyxhQUFh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UyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDcEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQzdCLENBQUMsQ0FBQTtRQUVGLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtTQUN6QixDQUFDLENBQUE7UUFFRixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO2dCQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2FBQ3pCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ2hDLENBQUMsQ0FBQTtRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCB7XG4gIEdpdGh1YkFjdGlvbnNSb2xlLFxuICB0eXBlIFByb3BzIGFzIEdpdGh1YkFjdGlvbnNSb2xlUHJvcHMsXG59IGZyb20gXCIuL2dpdGh1Yi1hY3Rpb25zLXJvbGVcIlxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgUzMgQnVja2V0LlxuICAgKlxuICAgKiBOT1RFOiBTaG91bGQgaW5jbHVkZSBib3RoIGFjY291bnQgYW5kIHJlZ2lvbiBzbyB0aGF0IGl0IHdpbGxcbiAgICogbm90IGNvbmZsaWN0IHdpdGggb3RoZXIgYWNjb3VudHMvcmVnaW9ucy5cbiAgICovXG4gIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgRUNSIFJlcG9zaXRvcnkuXG4gICAqL1xuICBlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBDcmVhdGUgYSByb2xlIHRoYXQgY2FuIGJlIGFzc3VtZWQgYnkgTGlmbGlnIEplbmtpbnMuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIEBkZWZhdWx0IC0gbm8gcm9sZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIGNpUm9sZU5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gYXBwbHkgdG8gaW1hZ2VzIHN0b3JlZCBpbiB0aGUgRUNSIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRXhwaXJlIHVudGFnZ2VkIGltYWdlcyBhZnRlciAxMCBkYXlzIGFuZCBhbnkgaW1hZ2Ugb2xkZXIgdGhhbiAxODAgZGF5c1xuICAgKi9cbiAgZWNyUmVwb3NpdG9yeUxpZmVjeWNsZVJ1bGVzPzogZWNyLkxpZmVjeWNsZVJ1bGVbXVxuICAvKipcbiAgICogSUQgb2YgQVdTIGFjY291bnRzIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gcmVhZCBmcm9tXG4gICAqIHRoZSBhcnRpZmFjdCByZXBvcy5cbiAgICovXG4gIHRhcmdldEFjY291bnRJZHM/OiBzdHJpbmdbXVxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgSUFNIHJvbGVzIHRoYXQgY2FuIGJlIGFzc3VtZWRcbiAgICogYnkgR2l0SHViIEFjdGlvbnMgaW4gc3BlY2lmaWMgR2l0SHViIHJlcG9zaXRvcmllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByb2xlcyBhcmUgY3JlYXRlZC5cbiAgICovXG4gIGdpdGh1YkFjdGlvbnM/OiBPbWl0PFxuICAgIEdpdGh1YkFjdGlvbnNSb2xlUHJvcHMsXG4gICAgXCJ0cnVzdGVkT3duZXJzXCIgfCBcInRydXN0ZWRCcmFuY2hcIiB8IFwib2lkY1Byb3ZpZGVyXCIgfCBcInJvbGVOYW1lXCJcbiAgPiAmIHtcbiAgICAvKipcbiAgICAgKiBBIGxpc3Qgb2YgdHJ1c3RlZCBHaXRIdWIgcmVwb3NpdG9yeSBvd25lcnMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBbXCJjYXByYWxpZmVjeWNsZVwiXVxuICAgICAqL1xuICAgIHRydXN0ZWRPd25lcnM/OiBzdHJpbmdbXVxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSByb2xlIHRvIGNyZWF0ZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiZ2l0aHViLWFjdGlvbnMtcm9sZVwiXG4gICAgICovXG4gICAgcm9sZU5hbWU/OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZGVmYXVsdCBicmFuY2ggaW4gYWxsIHJlcG9zaXRvcmllcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwibWFzdGVyXCJcbiAgICAgKi9cbiAgICBkZWZhdWx0QnJhbmNoPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgYSBsaW1pdGVkIHJvbGUgdGhhdCBjYW4gYmUgdXNlZCBvbiBub24tZGVmYXVsdFxuICAgICAqIGJyYW5jaGVzIHdpdGggbGVzcyBJQU0gcGVybWlzc2lvbnMgdGhhbiB0aGUgbWFpbiByb2xlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBhIGxpbWl0ZWQgcm9sZSBpcyBjcmVhdGVkLlxuICAgICAqL1xuICAgIGxpbWl0ZWRSb2xlQ29uZmlndXJhdGlvbj86IHtcbiAgICAgIC8qKlxuICAgICAgICogV2hldGhlciB0byBjcmVhdGUgdGhlIHJvbGUgb3Igbm90LlxuICAgICAgICpcbiAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAqL1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIG5hbWUgb2YgdGhlIHJvbGUgdG8gY3JlYXRlLlxuICAgICAgICpcbiAgICAgICAqIEBkZWZhdWx0IFwiZ2l0aHViLWFjdGlvbnMtbGltaXRlZC1yb2xlXCJcbiAgICAgICAqL1xuICAgICAgcm9sZU5hbWU/OiBzdHJpbmdcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgZ2VuZXJhdGluZyBJQU0gc3RhdGVtZW50cy5cbiAqL1xuY29uc3QgcG9saWN5U3RhdGVtZW50cyA9IHtcbiAgYWxsb3dQaXBlbGluZVZhcmlhYmxlczogKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgcHJlZml4Pzogc3RyaW5nKSA9PlxuICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcInNzbTpQdXRQYXJhbWV0ZXJcIl0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgYGFybjphd3M6c3NtOiR7Y2RrLlN0YWNrLm9mKHNjb3BlKS5yZWdpb259OiR7Y2RrLlN0YWNrLm9mKHNjb3BlKS5hY2NvdW50fTpwYXJhbWV0ZXIvbGlmbGlnLWNkay8qL3BpcGVsaW5lLXZhcmlhYmxlcy8ke3ByZWZpeCA/PyBcIipcIn1gLFxuICAgICAgXSxcbiAgICB9KSxcbiAgZGVueVByb2RQaXBlbGluZXM6IChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGJ1Y2tldDogczMuSUJ1Y2tldCkgPT5cbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuREVOWSxcbiAgICAgIGFjdGlvbnM6IFtcInMzOipcIl0sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgYnVja2V0LmFybkZvck9iamVjdHMoXCJwaXBlbGluZXMvKi1wcm9kLypcIiksXG4gICAgICAgIGJ1Y2tldC5hcm5Gb3JPYmplY3RzKFwicGlwZWxpbmVzLyotcHJvZC0qLypcIiksXG4gICAgICBdLFxuICAgIH0pLFxuICBkZW55UHJvZFBpcGVsaW5lVmFyaWFibGVzOiAoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSA9PlxuICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5ERU5ZLFxuICAgICAgYWN0aW9uczogW1wic3NtOlB1dFBhcmFtZXRlclwiXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICBgYXJuOmF3czpzc206JHtjZGsuU3RhY2sub2Yoc2NvcGUpLnJlZ2lvbn06JHtcbiAgICAgICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLmFjY291bnRcbiAgICAgICAgfTpwYXJhbWV0ZXIvbGlmbGlnLWNkay8qL3BpcGVsaW5lLXZhcmlhYmxlcy9wcm9kKmAsXG4gICAgICBdLFxuICAgIH0pLFxufVxuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIHZhbGlkYXRpbmcgdGhlIGNvbnN0cnVjdCBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQcm9wcyA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgbGV0IHZhbGlkID0gdHJ1ZVxuICBpZiAoXG4gICAgcHJvcHMuZ2l0aHViQWN0aW9ucz8uZGVmYXVsdEJyYW5jaCAmJlxuICAgICFwcm9wcy5naXRodWJBY3Rpb25zLmRlZmF1bHRCcmFuY2gubWF0Y2goL15bYS16QS1aMC05LV0rJC8pXG4gICkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgRGVmYXVsdCBicmFuY2ggJHtwcm9wcy5naXRodWJBY3Rpb25zLmRlZmF1bHRCcmFuY2h9IGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyc2AsXG4gICAgKVxuICAgIHZhbGlkID0gZmFsc2VcbiAgfVxuICByZXR1cm4gdmFsaWRcbn1cblxuLyoqXG4gKiBDcmVhdGUgdmFyaW91cyBhcnRpZmFjdHMgdXNlZCBhcyBwYXJ0IG9mIENvbnRpbnVvdXMgSW50ZWdyYXRpb24gKENJKS5cbiAqXG4gKiBUaGlzIGluY2x1ZGVzIGFydGlmYWN0IHJlcG9zaXRvcmllcyBzdWNoIGFzIFMzIGJ1Y2tldCBhbmQgRUNSXG4gKiByZXBvc2l0b3J5LCBhcyB3ZWxsIGFzIElBTSByb2xlKHMpIHRoYXQgZ3JhbnQgdGhlIENJIHNlcnZlciB3cml0ZVxuICogYWNjZXNzIHRvIHRoZXNlIHJlcG9zaXRvcmllcy5cbiAqXG4gKiBUT0RPOiBIb3cgY2FuIHdlIGNsZWFudXAgc3R1ZmYgdGhhdCBnb2VzIGludG8gdGhpcyBTMyBCdWNrZXQgYW5kXG4gKiAgRUNSIFJlcG9zaXRvcnk/IENhbiB3ZSBldmVyIHJlbGlhYmx5IGNsZWFudXA/IFdlIHByb2JhYmx5IG5lZWRcbiAqICBzb21lIHN0cmF0ZWd5IGZvciBob3cgd2UgcHV0IHN0dWZmIGhlcmUgdG8gYmUgYWJsZSB0byBkbyBpdC5cbiAqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWlsZEFydGlmYWN0cyBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBwdWJsaWMgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeUFybjogc3RyaW5nXG4gIHB1YmxpYyByZWFkb25seSBlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nXG4gIHB1YmxpYyByZWFkb25seSByb2xlPzogaWFtLlJvbGVcbiAgcHVibGljIHJlYWRvbmx5IGxpbWl0ZWRSb2xlPzogaWFtLlJvbGVcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGlmICghdmFsaWRhdGVQcm9wcyhwcm9wcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgcHJvcHMgd2VyZSBzdXBwbGllZFwiKVxuICAgIH1cblxuICAgIHRoaXMuYnVja2V0TmFtZSA9IHByb3BzLmJ1Y2tldE5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlOYW1lID0gcHJvcHMuZWNyUmVwb3NpdG9yeU5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlBcm4gPSBjZGsuQXJuLmZvcm1hdChcbiAgICAgIHtcbiAgICAgICAgc2VydmljZTogXCJlY3JcIixcbiAgICAgICAgcmVzb3VyY2U6IFwicmVwb3NpdG9yeVwiLFxuICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICB9LFxuICAgICAgY2RrLlN0YWNrLm9mKHRoaXMpLFxuICAgIClcblxuICAgIGNvbnN0IGVjclJlcG9zaXRvcnlOYW1lID0gcHJvcHMuZWNyUmVwb3NpdG9yeU5hbWVcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgXCJTM0J1Y2tldFwiLCB7XG4gICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lLFxuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgZXZlbnRCcmlkZ2VFbmFibGVkOiB0cnVlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIHZlcnNpb25lZDogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IGNkay5EdXJhdGlvbi5kYXlzKDEwKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIGNvbnN0IGVjclJlcG8gPSBuZXcgZWNyLlJlcG9zaXRvcnkodGhpcywgXCJFY3JSZXBvc2l0b3J5XCIsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBlY3JSZXBvc2l0b3J5TmFtZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBwcm9wcy5lY3JSZXBvc2l0b3J5TGlmZWN5Y2xlUnVsZXMgfHwgW1xuICAgICAgICB7XG4gICAgICAgICAgbWF4SW1hZ2VBZ2U6IGNkay5EdXJhdGlvbi5kYXlzKDEwKSxcbiAgICAgICAgICB0YWdTdGF0dXM6IGVjci5UYWdTdGF0dXMuVU5UQUdHRUQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtYXhJbWFnZUFnZTogY2RrLkR1cmF0aW9uLmRheXMoMTgwKSxcbiAgICAgICAgICB0YWdTdGF0dXM6IGVjci5UYWdTdGF0dXMuQU5ZLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KVxuXG4gICAgLy8gQWxsb3cgYSB0YXJnZXQgdG8gcmVhZCBmcm9tIHRoZSByZXBvcy4gQXMgYW55IHNwZWNpZmljIHJvbGVzIG5lZWRcbiAgICAvLyB0byBleGlzdCBiZWZvcmUgd2UgY2FuIGdyYW50IGFjY2Vzcywgd2UgZGVsZWdhdGUgdGhhdCByZXNwb25zaWJpbGl0eVxuICAgIC8vIHRvIHRoZSB0YXJnZXQgYWNjb3VudC5cbiAgICBmb3IgKGNvbnN0IHRhcmdldEFjY291bnRJZCBvZiBwcm9wcy50YXJnZXRBY2NvdW50SWRzIHx8IFtdKSB7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkKG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbCh0YXJnZXRBY2NvdW50SWQpKVxuICAgICAgZWNyUmVwby5ncmFudFB1bGwobmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKHRhcmdldEFjY291bnRJZCkpXG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmdpdGh1YkFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IHRydXN0ZWRPd25lcnMgPSBwcm9wcy5naXRodWJBY3Rpb25zLnRydXN0ZWRPd25lcnMgPz8gW1xuICAgICAgICBcImNhcHJhbGlmZWN5Y2xlXCIsXG4gICAgICBdXG4gICAgICAvLyBOT1RFOiBUaGVyZSdzIGFuIEwyIGNvbnN0cnVjdCB0aGF0IHByZWRhdGVzIHRoZSBvZmZpY2lhbCBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSxcbiAgICAgIC8vIGFuZCBpdCBpcyB0aGVyZWZvcmUgaW1wbGVtZW50ZWQgYXMgYSBjdXN0b20gcmVzb3VyY2UuXG4gICAgICAvLyBXZSB1c2UgdGhlIEwxIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIGluc3RlYWQgYmVjYXVzZTpcbiAgICAgIC8vIDEpIGl0J3Mgc2ltcGxlclxuICAgICAgLy8gMikgdGhlcmUncyBhIGNoYW5jZSB0aGUgTDIgY29uc3RydWN0IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgZnV0dXJlIGluIGZhdm9yXG4gICAgICAvLyBvZiB0aGUgb2ZmaWNpYWwgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UuXG4gICAgICBjb25zdCBjZm5PaWRjUHJvdmlkZXIgPSBuZXcgaWFtLkNmbk9JRENQcm92aWRlcihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJPcGVuSWRDb25uZWN0UHJvdmlkZXJcIixcbiAgICAgICAge1xuICAgICAgICAgIHVybDogXCJodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tXCIsXG4gICAgICAgICAgY2xpZW50SWRMaXN0OiBbXCJzdHMuYW1hem9uYXdzLmNvbVwiXSxcbiAgICAgICAgICAvLyBOT1RFOiBUaGUgdGh1bWJwcmludCBpc24ndCBhY3R1YWxseSB1c2VkLCBidXQgdGhlIEFXUyBBUEkgc3RpbGwgcmVxdWlyZXMgdXMgdG8gc3VwcGx5IGl0LlxuICAgICAgICAgIC8vIE1vcmUgZGV0YWlscyBoZXJlOiBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAyNDAxMjIxNTU3NTgvaHR0cHM6Ly9naXRodWIuY29tL2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHMvaXNzdWVzLzM1NyNpc3N1ZWNvbW1lbnQtMTYyNjM1NzMzM1xuICAgICAgICAgIHRodW1icHJpbnRMaXN0OiBbXCIxYzU4YTNhODUxOGU4NzU5YmYwNzViNzZiNzUwZDRmMmRmMjY0ZmNkXCJdLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgICAgY29uc3Qgb2lkY1Byb3ZpZGVyID1cbiAgICAgICAgaWFtLk9wZW5JZENvbm5lY3RQcm92aWRlci5mcm9tT3BlbklkQ29ubmVjdFByb3ZpZGVyQXJuKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgXCJQcm92aWRlclwiLFxuICAgICAgICAgIGNmbk9pZGNQcm92aWRlci5yZWYsXG4gICAgICAgIClcbiAgICAgIGNvbnN0IGNyZWF0ZUxpbWl0ZWRSb2xlID1cbiAgICAgICAgcHJvcHMuZ2l0aHViQWN0aW9ucy5saW1pdGVkUm9sZUNvbmZpZ3VyYXRpb24/LmVuYWJsZWQgPz8gdHJ1ZVxuICAgICAgY29uc3Qgcm9sZSA9IG5ldyBHaXRodWJBY3Rpb25zUm9sZSh0aGlzLCBcIkdpdGh1YkFjdGlvbnNSb2xlXCIsIHtcbiAgICAgICAgb2lkY1Byb3ZpZGVyLFxuICAgICAgICB0cnVzdGVkT3duZXJzLFxuICAgICAgICByb2xlTmFtZTogcHJvcHMuZ2l0aHViQWN0aW9ucy5yb2xlTmFtZSA/PyBcImdpdGh1Yi1hY3Rpb25zLXJvbGVcIixcbiAgICAgICAgdHJ1c3RlZEJyYW5jaDogY3JlYXRlTGltaXRlZFJvbGVcbiAgICAgICAgICA/IChwcm9wcy5naXRodWJBY3Rpb25zLmRlZmF1bHRCcmFuY2ggPz8gXCJtYXN0ZXJcIilcbiAgICAgICAgICA6IC8vIE5PVEU6IElmIHRoZSBsaW1pdGVkIHJvbGUgaXMgZGlzYWJsZWQsIG9ubHkgb25lIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAgICAgICAgICAvLyBhbmQgdGhhdCByb2xlIHRoZW4gbmVlZHMgdG8gYmUgYXNzdW1hYmxlIGZyb20gYWxsIGJyYW5jaGVzLlxuICAgICAgICAgICAgXCIqXCIsXG4gICAgICAgIHJlcG9zaXRvcmllczogcHJvcHMuZ2l0aHViQWN0aW9ucy5yZXBvc2l0b3JpZXMsXG4gICAgICB9KVxuICAgICAgdGhpcy5yb2xlID0gcm9sZS5yb2xlXG4gICAgICB0aGlzLnJvbGUuYWRkVG9Qb2xpY3kocG9saWN5U3RhdGVtZW50cy5hbGxvd1BpcGVsaW5lVmFyaWFibGVzKHRoaXMpKVxuICAgICAgYnVja2V0LmdyYW50UHV0KHRoaXMucm9sZSlcbiAgICAgIGVjclJlcG8uZ3JhbnRQdWxsUHVzaCh0aGlzLnJvbGUpXG4gICAgICBpZiAoY3JlYXRlTGltaXRlZFJvbGUpIHtcbiAgICAgICAgY29uc3QgbGltaXRlZFJvbGUgPSBuZXcgR2l0aHViQWN0aW9uc1JvbGUoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBcIkdpdGh1YkFjdGlvbnNMaW1pdGVkUm9sZVwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9pZGNQcm92aWRlcixcbiAgICAgICAgICAgIHRydXN0ZWRPd25lcnMsXG4gICAgICAgICAgICByb2xlTmFtZTpcbiAgICAgICAgICAgICAgcHJvcHMuZ2l0aHViQWN0aW9ucy5saW1pdGVkUm9sZUNvbmZpZ3VyYXRpb24/LnJvbGVOYW1lID8/XG4gICAgICAgICAgICAgIFwiZ2l0aHViLWFjdGlvbnMtbGltaXRlZC1yb2xlXCIsXG4gICAgICAgICAgICAvLyBOT1RFOiBUaGUgbGltaXRlZCByb2xlIGNhbiBiZSBhc3N1bWVkIGZyb20gYWxsIGJyYW5jaGVzLlxuICAgICAgICAgICAgdHJ1c3RlZEJyYW5jaDogXCIqXCIsXG4gICAgICAgICAgICByZXBvc2l0b3JpZXM6IHByb3BzLmdpdGh1YkFjdGlvbnMucmVwb3NpdG9yaWVzLFxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgICAgdGhpcy5saW1pdGVkUm9sZSA9IGxpbWl0ZWRSb2xlLnJvbGVcbiAgICAgICAgdGhpcy5saW1pdGVkUm9sZS5hZGRUb1BvbGljeShcbiAgICAgICAgICBwb2xpY3lTdGF0ZW1lbnRzLmFsbG93UGlwZWxpbmVWYXJpYWJsZXModGhpcywgXCJkZXYqXCIpLFxuICAgICAgICApXG4gICAgICAgIHRoaXMubGltaXRlZFJvbGUuYWRkVG9Qb2xpY3koXG4gICAgICAgICAgcG9saWN5U3RhdGVtZW50cy5kZW55UHJvZFBpcGVsaW5lcyhzY29wZSwgYnVja2V0KSxcbiAgICAgICAgKVxuICAgICAgICBidWNrZXQuZ3JhbnRQdXQodGhpcy5saW1pdGVkUm9sZSlcbiAgICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKHRoaXMubGltaXRlZFJvbGUpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5jaVJvbGVOYW1lKSB7XG4gICAgICBjb25zdCBsZWdhY3lSb2xlRm9ySmVua2lucyA9IG5ldyBpYW0uUm9sZSh0aGlzLCBcIkNpUm9sZVwiLCB7XG4gICAgICAgIHJvbGVOYW1lOiBwcm9wcy5jaVJvbGVOYW1lLFxuICAgICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQXJuUHJpbmNpcGFsKFxuICAgICAgICAgIFwiYXJuOmF3czppYW06OjkyMzQwMjA5NzA0Njpyb2xlL2J1aWxkdG9vbHMtamVua2lucy1Sb2xlSmVua2luc1NsYXZlLUpRR1lIUjVXRTZDNVwiLFxuICAgICAgICApLFxuICAgICAgfSlcbiAgICAgIGxlZ2FjeVJvbGVGb3JKZW5raW5zLmFkZFRvUG9saWN5KFxuICAgICAgICBwb2xpY3lTdGF0ZW1lbnRzLmFsbG93UGlwZWxpbmVWYXJpYWJsZXModGhpcyksXG4gICAgICApXG4gICAgICBidWNrZXQuZ3JhbnRQdXQobGVnYWN5Um9sZUZvckplbmtpbnMpXG4gICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2gobGVnYWN5Um9sZUZvckplbmtpbnMpXG4gICAgfVxuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJFY3JSZXBvVXJpXCIsIHtcbiAgICAgIHZhbHVlOiBlY3JSZXBvLnJlcG9zaXRvcnlVcmksXG4gICAgfSlcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiQnVja2V0TmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgfSlcblxuICAgIGlmICh0aGlzLnJvbGUpIHtcbiAgICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiUm9sZUFyblwiLCB7XG4gICAgICAgIHZhbHVlOiB0aGlzLnJvbGUucm9sZUFybixcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmICh0aGlzLmxpbWl0ZWRSb2xlKSB7XG4gICAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIkxpbWl0ZWRSb2xlQXJuXCIsIHtcbiAgICAgICAgdmFsdWU6IHRoaXMubGltaXRlZFJvbGUucm9sZUFybixcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { GetObjectCommand, S3Client } from "@aws-sdk/client-s3";
2
1
  import { CodePipelineClient, PutJobFailureResultCommand, PutJobSuccessResultCommand, } from "@aws-sdk/client-codepipeline";
2
+ import { GetObjectCommand, S3Client } from "@aws-sdk/client-s3";
3
3
  import { Upload } from "@aws-sdk/lib-storage";
4
4
  export const handler = async (event, context) => {
5
5
  const s3Client = new S3Client();
@@ -67,4 +67,4 @@ export const handler = async (event, context) => {
67
67
  console.error("Failed", e);
68
68
  }
69
69
  };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDL0QsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEdBQzNCLE1BQU0sOEJBQThCLENBQUE7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBMEM3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQVksS0FBSyxFQUFFLEtBQXdCLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQTtJQUMvQixNQUFNLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQTtJQUVuRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFMUMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxpQkFBaUIsR0FDckIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWE7YUFDN0QsY0FBYyxDQUFBO1FBRW5CLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtRQUVqRCxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDL0IsaUJBQWlCLENBQ21CLENBQUE7UUFFdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1FBQzlDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxD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O1lBQ0QsS0FBSztTQUNOLENBQUMsQ0FDSCxDQUFBO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUIsQ0FBQztBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCJcbmltcG9ydCB7IEdldE9iamVjdENvbW1hbmQsIFMzQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zM1wiXG5pbXBvcnQge1xuICBDb2RlUGlwZWxpbmVDbGllbnQsXG4gIFB1dEpvYkZhaWx1cmVSZXN1bHRDb21tYW5kLFxuICBQdXRKb2JTdWNjZXNzUmVzdWx0Q29tbWFuZCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jb2RlcGlwZWxpbmVcIlxuaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcIkBhd3Mtc2RrL2xpYi1zdG9yYWdlXCJcblxuLy8gUmVsZXZhbnQgZmllbGRzIGZyb21cbi8vIGh0dHBzOi8vZG9jcy5hbWF6b25hd3MuY24vZW5fdXMvbGFtYmRhL2xhdGVzdC9kZy9zZXJ2aWNlcy1jb2RlcGlwZWxpbmUuaHRtbFxuaW50ZXJmYWNlIENvZGVQaXBlbGluZUV2ZW50IHtcbiAgXCJDb2RlUGlwZWxpbmUuam9iXCI6IHtcbiAgICBpZDogc3RyaW5nXG4gICAgZGF0YToge1xuICAgICAgYWN0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgLy8gSlNPTlxuICAgICAgICAgIFVzZXJQYXJhbWV0ZXJzOiBzdHJpbmdcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb3V0cHV0QXJ0aWZhY3RzOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICBsb2NhdGlvbjoge1xuICAgICAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgICAgIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICAgICAgICAgICAgb2JqZWN0S2V5OiBzdHJpbmdcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1bXVxuICAgICAgYXJ0aWZhY3RDcmVkZW50aWFsczoge1xuICAgICAgICBhY2Nlc3NLZXlJZDogc3RyaW5nXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogc3RyaW5nXG4gICAgICAgIHNlc3Npb25Ub2tlbjogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBDbG91ZEFzc2VtYmx5UmVmZXJlbmNlIHtcbiAgY2xvdWRBc3NlbWJseUJ1Y2tldE5hbWU6IHN0cmluZ1xuICBjbG91ZEFzc2VtYmx5QnVja2V0S2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMge1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgb2JqZWN0S2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGhhbmRsZXI6IEhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IENvZGVQaXBlbGluZUV2ZW50LCBjb250ZXh0KSA9PiB7XG4gIGNvbnN0IHMzQ2xpZW50ID0gbmV3IFMzQ2xpZW50KClcbiAgY29uc3QgY29kZXBpcGVsaW5lQ2xpZW50ID0gbmV3IENvZGVQaXBlbGluZUNsaWVudCgpXG5cbiAgY29uc3Qgam9iSWQgPSBldmVudFtcIkNvZGVQaXBlbGluZS5qb2JcIl0uaWRcblxuICB0cnkge1xuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzUmF3ID1cbiAgICAgIGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5kYXRhLmFjdGlvbkNvbmZpZ3VyYXRpb24uY29uZmlndXJhdGlvblxuICAgICAgICAuVXNlclBhcmFtZXRlcnNcblxuICAgIGNvbnNvbGUubG9nKFwiVXNlciBwYXJhbWV0ZXJzXCIsIHVzZXJQYXJhbWV0ZXJzUmF3KVxuXG4gICAgY29uc29sZS5sb2coXCJQYXJzaW5nIHVzZXIgcGFyYW1ldGVyc1wiKVxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzID0gSlNPTi5wYXJzZShcbiAgICAgIHVzZXJQYXJhbWV0ZXJzUmF3LFxuICAgICkgYXMgQ2xvdWRBc3NlbWJseUxvb2t1cFVzZXJQYXJhbWV0ZXJzXG5cbiAgICBjb25zb2xlLmxvZyhcIkZldGNoaW5nIHJlZmVyZW5jZSBkYXRhIGZyb20gUzNcIilcbiAgICBjb25zdCBnZXRSZWZlcmVuY2VEYXRhUmVzcCA9IGF3YWl0IHMzQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgR2V0T2JqZWN0Q29tbWFuZCh7XG4gICAgICAgIEJ1Y2tldDogdXNlclBhcmFtZXRlcnMuYnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiB1c2VyUGFyYW1ldGVycy5vYmplY3RLZXksXG4gICAgICB9KSxcbiAgICApXG4gICAgY29uc3QgcmVmZXJlbmNlRGF0YSA9XG4gICAgICBhd2FpdCBnZXRSZWZlcmVuY2VEYXRhUmVzcC5Cb2R5IS50cmFuc2Zvcm1Ub1N0cmluZyhcInV0Zi04XCIpXG5cbiAgICBjb25zb2xlLmxvZyhcIlBhcnNpbmcgcmVmZXJlbmNlIGRhdGEgZnJvbSBTM1wiKVxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UgPSBKU09OLnBhcnNlKFxuICAgICAgcmVmZXJlbmNlRGF0YSxcbiAgICApIGFzIENsb3VkQXNzZW1ibHlSZWZlcmVuY2VcblxuICAgIGNvbnN0IG91dHB1dEFydGlmYWN0ID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEub3V0cHV0QXJ0aWZhY3RzWzBdXG4gICAgY29uc3QgczNMb2MgPSBvdXRwdXRBcnRpZmFjdC5sb2NhdGlvbi5zM0xvY2F0aW9uXG5cbiAgICBjb25zb2xlLmxvZyhcIkZldGNoaW5nIENsb3VkIEFzc2VtYmx5IFpJUCBkYXRhIGZyb20gUzNcIilcbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5WmlwRGF0YSA9IGF3YWl0IHMzQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgR2V0T2JqZWN0Q29tbWFuZCh7XG4gICAgICAgIEJ1Y2tldDogY2xvdWRBc3NlbWJseVJlZmVyZW5jZS5jbG91ZEFzc2VtYmx5QnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiBjbG91ZEFzc2VtYmx5UmVmZXJlbmNlLmNsb3VkQXNzZW1ibHlCdWNrZXRLZXksXG4gICAgICB9KSxcbiAgICApXG4gICAgY29uc29sZS5sb2coXG4gICAgICBcIkNvbnRlbnQtTGVuZ3RoIG9mIENsb3VkIEFzc2VtYmx5IChieXRlcylcIixcbiAgICAgIGNsb3VkQXNzZW1ibHlaaXBEYXRhLkNvbnRlbnRMZW5ndGgsXG4gICAgKVxuXG4gICAgY29uc29sZS5sb2coXCJDcmVhdGluZyBhdXRoZW50aWNhdGVkIFMzIGNsaWVudCBmb3IgYXJ0aWZhY3QgdXBsb2FkXCIpXG4gICAgY29uc3QgYXJ0aWZhY3RDcmVkcyA9IGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5kYXRhLmFydGlmYWN0Q3JlZGVudGlhbHNcbiAgICBpZiAoYXJ0aWZhY3RDcmVkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiTm8gYXJ0aWZhY3QgY3JlZGVudGlhbHMgZm91bmQgaW4gam9iIGV2ZW50XCIpXG4gICAgfVxuICAgIGNvbnN0IGF1dGhlZFMzQ2xpZW50ID0gbmV3IFMzQ2xpZW50KHtcbiAgICAgIGNyZWRlbnRpYWxzOiBhcnRpZmFjdENyZWRzLFxuICAgIH0pXG5cbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGBVcGxvYWRpbmcgQ2xvdWQgQXNzZW1ibHkgWklQIHRvIHMzOi8vJHtzM0xvYy5idWNrZXROYW1lfS8ke3MzTG9jLm9iamVjdEtleX1gLFxuICAgIClcblxuICAgIGNvbnN0IHVwbG9hZCA9IG5ldyBVcGxvYWQoe1xuICAgICAgY2xpZW50OiBhdXRoZWRTM0NsaWVudCxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBCdWNrZXQ6IHMzTG9jLmJ1Y2tldE5hbWUsXG4gICAgICAgIEtleTogczNMb2Mub2JqZWN0S2V5LFxuICAgICAgICBCb2R5OiBjbG91ZEFzc2VtYmx5WmlwRGF0YS5Cb2R5LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgdXBsb2FkLm9uKFwiaHR0cFVwbG9hZFByb2dyZXNzXCIsIChwcm9ncmVzcykgPT4ge1xuICAgICAgY29uc29sZS5sb2cocHJvZ3Jlc3MpXG4gICAgfSlcblxuICAgIGF3YWl0IHVwbG9hZC5kb25lKClcblxuICAgIGNvbnNvbGUubG9nKFwiU2VuZGluZyBzdWNjZXNzIHJlc3VsdCB0byBDb2RlUGlwZWxpbmVcIilcbiAgICBhd2FpdCBjb2RlcGlwZWxpbmVDbGllbnQuc2VuZChcbiAgICAgIG5ldyBQdXRKb2JTdWNjZXNzUmVzdWx0Q29tbWFuZCh7XG4gICAgICAgIGpvYklkLFxuICAgICAgfSksXG4gICAgKVxuICAgIGNvbnNvbGUubG9nKFwiU3VjY2Vzc1wiKVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5sb2coXCJTZW5kaW5nIGZhaWx1cmUgcmVzdWx0IHRvIENvZGVQaXBlbGluZVwiKVxuICAgIGF3YWl0IGNvZGVwaXBlbGluZUNsaWVudC5zZW5kKFxuICAgICAgbmV3IFB1dEpvYkZhaWx1cmVSZXN1bHRDb21tYW5kKHtcbiAgICAgICAgZmFpbHVyZURldGFpbHM6IHtcbiAgICAgICAgICBtZXNzYWdlOiBKU09OLnN0cmluZ2lmeShlKSxcbiAgICAgICAgICB0eXBlOiBcIkpvYkZhaWxlZFwiLFxuICAgICAgICAgIGV4dGVybmFsRXhlY3V0aW9uSWQ6IGNvbnRleHQuYXdzUmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgICBqb2JJZCxcbiAgICAgIH0pLFxuICAgIClcbiAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkXCIsIGUpXG4gIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQiwwQkFBMEIsR0FDM0IsTUFBTSw4QkFBOEIsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBMkM3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQVksS0FBSyxFQUFFLEtBQXdCLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQTtJQUMvQixNQUFNLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQTtJQUVuRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFMUMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxpQkFBaUIsR0FDckIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWE7YUFDN0QsY0FBYyxDQUFBO1FBRW5CLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtRQUVqRCxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDL0IsaUJBQWlCLENBQ21CLENBQUE7UUFFdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1FBQzlDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxD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O1lBQ0QsS0FBSztTQUNOLENBQUMsQ0FDSCxDQUFBO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUIsQ0FBQztBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvZGVQaXBlbGluZUNsaWVudCxcbiAgUHV0Sm9iRmFpbHVyZVJlc3VsdENvbW1hbmQsXG4gIFB1dEpvYlN1Y2Nlc3NSZXN1bHRDb21tYW5kLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvZGVwaXBlbGluZVwiXG5pbXBvcnQgeyBHZXRPYmplY3RDb21tYW5kLCBTM0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIlxuaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcIkBhd3Mtc2RrL2xpYi1zdG9yYWdlXCJcbmltcG9ydCB0eXBlIHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCJcblxuLy8gUmVsZXZhbnQgZmllbGRzIGZyb21cbi8vIGh0dHBzOi8vZG9jcy5hbWF6b25hd3MuY24vZW5fdXMvbGFtYmRhL2xhdGVzdC9kZy9zZXJ2aWNlcy1jb2RlcGlwZWxpbmUuaHRtbFxuaW50ZXJmYWNlIENvZGVQaXBlbGluZUV2ZW50IHtcbiAgXCJDb2RlUGlwZWxpbmUuam9iXCI6IHtcbiAgICBpZDogc3RyaW5nXG4gICAgZGF0YToge1xuICAgICAgYWN0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgLy8gSlNPTlxuICAgICAgICAgIFVzZXJQYXJhbWV0ZXJzOiBzdHJpbmdcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb3V0cHV0QXJ0aWZhY3RzOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICBsb2NhdGlvbjoge1xuICAgICAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgICAgIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICAgICAgICAgICAgb2JqZWN0S2V5OiBzdHJpbmdcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1bXVxuICAgICAgYXJ0aWZhY3RDcmVkZW50aWFsczoge1xuICAgICAgICBhY2Nlc3NLZXlJZDogc3RyaW5nXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogc3RyaW5nXG4gICAgICAgIHNlc3Npb25Ub2tlbjogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBDbG91ZEFzc2VtYmx5UmVmZXJlbmNlIHtcbiAgY2xvdWRBc3NlbWJseUJ1Y2tldE5hbWU6IHN0cmluZ1xuICBjbG91ZEFzc2VtYmx5QnVja2V0S2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMge1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgb2JqZWN0S2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGhhbmRsZXI6IEhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IENvZGVQaXBlbGluZUV2ZW50LCBjb250ZXh0KSA9PiB7XG4gIGNvbnN0IHMzQ2xpZW50ID0gbmV3IFMzQ2xpZW50KClcbiAgY29uc3QgY29kZXBpcGVsaW5lQ2xpZW50ID0gbmV3IENvZGVQaXBlbGluZUNsaWVudCgpXG5cbiAgY29uc3Qgam9iSWQgPSBldmVudFtcIkNvZGVQaXBlbGluZS5qb2JcIl0uaWRcblxuICB0cnkge1xuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzUmF3ID1cbiAgICAgIGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5kYXRhLmFjdGlvbkNvbmZpZ3VyYXRpb24uY29uZmlndXJhdGlvblxuICAgICAgICAuVXNlclBhcmFtZXRlcnNcblxuICAgIGNvbnNvbGUubG9nKFwiVXNlciBwYXJhbWV0ZXJzXCIsIHVzZXJQYXJhbWV0ZXJzUmF3KVxuXG4gICAgY29uc29sZS5sb2coXCJQYXJzaW5nIHVzZXIgcGFyYW1ldGVyc1wiKVxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzID0gSlNPTi5wYXJzZShcbiAgICAgIHVzZXJQYXJhbWV0ZXJzUmF3LFxuICAgICkgYXMgQ2xvdWRBc3NlbWJseUxvb2t1cFVzZXJQYXJhbWV0ZXJzXG5cbiAgICBjb25zb2xlLmxvZyhcIkZldGNoaW5nIHJlZmVyZW5jZSBkYXRhIGZyb20gUzNcIilcbiAgICBjb25zdCBnZXRSZWZlcmVuY2VEYXRhUmVzcCA9IGF3YWl0IHMzQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgR2V0T2JqZWN0Q29tbWFuZCh7XG4gICAgICAgIEJ1Y2tldDogdXNlclBhcmFtZXRlcnMuYnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiB1c2VyUGFyYW1ldGVycy5vYmplY3RLZXksXG4gICAgICB9KSxcbiAgICApXG4gICAgY29uc3QgcmVmZXJlbmNlRGF0YSA9XG4gICAgICBhd2FpdCBnZXRSZWZlcmVuY2VEYXRhUmVzcC5Cb2R5IS50cmFuc2Zvcm1Ub1N0cmluZyhcInV0Zi04XCIpXG5cbiAgICBjb25zb2xlLmxvZyhcIlBhcnNpbmcgcmVmZXJlbmNlIGRhdGEgZnJvbSBTM1wiKVxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UgPSBKU09OLnBhcnNlKFxuICAgICAgcmVmZXJlbmNlRGF0YSxcbiAgICApIGFzIENsb3VkQXNzZW1ibHlSZWZlcmVuY2VcblxuICAgIGNvbnN0IG91dHB1dEFydGlmYWN0ID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEub3V0cHV0QXJ0aWZhY3RzWzBdXG4gICAgY29uc3QgczNMb2MgPSBvdXRwdXRBcnRpZmFjdC5sb2NhdGlvbi5zM0xvY2F0aW9uXG5cbiAgICBjb25zb2xlLmxvZyhcIkZldGNoaW5nIENsb3VkIEFzc2VtYmx5IFpJUCBkYXRhIGZyb20gUzNcIilcbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5WmlwRGF0YSA9IGF3YWl0IHMzQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgR2V0T2JqZWN0Q29tbWFuZCh7XG4gICAgICAgIEJ1Y2tldDogY2xvdWRBc3NlbWJseVJlZmVyZW5jZS5jbG91ZEFzc2VtYmx5QnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiBjbG91ZEFzc2VtYmx5UmVmZXJlbmNlLmNsb3VkQXNzZW1ibHlCdWNrZXRLZXksXG4gICAgICB9KSxcbiAgICApXG4gICAgY29uc29sZS5sb2coXG4gICAgICBcIkNvbnRlbnQtTGVuZ3RoIG9mIENsb3VkIEFzc2VtYmx5IChieXRlcylcIixcbiAgICAgIGNsb3VkQXNzZW1ibHlaaXBEYXRhLkNvbnRlbnRMZW5ndGgsXG4gICAgKVxuXG4gICAgY29uc29sZS5sb2coXCJDcmVhdGluZyBhdXRoZW50aWNhdGVkIFMzIGNsaWVudCBmb3IgYXJ0aWZhY3QgdXBsb2FkXCIpXG4gICAgY29uc3QgYXJ0aWZhY3RDcmVkcyA9IGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5kYXRhLmFydGlmYWN0Q3JlZGVudGlhbHNcbiAgICBpZiAoYXJ0aWZhY3RDcmVkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiTm8gYXJ0aWZhY3QgY3JlZGVudGlhbHMgZm91bmQgaW4gam9iIGV2ZW50XCIpXG4gICAgfVxuICAgIGNvbnN0IGF1dGhlZFMzQ2xpZW50ID0gbmV3IFMzQ2xpZW50KHtcbiAgICAgIGNyZWRlbnRpYWxzOiBhcnRpZmFjdENyZWRzLFxuICAgIH0pXG5cbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGBVcGxvYWRpbmcgQ2xvdWQgQXNzZW1ibHkgWklQIHRvIHMzOi8vJHtzM0xvYy5idWNrZXROYW1lfS8ke3MzTG9jLm9iamVjdEtleX1gLFxuICAgIClcblxuICAgIGNvbnN0IHVwbG9hZCA9IG5ldyBVcGxvYWQoe1xuICAgICAgY2xpZW50OiBhdXRoZWRTM0NsaWVudCxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBCdWNrZXQ6IHMzTG9jLmJ1Y2tldE5hbWUsXG4gICAgICAgIEtleTogczNMb2Mub2JqZWN0S2V5LFxuICAgICAgICBCb2R5OiBjbG91ZEFzc2VtYmx5WmlwRGF0YS5Cb2R5LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgdXBsb2FkLm9uKFwiaHR0cFVwbG9hZFByb2dyZXNzXCIsIChwcm9ncmVzcykgPT4ge1xuICAgICAgY29uc29sZS5sb2cocHJvZ3Jlc3MpXG4gICAgfSlcblxuICAgIGF3YWl0IHVwbG9hZC5kb25lKClcblxuICAgIGNvbnNvbGUubG9nKFwiU2VuZGluZyBzdWNjZXNzIHJlc3VsdCB0byBDb2RlUGlwZWxpbmVcIilcbiAgICBhd2FpdCBjb2RlcGlwZWxpbmVDbGllbnQuc2VuZChcbiAgICAgIG5ldyBQdXRKb2JTdWNjZXNzUmVzdWx0Q29tbWFuZCh7XG4gICAgICAgIGpvYklkLFxuICAgICAgfSksXG4gICAgKVxuICAgIGNvbnNvbGUubG9nKFwiU3VjY2Vzc1wiKVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5sb2coXCJTZW5kaW5nIGZhaWx1cmUgcmVzdWx0IHRvIENvZGVQaXBlbGluZVwiKVxuICAgIGF3YWl0IGNvZGVwaXBlbGluZUNsaWVudC5zZW5kKFxuICAgICAgbmV3IFB1dEpvYkZhaWx1cmVSZXN1bHRDb21tYW5kKHtcbiAgICAgICAgZmFpbHVyZURldGFpbHM6IHtcbiAgICAgICAgICBtZXNzYWdlOiBKU09OLnN0cmluZ2lmeShlKSxcbiAgICAgICAgICB0eXBlOiBcIkpvYkZhaWxlZFwiLFxuICAgICAgICAgIGV4dGVybmFsRXhlY3V0aW9uSWQ6IGNvbnRleHQuYXdzUmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgICBqb2JJZCxcbiAgICAgIH0pLFxuICAgIClcbiAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkXCIsIGUpXG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
+ export type { LifligCdkPipelineProps } from "./liflig-cdk-pipeline";
1
2
  export { LifligCdkPipeline } from "./liflig-cdk-pipeline";
3
+ export type { SlackNotificationProps } from "./slack-notification";
2
4
  export { SlackNotification } from "./slack-notification";
3
5
  export { getVariable } from "./variables";
4
- export type { LifligCdkPipelineProps } from "./liflig-cdk-pipeline";
5
- export type { SlackNotificationProps } from "./slack-notification";
@@ -1,4 +1,4 @@
1
1
  export { LifligCdkPipeline } from "./liflig-cdk-pipeline";
2
2
  export { SlackNotification } from "./slack-notification";
3
3
  export { getVariable } from "./variables";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTGlmbGlnQ2RrUGlwZWxpbmUgfSBmcm9tIFwiLi9saWZsaWctY2RrLXBpcGVsaW5lXCJcbmV4cG9ydCB7IFNsYWNrTm90aWZpY2F0aW9uIH0gZnJvbSBcIi4vc2xhY2stbm90aWZpY2F0aW9uXCJcbmV4cG9ydCB7IGdldFZhcmlhYmxlIH0gZnJvbSBcIi4vdmFyaWFibGVzXCJcbmV4cG9ydCB0eXBlIHsgTGlmbGlnQ2RrUGlwZWxpbmVQcm9wcyB9IGZyb20gXCIuL2xpZmxpZy1jZGstcGlwZWxpbmVcIlxuZXhwb3J0IHR5cGUgeyBTbGFja05vdGlmaWNhdGlvblByb3BzIH0gZnJvbSBcIi4vc2xhY2stbm90aWZpY2F0aW9uXCJcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBMaWZsaWdDZGtQaXBlbGluZVByb3BzIH0gZnJvbSBcIi4vbGlmbGlnLWNkay1waXBlbGluZVwiXG5leHBvcnQgeyBMaWZsaWdDZGtQaXBlbGluZSB9IGZyb20gXCIuL2xpZmxpZy1jZGstcGlwZWxpbmVcIlxuZXhwb3J0IHR5cGUgeyBTbGFja05vdGlmaWNhdGlvblByb3BzIH0gZnJvbSBcIi4vc2xhY2stbm90aWZpY2F0aW9uXCJcbmV4cG9ydCB7IFNsYWNrTm90aWZpY2F0aW9uIH0gZnJvbSBcIi4vc2xhY2stbm90aWZpY2F0aW9uXCJcbmV4cG9ydCB7IGdldFZhcmlhYmxlIH0gZnJvbSBcIi4vdmFyaWFibGVzXCJcbiJdfQ==
@@ -1,8 +1,8 @@
1
- import * as constructs from "constructs";
2
1
  import * as codepipeline from "aws-cdk-lib/aws-codepipeline";
3
- import * as s3 from "aws-cdk-lib/aws-s3";
2
+ import type * as s3 from "aws-cdk-lib/aws-s3";
4
3
  import * as pipelines from "aws-cdk-lib/pipelines";
5
- import { SlackNotificationProps } from "./slack-notification";
4
+ import * as constructs from "constructs";
5
+ import { type SlackNotificationProps } from "./slack-notification";
6
6
  export interface LifligCdkPipelineProps {
7
7
  /**
8
8
  * Bucket holding pipeline configuration and trigger file.
@@ -1,18 +1,18 @@
1
- import * as constructs from "constructs";
1
+ import * as fs from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import * as path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import * as cdk from "aws-cdk-lib";
2
6
  import * as codepipeline from "aws-cdk-lib/aws-codepipeline";
3
7
  import * as codepipelineActions from "aws-cdk-lib/aws-codepipeline-actions";
4
- import * as iam from "aws-cdk-lib/aws-iam";
5
- import * as lambda from "aws-cdk-lib/aws-lambda";
6
8
  import * as events from "aws-cdk-lib/aws-events";
7
9
  import * as targets from "aws-cdk-lib/aws-events-targets";
8
- import * as cdk from "aws-cdk-lib";
9
- import * as pipelines from "aws-cdk-lib/pipelines";
10
- import * as fs from "fs";
11
- import * as path from "path";
12
- import { fileURLToPath } from "node:url";
13
- import { SlackNotification } from "./slack-notification";
10
+ import * as iam from "aws-cdk-lib/aws-iam";
11
+ import * as lambda from "aws-cdk-lib/aws-lambda";
14
12
  import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
15
- import { createRequire } from "node:module";
13
+ import * as pipelines from "aws-cdk-lib/pipelines";
14
+ import * as constructs from "constructs";
15
+ import { SlackNotification, } from "./slack-notification";
16
16
  const require = createRequire(import.meta.url);
17
17
  const __filename = fileURLToPath(import.meta.url);
18
18
  const __dirname = path.dirname(__filename);
@@ -82,16 +82,18 @@ export class LifligCdkPipeline extends constructs.Construct {
82
82
  let synth;
83
83
  let stages;
84
84
  switch (props.sourceType) {
85
- case "cloud-assembly":
85
+ case "cloud-assembly": {
86
86
  const cloudAssembly = this.cloudAssemblyStage(cloudAssemblyArtifact, this.artifactsBucket, props.pipelineName);
87
87
  synth = cloudAssembly.synth;
88
88
  stages = cloudAssembly.stages;
89
89
  break;
90
- case "cdk-source":
90
+ }
91
+ case "cdk-source": {
91
92
  const cdkSource = this.cdkSourceStage(cloudAssemblyArtifact, this.artifactsBucket, props.pipelineName, props.parametersNamespace ?? "default");
92
93
  synth = cdkSource.synth;
93
94
  stages = cdkSource.stages;
94
95
  break;
96
+ }
95
97
  }
96
98
  const dummyArtifact = new codepipeline.Artifact();
97
99
  this.triggerObjectKey = LifligCdkPipeline.pipelineS3TriggerKey(props.pipelineName);
@@ -233,4 +235,4 @@ export class LifligCdkPipeline extends constructs.Construct {
233
235
  });
234
236
  }
235
237
  }
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmbGlnLWNkay1waXBlbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstcGlwZWxpbmVzL2xpZmxpZy1jZGstcGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxLQUFLLFlBQVksTUFBTSw4QkFBOEIsQ0FBQTtBQUM1RCxPQUFPLEtBQUssbUJBQW1CLE1BQU0sc0NBQXNDLENBQUE7QUFDM0UsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLHdCQUF3QixDQUFBO0FBQ2hELE9BQU8sS0FBSyxNQUFNLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQ0FBZ0MsQ0FBQTtBQUV6RCxPQUFPLEtBQUssR0FBRyxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFBO0FBQ2xELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ3hCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFeEMsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHNCQUFzQixDQUFBO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTNDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzlDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMs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QUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1lBQ3BFLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxlQUFlLENBQUM7U0FDNUIsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxNQUFNLEdBQUc7WUFDYjtnQkFDRSxTQUFTLEVBQUUsa0JBQWtCO2dCQUM3QixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDekMsVUFBVSxFQUFFLG9CQUFvQjt3QkFDaEMsTUFBTSxFQUFFLGtCQUFrQjt3QkFDMUIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7d0JBQzVCLGNBQWM7cUJBQ2YsQ0FBQztpQkFDSDthQUNGO1NBQ0YsQ0FBQTtRQUNELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVELG9CQUFvQixDQUNsQixLQUdDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ25DLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMzQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZVwiXG5pbXBvcnQgKiBhcyBjb2RlcGlwZWxpbmVBY3Rpb25zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHNcIlxuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCJcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBwaXBlbGluZXMgZnJvbSBcImF3cy1jZGstbGliL3BpcGVsaW5lc1wiXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCJcbmltcG9ydCB7IENsb3VkQXNzZW1ibHlMb29rdXBVc2VyUGFyYW1ldGVycyB9IGZyb20gXCIuL2Nsb3VkLWFzc2VtYmx5LWxvb2t1cC1oYW5kbGVyXCJcbmltcG9ydCB7IFNsYWNrTm90aWZpY2F0aW9uLCBTbGFja05vdGlmaWNhdGlvblByb3BzIH0gZnJvbSBcIi4vc2xhY2stbm90aWZpY2F0aW9uXCJcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCJcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIlxuXG5jb25zdCByZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpXG5jb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpXG5jb25zdCBfX2Rpcm5hbWUgPSBwYXRoLmRpcm5hbWUoX19maWxlbmFtZSlcbmV4cG9ydCBpbnRlcmZhY2UgTGlmbGlnQ2RrUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBCdWNrZXQgaG9sZGluZyBwaXBlbGluZSBjb25maWd1cmF0aW9uIGFuZCB0cmlnZ2VyIGZpbGUuXG4gICAqL1xuICBhcnRpZmFjdHNCdWNrZXQ6IHMzLklCdWNrZXRcbiAgLyoqXG4gICAqIE5hbWUgb2YgcGlwZWxpbmUuIFRoaXMgaXMgdXNlZCBmb3IgdGhlIHBhdGggd2hlcmUgY29uZmlndXJhdGlvblxuICAgKiBpcyBzdG9yZWQgaW4gUzMuXG4gICAqL1xuICBwaXBlbGluZU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVHlwZSBvZiB1cGxvYWRlZCBhcnRpZmFjdC4gVGhpcyBjaGFuZ2VzIHRoZSBiZWhhdmlvdXIgb2YgdGhlXG4gICAqIHBpcGVsaW5lIGFuZCB3aGF0IGtpbmQgb2YgcHJvY2VzcyBpdCBwZXJmb3Jtcy5cbiAgICpcbiAgICogVHdvIHR5cGVzIGFyZSBzdXBwb3J0ZWQ6XG4gICAqXG4gICAqICAgLSBjZGstc291cmNlOiBUaGUgdXBsb2FkZWQgYXJ0aWZhY3QgcmVwcmVzZW50cyBhIENESyBhcHBsaWNhdGlvblxuICAgKiAgICAgYXMgc291cmNlIGNvZGUuIEEgYnVpbGQgc3RlcCB3aWxsIGNvbXBpbGUgdGhpcyBpbnRvIGFcbiAgICogICAgIENESyBDbG91ZCBBc3NlbWJseS5cbiAgICpcbiAgICogICAgIEFzIHBhcnQgb2Ygc3ludGhlc2l6aW5nIHRoaXMgaW50byBhIENESyBDbG91ZCBBc3NlbWJseSxcbiAgICogICAgIGEgZmlsZSBcInZhcmlhYmxlcy5qc29uXCIgd2lsbCBiZSB3cml0dGVuIGZvciB0aGVcbiAgICogICAgIENESyBhcHBsaWNhdGlvbiB0byBwYXJhbWV0ZXJpemUgdGhlIGJ1aWxkIGlmIGFueVxuICAgKiAgICAgdmFyaWFibGVzIGFyZSBmb3VuZCBpbiB0aGUgcGlwZWxpbmUgc291cmNlLlxuICAgKlxuICAgKiAgIC0gY2xvdWQtYXNzZW1ibHk6IFRoZSB1cGxvYWRlZCBhcnRpZmFjdCByZXByZXNlbnRzIGFcbiAgICogICAgIENESyBDbG91ZCBBc3NlbWJseSB3aGljaCBpcyByZWFkeSBmb3IgZGVwbG95bWVudC5cbiAgICpcbiAgICogICAgIFRoaXMgZG9lcyBub3Qgc3VwcG9ydCByZWFkaW5nIHZhcmlhYmxlcyBhdCB0aGUgY3VycmVudCB0aW1lXG4gICAqICAgICBzaW5jZSBDREsgUGlwZWxpbmVzIGRvbid0IHN1cHBvcnQgcGFyYW1ldGVyaXplZCBkZXBsb3lzLlxuICAgKiAgICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvOTU2MFxuICAgKi9cbiAgc291cmNlVHlwZTogXCJjZGstc291cmNlXCIgfCBcImNsb3VkLWFzc2VtYmx5XCJcbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2UgdXNlZCBmb3IgcGFyYW1ldGVycyBpbiBQYXJhbWV0ZXIgU3RvcmUuXG4gICAqXG4gICAqIE9ubHkgcmVsZXZhbnQgZm9yIHNvdXJjZVR5cGUgb2YgXCJjZGstc29ydWNlXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRcbiAgICovXG4gIHBhcmFtZXRlcnNOYW1lc3BhY2U/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDREsgUGlwZWxpbmUgZm9yIExpZmxpZy5cbiAqXG4gKiBBdm9pZCBwdXR0aW5nIG11bHRpcGxlIHBpcGVsaW5lcyBpbiBhIHN0YWNrLCBzaW5jZSB0aGUgcGlwZWxpbmVcbiAqIHdpbGwgYWxzbyBrZWVwIHRoZSBob3N0aW5nIHN0YWNrIHVwLXRvLWRhdGUuXG4gKlxuICogVGhlIHBpcGVsaW5lIGlzIGV4ZWN1dGVkIGJ5IHdyaXRpbmcgYW4gZW1wdHkgZmlsZSB0b1xuICogczM6Ly88YXJ0aWZhY3RzLWJ1Y2tldD4vcGlwZWxpbmVzLzxwaXBlbGluZS1uYW1lPi90cmlnZ2VyXG4gKlxuICogQ29uZmlndXJhdGlvbiBmaWxlcyBhcmUgcmVhZCBmcm9tIFMzIGF0IHRoZSBwYXRoXG4gKiBzMzovLzxhcnRpZmFjdHMtYnVja2V0Pi9waXBlbGluZXMvPHBpcGVsaW5lLW5hbWU+L1xuICpcbiAqIEZvciB1cGxvYWQgdHlwZSBcImNkay1zb3VyY2VcIjpcbiAqXG4gKiAgIC0gY2RrLXNvdXJjZS5qc29uIGhvbGRpbmcgYSBwb2ludGVyIHRvIHRoZSBhY3RpdmUgQ0RLIHNvdXJjZVxuICogICAgIHRoYXQgc2hvdWxkIGJlIHVzZWQuIFNjaGVtYTpcbiAqXG4gKiAgICAge1xuICogICAgICAgYnVja2V0TmFtZTogc3RyaW5nXG4gKiAgICAgICBidWNrZXRLZXk6IHN0cmluZ1xuICogICAgIH1cbiAqXG4gKiAgIC0gdmFyaWFibGVzKi5qc29uIHdoaWNoIGNhbiBiZSB6ZXJvIG9yIG1vcmUgZmlsZXNcbiAqICAgICB3aXRoIHN0cmluZy1zdHJpbmcgbWFwIGhvbGRpbmcgdmFyaWFibGVzIHRoYXQgd2lsbFxuICogICAgIGJlIHdyaXR0ZW4gdG8gdmFyaWFibGVzLmpzb24gYW5kIGNhbiBiZSByZWFkIGJ5IHRoZVxuICogICAgIHRoZSBDREsgYXBwbGljYXRpb24gZHVyaW5nIHN5bnRoZXNpemUuXG4gKlxuICogRm9yIHVwbG9hZCB0eXBlIFwiY2xvdWQtYXNzZW1ibHlcIjpcbiAqXG4gKiAgIC0gY2xvdWQtYXNzZW1ibHkuanNvbiBob2xkaW5nIGEgcG9pbnRlciB0byB0aGUgYWN0aXZlXG4gKiAgICAgQ0RLIENsb3VkIEFzc2VtYmx5IHRoYXQgc2hvdWxkIGJlIHVzZWQ6IFNjaGVtYTpcbiAqXG4gKiAgICAge1xuICogICAgICAgY2xvdWRBc3NlbWJseUJ1Y2tldE5hbWU6IHN0cmluZ1xuICogICAgICAgY2xvdWRBc3NlbWJseUJ1Y2tldEtleTogc3RyaW5nXG4gKiAgICAgfVxuICpcbiAqIFZhcmlhYmxlcyBlbmFibGVzIHNlcGFyYXRpb24gb2YgSWFDIGNvZGUgYW5kIGFwcGxpY2F0aW9uIGNvZGUgaWZcbiAqIHRoZXkgYXJlIG5vdCBjb2xvY2F0ZWQgaW4gdGhlIHNhbWUgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIExpZmxpZ0Nka1BpcGVsaW5lIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICAvKipcbiAgICogUGF0aCBvbiBTMyBmb3IgcGlwZWxpbmUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHN0YXRpYyBwaXBlbGluZVMzUHJlZml4KHBpcGVsaW5lTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vYFxuICB9XG5cbiAgLyoqXG4gICAqIEtleSBpbiBTMyBidWNrZXQgdXNlZCB0byB0cmlnZ2VyIHBpcGVsaW5lLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGVtcHR5IGZpbGUgd2l0aGluIHRoZSBwaXBlbGluZSBwYXRoLlxuICAgKi9cbiAgc3RhdGljIHBpcGVsaW5lUzNUcmlnZ2VyS2V5KHBpcGVsaW5lTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vdHJpZ2dlcmBcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBjZGtQaXBlbGluZTogcGlwZWxpbmVzLkNvZGVQaXBlbGluZVxuICBwdWJsaWMgcmVhZG9ubHkgY29kZVBpcGVsaW5lOiBjb2RlcGlwZWxpbmUuUGlwZWxpbmVcbiAgcHVibGljIHJlYWRvbmx5IGFydGlmYWN0c0J1Y2tldDogczMuSUJ1Y2tldFxuICBwdWJsaWMgcmVhZG9ubHkgdHJpZ2dlck9iamVjdEtleTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IExpZmxpZ0Nka1BpcGVsaW5lUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIHRoaXMuYXJ0aWZhY3RzQnVja2V0ID0gcHJvcHMuYXJ0aWZhY3RzQnVja2V0XG5cbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QgPSBuZXcgY29kZXBpcGVsaW5lLkFydGlmYWN0KClcblxuICAgIGxldCBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXJcbiAgICBsZXQgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdXG5cbiAgICBzd2l0Y2ggKHByb3BzLnNvdXJjZVR5cGUpIHtcbiAgICAgIGNhc2UgXCJjbG91ZC1hc3NlbWJseVwiOlxuICAgICAgICBjb25zdCBjbG91ZEFzc2VtYmx5ID0gdGhpcy5jbG91ZEFzc2VtYmx5U3RhZ2UoXG4gICAgICAgICAgY2xvdWRBc3NlbWJseUFydGlmYWN0LFxuICAgICAgICAgIHRoaXMuYXJ0aWZhY3RzQnVja2V0LFxuICAgICAgICAgIHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgICAgKVxuICAgICAgICBzeW50aCA9IGNsb3VkQXNzZW1ibHkuc3ludGhcbiAgICAgICAgc3RhZ2VzID0gY2xvdWRBc3NlbWJseS5zdGFnZXNcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJjZGstc291cmNlXCI6XG4gICAgICAgIGNvbnN0IGNka1NvdXJjZSA9IHRoaXMuY2RrU291cmNlU3RhZ2UoXG4gICAgICAgICAgY2xvdWRBc3NlbWJseUFydGlmYWN0LFxuICAgICAgICAgIHRoaXMuYXJ0aWZhY3RzQnVja2V0LFxuICAgICAgICAgIHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgICAgICBwcm9wcy5wYXJhbWV0ZXJzTmFtZXNwYWNlID8/IFwiZGVmYXVsdFwiLFxuICAgICAgICApXG4gICAgICAgIHN5bnRoID0gY2RrU291cmNlLnN5bnRoXG4gICAgICAgIHN0YWdlcyA9IGNka1NvdXJjZS5zdGFnZXNcbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjb25zdCBkdW1teUFydGlmYWN0ID0gbmV3IGNvZGVwaXBlbGluZS5BcnRpZmFjdCgpXG5cbiAgICB0aGlzLnRyaWdnZXJPYmplY3RLZXkgPSBMaWZsaWdDZGtQaXBlbGluZS5waXBlbGluZVMzVHJpZ2dlcktleShcbiAgICAgIHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICApXG5cbiAgICB0aGlzLmNvZGVQaXBlbGluZSA9IG5ldyBjb2RlcGlwZWxpbmUuUGlwZWxpbmUodGhpcywgXCJDb2RlUGlwZWxpbmVcIiwge1xuICAgICAgcGlwZWxpbmVOYW1lOiBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgICBwaXBlbGluZVR5cGU6IGNvZGVwaXBlbGluZS5QaXBlbGluZVR5cGUuVjEsXG4gICAgICBzdGFnZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHN0YWdlTmFtZTogXCJTb3VyY2VcIixcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBuZXcgY29kZXBpcGVsaW5lQWN0aW9ucy5TM1NvdXJjZUFjdGlvbih7XG4gICAgICAgICAgICAgIGFjdGlvbk5hbWU6IFwic291cmNlXCIsXG4gICAgICAgICAgICAgIGJ1Y2tldDogdGhpcy5hcnRpZmFjdHNCdWNrZXQsXG4gICAgICAgICAgICAgIHRyaWdnZXI6IGNvZGVwaXBlbGluZUFjdGlvbnMuUzNUcmlnZ2VyLk5PTkUsXG4gICAgICAgICAgICAgIGJ1Y2tldEtleTogdGhpcy50cmlnZ2VyT2JqZWN0S2V5LFxuICAgICAgICAgICAgICBvdXRwdXQ6IGR1bW15QXJ0aWZhY3QsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAuLi5zdGFnZXMsXG4gICAgICBdLFxuICAgICAgcmVzdGFydEV4ZWN1dGlvbk9uVXBkYXRlOiB0cnVlLFxuICAgIH0pXG5cbiAgICBuZXcgZXZlbnRzLlJ1bGUodGhpcywgXCJQaXBlbGluZVRyaWdnZXJcIiwge1xuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIHNvdXJjZTogW1wiYXdzLnMzXCJdLFxuICAgICAgICBkZXRhaWxUeXBlOiBbXCJPYmplY3QgQ3JlYXRlZFwiXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgYnVja2V0OiB7XG4gICAgICAgICAgICBuYW1lOiBbdGhpcy5hcnRpZmFjdHNCdWNrZXQuYnVja2V0TmFtZV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgIGtleTogW3RoaXMudHJpZ2dlck9iamVjdEtleV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0YXJnZXRzOiBbbmV3IHRhcmdldHMuQ29kZVBpcGVsaW5lKHRoaXMuY29kZVBpcGVsaW5lKV0sXG4gICAgfSlcblxuICAgIHRoaXMuY2RrUGlwZWxpbmUgPSBuZXcgcGlwZWxpbmVzLkNvZGVQaXBlbGluZSh0aGlzLCBcIkNka1BpcGVsaW5lXCIsIHtcbiAgICAgIHN5bnRoLFxuICAgICAgdXNlQ2hhbmdlU2V0czogZmFsc2UsXG4gICAgICBjb2RlUGlwZWxpbmU6IHRoaXMuY29kZVBpcGVsaW5lLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRBd3NDZGtQYWNrYWdlSnNvbkZpbGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBBbHNvIGxvb2sgdXAgdGhlIHRyZWUgYSBiaXQgdG8gaGFuZGxlIHlhcm4gd29ya3NwYWNlcy5cbiAgICBjb25zdCBjYW5kaWRhdGVzID0gW1xuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwibm9kZV9tb2R1bGVzL2F3cy1jZGsvcGFja2FnZS5qc29uXCIpLFxuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLi4vbm9kZV9tb2R1bGVzL2F3cy1jZGsvcGFja2FnZS5qc29uXCIpLFxuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLi4vLi4vbm9kZV9tb2R1bGVzL2F3cy1jZGsvcGFja2FnZS5qc29uXCIpLFxuICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2F3cy1jZGsvcGFja2FnZS5qc29uXCIpLFxuICAgIF1cblxuICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGNhbmRpZGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIHByaXZhdGUgY2xvdWRBc3NlbWJseVN0YWdlKFxuICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdDogY29kZXBpcGVsaW5lLkFydGlmYWN0LFxuICAgIGNka0J1Y2tldDogczMuSUJ1Y2tldCxcbiAgICBwaXBlbGluZU5hbWU6IHN0cmluZyxcbiAgKTogeyBzdGFnZXM6IGNvZGVwaXBlbGluZS5TdGFnZVByb3BzW107IHN5bnRoOiBwaXBlbGluZXMuSUZpbGVTZXRQcm9kdWNlciB9IHtcbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5TG9va3VwRm4gPSBuZXcgTm9kZWpzRnVuY3Rpb24oXG4gICAgICB0aGlzLFxuICAgICAgXCJDbG91ZEFzc2VtYmx5TG9va3VwRm5cIixcbiAgICAgIHtcbiAgICAgICAgZW50cnk6IHJlcXVpcmUucmVzb2x2ZShgJHtfX2Rpcm5hbWV9L2Nsb3VkLWFzc2VtYmx5LWxvb2t1cC1oYW5kbGVyYCksXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xOF9YLFxuICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgbWVtb3J5U2l6ZTogNTEyLFxuICAgICAgICBhd3NTZGtDb25uZWN0aW9uUmV1c2U6IGZhbHNlLFxuICAgICAgfSxcbiAgICApXG5cbiAgICBjZGtCdWNrZXQuZ3JhbnRSZWFkV3JpdGUoY2xvdWRBc3NlbWJseUxvb2t1cEZuKVxuXG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnM6IENsb3VkQXNzZW1ibHlMb29rdXBVc2VyUGFyYW1ldGVycyA9IHtcbiAgICAgIGJ1Y2tldE5hbWU6IGNka0J1Y2tldC5idWNrZXROYW1lLFxuICAgICAgb2JqZWN0S2V5OiBgcGlwZWxpbmVzLyR7cGlwZWxpbmVOYW1lfS9jbG91ZC1hc3NlbWJseS5qc29uYCxcbiAgICB9XG5cbiAgICBjb25zdCBzeW50aCA9IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVGaWxlU2V0LmZyb21BcnRpZmFjdChcbiAgICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdCxcbiAgICApXG5cbiAgICBjb25zdCBzdGFnZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHN0YWdlTmFtZTogXCJQcmVwYXJlQ2xvdWRBc3NlbWJseVwiLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgbmV3IGNvZGVwaXBlbGluZUFjdGlvbnMuTGFtYmRhSW52b2tlQWN0aW9uKHtcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6IFwiY2xvdWQtYXNzZW1ibHktbG9va3VwXCIsXG4gICAgICAgICAgICBsYW1iZGE6IGNsb3VkQXNzZW1ibHlMb29rdXBGbixcbiAgICAgICAgICAgIG91dHB1dHM6IFtjbG91ZEFzc2VtYmx5QXJ0aWZhY3RdLFxuICAgICAgICAgICAgdXNlclBhcmFtZXRlcnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF1cbiAgICByZXR1cm4geyBzdGFnZXMsIHN5bnRoIH1cbiAgfVxuXG4gIHByaXZhdGUgY2RrU291cmNlU3RhZ2UoXG4gICAgY2xvdWRBc3NlbWJseUFydGlmYWN0OiBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QsXG4gICAgY2RrQnVja2V0OiBzMy5JQnVja2V0LFxuICAgIHBpcGVsaW5lTmFtZTogc3RyaW5nLFxuICAgIHBhcmFtZXRlcnNOYW1lc3BhY2U6IHN0cmluZyxcbiAgKTogeyBzdGFnZXM6IGNvZGVwaXBlbGluZS5TdGFnZVByb3BzW107IHN5bnRoOiBwaXBlbGluZXMuSUZpbGVTZXRQcm9kdWNlciB9IHtcbiAgICBjb25zdCBwcmVwYXJlQ2RrU291cmNlRm4gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiUHJlcGFyZUNka1NvdXJjZUZuXCIsIHtcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChcbiAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi8uLi9hc3NldHMvcHJlcGFyZS1jZGstc291cmNlLWxhbWJkYVwiKSxcbiAgICAgICksXG4gICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgIC8vIFVzaW5nIHB5dGhvbiBpbnN0ZWFkIGlmIE5vZGVKUyBkdWUgdG8gemlwLXN1cHBvcnQgaW4gc3RkbGliLlxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTIsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICB9KVxuXG4gICAgY29uc3QgYWNjb3VudCA9IGNkay5TdGFjay5vZih0aGlzKS5hY2NvdW50XG4gICAgY29uc3QgcmVnaW9uID0gY2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuXG4gICAgcHJlcGFyZUNka1NvdXJjZUZuLmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJzc206R2V0UGFyYW1ldGVyc0J5UGF0aFwiXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgYGFybjphd3M6c3NtOiR7cmVnaW9ufToke2FjY291bnR9OnBhcmFtZXRlci9saWZsaWctY2RrLyovcGlwZWxpbmUtdmFyaWFibGVzLypgLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY2RrQnVja2V0LmdyYW50UmVhZFdyaXRlKHByZXBhcmVDZGtTb3VyY2VGbilcblxuICAgIGNvbnN0IGNka1NvdXJjZUFydGlmYWN0ID0gbmV3IGNvZGVwaXBlbGluZS5BcnRpZmFjdCgpXG5cbiAgICBjb25zdCB1c2VyUGFyYW1ldGVyczogUHJlcGFyZUNka1NvdXJjZVVzZXJQYXJhbWV0ZXJzID0ge1xuICAgICAgYnVja2V0TmFtZTogY2RrQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICBwcmVmaXg6IGBwaXBlbGluZXMvJHtwaXBlbGluZU5hbWV9L2AsXG4gICAgICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBwYXJhbWV0ZXJzTmFtZXNwYWNlLFxuICAgIH1cblxuICAgIGNvbnN0IHN5bnRoID0gbmV3IHBpcGVsaW5lcy5TaGVsbFN0ZXAoXCJHZW5lcmF0ZUNsb3VkQXNzZW1ibHlcIiwge1xuICAgICAgaW5wdXQ6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVGaWxlU2V0LmZyb21BcnRpZmFjdChjZGtTb3VyY2VBcnRpZmFjdCksXG4gICAgICBpbnN0YWxsQ29tbWFuZHM6IFtcIm5wbSBjaVwiXSxcbiAgICAgIGNvbW1hbmRzOiBbXCJucHggY2RrIHN5bnRoXCJdLFxuICAgIH0pXG4gICAgY29uc3Qgc3RhZ2VzID0gW1xuICAgICAge1xuICAgICAgICBzdGFnZU5hbWU6IFwiUHJlcGFyZUNka1NvdXJjZVwiLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgbmV3IGNvZGVwaXBlbGluZUFjdGlvbnMuTGFtYmRhSW52b2tlQWN0aW9uKHtcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6IFwicHJlcGFyZS1jZGstc291cmNlXCIsXG4gICAgICAgICAgICBsYW1iZGE6IHByZXBhcmVDZGtTb3VyY2VGbixcbiAgICAgICAgICAgIG91dHB1dHM6IFtjZGtTb3VyY2VBcnRpZmFjdF0sXG4gICAgICAgICAgICB1c2VyUGFyYW1ldGVycyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXVxuICAgIHJldHVybiB7IHN0YWdlcywgc3ludGggfVxuICB9XG5cbiAgYWRkU2xhY2tOb3RpZmljYXRpb24oXG4gICAgcHJvcHM6IE9taXQ8XG4gICAgICBTbGFja05vdGlmaWNhdGlvblByb3BzLFxuICAgICAgXCJwaXBlbGluZVwiIHwgXCJhcnRpZmFjdHNCdWNrZXRcIiB8IFwidHJpZ2dlck9iamVjdEtleVwiXG4gICAgPixcbiAgKTogdm9pZCB7XG4gICAgbmV3IFNsYWNrTm90aWZpY2F0aW9uKHRoaXMsIFwiU2xhY2tcIiwge1xuICAgICAgcGlwZWxpbmU6IHRoaXMuY29kZVBpcGVsaW5lLFxuICAgICAgYXJ0aWZhY3RzQnVja2V0OiB0aGlzLmFydGlmYWN0c0J1Y2tldCxcbiAgICAgIHRyaWdnZXJPYmplY3RLZXk6IHRoaXMudHJpZ2dlck9iamVjdEtleSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pXG4gIH1cbn1cblxuaW50ZXJmYWNlIFByZXBhcmVDZGtTb3VyY2VVc2VyUGFyYW1ldGVycyB7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICBwcmVmaXg6IHN0cmluZ1xuICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBzdHJpbmdcbn1cbiJdfQ==
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmbGlnLWNkay1waXBlbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstcGlwZWxpbmVzL2xpZmxpZy1jZGstcGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMzQyxPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxZQUFZLE1BQU0sOEJBQThCLENBQUE7QUFDNUQsT0FBTyxLQUFLLG1CQUFtQixNQUFNLHNDQUFzQyxDQUFBO0FBQzNFLE9BQU8sS0FBSyxNQUFNLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN6RCxPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFBO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRTlELE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUE7QUFDbEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFFeEMsT0FBTyxFQUNMLGlCQUFpQixHQUVsQixNQUFNLHNCQUFzQixDQUFBO0FBRTdCLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzlDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMs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LEdBQUcsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLHVCQUF1QixFQUFFO1lBQzdELEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1lBQ3BFLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxlQUFlLENBQUM7U0FDNUIsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxNQUFNLEdBQUc7WUFDYjtnQkFDRSxTQUFTLEVBQUUsa0JBQWtCO2dCQUM3QixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDekMsVUFBVSxFQUFFLG9CQUFvQjt3QkFDaEMsTUFBTSxFQUFFLGtCQUFrQjt3QkFDMUIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7d0JBQzVCLGNBQWM7cUJBQ2YsQ0FBQztpQkFDSDthQUNGO1NBQ0YsQ0FBQTtRQUNELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVELG9CQUFvQixDQUNsQixLQUdDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ25DLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMzQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwibm9kZTpmc1wiXG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSBcIm5vZGU6bW9kdWxlXCJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgY29kZXBpcGVsaW5lIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCJcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZUFjdGlvbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9uc1wiXG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHNcIlxuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIlxuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIlxuaW1wb3J0IHR5cGUgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tIFwiYXdzLWNkay1saWIvcGlwZWxpbmVzXCJcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHR5cGUgeyBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMgfSBmcm9tIFwiLi9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlclwiXG5pbXBvcnQge1xuICBTbGFja05vdGlmaWNhdGlvbixcbiAgdHlwZSBTbGFja05vdGlmaWNhdGlvblByb3BzLFxufSBmcm9tIFwiLi9zbGFjay1ub3RpZmljYXRpb25cIlxuXG5jb25zdCByZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpXG5jb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpXG5jb25zdCBfX2Rpcm5hbWUgPSBwYXRoLmRpcm5hbWUoX19maWxlbmFtZSlcbmV4cG9ydCBpbnRlcmZhY2UgTGlmbGlnQ2RrUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBCdWNrZXQgaG9sZGluZyBwaXBlbGluZSBjb25maWd1cmF0aW9uIGFuZCB0cmlnZ2VyIGZpbGUuXG4gICAqL1xuICBhcnRpZmFjdHNCdWNrZXQ6IHMzLklCdWNrZXRcbiAgLyoqXG4gICAqIE5hbWUgb2YgcGlwZWxpbmUuIFRoaXMgaXMgdXNlZCBmb3IgdGhlIHBhdGggd2hlcmUgY29uZmlndXJhdGlvblxuICAgKiBpcyBzdG9yZWQgaW4gUzMuXG4gICAqL1xuICBwaXBlbGluZU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVHlwZSBvZiB1cGxvYWRlZCBhcnRpZmFjdC4gVGhpcyBjaGFuZ2VzIHRoZSBiZWhhdmlvdXIgb2YgdGhlXG4gICAqIHBpcGVsaW5lIGFuZCB3aGF0IGtpbmQgb2YgcHJvY2VzcyBpdCBwZXJmb3Jtcy5cbiAgICpcbiAgICogVHdvIHR5cGVzIGFyZSBzdXBwb3J0ZWQ6XG4gICAqXG4gICAqICAgLSBjZGstc291cmNlOiBUaGUgdXBsb2FkZWQgYXJ0aWZhY3QgcmVwcmVzZW50cyBhIENESyBhcHBsaWNhdGlvblxuICAgKiAgICAgYXMgc291cmNlIGNvZGUuIEEgYnVpbGQgc3RlcCB3aWxsIGNvbXBpbGUgdGhpcyBpbnRvIGFcbiAgICogICAgIENESyBDbG91ZCBBc3NlbWJseS5cbiAgICpcbiAgICogICAgIEFzIHBhcnQgb2Ygc3ludGhlc2l6aW5nIHRoaXMgaW50byBhIENESyBDbG91ZCBBc3NlbWJseSxcbiAgICogICAgIGEgZmlsZSBcInZhcmlhYmxlcy5qc29uXCIgd2lsbCBiZSB3cml0dGVuIGZvciB0aGVcbiAgICogICAgIENESyBhcHBsaWNhdGlvbiB0byBwYXJhbWV0ZXJpemUgdGhlIGJ1aWxkIGlmIGFueVxuICAgKiAgICAgdmFyaWFibGVzIGFyZSBmb3VuZCBpbiB0aGUgcGlwZWxpbmUgc291cmNlLlxuICAgKlxuICAgKiAgIC0gY2xvdWQtYXNzZW1ibHk6IFRoZSB1cGxvYWRlZCBhcnRpZmFjdCByZXByZXNlbnRzIGFcbiAgICogICAgIENESyBDbG91ZCBBc3NlbWJseSB3aGljaCBpcyByZWFkeSBmb3IgZGVwbG95bWVudC5cbiAgICpcbiAgICogICAgIFRoaXMgZG9lcyBub3Qgc3VwcG9ydCByZWFkaW5nIHZhcmlhYmxlcyBhdCB0aGUgY3VycmVudCB0aW1lXG4gICAqICAgICBzaW5jZSBDREsgUGlwZWxpbmVzIGRvbid0IHN1cHBvcnQgcGFyYW1ldGVyaXplZCBkZXBsb3lzLlxuICAgKiAgICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvOTU2MFxuICAgKi9cbiAgc291cmNlVHlwZTogXCJjZGstc291cmNlXCIgfCBcImNsb3VkLWFzc2VtYmx5XCJcbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2UgdXNlZCBmb3IgcGFyYW1ldGVycyBpbiBQYXJhbWV0ZXIgU3RvcmUuXG4gICAqXG4gICAqIE9ubHkgcmVsZXZhbnQgZm9yIHNvdXJjZVR5cGUgb2YgXCJjZGstc29ydWNlXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRcbiAgICovXG4gIHBhcmFtZXRlcnNOYW1lc3BhY2U/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDREsgUGlwZWxpbmUgZm9yIExpZmxpZy5cbiAqXG4gKiBBdm9pZCBwdXR0aW5nIG11bHRpcGxlIHBpcGVsaW5lcyBpbiBhIHN0YWNrLCBzaW5jZSB0aGUgcGlwZWxpbmVcbiAqIHdpbGwgYWxzbyBrZWVwIHRoZSBob3N0aW5nIHN0YWNrIHVwLXRvLWRhdGUuXG4gKlxuICogVGhlIHBpcGVsaW5lIGlzIGV4ZWN1dGVkIGJ5IHdyaXRpbmcgYW4gZW1wdHkgZmlsZSB0b1xuICogczM6Ly88YXJ0aWZhY3RzLWJ1Y2tldD4vcGlwZWxpbmVzLzxwaXBlbGluZS1uYW1lPi90cmlnZ2VyXG4gKlxuICogQ29uZmlndXJhdGlvbiBmaWxlcyBhcmUgcmVhZCBmcm9tIFMzIGF0IHRoZSBwYXRoXG4gKiBzMzovLzxhcnRpZmFjdHMtYnVja2V0Pi9waXBlbGluZXMvPHBpcGVsaW5lLW5hbWU+L1xuICpcbiAqIEZvciB1cGxvYWQgdHlwZSBcImNkay1zb3VyY2VcIjpcbiAqXG4gKiAgIC0gY2RrLXNvdXJjZS5qc29uIGhvbGRpbmcgYSBwb2ludGVyIHRvIHRoZSBhY3RpdmUgQ0RLIHNvdXJjZVxuICogICAgIHRoYXQgc2hvdWxkIGJlIHVzZWQuIFNjaGVtYTpcbiAqXG4gKiAgICAge1xuICogICAgICAgYnVja2V0TmFtZTogc3RyaW5nXG4gKiAgICAgICBidWNrZXRLZXk6IHN0cmluZ1xuICogICAgIH1cbiAqXG4gKiAgIC0gdmFyaWFibGVzKi5qc29uIHdoaWNoIGNhbiBiZSB6ZXJvIG9yIG1vcmUgZmlsZXNcbiAqICAgICB3aXRoIHN0cmluZy1zdHJpbmcgbWFwIGhvbGRpbmcgdmFyaWFibGVzIHRoYXQgd2lsbFxuICogICAgIGJlIHdyaXR0ZW4gdG8gdmFyaWFibGVzLmpzb24gYW5kIGNhbiBiZSByZWFkIGJ5IHRoZVxuICogICAgIHRoZSBDREsgYXBwbGljYXRpb24gZHVyaW5nIHN5bnRoZXNpemUuXG4gKlxuICogRm9yIHVwbG9hZCB0eXBlIFwiY2xvdWQtYXNzZW1ibHlcIjpcbiAqXG4gKiAgIC0gY2xvdWQtYXNzZW1ibHkuanNvbiBob2xkaW5nIGEgcG9pbnRlciB0byB0aGUgYWN0aXZlXG4gKiAgICAgQ0RLIENsb3VkIEFzc2VtYmx5IHRoYXQgc2hvdWxkIGJlIHVzZWQ6IFNjaGVtYTpcbiAqXG4gKiAgICAge1xuICogICAgICAgY2xvdWRBc3NlbWJseUJ1Y2tldE5hbWU6IHN0cmluZ1xuICogICAgICAgY2xvdWRBc3NlbWJseUJ1Y2tldEtleTogc3RyaW5nXG4gKiAgICAgfVxuICpcbiAqIFZhcmlhYmxlcyBlbmFibGVzIHNlcGFyYXRpb24gb2YgSWFDIGNvZGUgYW5kIGFwcGxpY2F0aW9uIGNvZGUgaWZcbiAqIHRoZXkgYXJlIG5vdCBjb2xvY2F0ZWQgaW4gdGhlIHNhbWUgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIExpZmxpZ0Nka1BpcGVsaW5lIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICAvKipcbiAgICogUGF0aCBvbiBTMyBmb3IgcGlwZWxpbmUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHN0YXRpYyBwaXBlbGluZVMzUHJlZml4KHBpcGVsaW5lTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vYFxuICB9XG5cbiAgLyoqXG4gICAqIEtleSBpbiBTMyBidWNrZXQgdXNlZCB0byB0cmlnZ2VyIHBpcGVsaW5lLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGVtcHR5IGZpbGUgd2l0aGluIHRoZSBwaXBlbGluZSBwYXRoLlxuICAgKi9cbiAgc3RhdGljIHBpcGVsaW5lUzNUcmlnZ2VyS2V5KHBpcGVsaW5lTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vdHJpZ2dlcmBcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBjZGtQaXBlbGluZTogcGlwZWxpbmVzLkNvZGVQaXBlbGluZVxuICBwdWJsaWMgcmVhZG9ubHkgY29kZVBpcGVsaW5lOiBjb2RlcGlwZWxpbmUuUGlwZWxpbmVcbiAgcHVibGljIHJlYWRvbmx5IGFydGlmYWN0c0J1Y2tldDogczMuSUJ1Y2tldFxuICBwdWJsaWMgcmVhZG9ubHkgdHJpZ2dlck9iamVjdEtleTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IExpZmxpZ0Nka1BpcGVsaW5lUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIHRoaXMuYXJ0aWZhY3RzQnVja2V0ID0gcHJvcHMuYXJ0aWZhY3RzQnVja2V0XG5cbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QgPSBuZXcgY29kZXBpcGVsaW5lLkFydGlmYWN0KClcblxuICAgIGxldCBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXJcbiAgICBsZXQgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdXG5cbiAgICBzd2l0Y2ggKHByb3BzLnNvdXJjZVR5cGUpIHtcbiAgICAgIGNhc2UgXCJjbG91ZC1hc3NlbWJseVwiOiB7XG4gICAgICAgIGNvbnN0IGNsb3VkQXNzZW1ibHkgPSB0aGlzLmNsb3VkQXNzZW1ibHlTdGFnZShcbiAgICAgICAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QsXG4gICAgICAgICAgdGhpcy5hcnRpZmFjdHNCdWNrZXQsXG4gICAgICAgICAgcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgICApXG4gICAgICAgIHN5bnRoID0gY2xvdWRBc3NlbWJseS5zeW50aFxuICAgICAgICBzdGFnZXMgPSBjbG91ZEFzc2VtYmx5LnN0YWdlc1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSBcImNkay1zb3VyY2VcIjoge1xuICAgICAgICBjb25zdCBjZGtTb3VyY2UgPSB0aGlzLmNka1NvdXJjZVN0YWdlKFxuICAgICAgICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdCxcbiAgICAgICAgICB0aGlzLmFydGlmYWN0c0J1Y2tldCxcbiAgICAgICAgICBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgICAgICAgcHJvcHMucGFyYW1ldGVyc05hbWVzcGFjZSA/PyBcImRlZmF1bHRcIixcbiAgICAgICAgKVxuICAgICAgICBzeW50aCA9IGNka1NvdXJjZS5zeW50aFxuICAgICAgICBzdGFnZXMgPSBjZGtTb3VyY2Uuc3RhZ2VzXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZHVtbXlBcnRpZmFjdCA9IG5ldyBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QoKVxuXG4gICAgdGhpcy50cmlnZ2VyT2JqZWN0S2V5ID0gTGlmbGlnQ2RrUGlwZWxpbmUucGlwZWxpbmVTM1RyaWdnZXJLZXkoXG4gICAgICBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgKVxuXG4gICAgdGhpcy5jb2RlUGlwZWxpbmUgPSBuZXcgY29kZXBpcGVsaW5lLlBpcGVsaW5lKHRoaXMsIFwiQ29kZVBpcGVsaW5lXCIsIHtcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgcGlwZWxpbmVUeXBlOiBjb2RlcGlwZWxpbmUuUGlwZWxpbmVUeXBlLlYxLFxuICAgICAgc3RhZ2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzdGFnZU5hbWU6IFwiU291cmNlXCIsXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgbmV3IGNvZGVwaXBlbGluZUFjdGlvbnMuUzNTb3VyY2VBY3Rpb24oe1xuICAgICAgICAgICAgICBhY3Rpb25OYW1lOiBcInNvdXJjZVwiLFxuICAgICAgICAgICAgICBidWNrZXQ6IHRoaXMuYXJ0aWZhY3RzQnVja2V0LFxuICAgICAgICAgICAgICB0cmlnZ2VyOiBjb2RlcGlwZWxpbmVBY3Rpb25zLlMzVHJpZ2dlci5OT05FLFxuICAgICAgICAgICAgICBidWNrZXRLZXk6IHRoaXMudHJpZ2dlck9iamVjdEtleSxcbiAgICAgICAgICAgICAgb3V0cHV0OiBkdW1teUFydGlmYWN0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uc3RhZ2VzLFxuICAgICAgXSxcbiAgICAgIHJlc3RhcnRFeGVjdXRpb25PblVwZGF0ZTogdHJ1ZSxcbiAgICB9KVxuXG4gICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsIFwiUGlwZWxpbmVUcmlnZ2VyXCIsIHtcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBzb3VyY2U6IFtcImF3cy5zM1wiXSxcbiAgICAgICAgZGV0YWlsVHlwZTogW1wiT2JqZWN0IENyZWF0ZWRcIl0sXG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGJ1Y2tldDoge1xuICAgICAgICAgICAgbmFtZTogW3RoaXMuYXJ0aWZhY3RzQnVja2V0LmJ1Y2tldE5hbWVdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgICBrZXk6IFt0aGlzLnRyaWdnZXJPYmplY3RLZXldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW25ldyB0YXJnZXRzLkNvZGVQaXBlbGluZSh0aGlzLmNvZGVQaXBlbGluZSldLFxuICAgIH0pXG5cbiAgICB0aGlzLmNka1BpcGVsaW5lID0gbmV3IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUodGhpcywgXCJDZGtQaXBlbGluZVwiLCB7XG4gICAgICBzeW50aCxcbiAgICAgIHVzZUNoYW5nZVNldHM6IGZhbHNlLFxuICAgICAgY29kZVBpcGVsaW5lOiB0aGlzLmNvZGVQaXBlbGluZSxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0QXdzQ2RrUGFja2FnZUpzb25GaWxlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gQWxzbyBsb29rIHVwIHRoZSB0cmVlIGEgYml0IHRvIGhhbmRsZSB5YXJuIHdvcmtzcGFjZXMuXG4gICAgY29uc3QgY2FuZGlkYXRlcyA9IFtcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIm5vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uLy4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICBdXG5cbiAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhjYW5kaWRhdGUpKSB7XG4gICAgICAgIHJldHVybiBjYW5kaWRhdGVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBwcml2YXRlIGNsb3VkQXNzZW1ibHlTdGFnZShcbiAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3Q6IGNvZGVwaXBlbGluZS5BcnRpZmFjdCxcbiAgICBjZGtCdWNrZXQ6IHMzLklCdWNrZXQsXG4gICAgcGlwZWxpbmVOYW1lOiBzdHJpbmcsXG4gICk6IHsgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdOyBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXIgfSB7XG4gICAgY29uc3QgY2xvdWRBc3NlbWJseUxvb2t1cEZuID0gbmV3IE5vZGVqc0Z1bmN0aW9uKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ2xvdWRBc3NlbWJseUxvb2t1cEZuXCIsXG4gICAgICB7XG4gICAgICAgIGVudHJ5OiByZXF1aXJlLnJlc29sdmUoYCR7X19kaXJuYW1lfS9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlcmApLFxuICAgICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgICAgYXdzU2RrQ29ubmVjdGlvblJldXNlOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgY2RrQnVja2V0LmdyYW50UmVhZFdyaXRlKGNsb3VkQXNzZW1ibHlMb29rdXBGbilcblxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzOiBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMgPSB7XG4gICAgICBidWNrZXROYW1lOiBjZGtCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIG9iamVjdEtleTogYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vY2xvdWQtYXNzZW1ibHkuanNvbmAsXG4gICAgfVxuXG4gICAgY29uc3Qgc3ludGggPSBwaXBlbGluZXMuQ29kZVBpcGVsaW5lRmlsZVNldC5mcm9tQXJ0aWZhY3QoXG4gICAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QsXG4gICAgKVxuXG4gICAgY29uc3Qgc3RhZ2VzID0gW1xuICAgICAge1xuICAgICAgICBzdGFnZU5hbWU6IFwiUHJlcGFyZUNsb3VkQXNzZW1ibHlcIixcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIG5ldyBjb2RlcGlwZWxpbmVBY3Rpb25zLkxhbWJkYUludm9rZUFjdGlvbih7XG4gICAgICAgICAgICBhY3Rpb25OYW1lOiBcImNsb3VkLWFzc2VtYmx5LWxvb2t1cFwiLFxuICAgICAgICAgICAgbGFtYmRhOiBjbG91ZEFzc2VtYmx5TG9va3VwRm4sXG4gICAgICAgICAgICBvdXRwdXRzOiBbY2xvdWRBc3NlbWJseUFydGlmYWN0XSxcbiAgICAgICAgICAgIHVzZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdXG4gICAgcmV0dXJuIHsgc3RhZ2VzLCBzeW50aCB9XG4gIH1cblxuICBwcml2YXRlIGNka1NvdXJjZVN0YWdlKFxuICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdDogY29kZXBpcGVsaW5lLkFydGlmYWN0LFxuICAgIGNka0J1Y2tldDogczMuSUJ1Y2tldCxcbiAgICBwaXBlbGluZU5hbWU6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBzdHJpbmcsXG4gICk6IHsgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdOyBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXIgfSB7XG4gICAgY29uc3QgcHJlcGFyZUNka1NvdXJjZUZuID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcIlByZXBhcmVDZGtTb3VyY2VGblwiLCB7XG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoXG4gICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vLi4vYXNzZXRzL3ByZXBhcmUtY2RrLXNvdXJjZS1sYW1iZGFcIiksXG4gICAgICApLFxuICAgICAgaGFuZGxlcjogXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICAvLyBVc2luZyBweXRob24gaW5zdGVhZCBpZiBOb2RlSlMgZHVlIHRvIHppcC1zdXBwb3J0IGluIHN0ZGxpYi5cbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzEyLFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICBtZW1vcnlTaXplOiA1MTIsXG4gICAgfSlcblxuICAgIGNvbnN0IGFjY291bnQgPSBjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudFxuICAgIGNvbnN0IHJlZ2lvbiA9IGNkay5TdGFjay5vZih0aGlzKS5yZWdpb25cblxuICAgIHByZXBhcmVDZGtTb3VyY2VGbi5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wic3NtOkdldFBhcmFtZXRlcnNCeVBhdGhcIl0sXG4gICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgIGBhcm46YXdzOnNzbToke3JlZ2lvbn06JHthY2NvdW50fTpwYXJhbWV0ZXIvbGlmbGlnLWNkay8qL3BpcGVsaW5lLXZhcmlhYmxlcy8qYCxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIGNka0J1Y2tldC5ncmFudFJlYWRXcml0ZShwcmVwYXJlQ2RrU291cmNlRm4pXG5cbiAgICBjb25zdCBjZGtTb3VyY2VBcnRpZmFjdCA9IG5ldyBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QoKVxuXG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnM6IFByZXBhcmVDZGtTb3VyY2VVc2VyUGFyYW1ldGVycyA9IHtcbiAgICAgIGJ1Y2tldE5hbWU6IGNka0J1Y2tldC5idWNrZXROYW1lLFxuICAgICAgcHJlZml4OiBgcGlwZWxpbmVzLyR7cGlwZWxpbmVOYW1lfS9gLFxuICAgICAgcGFyYW1ldGVyc05hbWVzcGFjZTogcGFyYW1ldGVyc05hbWVzcGFjZSxcbiAgICB9XG5cbiAgICBjb25zdCBzeW50aCA9IG5ldyBwaXBlbGluZXMuU2hlbGxTdGVwKFwiR2VuZXJhdGVDbG91ZEFzc2VtYmx5XCIsIHtcbiAgICAgIGlucHV0OiBwaXBlbGluZXMuQ29kZVBpcGVsaW5lRmlsZVNldC5mcm9tQXJ0aWZhY3QoY2RrU291cmNlQXJ0aWZhY3QpLFxuICAgICAgaW5zdGFsbENvbW1hbmRzOiBbXCJucG0gY2lcIl0sXG4gICAgICBjb21tYW5kczogW1wibnB4IGNkayBzeW50aFwiXSxcbiAgICB9KVxuICAgIGNvbnN0IHN0YWdlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgc3RhZ2VOYW1lOiBcIlByZXBhcmVDZGtTb3VyY2VcIixcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIG5ldyBjb2RlcGlwZWxpbmVBY3Rpb25zLkxhbWJkYUludm9rZUFjdGlvbih7XG4gICAgICAgICAgICBhY3Rpb25OYW1lOiBcInByZXBhcmUtY2RrLXNvdXJjZVwiLFxuICAgICAgICAgICAgbGFtYmRhOiBwcmVwYXJlQ2RrU291cmNlRm4sXG4gICAgICAgICAgICBvdXRwdXRzOiBbY2RrU291cmNlQXJ0aWZhY3RdLFxuICAgICAgICAgICAgdXNlclBhcmFtZXRlcnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF1cbiAgICByZXR1cm4geyBzdGFnZXMsIHN5bnRoIH1cbiAgfVxuXG4gIGFkZFNsYWNrTm90aWZpY2F0aW9uKFxuICAgIHByb3BzOiBPbWl0PFxuICAgICAgU2xhY2tOb3RpZmljYXRpb25Qcm9wcyxcbiAgICAgIFwicGlwZWxpbmVcIiB8IFwiYXJ0aWZhY3RzQnVja2V0XCIgfCBcInRyaWdnZXJPYmplY3RLZXlcIlxuICAgID4sXG4gICk6IHZvaWQge1xuICAgIG5ldyBTbGFja05vdGlmaWNhdGlvbih0aGlzLCBcIlNsYWNrXCIsIHtcbiAgICAgIHBpcGVsaW5lOiB0aGlzLmNvZGVQaXBlbGluZSxcbiAgICAgIGFydGlmYWN0c0J1Y2tldDogdGhpcy5hcnRpZmFjdHNCdWNrZXQsXG4gICAgICB0cmlnZ2VyT2JqZWN0S2V5OiB0aGlzLnRyaWdnZXJPYmplY3RLZXksXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KVxuICB9XG59XG5cbmludGVyZmFjZSBQcmVwYXJlQ2RrU291cmNlVXNlclBhcmFtZXRlcnMge1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgcHJlZml4OiBzdHJpbmdcbiAgcGFyYW1ldGVyc05hbWVzcGFjZTogc3RyaW5nXG59XG4iXX0=
@@ -1,7 +1,7 @@
1
+ import type * as codepipeline from "aws-cdk-lib/aws-codepipeline";
2
+ import type * as s3 from "aws-cdk-lib/aws-s3";
3
+ import type * as secretsmanager from "aws-cdk-lib/aws-secretsmanager";
1
4
  import * as constructs from "constructs";
2
- import * as codepipeline from "aws-cdk-lib/aws-codepipeline";
3
- import * as s3 from "aws-cdk-lib/aws-s3";
4
- import * as secretsmanager from "aws-cdk-lib/aws-secretsmanager";
5
5
  export interface SlackNotificationProps {
6
6
  /**
7
7
  * CodePipeline to monitor.
@@ -1,10 +1,10 @@
1
- import * as constructs from "constructs";
1
+ import * as path from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+ import * as cdk from "aws-cdk-lib";
2
4
  import * as eventsTargets from "aws-cdk-lib/aws-events-targets";
3
5
  import * as iam from "aws-cdk-lib/aws-iam";
4
6
  import * as lambda from "aws-cdk-lib/aws-lambda";
5
- import * as cdk from "aws-cdk-lib";
6
- import * as path from "path";
7
- import { fileURLToPath } from "node:url";
7
+ import * as constructs from "constructs";
8
8
  const __filename = fileURLToPath(import.meta.url);
9
9
  const __dirname = path.dirname(__filename);
10
10
  /**
@@ -49,4 +49,4 @@ export class SlackNotification extends constructs.Construct {
49
49
  });
50
50
  }
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2stbm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay1waXBlbGluZXMvc2xhY2stbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBRXhDLE9BQU8sS0FBSyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFDL0QsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLHdCQUF3QixDQUFBO0FBQ2hELE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBRzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFeEMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQTJDMUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3pELFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTZCO1FBRTdCLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsTUFBTSxXQUFXLEdBQTJCO1lBQzFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVO1lBQzdELGtCQUFrQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxNQUFNO1NBQ3RELENBQUE7UUFFRCxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN0QyxXQUFXLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFBO1FBQy9ELENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUMzRCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGlEQUFpRCxDQUFDLENBQ3hFO1lBQ0QsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFdBQVc7WUFDWCxXQUFXLEVBQ1QsK0RBQStEO1NBQ2xFLENBQUMsQ0FBQTtRQUVGLGNBQWMsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQ2hELElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUU7Z0JBQ1AsbUNBQW1DO2dCQUNuQyxxQ0FBcUM7YUFDdEM7WUFDRCxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztTQUN4QyxDQUFDLENBQ0gsQ0FBQTtRQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFckQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRXZFLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDekMsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRTtvQkFDTiwwSEFBMEg7b0JBQzFILEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQztpQkFDeEQ7YUFDRjtZQUNELE1BQU0sRUFBRSxJQUFJLGFBQWEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDO1NBQ3pELENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgY29kZXBpcGVsaW5lIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCJcbmltcG9ydCAqIGFzIGV2ZW50c1RhcmdldHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0c1wiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIHNlY3JldHNtYW5hZ2VyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIlxuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gXCJub2RlOnVybFwiXG5cbmNvbnN0IF9fZmlsZW5hbWUgPSBmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybClcbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShfX2ZpbGVuYW1lKVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrTm90aWZpY2F0aW9uUHJvcHMge1xuICAvKipcbiAgICogQ29kZVBpcGVsaW5lIHRvIG1vbml0b3IuXG4gICAqL1xuICBwaXBlbGluZTogY29kZXBpcGVsaW5lLklQaXBlbGluZVxuICAvKipcbiAgICogQXJ0aWZhY3RzIGJ1Y2tldCB1c2VkIGJ5IHBpcGVsaW5lXG4gICAqL1xuICBhcnRpZmFjdHNCdWNrZXQ6IHMzLklCdWNrZXRcbiAgLyoqXG4gICAqIEEgcGxhaW50ZXh0IHNlY3JldCBjb250YWluaW5nIHRoZSBVUkwgb2YgYSBTbGFjayBpbmNvbWluZyB3ZWJob29rLlxuICAgKiBUaGUgd2ViaG9vayBzaG91bGQgYmUgY3JlYXRlZCB0aHJvdWdoIGEgU2xhY2sgYXBwLCBhbmQgb25seSBhbGxvd3MgcG9zdGluZyB0byBvbmUgc3BlY2lmaWMgU2xhY2sgY2hhbm5lbC5cbiAgICogU2VlIFNsYWNrJ3Mgb2ZmaWNpYWwgZG9jdW1lbnRhdGlvbiAoZS5nLiwgaHR0cHM6Ly9hcGkuc2xhY2suY29tL21lc3NhZ2luZy93ZWJob29rcykgZm9yIG1vcmUgZGV0YWlscy5cbiAgICpcbiAgICogTk9URTogSW5jb21pbmcgd2ViaG9va3MgY3JlYXRlZCB0aHJvdWdoIGxlZ2FjeSBjdXN0b20gaW50ZWdyYXRpb25zIGluIFNsYWNrIGFyZSBub3Qgc3VwcG9ydGVkLlxuICAgKi9cbiAgc2xhY2tXZWJob29rVXJsU2VjcmV0OiBzZWNyZXRzbWFuYWdlci5JU2VjcmV0XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBmcmllbmRseSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSBTbGFjayBub3RpZmljYXRpb25zIGluc3RlYWQgb2YgdGhlIEFXUyBhY2NvdW50IElEXG4gICAqL1xuICBhY2NvdW50RnJpZW5kbHlOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBhbW91bnQgYW5kIHR5cGVzIG9mIG5vdGlmaWNhdGlvbnMgYmVpbmcgc2VudCB0byBTbGFjay5cbiAgICogXCJXQVJOXCIgaXMgdGhlIGxlYXN0IHZlcmJvc2UsIHdoaWxlIFwiREVCVUdcIiBpcyB0aGUgbW9zdCB2ZXJib3NlLlxuICAgKlxuICAgKiBcIldBUk5cIiAtIEluY2x1ZGVzIG5vdGlmaWNhdGlvbnMgcmVsYXRlZCB0byB0aGUgZmFpbHVyZSBvZiBhIHBpcGVsaW5lIGV4ZWN1dGlvbi5cbiAgICogXCJJTkZPXCIgLSBBZGRzIG5vdGlmaWNhdGlvbnMgZm9yIHRoZSBzdWNjZXNzIG9mIGEgcGlwZWxpbmUgZXhlY3V0aW9uLlxuICAgKiBcIkRFQlVHXCIgLSBBZGRzIG5vdGlmaWNhdGlvbnMgZm9yIHRoZSBzdGFydCBhbmQgc3VwZXJzZWRpbmcgb2YgYSBwaXBlbGluZSBleGVjdXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiV0FSTlwiXG4gICAqL1xuICBub3RpZmljYXRpb25MZXZlbD86IFwiV0FSTlwiIHwgXCJJTkZPXCIgfCBcIkRFQlVHXCJcbiAgLyoqXG4gICAqIFRoZSBrZXkgb2YgdGhlIG9iamVjdCAoZS5nLiwgYG15LXByZWZpeC9teS1maWxlLmpzb25gKSB0aGF0IHRyaWdnZXJzIHRoZSBTMyBTb3VyY2UgQWN0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGlwZWxpbmUuXG4gICAqIEJ5IGNvbmZpZ3VyaW5nIHRoaXMgcGFyYW1ldGVyIHlvdSBjYW4gc3BlY2lmeSB3aGljaCBvYmplY3RzIHRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBzZW5kcyBtZXNzYWdlcyB0byBTbGFjayBjYW4gYWNjZXNzIGluIHRoZSBhcnRpZmFjdHMgYnVja2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBMYW1iZGEgZnVuY3Rpb24gY2FuIHJlYWQgYWxsIG9iamVjdHMgaW4gdGhlIGFydGlmYWN0cyBidWNrZXQuXG4gICAqL1xuICB0cmlnZ2VyT2JqZWN0S2V5Pzogc3RyaW5nXG59XG5cbi8qKlxuICogTW9uaXRvciBhIENvZGVQaXBlbGluZSBhbmQgc2VuZCBtZXNzYWdlIHRvIFNsYWNrIG9uIGZhaWx1cmVcbiAqIGFuZCBzb21lIHN1Y2NlZWRlZCBldmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTbGFja05vdGlmaWNhdGlvbiBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFNsYWNrTm90aWZpY2F0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGNvbnN0IGVudmlyb25tZW50OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgU0xBQ0tfVVJMX1NFQ1JFVF9OQU1FOiBwcm9wcy5zbGFja1dlYmhvb2tVcmxTZWNyZXQuc2VjcmV0TmFtZSxcbiAgICAgIE5PVElGSUNBVElPTl9MRVZFTDogcHJvcHMubm90aWZpY2F0aW9uTGV2ZWwgPz8gXCJXQVJOXCIsXG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmFjY291bnRGcmllbmRseU5hbWUgIT0gbnVsbCkge1xuICAgICAgZW52aXJvbm1lbnQuQUNDT1VOVF9GUklFTkRMWV9OQU1FID0gcHJvcHMuYWNjb3VudEZyaWVuZGx5TmFtZVxuICAgIH1cblxuICAgIGNvbnN0IHJlcG9ydEZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcIkZ1bmN0aW9uXCIsIHtcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChcbiAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi8uLi9hc3NldHMvcGlwZWxpbmUtc2xhY2stbm90aWZpY2F0aW9uLWxhbWJkYVwiKSxcbiAgICAgICksXG4gICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExLFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgICAgZW52aXJvbm1lbnQsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJIYW5kbGUgQ29kZVBpcGVsaW5lIHBpcGVsaW5lIHN0YXRlIGNoYW5nZSBhbmQgcmVwb3J0IHRvIFNsYWNrXCIsXG4gICAgfSlcblxuICAgIHJlcG9ydEZ1bmN0aW9uLmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJjb2RlcGlwZWxpbmU6TGlzdEFjdGlvbkV4ZWN1dGlvbnNcIixcbiAgICAgICAgICBcImNvZGVwaXBlbGluZTpMaXN0UGlwZWxpbmVFeGVjdXRpb25zXCIsXG4gICAgICAgIF0sXG4gICAgICAgIHJlc291cmNlczogW3Byb3BzLnBpcGVsaW5lLnBpcGVsaW5lQXJuXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIHByb3BzLnNsYWNrV2ViaG9va1VybFNlY3JldC5ncmFudFJlYWQocmVwb3J0RnVuY3Rpb24pXG5cbiAgICBwcm9wcy5hcnRpZmFjdHNCdWNrZXQuZ3JhbnRSZWFkKHJlcG9ydEZ1bmN0aW9uLCBwcm9wcy50cmlnZ2VyT2JqZWN0S2V5KVxuXG4gICAgcHJvcHMucGlwZWxpbmUub25TdGF0ZUNoYW5nZShgRXZlbnQke2lkfWAsIHtcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAvLyBBdmFpbGFibGUgc3RhdGVzOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY29kZXBpcGVsaW5lL2xhdGVzdC91c2VyZ3VpZGUvZGV0ZWN0LXN0YXRlLWNoYW5nZXMtY2xvdWR3YXRjaC1ldmVudHMuaHRtbFxuICAgICAgICAgIHN0YXRlOiBbXCJTVUNDRUVERURcIiwgXCJGQUlMRURcIiwgXCJTVEFSVEVEXCIsIFwiU1VQRVJTRURFRFwiXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0YXJnZXQ6IG5ldyBldmVudHNUYXJnZXRzLkxhbWJkYUZ1bmN0aW9uKHJlcG9ydEZ1bmN0aW9uKSxcbiAgICB9KVxuICB9XG59XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2stbm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay1waXBlbGluZXMvc2xhY2stbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDeEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxhQUFhLENBQUE7QUFFbEMsT0FBTyxLQUFLLGFBQWEsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMvRCxPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFBO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sd0JBQXdCLENBQUE7QUFHaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFFeEMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQTJDMUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3pELFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTZCO1FBRTdCLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsTUFBTSxXQUFXLEdBQTJCO1lBQzFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVO1lBQzdELGtCQUFrQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxNQUFNO1NBQ3RELENBQUE7UUFFRCxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN0QyxXQUFXLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFBO1FBQy9ELENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUMzRCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGlEQUFpRCxDQUFDLENBQ3hFO1lBQ0QsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFdBQVc7WUFDWCxXQUFXLEVBQ1QsK0RBQStEO1NBQ2xFLENBQUMsQ0FBQTtRQUVGLGNBQWMsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQ2hELElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUU7Z0JBQ1AsbUNBQW1DO2dCQUNuQyxxQ0FBcUM7YUFDdEM7WUFDRCxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztTQUN4QyxDQUFDLENBQ0gsQ0FBQTtRQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFckQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRXZFLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDekMsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRTtvQkFDTiwwSEFBMEg7b0JBQzFILEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQztpQkFDeEQ7YUFDRjtZQUNELE1BQU0sRUFBRSxJQUFJLGFBQWEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDO1NBQ3pELENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHR5cGUgKiBhcyBjb2RlcGlwZWxpbmUgZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIlxuaW1wb3J0ICogYXMgZXZlbnRzVGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIlxuaW1wb3J0IHR5cGUgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCB0eXBlICogYXMgc2VjcmV0c21hbmFnZXIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcblxuY29uc3QgX19maWxlbmFtZSA9IGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKVxuY29uc3QgX19kaXJuYW1lID0gcGF0aC5kaXJuYW1lKF9fZmlsZW5hbWUpXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tOb3RpZmljYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBDb2RlUGlwZWxpbmUgdG8gbW9uaXRvci5cbiAgICovXG4gIHBpcGVsaW5lOiBjb2RlcGlwZWxpbmUuSVBpcGVsaW5lXG4gIC8qKlxuICAgKiBBcnRpZmFjdHMgYnVja2V0IHVzZWQgYnkgcGlwZWxpbmVcbiAgICovXG4gIGFydGlmYWN0c0J1Y2tldDogczMuSUJ1Y2tldFxuICAvKipcbiAgICogQSBwbGFpbnRleHQgc2VjcmV0IGNvbnRhaW5pbmcgdGhlIFVSTCBvZiBhIFNsYWNrIGluY29taW5nIHdlYmhvb2suXG4gICAqIFRoZSB3ZWJob29rIHNob3VsZCBiZSBjcmVhdGVkIHRocm91Z2ggYSBTbGFjayBhcHAsIGFuZCBvbmx5IGFsbG93cyBwb3N0aW5nIHRvIG9uZSBzcGVjaWZpYyBTbGFjayBjaGFubmVsLlxuICAgKiBTZWUgU2xhY2sncyBvZmZpY2lhbCBkb2N1bWVudGF0aW9uIChlLmcuLCBodHRwczovL2FwaS5zbGFjay5jb20vbWVzc2FnaW5nL3dlYmhvb2tzKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgKlxuICAgKiBOT1RFOiBJbmNvbWluZyB3ZWJob29rcyBjcmVhdGVkIHRocm91Z2ggbGVnYWN5IGN1c3RvbSBpbnRlZ3JhdGlvbnMgaW4gU2xhY2sgYXJlIG5vdCBzdXBwb3J0ZWQuXG4gICAqL1xuICBzbGFja1dlYmhvb2tVcmxTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXRcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGZyaWVuZGx5IG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgaW4gdGhlIFNsYWNrIG5vdGlmaWNhdGlvbnMgaW5zdGVhZCBvZiB0aGUgQVdTIGFjY291bnQgSURcbiAgICovXG4gIGFjY291bnRGcmllbmRseU5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIENvbnRyb2wgdGhlIGFtb3VudCBhbmQgdHlwZXMgb2Ygbm90aWZpY2F0aW9ucyBiZWluZyBzZW50IHRvIFNsYWNrLlxuICAgKiBcIldBUk5cIiBpcyB0aGUgbGVhc3QgdmVyYm9zZSwgd2hpbGUgXCJERUJVR1wiIGlzIHRoZSBtb3N0IHZlcmJvc2UuXG4gICAqXG4gICAqIFwiV0FSTlwiIC0gSW5jbHVkZXMgbm90aWZpY2F0aW9ucyByZWxhdGVkIHRvIHRoZSBmYWlsdXJlIG9mIGEgcGlwZWxpbmUgZXhlY3V0aW9uLlxuICAgKiBcIklORk9cIiAtIEFkZHMgbm90aWZpY2F0aW9ucyBmb3IgdGhlIHN1Y2Nlc3Mgb2YgYSBwaXBlbGluZSBleGVjdXRpb24uXG4gICAqIFwiREVCVUdcIiAtIEFkZHMgbm90aWZpY2F0aW9ucyBmb3IgdGhlIHN0YXJ0IGFuZCBzdXBlcnNlZGluZyBvZiBhIHBpcGVsaW5lIGV4ZWN1dGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJXQVJOXCJcbiAgICovXG4gIG5vdGlmaWNhdGlvbkxldmVsPzogXCJXQVJOXCIgfCBcIklORk9cIiB8IFwiREVCVUdcIlxuICAvKipcbiAgICogVGhlIGtleSBvZiB0aGUgb2JqZWN0IChlLmcuLCBgbXktcHJlZml4L215LWZpbGUuanNvbmApIHRoYXQgdHJpZ2dlcnMgdGhlIFMzIFNvdXJjZSBBY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBwaXBlbGluZS5cbiAgICogQnkgY29uZmlndXJpbmcgdGhpcyBwYXJhbWV0ZXIgeW91IGNhbiBzcGVjaWZ5IHdoaWNoIG9iamVjdHMgdGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IHNlbmRzIG1lc3NhZ2VzIHRvIFNsYWNrIGNhbiBhY2Nlc3MgaW4gdGhlIGFydGlmYWN0cyBidWNrZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIExhbWJkYSBmdW5jdGlvbiBjYW4gcmVhZCBhbGwgb2JqZWN0cyBpbiB0aGUgYXJ0aWZhY3RzIGJ1Y2tldC5cbiAgICovXG4gIHRyaWdnZXJPYmplY3RLZXk/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBNb25pdG9yIGEgQ29kZVBpcGVsaW5lIGFuZCBzZW5kIG1lc3NhZ2UgdG8gU2xhY2sgb24gZmFpbHVyZVxuICogYW5kIHNvbWUgc3VjY2VlZGVkIGV2ZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNsYWNrTm90aWZpY2F0aW9uIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogU2xhY2tOb3RpZmljYXRpb25Qcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBTTEFDS19VUkxfU0VDUkVUX05BTUU6IHByb3BzLnNsYWNrV2ViaG9va1VybFNlY3JldC5zZWNyZXROYW1lLFxuICAgICAgTk9USUZJQ0FUSU9OX0xFVkVMOiBwcm9wcy5ub3RpZmljYXRpb25MZXZlbCA/PyBcIldBUk5cIixcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuYWNjb3VudEZyaWVuZGx5TmFtZSAhPSBudWxsKSB7XG4gICAgICBlbnZpcm9ubWVudC5BQ0NPVU5UX0ZSSUVORExZX05BTUUgPSBwcm9wcy5hY2NvdW50RnJpZW5kbHlOYW1lXG4gICAgfVxuXG4gICAgY29uc3QgcmVwb3J0RnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KFxuICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uLy4uL2Fzc2V0cy9waXBlbGluZS1zbGFjay1ub3RpZmljYXRpb24tbGFtYmRhXCIpLFxuICAgICAgKSxcbiAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTEsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24uc2Vjb25kcygxMCksXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkhhbmRsZSBDb2RlUGlwZWxpbmUgcGlwZWxpbmUgc3RhdGUgY2hhbmdlIGFuZCByZXBvcnQgdG8gU2xhY2tcIixcbiAgICB9KVxuXG4gICAgcmVwb3J0RnVuY3Rpb24uZ3JhbnRQcmluY2lwYWwuYWRkVG9QcmluY2lwYWxQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBcImNvZGVwaXBlbGluZTpMaXN0QWN0aW9uRXhlY3V0aW9uc1wiLFxuICAgICAgICAgIFwiY29kZXBpcGVsaW5lOkxpc3RQaXBlbGluZUV4ZWN1dGlvbnNcIixcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbcHJvcHMucGlwZWxpbmUucGlwZWxpbmVBcm5dLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgcHJvcHMuc2xhY2tXZWJob29rVXJsU2VjcmV0LmdyYW50UmVhZChyZXBvcnRGdW5jdGlvbilcblxuICAgIHByb3BzLmFydGlmYWN0c0J1Y2tldC5ncmFudFJlYWQocmVwb3J0RnVuY3Rpb24sIHByb3BzLnRyaWdnZXJPYmplY3RLZXkpXG5cbiAgICBwcm9wcy5waXBlbGluZS5vblN0YXRlQ2hhbmdlKGBFdmVudCR7aWR9YCwge1xuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIC8vIEF2YWlsYWJsZSBzdGF0ZXM6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jb2RlcGlwZWxpbmUvbGF0ZXN0L3VzZXJndWlkZS9kZXRlY3Qtc3RhdGUtY2hhbmdlcy1jbG91ZHdhdGNoLWV2ZW50cy5odG1sXG4gICAgICAgICAgc3RhdGU6IFtcIlNVQ0NFRURFRFwiLCBcIkZBSUxFRFwiLCBcIlNUQVJURURcIiwgXCJTVVBFUlNFREVEXCJdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRhcmdldDogbmV3IGV2ZW50c1RhcmdldHMuTGFtYmRhRnVuY3Rpb24ocmVwb3J0RnVuY3Rpb24pLFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- import * as process from "process";
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import * as process from "node:process";
4
4
  import { isSnapshot } from "..";
5
- let variables = undefined;
5
+ let variables;
6
6
  function isInCodeBuild() {
7
7
  return "CODEBUILD_BUILD_ID" in process.env;
8
8
  }
@@ -13,9 +13,9 @@ function checkTimestamp(timestampStr) {
13
13
  if (isInCodeBuild()) {
14
14
  return;
15
15
  }
16
- throw new Error(`Variable variablesTimestamp not found`);
16
+ throw new Error("Variable variablesTimestamp not found");
17
17
  }
18
- const ageMs = new Date().getTime() - new Date(Date.parse(timestampStr)).getTime();
18
+ const ageMs = Date.now() - new Date(Date.parse(timestampStr)).getTime();
19
19
  if (ageMs > 3600 * 6 * 1000) {
20
20
  throw new Error("The timestamp stored in variables.json is too old and must be refreshed - refetch variables or manually override");
21
21
  }
@@ -41,7 +41,7 @@ export function getVariable(name) {
41
41
  }
42
42
  variables = JSON.parse(fs.readFileSync(variablesFile, "utf-8"));
43
43
  }
44
- const timestampStr = variables["variablesTimestamp"];
44
+ const timestampStr = variables.variablesTimestamp;
45
45
  checkTimestamp(timestampStr);
46
46
  const value = variables[name];
47
47
  if (value == null) {
@@ -49,4 +49,4 @@ export function getVariable(name) {
49
49
  }
50
50
  return value;
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay1waXBlbGluZXMvdmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ3hCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQzVCLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFL0IsSUFBSSxTQUFTLEdBQW1ELFNBQVMsQ0FBQTtBQUV6RSxTQUFTLGFBQWE7SUFDcEIsT0FBTyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFBO0FBQzVDLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxZQUFnQztJQUN0RCxJQUFJLFlBQVksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6Qix3RUFBd0U7UUFDeEUseUVBQXlFO1FBQ3pFLElBQUksYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQ1QsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDckUsSUFBSSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUNiLGtIQUFrSCxDQUNuSCxDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVk7SUFDdEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE9BQU8sZ0JBQWdCLENBQUE7SUFDekIsQ0FBQztJQUVELElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGdCQUFnQixDQUFDLENBQUE7UUFFaEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFDN0MsQ0FBQztRQUVELFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUc3RCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQ3BELGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUU1QixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFN0IsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCAqIGFzIHByb2Nlc3MgZnJvbSBcInByb2Nlc3NcIlxuaW1wb3J0IHsgaXNTbmFwc2hvdCB9IGZyb20gXCIuLlwiXG5cbmxldCB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuZnVuY3Rpb24gaXNJbkNvZGVCdWlsZCgpIHtcbiAgcmV0dXJuIFwiQ09ERUJVSUxEX0JVSUxEX0lEXCIgaW4gcHJvY2Vzcy5lbnZcbn1cblxuZnVuY3Rpb24gY2hlY2tUaW1lc3RhbXAodGltZXN0YW1wU3RyOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgaWYgKHRpbWVzdGFtcFN0ciA9PSBudWxsKSB7XG4gICAgLy8gRG9uJ3QgZW5mb3JjZSBjaGVjayBpbiBDb2RlQnVpbGQuIFRoaXMgaXMgbmVlZGVkIGZvciBtaWdyYXRpb24gYmVmb3JlXG4gICAgLy8gdGhlIGxhbWJkYSBpdHNlbGYgaXMgdXBkYXRlZCB0byBnZW5lcmF0ZSB0aGUgdmFyaWFibGVzVGltZXN0YW1wIGZpZWxkLlxuICAgIGlmIChpc0luQ29kZUJ1aWxkKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVmFyaWFibGUgdmFyaWFibGVzVGltZXN0YW1wIG5vdCBmb3VuZGApXG4gIH1cblxuICBjb25zdCBhZ2VNcyA9XG4gICAgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShEYXRlLnBhcnNlKHRpbWVzdGFtcFN0cikpLmdldFRpbWUoKVxuICBpZiAoYWdlTXMgPiAzNjAwICogNiAqIDEwMDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIlRoZSB0aW1lc3RhbXAgc3RvcmVkIGluIHZhcmlhYmxlcy5qc29uIGlzIHRvbyBvbGQgYW5kIG11c3QgYmUgcmVmcmVzaGVkIC0gcmVmZXRjaCB2YXJpYWJsZXMgb3IgbWFudWFsbHkgb3ZlcnJpZGVcIixcbiAgICApXG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgYSB2YWx1ZSBmcm9tIFwidmFyaWFibGVzLmpzb25cIiBpbiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAqXG4gKiBUaGUgbmFtZSBtdXN0IGV4aXN0IG9yIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duLlxuICpcbiAqIFRoZSB2YXJpYWJsZXMuanNvbiBmaWxlIHNob3VsZCBoYXZlIHZhcmlhYmxlc1RpbWVzdGFtcCBmaWVsZFxuICogd2l0aCBhIHRpbWVzdGFtcCBubyBsb25nZXIgdGhhbiA2IGhvdXJzIG9sZC5cbiAqXG4gKiBUbyBiZSB1c2VkIHdpdGggc291cmNlVHlwZSBcImNkay1zb3VyY2VcIiBpbiBMaWZsaWdDZGtQaXBlbGluZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZhcmlhYmxlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChpc1NuYXBzaG90KSB7XG4gICAgcmV0dXJuIFwic25hcHNob3QtdmFsdWVcIlxuICB9XG5cbiAgaWYgKHZhcmlhYmxlcyA9PSBudWxsKSB7XG4gICAgY29uc3QgdmFyaWFibGVzRmlsZSA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInZhcmlhYmxlcy5qc29uXCIpXG5cbiAgICBpZiAoIWZzLmV4aXN0c1N5bmModmFyaWFibGVzRmlsZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInZhcmlhYmxlcy5qc29uIG5vdCBmb3VuZFwiKVxuICAgIH1cblxuICAgIHZhcmlhYmxlcyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHZhcmlhYmxlc0ZpbGUsIFwidXRmLThcIikpIGFzIFJlY29yZDxcbiAgICAgIHN0cmluZyxcbiAgICAgIHN0cmluZyB8IHVuZGVmaW5lZFxuICAgID5cbiAgfVxuXG4gIGNvbnN0IHRpbWVzdGFtcFN0ciA9IHZhcmlhYmxlc1tcInZhcmlhYmxlc1RpbWVzdGFtcFwiXVxuICBjaGVja1RpbWVzdGFtcCh0aW1lc3RhbXBTdHIpXG5cbiAgY29uc3QgdmFsdWUgPSB2YXJpYWJsZXNbbmFtZV1cblxuICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVmFyaWFibGUgJHtuYW1lfSBub3QgZm91bmRgKVxuICB9XG5cbiAgcmV0dXJuIHZhbHVlXG59XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay1waXBlbGluZXMvdmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzdCLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQ2pDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFL0IsSUFBSSxTQUF5RCxDQUFBO0FBRTdELFNBQVMsYUFBYTtJQUNwQixPQUFPLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUE7QUFDNUMsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLFlBQWdDO0lBQ3RELElBQUksWUFBWSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pCLHdFQUF3RTtRQUN4RSx5RUFBeUU7UUFDekUsSUFBSSxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3ZFLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FDYixrSEFBa0gsQ0FDbkgsQ0FBQTtJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZO0lBQ3RDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixPQUFPLGdCQUFnQixDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1FBRWhFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFFRCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FHN0QsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQUE7SUFDakQsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBRTVCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUU3QixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcIm5vZGU6ZnNcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCAqIGFzIHByb2Nlc3MgZnJvbSBcIm5vZGU6cHJvY2Vzc1wiXG5pbXBvcnQgeyBpc1NuYXBzaG90IH0gZnJvbSBcIi4uXCJcblxubGV0IHZhcmlhYmxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiB8IHVuZGVmaW5lZFxuXG5mdW5jdGlvbiBpc0luQ29kZUJ1aWxkKCkge1xuICByZXR1cm4gXCJDT0RFQlVJTERfQlVJTERfSURcIiBpbiBwcm9jZXNzLmVudlxufVxuXG5mdW5jdGlvbiBjaGVja1RpbWVzdGFtcCh0aW1lc3RhbXBTdHI6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICBpZiAodGltZXN0YW1wU3RyID09IG51bGwpIHtcbiAgICAvLyBEb24ndCBlbmZvcmNlIGNoZWNrIGluIENvZGVCdWlsZC4gVGhpcyBpcyBuZWVkZWQgZm9yIG1pZ3JhdGlvbiBiZWZvcmVcbiAgICAvLyB0aGUgbGFtYmRhIGl0c2VsZiBpcyB1cGRhdGVkIHRvIGdlbmVyYXRlIHRoZSB2YXJpYWJsZXNUaW1lc3RhbXAgZmllbGQuXG4gICAgaWYgKGlzSW5Db2RlQnVpbGQoKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVmFyaWFibGUgdmFyaWFibGVzVGltZXN0YW1wIG5vdCBmb3VuZFwiKVxuICB9XG5cbiAgY29uc3QgYWdlTXMgPSBEYXRlLm5vdygpIC0gbmV3IERhdGUoRGF0ZS5wYXJzZSh0aW1lc3RhbXBTdHIpKS5nZXRUaW1lKClcbiAgaWYgKGFnZU1zID4gMzYwMCAqIDYgKiAxMDAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJUaGUgdGltZXN0YW1wIHN0b3JlZCBpbiB2YXJpYWJsZXMuanNvbiBpcyB0b28gb2xkIGFuZCBtdXN0IGJlIHJlZnJlc2hlZCAtIHJlZmV0Y2ggdmFyaWFibGVzIG9yIG1hbnVhbGx5IG92ZXJyaWRlXCIsXG4gICAgKVxuICB9XG59XG5cbi8qKlxuICogR2V0IGEgdmFsdWUgZnJvbSBcInZhcmlhYmxlcy5qc29uXCIgaW4gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gKlxuICogVGhlIG5hbWUgbXVzdCBleGlzdCBvciBhbiBlcnJvciB3aWxsIGJlIHRocm93bi5cbiAqXG4gKiBUaGUgdmFyaWFibGVzLmpzb24gZmlsZSBzaG91bGQgaGF2ZSB2YXJpYWJsZXNUaW1lc3RhbXAgZmllbGRcbiAqIHdpdGggYSB0aW1lc3RhbXAgbm8gbG9uZ2VyIHRoYW4gNiBob3VycyBvbGQuXG4gKlxuICogVG8gYmUgdXNlZCB3aXRoIHNvdXJjZVR5cGUgXCJjZGstc291cmNlXCIgaW4gTGlmbGlnQ2RrUGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYXJpYWJsZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoaXNTbmFwc2hvdCkge1xuICAgIHJldHVybiBcInNuYXBzaG90LXZhbHVlXCJcbiAgfVxuXG4gIGlmICh2YXJpYWJsZXMgPT0gbnVsbCkge1xuICAgIGNvbnN0IHZhcmlhYmxlc0ZpbGUgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJ2YXJpYWJsZXMuanNvblwiKVxuXG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHZhcmlhYmxlc0ZpbGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ2YXJpYWJsZXMuanNvbiBub3QgZm91bmRcIilcbiAgICB9XG5cbiAgICB2YXJpYWJsZXMgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyh2YXJpYWJsZXNGaWxlLCBcInV0Zi04XCIpKSBhcyBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICA+XG4gIH1cblxuICBjb25zdCB0aW1lc3RhbXBTdHIgPSB2YXJpYWJsZXMudmFyaWFibGVzVGltZXN0YW1wXG4gIGNoZWNrVGltZXN0YW1wKHRpbWVzdGFtcFN0cilcblxuICBjb25zdCB2YWx1ZSA9IHZhcmlhYmxlc1tuYW1lXVxuXG4gIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBWYXJpYWJsZSAke25hbWV9IG5vdCBmb3VuZGApXG4gIH1cblxuICByZXR1cm4gdmFsdWVcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import * as constructs from "constructs";
2
1
  import * as cdk from "aws-cdk-lib";
3
2
  import * as cloudwatch from "aws-cdk-lib/aws-cloudwatch";
3
+ import * as constructs from "constructs";
4
4
  export interface CloudTrailSlackIntegrationProps extends cdk.StackProps {
5
5
  /**
6
6
  * A key-value pair of values to augment (e.g., AWS account IDs, principal IDs) with friendly names