@mavogel/awscdk-rootmail 0.0.230 → 0.0.231

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 (74) hide show
  1. package/.jsii +4 -4
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@smithy/abort-controller/package.json +2 -2
  5. package/node_modules/@smithy/config-resolver/package.json +4 -4
  6. package/node_modules/@smithy/core/package.json +6 -6
  7. package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
  8. package/node_modules/@smithy/eventstream-codec/package.json +2 -2
  9. package/node_modules/@smithy/eventstream-serde-browser/package.json +3 -3
  10. package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +2 -2
  11. package/node_modules/@smithy/eventstream-serde-node/package.json +3 -3
  12. package/node_modules/@smithy/eventstream-serde-universal/package.json +3 -3
  13. package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
  14. package/node_modules/@smithy/hash-blob-browser/package.json +2 -2
  15. package/node_modules/@smithy/hash-node/package.json +2 -2
  16. package/node_modules/@smithy/hash-stream-node/package.json +2 -2
  17. package/node_modules/@smithy/invalid-dependency/package.json +2 -2
  18. package/node_modules/@smithy/md5-js/package.json +2 -2
  19. package/node_modules/@smithy/middleware-content-length/package.json +3 -3
  20. package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
  21. package/node_modules/@smithy/middleware-retry/package.json +8 -8
  22. package/node_modules/@smithy/middleware-serde/package.json +2 -2
  23. package/node_modules/@smithy/middleware-stack/package.json +2 -2
  24. package/node_modules/@smithy/node-config-provider/package.json +4 -4
  25. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +11 -8
  26. package/node_modules/@smithy/node-http-handler/dist-es/timing.js +2 -2
  27. package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +9 -6
  28. package/node_modules/@smithy/node-http-handler/dist-types/timing.d.ts +2 -2
  29. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +2 -2
  30. package/node_modules/@smithy/node-http-handler/package.json +5 -5
  31. package/node_modules/@smithy/property-provider/package.json +2 -2
  32. package/node_modules/@smithy/protocol-http/package.json +2 -2
  33. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  34. package/node_modules/@smithy/querystring-parser/package.json +2 -2
  35. package/node_modules/@smithy/service-error-classification/dist-cjs/index.js +2 -2
  36. package/node_modules/@smithy/service-error-classification/dist-es/index.js +3 -2
  37. package/node_modules/@smithy/service-error-classification/dist-types/index.d.ts +1 -1
  38. package/node_modules/@smithy/service-error-classification/dist-types/ts3.4/index.d.ts +1 -1
  39. package/node_modules/@smithy/service-error-classification/package.json +2 -2
  40. package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
  41. package/node_modules/@smithy/signature-v4/package.json +4 -4
  42. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +22 -34
  43. package/node_modules/@smithy/smithy-client/dist-es/lazy-json.js +22 -31
  44. package/node_modules/@smithy/smithy-client/dist-types/lazy-json.d.ts +34 -15
  45. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/lazy-json.d.ts +34 -15
  46. package/node_modules/@smithy/smithy-client/package.json +7 -7
  47. package/node_modules/@smithy/types/dist-types/shapes.d.ts +1 -0
  48. package/node_modules/@smithy/types/dist-types/ts3.4/shapes.d.ts +1 -0
  49. package/node_modules/@smithy/types/package.json +1 -1
  50. package/node_modules/@smithy/url-parser/package.json +3 -3
  51. package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
  52. package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
  53. package/node_modules/@smithy/util-endpoints/package.json +3 -3
  54. package/node_modules/@smithy/util-middleware/package.json +2 -2
  55. package/node_modules/@smithy/util-retry/package.json +3 -3
  56. package/node_modules/@smithy/util-stream/package.json +4 -4
  57. package/node_modules/@smithy/util-waiter/dist-cjs/index.js +31 -4
  58. package/node_modules/@smithy/util-waiter/dist-es/poller.js +30 -4
  59. package/node_modules/@smithy/util-waiter/dist-types/ts3.4/waiter.d.ts +5 -0
  60. package/node_modules/@smithy/util-waiter/dist-types/waiter.d.ts +5 -0
  61. package/node_modules/@smithy/util-waiter/package.json +3 -3
  62. package/node_modules/cdk-nag/.jsii +2 -2
  63. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  64. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  65. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  66. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  67. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  68. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  69. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  70. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  71. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  72. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  73. package/node_modules/cdk-nag/package.json +1 -1
  74. package/package.json +3 -3
@@ -80,29 +80,56 @@ var exponentialBackoffWithJitter = /* @__PURE__ */ __name((minDelay, maxDelay, a
80
80
  var randomInRange = /* @__PURE__ */ __name((min, max) => min + Math.random() * (max - min), "randomInRange");
81
81
  var runPolling = /* @__PURE__ */ __name(async ({ minDelay, maxDelay, maxWaitTime, abortController, client, abortSignal }, input, acceptorChecks) => {
82
82
  var _a;
83
+ const observedResponses = {};
83
84
  const { state, reason } = await acceptorChecks(client, input);
85
+ if (reason) {
86
+ const message = createMessageFromResponse(reason);
87
+ observedResponses[message] |= 0;
88
+ observedResponses[message] += 1;
89
+ }
84
90
  if (state !== "RETRY" /* RETRY */) {
85
- return { state, reason };
91
+ return { state, reason, observedResponses };
86
92
  }
87
93
  let currentAttempt = 1;
88
94
  const waitUntil = Date.now() + maxWaitTime * 1e3;
89
95
  const attemptCeiling = Math.log(maxDelay / minDelay) / Math.log(2) + 1;
90
96
  while (true) {
91
97
  if (((_a = abortController == null ? void 0 : abortController.signal) == null ? void 0 : _a.aborted) || (abortSignal == null ? void 0 : abortSignal.aborted)) {
92
- return { state: "ABORTED" /* ABORTED */ };
98
+ const message = "AbortController signal aborted.";
99
+ observedResponses[message] |= 0;
100
+ observedResponses[message] += 1;
101
+ return { state: "ABORTED" /* ABORTED */, observedResponses };
93
102
  }
94
103
  const delay = exponentialBackoffWithJitter(minDelay, maxDelay, attemptCeiling, currentAttempt);
95
104
  if (Date.now() + delay * 1e3 > waitUntil) {
96
- return { state: "TIMEOUT" /* TIMEOUT */ };
105
+ return { state: "TIMEOUT" /* TIMEOUT */, observedResponses };
97
106
  }
98
107
  await sleep(delay);
99
108
  const { state: state2, reason: reason2 } = await acceptorChecks(client, input);
109
+ if (reason2) {
110
+ const message = createMessageFromResponse(reason2);
111
+ observedResponses[message] |= 0;
112
+ observedResponses[message] += 1;
113
+ }
100
114
  if (state2 !== "RETRY" /* RETRY */) {
101
- return { state: state2, reason: reason2 };
115
+ return { state: state2, reason: reason2, observedResponses };
102
116
  }
103
117
  currentAttempt += 1;
104
118
  }
105
119
  }, "runPolling");
120
+ var createMessageFromResponse = /* @__PURE__ */ __name((reason) => {
121
+ var _a;
122
+ if (reason == null ? void 0 : reason.$responseBodyText) {
123
+ return `Deserialization error for body: ${reason.$responseBodyText}`;
124
+ }
125
+ if ((_a = reason == null ? void 0 : reason.$metadata) == null ? void 0 : _a.httpStatusCode) {
126
+ if (reason.$response || reason.message) {
127
+ return `${reason.$response.statusCode ?? reason.$metadata.httpStatusCode ?? "Unknown"}: ${reason.message}`;
128
+ }
129
+ return `${reason.$metadata.httpStatusCode}: OK`;
130
+ }
131
+ return String((reason == null ? void 0 : reason.message) ?? JSON.stringify(reason) ?? "Unknown");
132
+ }, "createMessageFromResponse");
106
133
 
107
134
  // src/utils/validate.ts
108
135
  var validateWaiterOptions = /* @__PURE__ */ __name((options) => {
@@ -8,26 +8,52 @@ const exponentialBackoffWithJitter = (minDelay, maxDelay, attemptCeiling, attemp
8
8
  };
9
9
  const randomInRange = (min, max) => min + Math.random() * (max - min);
10
10
  export const runPolling = async ({ minDelay, maxDelay, maxWaitTime, abortController, client, abortSignal }, input, acceptorChecks) => {
11
+ const observedResponses = {};
11
12
  const { state, reason } = await acceptorChecks(client, input);
13
+ if (reason) {
14
+ const message = createMessageFromResponse(reason);
15
+ observedResponses[message] |= 0;
16
+ observedResponses[message] += 1;
17
+ }
12
18
  if (state !== WaiterState.RETRY) {
13
- return { state, reason };
19
+ return { state, reason, observedResponses };
14
20
  }
15
21
  let currentAttempt = 1;
16
22
  const waitUntil = Date.now() + maxWaitTime * 1000;
17
23
  const attemptCeiling = Math.log(maxDelay / minDelay) / Math.log(2) + 1;
18
24
  while (true) {
19
25
  if (abortController?.signal?.aborted || abortSignal?.aborted) {
20
- return { state: WaiterState.ABORTED };
26
+ const message = "AbortController signal aborted.";
27
+ observedResponses[message] |= 0;
28
+ observedResponses[message] += 1;
29
+ return { state: WaiterState.ABORTED, observedResponses };
21
30
  }
22
31
  const delay = exponentialBackoffWithJitter(minDelay, maxDelay, attemptCeiling, currentAttempt);
23
32
  if (Date.now() + delay * 1000 > waitUntil) {
24
- return { state: WaiterState.TIMEOUT };
33
+ return { state: WaiterState.TIMEOUT, observedResponses };
25
34
  }
26
35
  await sleep(delay);
27
36
  const { state, reason } = await acceptorChecks(client, input);
37
+ if (reason) {
38
+ const message = createMessageFromResponse(reason);
39
+ observedResponses[message] |= 0;
40
+ observedResponses[message] += 1;
41
+ }
28
42
  if (state !== WaiterState.RETRY) {
29
- return { state, reason };
43
+ return { state, reason, observedResponses };
30
44
  }
31
45
  currentAttempt += 1;
32
46
  }
33
47
  };
48
+ const createMessageFromResponse = (reason) => {
49
+ if (reason?.$responseBodyText) {
50
+ return `Deserialization error for body: ${reason.$responseBodyText}`;
51
+ }
52
+ if (reason?.$metadata?.httpStatusCode) {
53
+ if (reason.$response || reason.message) {
54
+ return `${reason.$response.statusCode ?? reason.$metadata.httpStatusCode ?? "Unknown"}: ${reason.message}`;
55
+ }
56
+ return `${reason.$metadata.httpStatusCode}: OK`;
57
+ }
58
+ return String(reason?.message ?? JSON.stringify(reason) ?? "Unknown");
59
+ };
@@ -34,6 +34,11 @@ export type WaiterResult = {
34
34
  * (optional) Indicates a reason for why a waiter has reached its state.
35
35
  */
36
36
  reason?: any;
37
+ /**
38
+ * Responses observed by the waiter during its polling, where the value
39
+ * is the count.
40
+ */
41
+ observedResponses?: Record<string, number>;
37
42
  };
38
43
  /**
39
44
  * @internal
@@ -34,6 +34,11 @@ export type WaiterResult = {
34
34
  * (optional) Indicates a reason for why a waiter has reached its state.
35
35
  */
36
36
  reason?: any;
37
+ /**
38
+ * Responses observed by the waiter during its polling, where the value
39
+ * is the count.
40
+ */
41
+ observedResponses?: Record<string, number>;
37
42
  };
38
43
  /**
39
44
  * @internal
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@smithy/util-waiter",
3
- "version": "3.1.9",
3
+ "version": "3.2.0",
4
4
  "description": "Shared utilities for client waiters for the AWS SDK",
5
5
  "dependencies": {
6
- "@smithy/abort-controller": "^3.1.8",
7
- "@smithy/types": "^3.7.1",
6
+ "@smithy/abort-controller": "^3.1.9",
7
+ "@smithy/types": "^3.7.2",
8
8
  "tslib": "^2.6.2"
9
9
  },
10
10
  "scripts": {
@@ -7153,6 +7153,6 @@
7153
7153
  "symbolId": "src/ignore-suppression-conditions:SuppressionIgnoreOr"
7154
7154
  }
7155
7155
  },
7156
- "version": "2.34.19",
7157
- "fingerprint": "h4AdmhjJYrcTx6HXGOv2Oi9PJ9ogWmsZPv4l3BDhZ28="
7156
+ "version": "2.34.21",
7157
+ "fingerprint": "v9ZupCqxQ4Sw7e7v92dJXVKc6/Omdo6VhWKLZgVw0Oo="
7158
7158
  }
@@ -28,7 +28,7 @@ class SuppressionIgnoreAnd {
28
28
  }
29
29
  exports.SuppressionIgnoreAnd = SuppressionIgnoreAnd;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- SuppressionIgnoreAnd[_a] = { fqn: "cdk-nag.SuppressionIgnoreAnd", version: "2.34.19" };
31
+ SuppressionIgnoreAnd[_a] = { fqn: "cdk-nag.SuppressionIgnoreAnd", version: "2.34.21" };
32
32
  /**
33
33
  * Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message
34
34
  */
@@ -52,7 +52,7 @@ class SuppressionIgnoreOr {
52
52
  }
53
53
  exports.SuppressionIgnoreOr = SuppressionIgnoreOr;
54
54
  _b = JSII_RTTI_SYMBOL_1;
55
- SuppressionIgnoreOr[_b] = { fqn: "cdk-nag.SuppressionIgnoreOr", version: "2.34.19" };
55
+ SuppressionIgnoreOr[_b] = { fqn: "cdk-nag.SuppressionIgnoreOr", version: "2.34.21" };
56
56
  /**
57
57
  * Always ignore the suppression
58
58
  */
@@ -69,7 +69,7 @@ class SuppressionIgnoreAlways {
69
69
  }
70
70
  exports.SuppressionIgnoreAlways = SuppressionIgnoreAlways;
71
71
  _c = JSII_RTTI_SYMBOL_1;
72
- SuppressionIgnoreAlways[_c] = { fqn: "cdk-nag.SuppressionIgnoreAlways", version: "2.34.19" };
72
+ SuppressionIgnoreAlways[_c] = { fqn: "cdk-nag.SuppressionIgnoreAlways", version: "2.34.21" };
73
73
  /**
74
74
  * Don't ignore the suppression
75
75
  */
@@ -80,7 +80,7 @@ class SuppressionIgnoreNever {
80
80
  }
81
81
  exports.SuppressionIgnoreNever = SuppressionIgnoreNever;
82
82
  _d = JSII_RTTI_SYMBOL_1;
83
- SuppressionIgnoreNever[_d] = { fqn: "cdk-nag.SuppressionIgnoreNever", version: "2.34.19" };
83
+ SuppressionIgnoreNever[_d] = { fqn: "cdk-nag.SuppressionIgnoreNever", version: "2.34.21" };
84
84
  /**
85
85
  * Ignore Suppressions for Rules with a NagMessageLevel.ERROR
86
86
  */
@@ -93,5 +93,5 @@ class SuppressionIgnoreErrors {
93
93
  }
94
94
  exports.SuppressionIgnoreErrors = SuppressionIgnoreErrors;
95
95
  _e = JSII_RTTI_SYMBOL_1;
96
- SuppressionIgnoreErrors[_e] = { fqn: "cdk-nag.SuppressionIgnoreErrors", version: "2.34.19" };
96
+ SuppressionIgnoreErrors[_e] = { fqn: "cdk-nag.SuppressionIgnoreErrors", version: "2.34.21" };
97
97
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSwyQ0FBOEM7QUF5QjlDOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFHL0IsWUFBWSxHQUFHLHFCQUE4QztRQUMzRCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FDYiwrREFBK0QsQ0FDaEUsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDO0lBQ3JELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBNkI7UUFDekMsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNOLE9BQU8sRUFBRSxDQUFDO2FBQ1g7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOztBQXRCSCxvREF1QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFHOUIsWUFBWSxHQUFHLG9CQUE2QztRQUMxRCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FDYiw4REFBOEQsQ0FDL0QsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0lBQ25ELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBNkI7UUFDekMsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ3pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsQjtTQUNGO1FBQ0QsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDOztBQXJCSCxrREFzQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFFbEMsWUFBWSxjQUFzQjtRQUNoQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBELENBQzNELENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxhQUFhLENBQUMsTUFBOEI7UUFDMUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7O0FBWkgsMERBYUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDakMsYUFBYSxDQUFDLE1BQThCO1FBQzFDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7QUFISCx3REFJQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHVCQUF1QjtJQUNsQyxhQUFhLENBQUMsS0FBNkI7UUFDekMsT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLDJCQUFlLENBQUMsS0FBSztZQUM3QyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSx1REFBdUQ7WUFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7O0FBTEgsMERBTUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuKi9cbmltcG9ydCB7IENmblJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTmFnTWVzc2FnZUxldmVsIH0gZnJvbSAnLi9uYWctcnVsZXMnO1xuXG4vKipcbiAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSBOYWdSdWxlIGFuZCB0aGUgcmVsZXZhbnQgTmFnU3VwcHJlc3Npb24gZm9yIHRoZSBJTmFnU3VwcHJlc3Npb25JZ25vcmVcbiAqIEBwYXJhbSByZXNvdXJjZSBUaGUgcmVzb3VyY2UgdGhlIHN1cHByZXNzaW9uIGlzIGFwcGxpZWQgdG8uXG4gKiBAcGFyYW0gcmVhc29uIFRoZSByZWFzb24gZ2l2ZW4gZm9yIHRoZSBzdXBwcmVzc2lvbi5cbiAqIEBwYXJhbSBydWxlSWQgVGhlIGlkIG9mIHRoZSBydWxlIHRvIGlnbm9yZS5cbiAqIEBwYXJhbSBmaW5kaW5nSWQgVGhlIGlkIG9mIHRoZSBmaW5kaW5nIHRoYXQgaXMgYmVpbmcgY2hlY2tlZC5cbiAqIEBwYXJhbSBydWxlTGV2ZWwgVGhlIHNldmVyaXR5IGxldmVsIG9mIHRoZSBydWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1cHByZXNzaW9uSWdub3JlSW5wdXQge1xuICByZWFkb25seSByZXNvdXJjZTogQ2ZuUmVzb3VyY2U7XG4gIHJlYWRvbmx5IHJlYXNvbjogc3RyaW5nO1xuICByZWFkb25seSBydWxlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgZmluZGluZ0lkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bGVMZXZlbDogTmFnTWVzc2FnZUxldmVsO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY3JlYXRpbmcgTmFnU3VwcHJlc3Npb24gSWdub3Jlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIGNyZWF0ZU1lc3NhZ2UoaW5wdXQ6IFN1cHByZXNzaW9uSWdub3JlSW5wdXQpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSWdub3JlIHRoZSBzdXBwcmVzc2lvbiBpZiBhbGwgb2YgdGhlIGdpdmVuIElOYWdTdXBwcmVzc2lvbklnbm9yZSByZXR1cm4gYSBub24tZW1wdHkgbWVzc2FnZVxuICovXG5leHBvcnQgY2xhc3MgU3VwcHJlc3Npb25JZ25vcmVBbmQgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBwcml2YXRlIGFuZFN1cHByZXNzaW9uSWdub3JlczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW107XG5cbiAgY29uc3RydWN0b3IoLi4uU3VwcHJlc3Npb25JZ25vcmVBbmRzOiBJTmFnU3VwcHJlc3Npb25JZ25vcmVbXSkge1xuICAgIGlmIChTdXBwcmVzc2lvbklnbm9yZUFuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTdXBwcmVzc2lvbklnbm9yZUFuZCBuZWVkcyBhdCBsZWFzdCBvbmUgSU5hZ1N1cHByZXNzaW9uSWdub3JlJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5hbmRTdXBwcmVzc2lvbklnbm9yZXMgPSBTdXBwcmVzc2lvbklnbm9yZUFuZHM7XG4gIH1cblxuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICBsZXQgbWVzc2FnZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy5hbmRTdXBwcmVzc2lvbklnbm9yZXMpIHtcbiAgICAgIGNvbnN0IG0gPSBpLmNyZWF0ZU1lc3NhZ2UoaW5wdXQpO1xuICAgICAgbWVzc2FnZXMucHVzaChtKTtcbiAgICAgIGlmICghbSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlcy5qb2luKCdcXG5cXHQnKTtcbiAgfVxufVxuXG4vKipcbiAqIElnbm9yZSB0aGUgc3VwcHJlc3Npb24gaWYgYW55IG9mIHRoZSBnaXZlbiBJTmFnU3VwcHJlc3Npb25JZ25vcmUgcmV0dXJuIGEgbm9uLWVtcHR5IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlT3IgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBwcml2YXRlIFN1cHByZXNzaW9uSWdub3JlT3JzOiBJTmFnU3VwcHJlc3Npb25JZ25vcmVbXTtcblxuICBjb25zdHJ1Y3RvciguLi5vclN1cHByZXNzaW9uSWdub3JlczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW10pIHtcbiAgICBpZiAob3JTdXBwcmVzc2lvbklnbm9yZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTdXBwcmVzc2lvbklnbm9yZU9yIG5lZWRzIGF0IGxlYXN0IG9uZSBJTmFnU3VwcHJlc3Npb25JZ25vcmUnXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLlN1cHByZXNzaW9uSWdub3JlT3JzID0gb3JTdXBwcmVzc2lvbklnbm9yZXM7XG4gIH1cblxuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICBsZXQgbWVzc2FnZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy5TdXBwcmVzc2lvbklnbm9yZU9ycykge1xuICAgICAgY29uc3QgbSA9IGkuY3JlYXRlTWVzc2FnZShpbnB1dCk7XG4gICAgICBpZiAobSkge1xuICAgICAgICBtZXNzYWdlcy5wdXNoKG0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZXMgPyBtZXNzYWdlcy5qb2luKCdcXG5cXHQnKSA6ICcnO1xuICB9XG59XG5cbi8qKlxuICogQWx3YXlzIGlnbm9yZSB0aGUgc3VwcHJlc3Npb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlQWx3YXlzIGltcGxlbWVudHMgSU5hZ1N1cHByZXNzaW9uSWdub3JlIHtcbiAgcHJpdmF0ZSB0cmlnZ2VyTWVzc2FnZTogc3RyaW5nO1xuICBjb25zdHJ1Y3Rvcih0cmlnZ2VyTWVzc2FnZTogc3RyaW5nKSB7XG4gICAgaWYgKHRyaWdnZXJNZXNzYWdlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAncHJvdmlkZSBhIHRyaWdnZXJNZXNzYWdlIGZvciB0aGUgU3VwcHJlc3Npb25JZ25vcmVBbHdheXMnXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJNZXNzYWdlID0gdHJpZ2dlck1lc3NhZ2U7XG4gIH1cbiAgY3JlYXRlTWVzc2FnZShfaW5wdXQ6IFN1cHByZXNzaW9uSWdub3JlSW5wdXQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJNZXNzYWdlO1xuICB9XG59XG5cbi8qKlxuICogRG9uJ3QgaWdub3JlIHRoZSBzdXBwcmVzc2lvblxuICovXG5leHBvcnQgY2xhc3MgU3VwcHJlc3Npb25JZ25vcmVOZXZlciBpbXBsZW1lbnRzIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIGNyZWF0ZU1lc3NhZ2UoX2lucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuLyoqXG4gKiBJZ25vcmUgU3VwcHJlc3Npb25zIGZvciBSdWxlcyB3aXRoIGEgTmFnTWVzc2FnZUxldmVsLkVSUk9SXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBwcmVzc2lvbklnbm9yZUVycm9ycyBpbXBsZW1lbnRzIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIGNyZWF0ZU1lc3NhZ2UoaW5wdXQ6IFN1cHByZXNzaW9uSWdub3JlSW5wdXQpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnB1dC5ydWxlTGV2ZWwgPT0gTmFnTWVzc2FnZUxldmVsLkVSUk9SXG4gICAgICA/IGAke2lucHV0LnJ1bGVJZH0gaXMgY2F0ZWdvcml6ZWQgYXMgYW4gRVJST1IgYW5kIG1heSBub3QgYmUgc3VwcHJlc3NlZGBcbiAgICAgIDogJyc7XG4gIH1cbn1cbiJdfQ==
@@ -61,7 +61,7 @@ class AnnotationLogger {
61
61
  }
62
62
  exports.AnnotationLogger = AnnotationLogger;
63
63
  _a = JSII_RTTI_SYMBOL_1;
64
- AnnotationLogger[_a] = { fqn: "cdk-nag.AnnotationLogger", version: "2.34.19" };
64
+ AnnotationLogger[_a] = { fqn: "cdk-nag.AnnotationLogger", version: "2.34.21" };
65
65
  /**
66
66
  * Possible output formats of the NagReport
67
67
  */
@@ -196,5 +196,5 @@ class NagReportLogger {
196
196
  }
197
197
  exports.NagReportLogger = NagReportLogger;
198
198
  _b = JSII_RTTI_SYMBOL_1;
199
- NagReportLogger[_b] = { fqn: "cdk-nag.NagReportLogger", version: "2.34.19" };
199
+ NagReportLogger[_b] = { fqn: "cdk-nag.NagReportLogger", version: "2.34.21" };
200
200
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uYWctbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztFQUdFO0FBQ0YsMkJBQWlFO0FBQ2pFLCtCQUE0QjtBQUM1Qiw2Q0FBbUU7QUFDbkUsMkNBTXFCO0FBeUdyQjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCO0lBSTNCLFlBQVksS0FBNkI7UUFIekMsa0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztRQUlsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUE4QjtRQUN6QyxPQUFPO0lBQ1QsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFnQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUNoQyxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksMkJBQWUsQ0FBQyxLQUFLLEVBQUU7WUFDM0MseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNqRDthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSwyQkFBZSxDQUFDLElBQUksRUFBRTtZQUNqRCx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUE2QjtRQUN4QyxJQUFJLElB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Z0JBQ0gsa0JBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQ2pEO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQ2IsOEJBQThCLE1BQU0sMEJBQTBCLENBQy9ELENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQzs7QUFoSkgsMENBaUpDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG5pbXBvcnQgeyBhcHBlbmRGaWxlU3luYywgcmVhZEZpbGVTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIEFwcCwgQ2ZuUmVzb3VyY2UsIE5hbWVzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtcbiAgTmFnTWVzc2FnZUxldmVsLFxuICBOYWdSdWxlQ29tcGxpYW5jZSxcbiAgTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzLFxuICBOYWdSdWxlU3RhdGVzLFxuICBWQUxJREFUSU9OX0ZBSUxVUkVfSUQsXG59IGZyb20gJy4vbmFnLXJ1bGVzJztcblxuLyoqXG4gKiBTaGFyZWQgZGF0YSBmb3IgYWxsIElOYWdMb2dnZXIgbWV0aG9kc1xuICogQHBhcmFtIG5hZ1BhY2tOYW1lIFRoZSBuYW1lIG9mIHRoZSBOYWdQYWNrIHRoYXQgdGhlIHJ1bGUgYmVsb25ncyB0by5cbiAqIEBwYXJhbSByZXNvdXJjZSBUaGUgcmVzb3VyY2UgdGhlIHN1cHByZXNzaW9uIGlzIGFwcGxpZWQgdG8uXG4gKiBAcGFyYW0gcnVsZUlkIFRoZSBpZCBvZiB0aGUgcnVsZSB0byBpZ25vcmUuXG4gKiBAcGFyYW0gcnVsZU9yaWdpbmFsTmFtZSBPcmlnaW5hbCBuYW1lIG9mIHRoZSBydWxlLlxuICogQHBhcmFtIHJ1bGVJbmZvIFdoeSB0aGUgcnVsZSB3YXMgdHJpZ2dlcmVkLlxuICogQHBhcmFtIHJ1bGVFeHBsYW5hdGlvbiBXaHkgdGhlIHJ1bGUgZXhpc3RzLlxuICogQHBhcmFtIHJ1bGVMZXZlbCBUaGUgc2V2ZXJpdHkgbGV2ZWwgb2YgdGhlIHJ1bGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFnTG9nZ2VyQmFzZURhdGEge1xuICByZWFkb25seSBuYWdQYWNrTmFtZTogc3RyaW5nO1xuICByZWFkb25seSByZXNvdXJjZTogQ2ZuUmVzb3VyY2U7XG4gIHJlYWRvbmx5IHJ1bGVJZDogc3RyaW5nO1xuICByZWFkb25seSBydWxlT3JpZ2luYWxOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bGVJbmZvOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bGVFeHBsYW5hdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBydWxlTGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbDtcbn1cblxuLyoqXG4gKiBEYXRhIGZvciBvbkNvbXBsaWFuY2UgbWV0aG9kIG9mIGFuIElOYWdMb2dnZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFnTG9nZ2VyQ29tcGxpYW5jZURhdGEgZXh0ZW5kcyBOYWdMb2dnZXJCYXNlRGF0YSB7fVxuLyoqXG4gKiBEYXRhIGZvciBvbk5vbkNvbXBsaWFuY2UgbWV0aG9kIG9mIGFuIElOYWdMb2dnZXIuXG4gKiBAcGFyYW0gZmluZGluZ0lkIFRoZSBpZCBvZiB0aGUgZmluZGluZyB0aGF0IGlzIGJlaW5nIGNoZWNrZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFnTG9nZ2VyTm9uQ29tcGxpYW5jZURhdGEgZXh0ZW5kcyBOYWdMb2dnZXJCYXNlRGF0YSB7XG4gIHJlYWRvbmx5IGZpbmRpbmdJZDogc3RyaW5nO1xufVxuLyoqXG4gKiBEYXRhIGZvciBvblN1cHByZXNzZWQgbWV0aG9kIG9mIGFuIElOYWdMb2dnZXIuXG4gKiBAcGFyYW0gc3VwcHJlc3Npb25SZWFzb24gVGhlIHJlYXNvbiBnaXZlbiBmb3IgdGhlIHN1cHByZXNzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhIGV4dGVuZHMgTmFnTG9nZ2VyTm9uQ29tcGxpYW5jZURhdGEge1xuICByZWFkb25seSBzdXBwcmVzc2lvblJlYXNvbjogc3RyaW5nO1xufVxuLyoqXG4gKiBEYXRhIGZvciBvbkVycm9yIG1ldGhvZCBvZiBhbiBJTmFnTG9nZ2VyLlxuICogQHBhcmFtIGVycm9yTWVzc2FnZTogVGhlIGVycm9yIHRoYXQgd2FzIHRocm93bi5cbiAqIEBwYXJhbSBzaG91bGRMb2dJZ25vcmVkIFdoZXRoZXIgb3Igbm90IHRoZSBOYWdQYWNrIHVzZXIgaGFzIGluZGljYXRlZCB0aGF0IHRoZXkgd2FudCB0byBsb2cgc3VwcHJlc3Npb24gZGV0YWlscy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYWdMb2dnZXJFcnJvckRhdGEgZXh0ZW5kcyBOYWdMb2dnZXJCYXNlRGF0YSB7XG4gIHJlYWRvbmx5IGVycm9yTWVzc2FnZTogc3RyaW5nO1xufVxuLyoqXG4gKiBEYXRhIGZvciBvblN1cHByZXNzZWRFcnJvciBtZXRob2Qgb2YgYW4gSU5hZ0xvZ2dlci5cbiAqIEBwYXJhbSBlcnJvclN1cHByZXNzaW9uUmVhc29uIFRoZSByZWFzb24gZ2l2ZW4gZm9yIHRoZSB2YWxpZGF0aW9uIGVycm9yIHN1cHByZXNzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlclN1cHByZXNzZWRFcnJvckRhdGEgZXh0ZW5kcyBOYWdMb2dnZXJFcnJvckRhdGEge1xuICByZWFkb25seSBlcnJvclN1cHByZXNzaW9uUmVhc29uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGF0YSBmb3Igb25Ob3RBcHBsaWNhYmxlIG1ldGhvZCBvZiBhbiBJTmFnTG9nZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlck5vdEFwcGxpY2FibGVEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyQmFzZURhdGEge31cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNyZWF0aW5nIE5hZ1N1cHByZXNzaW9uIElnbm9yZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmFnTG9nZ2VyIHtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgQ2ZuUmVzb3VyY2UgcGFzc2VzIHRoZSBjb21wbGlhbmNlIGNoZWNrIGZvciBhIGdpdmVuIHJ1bGUuXG4gICAqL1xuICBvbkNvbXBsaWFuY2UoZGF0YTogTmFnTG9nZ2VyQ29tcGxpYW5jZURhdGEpOiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBDZm5SZXNvdXJjZSBkb2VzIG5vdCBwYXNzIHRoZSBjb21wbGlhbmNlIGNoZWNrIGZvciBhIGdpdmVuIHJ1bGUgYW5kIHRoZSB0aGUgcnVsZSB2aW9sYXRpb24gaXMgbm90IHN1cHByZXNzZWQgYnkgdGhlIHVzZXIuXG4gICAqL1xuICBvbk5vbkNvbXBsaWFuY2UoZGF0YTogTmFnTG9nZ2VyTm9uQ29tcGxpYW5jZURhdGEpOiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBDZm5SZXNvdXJjZSBkb2VzIG5vdCBwYXNzIHRoZSBjb21wbGlhbmNlIGNoZWNrIGZvciBhIGdpdmVuIHJ1bGUgYW5kIHRoZSBydWxlIHZpb2xhdGlvbiBpcyBzdXBwcmVzc2VkIGJ5IHRoZSB1c2VyLlxuICAgKi9cbiAgb25TdXBwcmVzc2VkKGRhdGE6IE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhKTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgcnVsZSB0aHJvd3MgYW4gZXJyb3IgZHVyaW5nIHdoaWxlIHZhbGlkYXRpbmcgYSBDZm5SZXNvdXJjZSBmb3IgY29tcGxpYW5jZS5cbiAgICovXG4gIG9uRXJyb3IoZGF0YTogTmFnTG9nZ2VyRXJyb3JEYXRhKTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgcnVsZSB0aHJvd3MgYW4gZXJyb3IgZHVyaW5nIHdoaWxlIHZhbGlkYXRpbmcgYSBDZm5SZXNvdXJjZSBmb3IgY29tcGxpYW5jZSBhbmQgdGhlIGVycm9yIGlzIHN1cHByZXNzZWQuXG4gICAqL1xuICBvblN1cHByZXNzZWRFcnJvcihkYXRhOiBOYWdMb2dnZXJTdXBwcmVzc2VkRXJyb3JEYXRhKTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgcnVsZSBkb2VzIG5vdCBhcHBseSB0byB0aGUgZ2l2ZW4gQ2ZuUmVzb3VyY2UuXG4gICAqL1xuICBvbk5vdEFwcGxpY2FibGUoZGF0YTogTmFnTG9nZ2VyTm90QXBwbGljYWJsZURhdGEpOiB2b2lkO1xufVxuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgQW5ub3RhdGlvbkxvZ2dlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFubm90YXRpb25Mb2dnZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgZXh0ZW5kZWQgZXhwbGFuYXRvcnkgZGVzY3JpcHRpb25zIG9uIHdhcm5pbmcsIGVycm9yLCBhbmQgbG9nZ2VkIGlnbm9yZSBtZXNzYWdlcy5cbiAgICovXG4gIHJlYWRvbmx5IHZlcmJvc2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBsb2cgc3VwcHJlc3NlZCBydWxlIHZpb2xhdGlvbnMgYXMgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyAoZGVmYXVsdDogZmFsc2UpLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nSWdub3Jlcz86IGJvb2xlYW47XG59XG4vKipcbiAqIEEgTmFnTG9nZ2VyIHRoYXQgb3V0cHV0cyB0byB0aGUgQ0RLIEFubm90YXRpb25zIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFubm90YXRpb25Mb2dnZXIgaW1wbGVtZW50cyBJTmFnTG9nZ2VyIHtcbiAgc3VwcHJlc3Npb25JZCA9ICdDZGtOYWdTdXBwcmVzc2lvbic7XG4gIHJlYWRvbmx5IHZlcmJvc2U6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGxvZ0lnbm9yZXM6IGJvb2xlYW47XG4gIGNvbnN0cnVjdG9yKHByb3BzPzogQW5ub3RhdGlvbkxvZ2dlclByb3BzKSB7XG4gICAgdGhpcy52ZXJib3NlID0gcHJvcHM/LnZlcmJvc2UgPz8gZmFsc2U7XG4gICAgdGhpcy5sb2dJZ25vcmVzID0gcHJvcHM/LmxvZ0lnbm9yZXMgPz8gZmFsc2U7XG4gIH1cbiAgb25Db21wbGlhbmNlKF9kYXRhOiBOYWdMb2dnZXJDb21wbGlhbmNlRGF0YSk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuICBvbk5vbkNvbXBsaWFuY2UoZGF0YTogTmFnTG9nZ2VyTm9uQ29tcGxpYW5jZURhdGEpOiB2b2lkIHtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5jcmVhdGVNZXNzYWdlKFxuICAgICAgZGF0YS5ydWxlSWQsXG4gICAgICBkYXRhLmZpbmRpbmdJZCxcbiAgICAgIGRhdGEucnVsZUluZm8sXG4gICAgICBkYXRhLnJ1bGVFeHBsYW5hdGlvbixcbiAgICAgIHRoaXMudmVyYm9zZVxuICAgICk7XG4gICAgaWYgKGRhdGEucnVsZUxldmVsID09IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUikge1xuICAgICAgQW5ub3RhdGlvbnMub2YoZGF0YS5yZXNvdXJjZSkuYWRkRXJyb3IobWVzc2FnZSk7XG4gICAgfSBlbHNlIGlmIChkYXRhLnJ1bGVMZXZlbCA9PSBOYWdNZXNzYWdlTGV2ZWwuV0FSTikge1xuICAgICAgQW5ub3RhdGlvbnMub2YoZGF0YS5yZXNvdXJjZSkuYWRkV2FybmluZyhtZXNzYWdlKTtcbiAgICB9XG4gIH1cbiAgb25TdXBwcmVzc2VkKGRhdGE6IE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9nSWdub3Jlcykge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuY3JlYXRlTWVzc2FnZShcbiAgICAgICAgdGhpcy5zdXBwcmVzc2lvbklkLFxuICAgICAgICBkYXRhLmZpbmRpbmdJZCxcbiAgICAgICAgYCR7ZGF0YS5ydWxlSWR9IHdhcyB0cmlnZ2VyZWQgYnV0IHN1cHByZXNzZWQuYCxcbiAgICAgICAgYFByb3ZpZGVkIHJlYXNvbjogXCIke2RhdGEuc3VwcHJlc3Npb25SZWFzb259XCJgLFxuICAgICAgICB0aGlzLnZlcmJvc2VcbiAgICAgICk7XG4gICAgICBBbm5vdGF0aW9ucy5vZihkYXRhLnJlc291cmNlKS5hZGRJbmZvKG1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuICBvbkVycm9yKGRhdGE6IE5hZ0xvZ2dlckVycm9yRGF0YSk6IHZvaWQge1xuICAgIGNvbnN0IGluZm9ybWF0aW9uID0gYCcke2RhdGEucnVsZUlkfScgdGhyZXcgYW4gZXJyb3IgZHVyaW5nIHZhbGlkYXRpb24uIFRoaXMgaXMgZ2VuZXJhbGx5IGNhdXNlZCBieSBhIHBhcmFtZXRlciByZWZlcmVuY2luZyBhbiBpbnRyaW5zaWMgZnVuY3Rpb24uIFlvdSBjYW4gc3VwcHJlc3MgdGhlIFwiJHtWQUxJREFUSU9OX0ZBSUxVUkVfSUR9XCIgdG8gZ2V0IHJpZCBvZiB0aGlzIGVycm9yLiBGb3IgbW9yZSBkZXRhaWxzIGVuYWJsZSB2ZXJib3NlIGxvZ2dpbmcuJ2A7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuY3JlYXRlTWVzc2FnZShcbiAgICAgIFZBTElEQVRJT05fRkFJTFVSRV9JRCxcbiAgICAgIGRhdGEucnVsZUlkLFxuICAgICAgaW5mb3JtYXRpb24sXG4gICAgICBkYXRhLmVycm9yTWVzc2FnZSxcbiAgICAgIHRoaXMudmVyYm9zZVxuICAgICk7XG4gICAgQW5ub3RhdGlvbnMub2YoZGF0YS5yZXNvdXJjZSkuYWRkV2FybmluZyhtZXNzYWdlKTtcbiAgfVxuICBvblN1cHByZXNzZWRFcnJvcihkYXRhOiBOYWdMb2dnZXJTdXBwcmVzc2VkRXJyb3JEYXRhKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9nSWdub3JlcyA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuY3JlYXRlTWVzc2FnZShcbiAgICAgICAgdGhpcy5zdXBwcmVzc2lvbklkLFxuICAgICAgICBkYXRhLnJ1bGVJZCxcbiAgICAgICAgYCR7VkFMSURBVElPTl9GQUlMVVJFX0lEfSB3YXMgdHJpZ2dlcmVkIGJ1dCBzdXBwcmVzc2VkLmAsXG4gICAgICAgIGRhdGEuZXJyb3JTdXBwcmVzc2lvblJlYXNvbixcbiAgICAgICAgdGhpcy52ZXJib3NlXG4gICAgICApO1xuICAgICAgQW5ub3RhdGlvbnMub2YoZGF0YS5yZXNvdXJjZSkuYWRkSW5mbyhtZXNzYWdlKTtcbiAgICB9XG4gIH1cbiAgb25Ob3RBcHBsaWNhYmxlKF9kYXRhOiBOYWdMb2dnZXJOb3RBcHBsaWNhYmxlRGF0YSk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVNZXNzYWdlKFxuICAgIHJ1bGVJZDogc3RyaW5nLFxuICAgIGZpbmRpbmdJZDogc3RyaW5nLFxuICAgIHJ1bGVJbmZvOiBzdHJpbmcsXG4gICAgcnVsZUV4cGxhbmF0aW9uOiBzdHJpbmcsXG4gICAgdmVyYm9zZTogYm9vbGVhblxuICApOiBzdHJpbmcge1xuICAgIGxldCBtZXNzYWdlID0gZmluZGluZ0lkXG4gICAgICA/IGAke3J1bGVJZH1bJHtmaW5kaW5nSWR9XTogJHtydWxlSW5mb31gXG4gICAgICA6IGAke3J1bGVJZH06ICR7cnVsZUluZm99YDtcbiAgICByZXR1cm4gdmVyYm9zZSA/IGAke21lc3NhZ2V9ICR7cnVsZUV4cGxhbmF0aW9ufVxcbmAgOiBgJHttZXNzYWdlfVxcbmA7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYWdSZXBvcnRTY2hlbWEge1xuICByZWFkb25seSBsaW5lczogTmFnUmVwb3J0TGluZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hZ1JlcG9ydExpbmUge1xuICByZWFkb25seSBydWxlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuICByZWFkb25seSBjb21wbGlhbmNlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4Y2VwdGlvblJlYXNvbjogc3RyaW5nO1xuICByZWFkb25seSBydWxlTGV2ZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZUluZm86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQb3NzaWJsZSBvdXRwdXQgZm9ybWF0cyBvZiB0aGUgTmFnUmVwb3J0XG4gKi9cbmV4cG9ydCBlbnVtIE5hZ1JlcG9ydEZvcm1hdCB7XG4gIENTViA9ICdjc3YnLFxuICBKU09OID0gJ2pzb24nLFxufVxuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgTmFnUmVwb3J0TG9nZ2VyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFnUmVwb3J0TG9nZ2VyUHJvcHMge1xuICByZWFkb25seSBmb3JtYXRzOiBOYWdSZXBvcnRGb3JtYXRbXTtcbn1cblxuLyoqXG4gKiBBIE5hZ0xvZ2dlciB0aGF0IGNyZWF0ZXMgY29tcGxpYW5jZSByZXBvcnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBOYWdSZXBvcnRMb2dnZXIgaW1wbGVtZW50cyBJTmFnTG9nZ2VyIHtcbiAgcHJpdmF0ZSByZXBvcnRTdGFja3MgPSBuZXcgTWFwPE5hZ1JlcG9ydEZvcm1hdCwgQXJyYXk8c3RyaW5nPj4oKTtcbiAgcmVhZG9ubHkgZm9ybWF0czogTmFnUmVwb3J0Rm9ybWF0W107XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBOYWdSZXBvcnRMb2dnZXJQcm9wcykge1xuICAgIGlmIChwcm9wcy5mb3JtYXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHByb3ZpZGUgYXQgbGVhc3QgMSBOYWdSZXBvcnRGb3JtYXQuJyk7XG4gICAgfVxuICAgIHRoaXMuZm9ybWF0cyA9IHByb3BzLmZvcm1hdHM7XG4gIH1cblxuICBvbkNvbXBsaWFuY2UoZGF0YTogTmFnTG9nZ2VyQ29tcGxpYW5jZURhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVTdGFja1JlcG9ydChkYXRhKTtcbiAgICB0aGlzLndyaXRlVG9TdGFja0NvbXBsaWFuY2VSZXBvcnQoZGF0YSwgTmFnUnVsZUNvbXBsaWFuY2UuQ09NUExJQU5UKTtcbiAgfVxuICBvbk5vbkNvbXBsaWFuY2UoZGF0YTogTmFnTG9nZ2VyTm9uQ29tcGxpYW5jZURhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVTdGFja1JlcG9ydChkYXRhKTtcbiAgICB0aGlzLndyaXRlVG9TdGFja0NvbXBsaWFuY2VSZXBvcnQoZGF0YSwgTmFnUnVsZUNvbXBsaWFuY2UuTk9OX0NPTVBMSUFOVCk7XG4gIH1cbiAgb25TdXBwcmVzc2VkKGRhdGE6IE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplU3RhY2tSZXBvcnQoZGF0YSk7XG4gICAgdGhpcy53cml0ZVRvU3RhY2tDb21wbGlhbmNlUmVwb3J0KFxuICAgICAgZGF0YSxcbiAgICAgIE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcy5TVVBQUkVTU0VEXG4gICAgKTtcbiAgfVxuICBvbkVycm9yKGRhdGE6IE5hZ0xvZ2dlckVycm9yRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZVN0YWNrUmVwb3J0KGRhdGEpO1xuICAgIHRoaXMud3JpdGVUb1N0YWNrQ29tcGxpYW5jZVJlcG9ydChcbiAgICAgIGRhdGEsXG4gICAgICBOYWdSdWxlUG9zdFZhbGlkYXRpb25TdGF0ZXMuVU5LTk9XTlxuICAgICk7XG4gIH1cbiAgb25TdXBwcmVzc2VkRXJyb3IoZGF0YTogTmFnTG9nZ2VyU3VwcHJlc3NlZEVycm9yRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZVN0YWNrUmVwb3J0KGRhdGEpO1xuICAgIHRoaXMud3JpdGVUb1N0YWNrQ29tcGxpYW5jZVJlcG9ydChcbiAgICAgIGRhdGEsXG4gICAgICBOYWdSdWxlUG9zdFZhbGlkYXRpb25TdGF0ZXMuU1VQUFJFU1NFRFxuICAgICk7XG4gIH1cbiAgb25Ob3RBcHBsaWNhYmxlKGRhdGE6IE5hZ0xvZ2dlck5vdEFwcGxpY2FibGVEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplU3RhY2tSZXBvcnQoZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0U3RhY2tzKGZvcm1hdDogTmFnUmVwb3J0Rm9ybWF0KTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnJlcG9ydFN0YWNrcy5nZXQoZm9ybWF0KSA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSByZXBvcnQgZm9yIHRoZSBydWxlIHBhY2sncyBjb21wbGlhbmNlIHJlcG9ydCBmb3IgdGhlIHJlc291cmNlJ3MgU3RhY2sgaWYgaXQgZG9lc24ndCBleGlzdFxuICAgKiBAcGFyYW0gZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGluaXRpYWxpemVTdGFja1JlcG9ydChkYXRhOiBOYWdMb2dnZXJCYXNlRGF0YSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZm9ybWF0IG9mIHRoaXMuZm9ybWF0cykge1xuICAgICAgY29uc3Qgc3RhY2tOYW1lID0gZGF0YS5yZXNvdXJjZS5zdGFjay5uZXN0ZWRcbiAgICAgICAgPyBOYW1lcy51bmlxdWVJZChkYXRhLnJlc291cmNlLnN0YWNrKVxuICAgICAgICA6IGRhdGEucmVzb3VyY2Uuc3RhY2suc3RhY2tOYW1lO1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHtkYXRhLm5hZ1BhY2tOYW1lfS0ke3N0YWNrTmFtZX0tTmFnUmVwb3J0LiR7Zm9ybWF0fWA7XG4gICAgICBjb25zdCBzdGFja3MgPSB0aGlzLmdldEZvcm1hdFN0YWNrcyhmb3JtYXQpO1xuICAgICAgaWYgKCFzdGFja3MuaW5jbHVkZXMoZmlsZU5hbWUpKSB7XG4gICAgICAgIGNvbnN0IGZpbGVQYXRoID0gam9pbihBcHAub2YoZGF0YS5yZXNvdXJjZSk/Lm91dGRpciA/PyAnJywgZmlsZU5hbWUpO1xuICAgICAgICB0aGlzLnJlcG9ydFN0YWNrcy5zZXQoZm9ybWF0LCBbLi4uc3RhY2tzLCBmaWxlTmFtZV0pO1xuICAgICAgICBsZXQgYm9keSA9ICcnO1xuICAgICAgICBpZiAoZm9ybWF0ID09PSBOYWdSZXBvcnRGb3JtYXQuQ1NWKSB7XG4gICAgICAgICAgYm9keSA9XG4gICAgICAgICAgICAnUnVsZSBJRCxSZXNvdXJjZSBJRCxDb21wbGlhbmNlLEV4Y2VwdGlvbiBSZWFzb24sUnVsZSBMZXZlbCxSdWxlIEluZm9cXG4nO1xuICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gTmFnUmVwb3J0Rm9ybWF0LkpTT04pIHtcbiAgICAgICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoeyBsaW5lczogW10gfSBhcyBOYWdSZXBvcnRTY2hlbWEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBVbnJlY29nbml6ZWQgb3V0cHV0IGZvcm1hdCAke2Zvcm1hdH0gZm9yIHRoZSBOYWdSZXBvcnRMb2dnZXJgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB3cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBib2R5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgd3JpdGVUb1N0YWNrQ29tcGxpYW5jZVJlcG9ydChcbiAgICBkYXRhOiBOYWdMb2dnZXJCYXNlRGF0YSxcbiAgICBjb21wbGlhbmNlOiBOYWdSdWxlU3RhdGVzXG4gICk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZm9ybWF0IG9mIHRoaXMuZm9ybWF0cykge1xuICAgICAgY29uc3Qgc3RhY2tOYW1lID0gZGF0YS5yZXNvdXJjZS5zdGFjay5uZXN0ZWRcbiAgICAgICAgPyBOYW1lcy51bmlxdWVJZChkYXRhLnJlc291cmNlLnN0YWNrKVxuICAgICAgICA6IGRhdGEucmVzb3VyY2Uuc3RhY2suc3RhY2tOYW1lO1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHtkYXRhLm5hZ1BhY2tOYW1lfS0ke3N0YWNrTmFtZX0tTmFnUmVwb3J0LiR7Zm9ybWF0fWA7XG4gICAgICBjb25zdCBmaWxlUGF0aCA9IGpvaW4oQXBwLm9mKGRhdGEucmVzb3VyY2UpPy5vdXRkaXIgPz8gJycsIGZpbGVOYW1lKTtcbiAgICAgIGlmIChmb3JtYXQgPT09IE5hZ1JlcG9ydEZvcm1hdC5DU1YpIHtcbiAgICAgICAgLy98IFJ1bGUgSUQgfCBSZXNvdXJjZSBJRCB8IENvbXBsaWFuY2UgfCBFeGNlcHRpb24gUmVhc29uIHwgUnVsZSBMZXZlbCB8IFJ1bGUgSW5mb1xuICAgICAgICBjb25zdCBsaW5lID0gQXJyYXk8c3RyaW5nPigpO1xuICAgICAgICBsaW5lLnB1c2goZGF0YS5ydWxlSWQpO1xuICAgICAgICBsaW5lLnB1c2goZGF0YS5yZXNvdXJjZS5ub2RlLnBhdGgpO1xuICAgICAgICBpZiAoY29tcGxpYW5jZSA9PT0gTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzLlNVUFBSRVNTRUQpIHtcbiAgICAgICAgICBsaW5lLnB1c2goTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzLlNVUFBSRVNTRUQpO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIChkYXRhIGFzIE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhKS5zdXBwcmVzc2lvblJlYXNvbiAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBsaW5lLnB1c2goKGRhdGEgYXMgTmFnTG9nZ2VyU3VwcHJlc3NlZERhdGEpLnN1cHByZXNzaW9uUmVhc29uKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGluZS5wdXNoKFxuICAgICAgICAgICAgICAoZGF0YSBhcyBOYWdMb2dnZXJTdXBwcmVzc2VkRXJyb3JEYXRhKS5lcnJvclN1cHByZXNzaW9uUmVhc29uXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsaW5lLnB1c2goY29tcGxpYW5jZSk7XG4gICAgICAgICAgbGluZS5wdXNoKCdOL0EnKTtcbiAgICAgICAgfVxuICAgICAgICBsaW5lLnB1c2goZGF0YS5ydWxlTGV2ZWwpO1xuICAgICAgICBsaW5lLnB1c2goZGF0YS5ydWxlSW5mbyk7XG4gICAgICAgIGFwcGVuZEZpbGVTeW5jKFxuICAgICAgICAgIGZpbGVQYXRoLFxuICAgICAgICAgIGxpbmUubWFwKChpKSA9PiAnXCInICsgaS5yZXBsYWNlKC9cIi9nLCAnXCJcIicpICsgJ1wiJykuam9pbignLCcpICsgJ1xcbidcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSBOYWdSZXBvcnRGb3JtYXQuSlNPTikge1xuICAgICAgICBjb25zdCByZXBvcnQgPSBKU09OLnBhcnNlKFxuICAgICAgICAgIHJlYWRGaWxlU3luYyhmaWxlUGF0aCwgJ3V0ZjgnKVxuICAgICAgICApIGFzIE5hZ1JlcG9ydFNjaGVtYTtcbiAgICAgICAgbGV0IGV4Y2VwdGlvblJlYXNvbiA9ICdOL0EnO1xuICAgICAgICBpZiAoY29tcGxpYW5jZSA9PT0gTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzLlNVUFBSRVNTRUQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZGF0YSBhcyBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSkuc3VwcHJlc3Npb25SZWFzb24gIT09IHVuZGVmaW5lZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXhjZXB0aW9uUmVhc29uID0gKGRhdGEgYXMgTmFnTG9nZ2VyU3VwcHJlc3NlZERhdGEpXG4gICAgICAgICAgICAgIC5zdXBwcmVzc2lvblJlYXNvbjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhjZXB0aW9uUmVhc29uID0gKGRhdGEgYXMgTmFnTG9nZ2VyU3VwcHJlc3NlZEVycm9yRGF0YSlcbiAgICAgICAgICAgICAgLmVycm9yU3VwcHJlc3Npb25SZWFzb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlcG9ydC5saW5lcy5wdXNoKHtcbiAgICAgICAgICBydWxlSWQ6IGRhdGEucnVsZUlkLFxuICAgICAgICAgIHJlc291cmNlSWQ6IGRhdGEucmVzb3VyY2Uubm9kZS5wYXRoLFxuICAgICAgICAgIGNvbXBsaWFuY2UsXG4gICAgICAgICAgZXhjZXB0aW9uUmVhc29uLFxuICAgICAgICAgIHJ1bGVMZXZlbDogZGF0YS5ydWxlTGV2ZWwsXG4gICAgICAgICAgcnVsZUluZm86IGRhdGEucnVsZUluZm8sXG4gICAgICAgIH0pO1xuICAgICAgICB3cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShyZXBvcnQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVW5yZWNvZ25pemVkIG91dHB1dCBmb3JtYXQgJHtmb3JtYXR9IGZvciB0aGUgTmFnUmVwb3J0TG9nZ2VyYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -160,5 +160,5 @@ class NagPack {
160
160
  }
161
161
  exports.NagPack = NagPack;
162
162
  _a = JSII_RTTI_SYMBOL_1;
163
- NagPack[_a] = { fqn: "cdk-nag.NagPack", version: "2.34.19" };
163
+ NagPack[_a] = { fqn: "cdk-nag.NagPack", version: "2.34.21" };
164
164
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXBhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmFnLXBhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7O0VBR0U7QUFDRiw2Q0FBZ0U7QUFFaEUsbUZBSXlDO0FBRXpDLDZDQU1zQjtBQUN0QiwyQ0FNcUI7QUFDckIsMkVBQXNFO0FBd0V0RTs7R0FFRztBQUNILE1BQXNCLE9BQU87SUFNM0IsWUFBWSxLQUFvQjtRQUx0QixZQUFPLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBS3RCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLEVBQUUsMEJBQTBCLENBQUM7UUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsSUFBSSw2QkFBZ0IsQ0FBQztZQUNuQixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU87WUFDdkIsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVO1NBQzlCLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksRUFBRTtZQUMxQixNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsYUFBYTtnQkFDbEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhO2dCQUNyQixDQUFDLENBQUMsQ0FBQyw0QkFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksNEJBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyRDtRQUNELElBQUksS0FBSyxFQUFFLGlCQUFpQixFQUFFO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lB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QUFXLENBQUMsTUFBTTtvQkFDMUIsTUFBTTtvQkFDTixTQUFTO29CQUNULFNBQVMsRUFBRSxLQUFLO2lCQUNqQixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxhQUFhLEVBQUU7b0JBQ2pCLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7b0JBQzdELHlCQUFXLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDOUIsdUJBQXVCLEVBQUUsZ0RBQWdELGFBQWEsRUFBRSxDQUN6RixDQUFDO2lCQUNIO3FCQUFNO29CQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFO3dCQUMxQixnREFBZ0Q7d0JBQ2hELE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQztxQkFDM0I7eUJBQU07d0JBQ0wsT0FBTyxJQUFJLFNBQVMsS0FBSyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7cUJBQy9DO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLGNBQWMsQ0FBQyxVQUF5QjtRQUM5QyxPQUFPLENBQ0wsVUFBVSxLQUFLLDZCQUFpQixDQUFDLGFBQWE7WUFDOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFTyxVQUFVLENBQUMsVUFBeUI7UUFDMUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzdCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO2FBQU07WUFDTCxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDYjtJQUNILENBQUM7O0FBck1ILDBCQXNNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIENmblJlc291cmNlLCBJQXNwZWN0IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgSU5hZ1N1cHByZXNzaW9uSWdub3JlLFxuICBTdXBwcmVzc2lvbklnbm9yZU5ldmVyLFxuICBTdXBwcmVzc2lvbklnbm9yZU9yLFxufSBmcm9tICcuL2lnbm9yZS1zdXBwcmVzc2lvbi1jb25kaXRpb25zJztcbmltcG9ydCB7IE5hZ1BhY2tTdXBwcmVzc2lvbiB9IGZyb20gJy4vbW9kZWxzL25hZy1zdXBwcmVzc2lvbic7XG5pbXBvcnQge1xuICBBbm5vdGF0aW9uTG9nZ2VyLFxuICBJTmFnTG9nZ2VyLFxuICBOYWdMb2dnZXJCYXNlRGF0YSxcbiAgTmFnUmVwb3J0Rm9ybWF0LFxuICBOYWdSZXBvcnRMb2dnZXIsXG59IGZyb20gJy4vbmFnLWxvZ2dlcic7XG5pbXBvcnQge1xuICBOYWdNZXNzYWdlTGV2ZWwsXG4gIE5hZ1J1bGVDb21wbGlhbmNlLFxuICBOYWdSdWxlRmluZGluZ3MsXG4gIE5hZ1J1bGVSZXN1bHQsXG4gIFZBTElEQVRJT05fRkFJTFVSRV9JRCxcbn0gZnJvbSAnLi9uYWctcnVsZXMnO1xuaW1wb3J0IHsgTmFnU3VwcHJlc3Npb25IZWxwZXIgfSBmcm9tICcuL3V0aWxzL25hZy1zdXBwcmVzc2lvbi1oZWxwZXInO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY3JlYXRpbmcgYSBOYWdQYWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ1BhY2tQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgZXh0ZW5kZWQgZXhwbGFuYXRvcnkgZGVzY3JpcHRpb25zIG9uIHdhcm5pbmcsIGVycm9yLCBhbmQgbG9nZ2VkIGlnbm9yZSBtZXNzYWdlcyAoZGVmYXVsdDogZmFsc2UpLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyYm9zZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGxvZyBzdXBwcmVzc2VkIHJ1bGUgdmlvbGF0aW9ucyBhcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIChkZWZhdWx0OiBmYWxzZSkuXG4gICAqL1xuICByZWFkb25seSBsb2dJZ25vcmVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZ2VuZXJhdGUgY29tcGxpYW5jZSByZXBvcnRzIGZvciBhcHBsaWVkIFN0YWNrcyBpbiB0aGUgQXBwJ3Mgb3V0cHV0IGRpcmVjdG9yeSAoZGVmYXVsdDogdHJ1ZSkuXG4gICAqL1xuICByZWFkb25seSByZXBvcnRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgcmVwb3J0cyBhcmUgZW5hYmxlZCwgdGhlIG91dHB1dCBmb3JtYXRzIG9mIGNvbXBsaWFuY2UgcmVwb3J0cyBpbiB0aGUgQXBwJ3Mgb3V0cHV0IGRpcmVjdG9yeSAoZGVmYXVsdDogb25seSBDU1YpLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3J0Rm9ybWF0cz86IE5hZ1JlcG9ydEZvcm1hdFtdO1xuXG4gIC8qKlxuICAgKiBDb25kaXRpb25hbGx5IHByZXZlbnQgcnVsZXMgZnJvbSBiZWluZyBzdXBwcmVzc2VkIChkZWZhdWx0OiBubyB1c2VyIHByb3ZpZGVkIGNvbmRpdGlvbikuXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc2lvbklnbm9yZUNvbmRpdGlvbj86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBOYWdMb2dnZXJzIGZvciBsb2dnaW5nIHJ1bGUgdmFsaWRhdGlvbiBvdXRwdXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbExvZ2dlcnM/OiBJTmFnTG9nZ2VyW107XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBKU0lJIGludGVyb3BlcmFiaWxpdHkgZm9yIHBhc3NpbmcgcGFyYW1ldGVycyBhbmQgdGhlIFJ1bGUgQ2FsbGJhY2sgdG8gQGFwcGx5UnVsZSBtZXRob2QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcGx5UnVsZSB7XG4gIC8qKlxuICAgKiBPdmVycmlkZSBmb3IgdGhlIHN1ZmZpeCBvZiB0aGUgUnVsZSBJRCBmb3IgdGhpcyBydWxlXG4gICAqL1xuICBydWxlU3VmZml4T3ZlcnJpZGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaHkgdGhlIHJ1bGUgd2FzIHRyaWdnZXJlZC5cbiAgICovXG4gIGluZm86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoeSB0aGUgcnVsZSBleGlzdHMuXG4gICAqL1xuICBleHBsYW5hdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGFubm90YXRpb25zIG1lc3NhZ2UgbGV2ZWwgdG8gYXBwbHkgdG8gdGhlIHJ1bGUgaWYgdHJpZ2dlcmVkLlxuICAgKi9cbiAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbDtcbiAgLyoqXG4gICAqIEEgY29uZGl0aW9uIGluIHdoaWNoIGEgc3VwcHJlc3Npb24gc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAqL1xuICBpZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvbj86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcbiAgLyoqXG4gICAqIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKi9cbiAgbm9kZTogQ2ZuUmVzb3VyY2U7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgdG8gdGhlIHJ1bGUuXG4gICAqIEBwYXJhbSBub2RlIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVjay5cbiAgICovXG4gIHJ1bGUobm9kZTogQ2ZuUmVzb3VyY2UpOiBOYWdSdWxlUmVzdWx0O1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFsbCBydWxlIHBhY2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmFnUGFjayBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwcm90ZWN0ZWQgbG9nZ2VycyA9IG5ldyBBcnJheTxJTmFnTG9nZ2VyPigpO1xuICBwcm90ZWN0ZWQgcGFja05hbWUgPSAnJztcbiAgcHJvdGVjdGVkIHVzZXJHbG9iYWxTdXBwcmVzc2lvbklnbm9yZT86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcbiAgcHJvdGVjdGVkIHBhY2tHbG9iYWxTdXBwcmVzc2lvbklnbm9yZT86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IE5hZ1BhY2tQcm9wcykge1xuICAgIHRoaXMudXNlckdsb2JhbFN1cHByZXNzaW9uSWdub3JlID0gcHJvcHM/LnN1cHByZXNzaW9uSWdub3JlQ29uZGl0aW9uO1xuICAgIHRoaXMubG9nZ2Vycy5wdXNoKFxuICAgICAgbmV3IEFubm90YXRpb25Mb2dnZXIoe1xuICAgICAgICB2ZXJib3NlOiBwcm9wcz8udmVyYm9zZSxcbiAgICAgICAgbG9nSWdub3JlczogcHJvcHM/LmxvZ0lnbm9yZXMsXG4gICAgICB9KVxuICAgICk7XG4gICAgaWYgKHByb3BzPy5yZXBvcnRzID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHMgPSBwcm9wcz8ucmVwb3J0Rm9ybWF0c1xuICAgICAgICA/IHByb3BzLnJlcG9ydEZvcm1hdHNcbiAgICAgICAgOiBbTmFnUmVwb3J0Rm9ybWF0LkNTVl07XG4gICAgICB0aGlzLmxvZ2dlcnMucHVzaChuZXcgTmFnUmVwb3J0TG9nZ2VyKHsgZm9ybWF0cyB9KSk7XG4gICAgfVxuICAgIGlmIChwcm9wcz8uYWRkaXRpb25hbExvZ2dlcnMpIHtcbiAgICAgIHRoaXMubG9nZ2Vycy5wdXNoKC4uLnByb3BzLmFkZGl0aW9uYWxMb2dnZXJzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRQYWNrTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhY2tOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbCBhc3BlY3RzIGNhbiB2aXNpdCBhbiBJQ29uc3RydWN0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBydWxlIHRvIGJlIHVzZWQgaW4gdGhlIE5hZ1BhY2suXG4gICAqIEBwYXJhbSBwYXJhbXMgVGhlIEBJQXBwbHlSdWxlIGludGVyZmFjZSB3aXRoIHJ1bGUgZGV0YWlscy5cbiAgICovXG4gIHByb3RlY3RlZCBhcHBseVJ1bGUocGFyYW1zOiBJQXBwbHlSdWxlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFja05hbWUgPT09ICcnKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1RoZSBOYWdQYWNrIGRvZXMgbm90IGhhdmUgYSBwYWNrIG5hbWUsIHRoZXJlZm9yZSB0aGUgcnVsZSBjb3VsZCBub3QgYmUgYXBwbGllZC4gU2V0IGEgcGFja05hbWUgaW4gdGhlIE5hZ1BhY2sgY29uc3RydWN0b3IuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgYWxsU3VwcHJlc3Npb25zID0gTmFnU3VwcHJlc3Npb25IZWxwZXIuZ2V0U3VwcHJlc3Npb25zKHBhcmFtcy5ub2RlKTtcbiAgICBjb25zdCBydWxlU3VmZml4ID0gcGFyYW1zLnJ1bGVTdWZmaXhPdmVycmlkZVxuICAgICAgPyBwYXJhbXMucnVsZVN1ZmZpeE92ZXJyaWRlXG4gICAgICA6IHBhcmFtcy5ydWxlLm5hbWU7XG4gICAgY29uc3QgcnVsZUlkID0gYCR7dGhpcy5wYWNrTmFtZX0tJHtydWxlU3VmZml4fWA7XG4gICAgY29uc3QgYmFzZTogTmFnTG9nZ2VyQmFzZURhdGEgPSB7XG4gICAgICBuYWdQYWNrTmFtZTogdGhpcy5wYWNrTmFtZSxcbiAgICAgIHJlc291cmNlOiBwYXJhbXMubm9kZSxcbiAgICAgIHJ1bGVJZDogcnVsZUlkLFxuICAgICAgcnVsZU9yaWdpbmFsTmFtZTogcGFyYW1zLnJ1bGUubmFtZSxcbiAgICAgIHJ1bGVJbmZvOiBwYXJhbXMuaW5mbyxcbiAgICAgIHJ1bGVFeHBsYW5hdGlvbjogcGFyYW1zLmV4cGxhbmF0aW9uLFxuICAgICAgcnVsZUxldmVsOiBwYXJhbXMubGV2ZWwsXG4gICAgfTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcnVsZUNvbXBsaWFuY2UgPSBwYXJhbXMucnVsZShwYXJhbXMubm9kZSk7XG4gICAgICBpZiAocnVsZUNvbXBsaWFuY2UgPT09IE5hZ1J1bGVDb21wbGlhbmNlLkNPTVBMSUFOVCkge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT4gdC5vbkNvbXBsaWFuY2UoYmFzZSkpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTm9uQ29tcGxpYW50KHJ1bGVDb21wbGlhbmNlKSkge1xuICAgICAgICBjb25zdCBmaW5kaW5ncyA9IHRoaXMuYXNGaW5kaW5ncyhydWxlQ29tcGxpYW5jZSk7XG4gICAgICAgIGZvciAoY29uc3QgZmluZGluZ0lkIG9mIGZpbmRpbmdzKSB7XG4gICAgICAgICAgY29uc3Qgc3VwcHJlc3Npb25SZWFzb24gPSB0aGlzLmlnbm9yZVJ1bGUoXG4gICAgICAgICAgICBhbGxTdXBwcmVzc2lvbnMsXG4gICAgICAgICAgICBydWxlSWQsXG4gICAgICAgICAgICBmaW5kaW5nSWQsXG4gICAgICAgICAgICBwYXJhbXMubm9kZSxcbiAgICAgICAgICAgIHBhcmFtcy5sZXZlbCxcbiAgICAgICAgICAgIHBhcmFtcy5pZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvblxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHN1cHByZXNzaW9uUmVhc29uKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICAgICAgdC5vblN1cHByZXNzZWQoe1xuICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgc3VwcHJlc3Npb25SZWFzb24sXG4gICAgICAgICAgICAgICAgZmluZGluZ0lkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJzLmZvckVhY2goKHQpID0+XG4gICAgICAgICAgICAgIHQub25Ob25Db21wbGlhbmNlKHtcbiAgICAgICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgICAgICAgIGZpbmRpbmdJZCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHJ1bGVDb21wbGlhbmNlID09PSBOYWdSdWxlQ29tcGxpYW5jZS5OT1RfQVBQTElDQUJMRSkge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICB0Lm9uTm90QXBwbGljYWJsZSh7XG4gICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IHJlYXNvbiA9IHRoaXMuaWdub3JlUnVsZShcbiAgICAgICAgYWxsU3VwcHJlc3Npb25zLFxuICAgICAgICBydWxlSWQsXG4gICAgICAgICcnLFxuICAgICAgICBwYXJhbXMubm9kZSxcbiAgICAgICAgcGFyYW1zLmxldmVsLFxuICAgICAgICBwYXJhbXMuaWdub3JlU3VwcHJlc3Npb25Db25kaXRpb24sXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgICBpZiAocmVhc29uKSB7XG4gICAgICAgIHRoaXMubG9nZ2Vycy5mb3JFYWNoKCh0KSA9PlxuICAgICAgICAgIHQub25TdXBwcmVzc2VkRXJyb3Ioe1xuICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZTogKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3JTdXBwcmVzc2lvblJlYXNvbjogcmVhc29uLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICB0Lm9uRXJyb3Ioe1xuICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZTogKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgYSBzcGVjaWZpYyBydWxlIHNob3VsZCBiZSBpZ25vcmVkLlxuICAgKiBAcGFyYW0gc3VwcHJlc3Npb25zIFRoZSBzdXBwcmVzc2lvbnMgbGlzdGVkIGluIHRoZSBjZGstbmFnIG1ldGFkYXRhLlxuICAgKiBAcGFyYW0gcnVsZUlkIFRoZSBpZCBvZiB0aGUgcnVsZSB0byBpZ25vcmUuXG4gICAqIEBwYXJhbSByZXNvdXJjZSBUaGUgcmVzb3VyY2UgYmVpbmcgZXZhbHVhdGVkLlxuICAgKiBAcGFyYW0gZmluZGluZ0lkIFRoZSBpZCBvZiB0aGUgZmluZGluZyB0aGF0IGlzIGJlaW5nIGNoZWNrZWQuXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uRmFpbHVyZSBXaGV0aGVyIHRoZSBydWxlIGlzIGJlaW5nIGNoZWNrZWQgZHVlIHRvIGEgdmFsaWRhdGlvbiBmYWlsdXJlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVhc29uIHRoZSBydWxlIHdhcyBpZ25vcmVkLCBvciBhbiBlbXB0eSBzdHJpbmcuXG4gICAqL1xuICBwcm90ZWN0ZWQgaWdub3JlUnVsZShcbiAgICBzdXBwcmVzc2lvbnM6IE5hZ1BhY2tTdXBwcmVzc2lvbltdLFxuICAgIHJ1bGVJZDogc3RyaW5nLFxuICAgIGZpbmRpbmdJZDogc3RyaW5nLFxuICAgIHJlc291cmNlOiBDZm5SZXNvdXJjZSxcbiAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLFxuICAgIGlnbm9yZVN1cHByZXNzaW9uQ29uZGl0aW9uPzogSU5hZ1N1cHByZXNzaW9uSWdub3JlLFxuICAgIHZhbGlkYXRpb25GYWlsdXJlOiBib29sZWFuID0gZmFsc2VcbiAgKTogc3RyaW5nIHtcbiAgICBmb3IgKGxldCBzdXBwcmVzc2lvbiBvZiBzdXBwcmVzc2lvbnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgTmFnU3VwcHJlc3Npb25IZWxwZXIuZG9lc0FwcGx5KHN1cHByZXNzaW9uLCBydWxlSWQsIGZpbmRpbmdJZCkgfHxcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBtYXJrZWQgYXMgYW4gZXhjZXB0aW9uLCBhbHNvIGNoZWNrIGZvciBhIHN1cHByZXNzaW9uIG9uIFZBTElEQVRJT05fRkFJTFVSRV9JRFxuICAgICAgICAodmFsaWRhdGlvbkZhaWx1cmUgJiZcbiAgICAgICAgICBOYWdTdXBwcmVzc2lvbkhlbHBlci5kb2VzQXBwbHkoXG4gICAgICAgICAgICBzdXBwcmVzc2lvbixcbiAgICAgICAgICAgIFZBTElEQVRJT05fRkFJTFVSRV9JRCxcbiAgICAgICAgICAgIHJ1bGVJZFxuICAgICAgICAgICkpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgaWdub3JlTWVzc2FnZSA9IG5ldyBTdXBwcmVzc2lvbklnbm9yZU9yKFxuICAgICAgICAgIHRoaXMudXNlckdsb2JhbFN1cHByZXNzaW9uSWdub3JlID8/IG5ldyBTdXBwcmVzc2lvbklnbm9yZU5ldmVyKCksXG4gICAgICAgICAgdGhpcy5wYWNrR2xvYmFsU3VwcHJlc3Npb25JZ25vcmUgPz8gbmV3IFN1cHByZXNzaW9uSWdub3JlTmV2ZXIoKSxcbiAgICAgICAgICBpZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvbiA/PyBuZXcgU3VwcHJlc3Npb25JZ25vcmVOZXZlcigpXG4gICAgICAgICkuY3JlYXRlTWVzc2FnZSh7XG4gICAgICAgICAgcmVzb3VyY2UsXG4gICAgICAgICAgcmVhc29uOiBzdXBwcmVzc2lvbi5yZWFzb24sXG4gICAgICAgICAgcnVsZUlkLFxuICAgICAgICAgIGZpbmRpbmdJZCxcbiAgICAgICAgICBydWxlTGV2ZWw6IGxldmVsLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlnbm9yZU1lc3NhZ2UpIHtcbiAgICAgICAgICBsZXQgaWQgPSBmaW5kaW5nSWQgPyBgJHtydWxlSWR9WyR7ZmluZGluZ0lkfV1gIDogYCR7cnVsZUlkfWA7XG4gICAgICAgICAgQW5ub3RhdGlvbnMub2YocmVzb3VyY2UpLmFkZEluZm8oXG4gICAgICAgICAgICBgVGhlIHN1cHByZXNzaW9uIGZvciAke2lkfSB3YXMgaWdub3JlZCBmb3IgdGhlIGZvbGxvd2luZyByZWFzb24ocykuXFxuXFx0JHtpZ25vcmVNZXNzYWdlfWBcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghc3VwcHJlc3Npb24uYXBwbGllc1RvKSB7XG4gICAgICAgICAgICAvLyB0aGUgcnVsZSBpcyBub3QgZ3JhbnVsYXIgc28gaXQgYWx3YXlzIGFwcGxpZXNcbiAgICAgICAgICAgIHJldHVybiBzdXBwcmVzc2lvbi5yZWFzb247XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgWyR7ZmluZGluZ0lkfV0gJHtzdXBwcmVzc2lvbi5yZWFzb259YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05vbkNvbXBsaWFudChydWxlUmVzdWx0OiBOYWdSdWxlUmVzdWx0KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHJ1bGVSZXN1bHQgPT09IE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQgfHxcbiAgICAgIEFycmF5LmlzQXJyYXkocnVsZVJlc3VsdClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc0ZpbmRpbmdzKHJ1bGVSZXN1bHQ6IE5hZ1J1bGVSZXN1bHQpOiBOYWdSdWxlRmluZGluZ3Mge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJ1bGVSZXN1bHQpKSB7XG4gICAgICByZXR1cm4gcnVsZVJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFsnJ107XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -75,5 +75,5 @@ class NagRules {
75
75
  }
76
76
  exports.NagRules = NagRules;
77
77
  _a = JSII_RTTI_SYMBOL_1;
78
- NagRules[_a] = { fqn: "cdk-nag.NagRules", version: "2.34.19" };
78
+ NagRules[_a] = { fqn: "cdk-nag.NagRules", version: "2.34.21" };
79
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25hZy1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7RUFHRTtBQUNGLDZDQUFpRDtBQUVwQyxRQUFBLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3pCLG1DQUFnQixDQUFBO0lBQ2hCLGtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBRzFCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGlCQUlYO0FBSkQsV0FBWSxpQkFBaUI7SUFDM0IsNENBQXVCLENBQUE7SUFDdkIsb0RBQStCLENBQUE7SUFDL0IsMkNBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQUpXLGlCQUFpQixHQUFqQix5QkFBaUIsS0FBakIseUJBQWlCLFFBSTVCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLDJCQUdYO0FBSEQsV0FBWSwyQkFBMkI7SUFDckMsd0RBQXlCLENBQUE7SUFDekIsa0RBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLDJCQUEyQixHQUEzQixtQ0FBMkIsS0FBM0IsbUNBQTJCLFFBR3RDO0FBaUJEOztHQUVHO0FBQ0gsTUFBYSxRQUFRO0lBQ25COzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFpQixFQUFFLFNBQWM7UUFDekQsTUFBTSxhQUFhLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksYUFBYSxLQUFLLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMzQyxNQUFNLEtBQUssQ0FDVCx1REFBdUQsSUFBSSxDQUFDLFNBQVMsQ0FDbkUsYUFBYSxDQUNkLCtDQUErQyxDQUNqRCxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sYUFBYSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUFDLElBQWlCLEVBQUUsU0FBYztRQUNwRSxNQUFNLGFBQWEsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQztRQUMvQixNQUFNLE1BQU0sR0FBRyxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUU7WUFDcEIsT0FBTyxHQUFHLENBQUM7U0FDWjthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjtRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7O0FBckNILDRCQXNDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG5leHBvcnQgY29uc3QgVkFMSURBVElPTl9GQUlMVVJFX0lEID0gJ0Nka05hZ1ZhbGlkYXRpb25GYWlsdXJlJztcblxuLyoqXG4gKiBUaGUgc2V2ZXJpdHkgbGV2ZWwgb2YgdGhlIHJ1bGUuXG4gKi9cbmV4cG9ydCBlbnVtIE5hZ01lc3NhZ2VMZXZlbCB7XG4gIFdBUk4gPSAnV2FybmluZycsXG4gIEVSUk9SID0gJ0Vycm9yJyxcbn1cblxuLyoqXG4gKiBUaGUgY29tcGxpYW5jZSBsZXZlbCBvZiBhIHJlc291cmNlIGluIHJlbGF0aW9uIHRvIGEgcnVsZS5cbiAqL1xuZXhwb3J0IGVudW0gTmFnUnVsZUNvbXBsaWFuY2Uge1xuICBDT01QTElBTlQgPSAnQ29tcGxpYW50JyxcbiAgTk9OX0NPTVBMSUFOVCA9ICdOb24tQ29tcGxpYW50JyxcbiAgTk9UX0FQUExJQ0FCTEUgPSAnTi9BJyxcbn1cblxuLyoqXG4gKiBBZGRpdGlvbmFsIHN0YXRlcyBhIHJ1bGUgY2FuIGJlIGluIHBvc3QgY29tcGxpYW5jZSB2YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcyB7XG4gIFNVUFBSRVNTRUQgPSAnU3VwcHJlc3NlZCcsXG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG59XG5cbi8qKlxuICogQWxsIHN0YXRlcyBhIHJ1bGUgY2FuIGJlIGluIHBvc3QgY29tcGxpYW5jZSB2YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIE5hZ1J1bGVTdGF0ZXMgPSBOYWdSdWxlQ29tcGxpYW5jZSB8IE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcztcblxuZXhwb3J0IHR5cGUgTmFnUnVsZUZpbmRpbmcgPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIE5hZ1J1bGVGaW5kaW5ncyA9IE5hZ1J1bGVGaW5kaW5nW107XG5cbi8qKlxuICogVGhlIHJlc3VsdCBvZiBhIHJ1bGUgY2hlY2suIENhbiBlaXRoZXIgYmUgYE5hZ1J1bGVDb21wbGlhbmNlYFxuICogb3IgYW4gYXJyYXkgb2YgaW5kaXZpZHVhbCBmaW5kaW5nc1xuICovXG5leHBvcnQgdHlwZSBOYWdSdWxlUmVzdWx0ID0gTmFnUnVsZUNvbXBsaWFuY2UgfCBOYWdSdWxlRmluZGluZ3M7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIHdpdGggbWV0aG9kcyBmb3IgcnVsZSBjcmVhdGlvblxuICovXG5leHBvcnQgY2xhc3MgTmFnUnVsZXMge1xuICAvKipcbiAgICogVXNlIGluIGNhc2VzIHdoZXJlIGEgcHJpbWl0aXZlIHZhbHVlIG11c3QgYmUga25vd24gdG8gcGFzcyBhIHJ1bGUuXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvR2xvc3NhcnkvUHJpbWl0aXZlXG4gICAqIEBwYXJhbSBub2RlIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVjay5cbiAgICogQHBhcmFtIHBhcmFtZXRlciBUaGUgdmFsdWUgdG8gYXR0ZW1wdCB0byByZXNvbHZlLlxuICAgKiBAcmV0dXJucyBSZXR1cm4gYSB2YWx1ZSBpZiByZXNvbHZlcyB0byBhIHByaW1pdGl2ZSBkYXRhIHR5cGUsIG90aGVyd2lzZSB0aHJvdyBhbiBlcnJvci5cbiAgICovXG4gIHN0YXRpYyByZXNvbHZlSWZQcmltaXRpdmUobm9kZTogQ2ZuUmVzb3VyY2UsIHBhcmFtZXRlcjogYW55KTogYW55IHtcbiAgICBjb25zdCByZXNvbHZlZFZhbHVlID0gU3RhY2sub2Yobm9kZSkucmVzb2x2ZShwYXJhbWV0ZXIpO1xuICAgIGlmIChyZXNvbHZlZFZhbHVlID09PSBPYmplY3QocmVzb2x2ZWRWYWx1ZSkpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICBgVGhlIHBhcmFtZXRlciByZXNvbHZlZCB0byB0byBhIG5vbi1wcmltaXRpdmUgdmFsdWUgXCIke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHJlc29sdmVkVmFsdWVcbiAgICAgICAgKX1cIiwgdGhlcmVmb3JlIHRoZSBydWxlIGNvdWxkIG5vdCBiZSB2YWxpZGF0ZWQuYFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc29sdmVkVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVzZSBpbiBjYXNlcyB3aGVyZSBhIHRva2VuIHJlc29sdmVzIHRvIGFuIGludHJpbnNpYyBmdW5jdGlvbiBhbmQgdGhlIHJlZmVyZW5jZWQgcmVzb3VyY2UgbXVzdCBiZSBrbm93biB0byBwYXNzIGEgcnVsZS5cbiAgICogQHBhcmFtIG5vZGUgVGhlIENmblJlc291cmNlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVyIFRoZSB2YWx1ZSB0byBhdHRlbXB0IHRvIHJlc29sdmUuXG4gICAqIEByZXR1cm5zIFJldHVybiB0aGUgTG9naWNhbCByZXNvdXJjZSBJZCBpZiByZXNvbHZlcyB0byBhIGludHJpbnNpYyBmdW5jdGlvbiwgb3RoZXJ3aXNlIHRoZSByZXNvbHZlZCBwcm92aWRlZCB2YWx1ZS5cbiAgICovXG4gIHN0YXRpYyByZXNvbHZlUmVzb3VyY2VGcm9tSW5zdHJpbnNpYyhub2RlOiBDZm5SZXNvdXJjZSwgcGFyYW1ldGVyOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHJlc29sdmVkVmFsdWUgPSBTdGFjay5vZihub2RlKS5yZXNvbHZlKHBhcmFtZXRlcik7XG4gICAgY29uc3QgcmVmID0gcmVzb2x2ZWRWYWx1ZT8uUmVmO1xuICAgIGNvbnN0IGdldEF0dCA9IHJlc29sdmVkVmFsdWU/LlsnRm46OkdldEF0dCddO1xuICAgIGlmIChyZWYgIT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gcmVmO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShnZXRBdHQpICYmIGdldEF0dC5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gZ2V0QXR0WzBdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZWRWYWx1ZTtcbiAgfVxufVxuIl19
@@ -92,5 +92,5 @@ class NagSuppressions {
92
92
  }
93
93
  exports.NagSuppressions = NagSuppressions;
94
94
  _a = JSII_RTTI_SYMBOL_1;
95
- NagSuppressions[_a] = { fqn: "cdk-nag.NagSuppressions", version: "2.34.19" };
95
+ NagSuppressions[_a] = { fqn: "cdk-nag.NagSuppressions", version: "2.34.21" };
96
96
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXN1cHByZXNzaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uYWctc3VwcHJlc3Npb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztFQUdFO0FBQ0YsNkNBQWlEO0FBR2pELDJFQUFzRTtBQUV0RTs7R0FFRztBQUNILE1BQWEsZUFBZTtJQUMxQjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsS0FBWSxFQUNaLFlBQWtDLEVBQ2xDLHNCQUErQixLQUFLO1FBRXBDLE1BQU0sTUFBTSxHQUFHLG1CQUFtQjtZQUNoQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQWMsRUFBRSxDQUFDLENBQUMsWUFBWSxtQkFBSyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ1osTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ25CLDZDQUFvQixDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3pFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDekQsUUFBUSxHQUFHLDZDQUFvQixDQUFDLGtCQUFrQixDQUNoRCxRQUFRLEVBQ1IsWUFBWSxDQUNiLENBQUM7WUFDRixJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7Z0JBQy9CLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQzthQUNqQztZQUNELENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxN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YWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgTmFnUGFja1N1cHByZXNzaW9uIH0gZnJvbSAnLi9tb2RlbHMvbmFnLXN1cHByZXNzaW9uJztcbmltcG9ydCB7IE5hZ1N1cHByZXNzaW9uSGVscGVyIH0gZnJvbSAnLi91dGlscy9uYWctc3VwcHJlc3Npb24taGVscGVyJztcblxuLyoqXG4gKiBIZWxwZXIgY2xhc3Mgd2l0aCBtZXRob2RzIHRvIGFkZCBjZGstbmFnIHN1cHByZXNzaW9ucyB0byBjZGsgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBOYWdTdXBwcmVzc2lvbnMge1xuICAvKipcbiAgICogQXBwbHkgY2RrLW5hZyBzdXBwcmVzc2lvbnMgdG8gYSBTdGFjayBhbmQgb3B0aW9uYWxseSBuZXN0ZWQgc3RhY2tzXG4gICAqIEBwYXJhbSBzdGFjayBUaGUgU3RhY2sgdG8gYXBwbHkgdGhlIHN1cHByZXNzaW9uIHRvXG4gICAqIEBwYXJhbSBzdXBwcmVzc2lvbnMgQSBsaXN0IG9mIHN1cHByZXNzaW9ucyB0byBhcHBseSB0byB0aGUgc3RhY2tcbiAgICogQHBhcmFtIGFwcGx5VG9OZXN0ZWRTdGFja3MgQXBwbHkgdGhlIHN1cHByZXNzaW9ucyB0byBjaGlsZHJlbiBzdGFja3MgKGRlZmF1bHQ6ZmFsc2UpXG4gICAqL1xuICBzdGF0aWMgYWRkU3RhY2tTdXBwcmVzc2lvbnMoXG4gICAgc3RhY2s6IFN0YWNrLFxuICAgIHN1cHByZXNzaW9uczogTmFnUGFja1N1cHByZXNzaW9uW10sXG4gICAgYXBwbHlUb05lc3RlZFN0YWNrczogYm9vbGVhbiA9IGZhbHNlXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHN0YWNrcyA9IGFwcGx5VG9OZXN0ZWRTdGFja3NcbiAgICAgID8gc3RhY2subm9kZS5maW5kQWxsKCkuZmlsdGVyKCh4KTogeCBpcyBTdGFjayA9PiB4IGluc3RhbmNlb2YgU3RhY2spXG4gICAgICA6IFtzdGFja107XG4gICAgc3RhY2tzLmZvckVhY2goKHMpID0+IHtcbiAgICAgIE5hZ1N1cHByZXNzaW9uSGVscGVyLmFzc2VydFN1cHByZXNzaW9uc0FyZVZhbGlkKHMubm9kZS5pZCwgc3VwcHJlc3Npb25zKTtcbiAgICAgIGxldCBtZXRhZGF0YSA9IHMudGVtcGxhdGVPcHRpb25zLm1ldGFkYXRhPy5jZGtfbmFnID8/IHt9O1xuICAgICAgbWV0YWRhdGEgPSBOYWdTdXBwcmVzc2lvbkhlbHBlci5hZGRSdWxlc1RvTWV0YWRhdGEoXG4gICAgICAgIG1ldGFkYXRhLFxuICAgICAgICBzdXBwcmVzc2lvbnNcbiAgICAgICk7XG4gICAgICBpZiAoIXMudGVtcGxhdGVPcHRpb25zLm1ldGFkYXRhKSB7XG4gICAgICAgIHMudGVtcGxhdGVPcHRpb25zLm1ldGFkYXRhID0ge307XG4gICAgICB9XG4gICAgICBzLnRlbXBsYXRlT3B0aW9ucy5tZXRhZGF0YS5jZGtfbmFnID0gbWV0YWRhdGE7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGNkay1uYWcgc3VwcHJlc3Npb25zIHRvIGEgQ2ZuUmVzb3VyY2UgYW5kIG9wdGlvbmFsbHkgaXRzIGNoaWxkcmVuXG4gICAqIEBwYXJhbSBjb25zdHJ1Y3QgVGhlIElDb25zdHJ1Y3QocykgdG8gYXBwbHkgdGhlIHN1cHByZXNzaW9uIHRvXG4gICAqIEBwYXJhbSBzdXBwcmVzc2lvbnMgQSBsaXN0IG9mIHN1cHByZXNzaW9ucyB0byBhcHBseSB0byB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIGFwcGx5VG9DaGlsZHJlbiBBcHBseSB0aGUgc3VwcHJlc3Npb25zIHRvIGNoaWxkcmVuIENmblJlc291cmNlcyAgKGRlZmF1bHQ6ZmFsc2UpXG4gICAqL1xuICBzdGF0aWMgYWRkUmVzb3VyY2VTdXBwcmVzc2lvbnMoXG4gICAgY29uc3RydWN0OiBJQ29uc3RydWN0IHwgSUNvbnN0cnVjdFtdLFxuICAgIHN1cHByZXNzaW9uczogTmFnUGFja1N1cHByZXNzaW9uW10sXG4gICAgYXBwbHlUb0NoaWxkcmVuOiBib29sZWFuID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgY29uc3RydWN0QXJyYXk6IElDb25zdHJ1Y3RbXSA9IEFycmF5LmlzQXJyYXkoY29uc3RydWN0KVxuICAgICAgPyBjb25zdHJ1Y3RcbiAgICAgIDogW2NvbnN0cnVjdF07XG4gICAgaWYgKGNvbnN0cnVjdEFycmF5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb25zdHJ1Y3QgY2Fubm90IGJlIGFuIGVtcHR5IGFycmF5LmApO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdEFycmF5LmZvckVhY2goKGMpID0+IHtcbiAgICAgIE5hZ1N1cHByZXNzaW9uSGVscGVyLmFzc2VydFN1cHByZXNzaW9uc0FyZVZhbGlkKGMubm9kZS5pZCwgc3VwcHJlc3Npb25zKTtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdHMgPSBhcHBseVRvQ2hpbGRyZW4gPyBjLm5vZGUuZmluZEFsbCgpIDogW2NdO1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb25zdHJ1Y3RzKSB7XG4gICAgICAgIGNvbnN0IHBvc3NpYmxlTDEgPSBjaGlsZC5ub2RlLmRlZmF1bHRDaGlsZFxuICAgICAgICAgID8gY2hpbGQubm9kZS5kZWZhdWx0Q2hpbGRcbiAgICAgICAgICA6IGNoaWxkO1xuICAgICAgICBpZiAocG9zc2libGVMMSBpbnN0YW5jZW9mIENmblJlc291cmNlKSB7XG4gICAgICAgICAgY29uc3QgcmVzb3VyY2UgPSBwb3NzaWJsZUwxIGFzIENmblJlc291cmNlO1xuICAgICAgICAgIGxldCBtZXRhZGF0YSA9IHJlc291cmNlLmdldE1ldGFkYXRhKCdjZGtfbmFnJyk7XG4gICAgICAgICAgbWV0YWRhdGEgPSBOYWdTdXBwcmVzc2lvbkhlbHBlci5hZGRSdWxlc1RvTWV0YWRhdGEoXG4gICAgICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgICAgIHN1cHByZXNzaW9uc1xuICAgICAgICAgICk7XG4gICAgICAgICAgcmVzb3VyY2UuYWRkTWV0YWRhdGEoJ2Nka19uYWcnLCBtZXRhZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgY2RrLW5hZyBzdXBwcmVzc2lvbnMgdG8gYSBDZm5SZXNvdXJjZSBhbmQgb3B0aW9uYWxseSBpdHMgY2hpbGRyZW4gdmlhIGl0cyBwYXRoXG4gICAqIEBwYXJhbSBzdGFjayBUaGUgU3RhY2sgdGhlIGNvbnN0cnVjdCBiZWxvbmdzIHRvXG4gICAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoKHMpIHRvIHRoZSBjb25zdHJ1Y3QgaW4gdGhlIHByb3ZpZGVkIHN0YWNrXG4gICAqIEBwYXJhbSBzdXBwcmVzc2lvbnMgQSBsaXN0IG9mIHN1cHByZXNzaW9ucyB0byBhcHBseSB0byB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIGFwcGx5VG9DaGlsZHJlbiBBcHBseSB0aGUgc3VwcHJlc3Npb25zIHRvIGNoaWxkcmVuIENmblJlc291cmNlcyAgKGRlZmF1bHQ6ZmFsc2UpXG4gICAqL1xuICBzdGF0aWMgYWRkUmVzb3VyY2VTdXBwcmVzc2lvbnNCeVBhdGgoXG4gICAgc3RhY2s6IFN0YWNrLFxuICAgIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIHN1cHByZXNzaW9uczogTmFnUGFja1N1cHByZXNzaW9uW10sXG4gICAgYXBwbHlUb0NoaWxkcmVuOiBib29sZWFuID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aEFycmF5OiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogW3BhdGhdO1xuICAgIGlmIChwYXRoQXJyYXkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggY2Fubm90IGJlIGFuIGVtcHR5IGFycmF5LmApO1xuICAgIH1cblxuICAgIHBhdGhBcnJheS5mb3JFYWNoKChwKSA9PiB7XG4gICAgICBsZXQgYWRkZWQgPSBmYWxzZTtcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygc3RhY2subm9kZS5maW5kQWxsKCkpIHtcbiAgICAgICAgY29uc3QgZml4ZWRQYXRoID0gcC5yZXBsYWNlKC9eXFwvLywgJycpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY2hpbGQubm9kZS5wYXRoID09PSBmaXhlZFBhdGggfHxcbiAgICAgICAgICBjaGlsZC5ub2RlLnBhdGggKyAnL1Jlc291cmNlJyA9PT0gZml4ZWRQYXRoXG4gICAgICAgICkge1xuICAgICAgICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhcbiAgICAgICAgICAgIGNoaWxkLFxuICAgICAgICAgICAgc3VwcHJlc3Npb25zLFxuICAgICAgICAgICAgYXBwbHlUb0NoaWxkcmVuXG4gICAgICAgICAgKTtcbiAgICAgICAgICBhZGRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghYWRkZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBTdXBwcmVzc2lvbiBwYXRoIFwiJHtwfVwiIGRpZCBub3QgbWF0Y2ggYW55IHJlc291cmNlLiBUaGlzIGNhbiBvY2N1ciB3aGVuIGEgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3Qgb3IgaWYgYSBzdXBwcmVzc2lvbiBpcyBhcHBsaWVkIGJlZm9yZSBhIHJlc291cmNlIGlzIGNyZWF0ZWQuYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=