@mavogel/awscdk-rootmail 0.0.293 → 0.0.295
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.
- package/.jsii +3 -3
- package/lib/rootmail.js +1 -1
- package/lib/ses-receive.js +1 -1
- package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +11 -11
- package/node_modules/@aws-sdk/client-route-53/package.json +11 -11
- package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-es/protocols/Aws_restXml.js +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +13 -13
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectTaggingCommand.d.ts +11 -11
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +19 -19
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTaggingCommand.d.ts +19 -19
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +40 -40
- package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +13 -13
- package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +76 -71
- package/node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts +43 -43
- package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.browser.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.native.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_0.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -0
- package/node_modules/@aws-sdk/client-s3/package.json +16 -16
- package/node_modules/@aws-sdk/client-ses/package.json +11 -11
- package/node_modules/@aws-sdk/client-ssm/package.json +11 -11
- package/node_modules/@aws-sdk/client-sso/package.json +10 -10
- package/node_modules/@aws-sdk/core/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js +14 -9
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsMiddleware.js +4 -1
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/resolveFlexibleChecksumsConfig.js +1 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/configuration.d.ts +4 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/resolveFlexibleChecksumsConfig.d.ts +17 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/configuration.d.ts +1 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/resolveFlexibleChecksumsConfig.d.ts +2 -0
- package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +2 -1
- package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/check-content-length-header.js +2 -1
- package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +5 -5
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +3 -3
- package/node_modules/@aws-sdk/nested-clients/package.json +10 -10
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +2 -2
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
- package/node_modules/@smithy/core/package.json +2 -2
- package/node_modules/@smithy/middleware-endpoint/package.json +2 -2
- package/node_modules/@smithy/middleware-retry/package.json +2 -2
- package/node_modules/@smithy/smithy-client/package.json +4 -4
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
- package/node_modules/@smithy/util-stream/dist-cjs/ByteArrayCollector.js +35 -0
- package/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js +61 -0
- package/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js +104 -0
- package/node_modules/@smithy/util-stream/dist-cjs/index.js +9 -7
- package/node_modules/@smithy/util-stream/dist-es/ByteArrayCollector.js +31 -0
- package/node_modules/@smithy/util-stream/dist-es/createBufferedReadable.js +57 -0
- package/node_modules/@smithy/util-stream/dist-es/createBufferedReadableStream.js +95 -0
- package/node_modules/@smithy/util-stream/dist-es/index.js +4 -3
- package/node_modules/@smithy/util-stream/dist-types/ByteArrayCollector.d.ts +13 -0
- package/node_modules/@smithy/util-stream/dist-types/createBufferedReadable.d.ts +13 -0
- package/node_modules/@smithy/util-stream/dist-types/createBufferedReadableStream.d.ts +49 -0
- package/node_modules/@smithy/util-stream/dist-types/index.d.ts +4 -3
- package/node_modules/@smithy/util-stream/dist-types/ts3.4/ByteArrayCollector.d.ts +13 -0
- package/node_modules/@smithy/util-stream/dist-types/ts3.4/createBufferedReadable.d.ts +13 -0
- package/node_modules/@smithy/util-stream/dist-types/ts3.4/createBufferedReadableStream.d.ts +53 -0
- package/node_modules/@smithy/util-stream/dist-types/ts3.4/index.d.ts +4 -3
- package/node_modules/@smithy/util-stream/package.json +5 -2
- package/node_modules/cdk-nag/.jsii +43 -5
- package/node_modules/cdk-nag/API.md +29 -4
- package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
- package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
- package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
- package/node_modules/cdk-nag/lib/nag-rules.d.ts +11 -0
- package/node_modules/cdk-nag/lib/nag-rules.js +15 -2
- package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
- package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
- package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
- package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
- package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
- package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
- package/node_modules/cdk-nag/lib/rules/apigw/APIGWAssociatedWithWAF.js +4 -4
- package/node_modules/cdk-nag/lib/rules/apigw/APIGWRequestValidation.js +3 -3
- package/node_modules/cdk-nag/lib/rules/cloudfront/CloudFrontDistributionS3OriginAccessControl.js +4 -4
- package/node_modules/cdk-nag/lib/rules/dynamodb/DynamoDBAutoScalingEnabled.js +3 -3
- package/node_modules/cdk-nag/lib/rules/dynamodb/DynamoDBInBackupPlan.js +2 -2
- package/node_modules/cdk-nag/lib/rules/ec2/EC2EBSInBackupPlan.js +2 -2
- package/node_modules/cdk-nag/lib/rules/ec2/EC2EBSVolumeEncrypted.js +2 -2
- package/node_modules/cdk-nag/lib/rules/ec2/EC2IMDSv2Enabled.js +4 -4
- package/node_modules/cdk-nag/lib/rules/efs/EFSInBackupPlan.js +2 -2
- package/node_modules/cdk-nag/lib/rules/elb/ALBWAFEnabled.js +2 -2
- package/node_modules/cdk-nag/lib/rules/emr/EMREncryptionInTransit.js +3 -3
- package/node_modules/cdk-nag/lib/rules/emr/EMRLocalDiskEncryption.js +3 -3
- package/node_modules/cdk-nag/lib/rules/glue/GlueEncryptedCloudWatchLogs.js +4 -4
- package/node_modules/cdk-nag/lib/rules/glue/GlueJobBookmarkEncrypted.js +3 -3
- package/node_modules/cdk-nag/lib/rules/iam/IAMGroupHasUsers.js +2 -2
- package/node_modules/cdk-nag/lib/rules/lex/LexBotAliasEncryptedConversationLogs.js +3 -3
- package/node_modules/cdk-nag/lib/rules/rds/RDSInBackupPlan.js +2 -2
- package/node_modules/cdk-nag/lib/rules/redshift/RedshiftClusterUserActivityLogging.js +3 -3
- package/node_modules/cdk-nag/lib/rules/redshift/RedshiftRequireTlsSSL.js +3 -3
- package/node_modules/cdk-nag/lib/rules/s3/S3BucketLoggingEnabled.js +2 -2
- package/node_modules/cdk-nag/lib/rules/s3/S3BucketSSLRequestsOnly.js +4 -4
- package/node_modules/cdk-nag/lib/rules/s3/S3WebBucketOAIAccess.js +3 -3
- package/node_modules/cdk-nag/lib/rules/secretsmanager/SecretsManagerRotationEnabled.js +5 -5
- package/node_modules/cdk-nag/lib/rules/sns/SNSTopicSSLPublishOnly.js +3 -3
- package/node_modules/cdk-nag/lib/rules/sqs/SQSQueueDLQ.js +2 -2
- package/node_modules/cdk-nag/lib/rules/sqs/SQSQueueSSLRequestsOnly.js +3 -3
- package/node_modules/cdk-nag/lib/rules/vpc/VPCFlowLogsEnabled.js +3 -3
- package/node_modules/cdk-nag/lib/rules/waf/WAFv2LoggingEnabled.js +2 -2
- package/node_modules/cdk-nag/package.json +4 -4
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Logger } from "@smithy/types";
|
|
2
|
+
import { ByteArrayCollector } from "./ByteArrayCollector";
|
|
3
|
+
export type BufferStore = [
|
|
4
|
+
string,
|
|
5
|
+
ByteArrayCollector,
|
|
6
|
+
ByteArrayCollector?
|
|
7
|
+
];
|
|
8
|
+
export type BufferUnion = string | Uint8Array;
|
|
9
|
+
export type Modes = 0 | 1 | 2;
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
* @param upstream - any ReadableStream.
|
|
13
|
+
* @param size - byte or character length minimum. Buffering occurs when a chunk fails to meet this value.
|
|
14
|
+
* @param onBuffer - for emitting warnings when buffering occurs.
|
|
15
|
+
* @returns another stream of the same data, but buffers chunks until
|
|
16
|
+
* the minimum size is met, except for the last chunk.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createBufferedReadableStream(upstream: ReadableStream, size: number, logger?: Logger): ReadableStream;
|
|
19
|
+
/**
|
|
20
|
+
* Replaces R/RS polymorphic implementation in environments with only ReadableStream.
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export declare const createBufferedReadable: typeof createBufferedReadableStream;
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
* @param buffers
|
|
27
|
+
* @param mode
|
|
28
|
+
* @param chunk
|
|
29
|
+
* @returns the new buffer size after merging the chunk with its appropriate buffer.
|
|
30
|
+
*/
|
|
31
|
+
export declare function merge(buffers: BufferStore, mode: Modes, chunk: string | Uint8Array): number;
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
* @param buffers
|
|
35
|
+
* @param mode
|
|
36
|
+
* @returns the buffer matching the mode.
|
|
37
|
+
*/
|
|
38
|
+
export declare function flush(buffers: BufferStore, mode: Modes | -1): BufferUnion;
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
* @param chunk
|
|
42
|
+
* @returns size of the chunk in bytes or characters.
|
|
43
|
+
*/
|
|
44
|
+
export declare function sizeOf(chunk?: {
|
|
45
|
+
byteLength?: number;
|
|
46
|
+
length?: number;
|
|
47
|
+
}): number;
|
|
48
|
+
/**
|
|
49
|
+
* @internal
|
|
50
|
+
* @param chunk - from upstream Readable.
|
|
51
|
+
* @returns type index of the chunk.
|
|
52
|
+
*/
|
|
53
|
+
export declare function modeOf(chunk: BufferUnion): Modes | -1;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export * from "./blob/Uint8ArrayBlobAdapter";
|
|
2
|
+
export * from "./checksum/ChecksumStream";
|
|
3
|
+
export * from "./checksum/createChecksumStream";
|
|
4
|
+
export * from "./createBufferedReadable";
|
|
2
5
|
export * from "./getAwsChunkedEncodingStream";
|
|
6
|
+
export * from "./headStream";
|
|
3
7
|
export * from "./sdk-stream-mixin";
|
|
4
8
|
export * from "./splitStream";
|
|
5
|
-
export * from "./headStream";
|
|
6
9
|
export * from "./stream-type-check";
|
|
7
|
-
export * from "./checksum/createChecksumStream";
|
|
8
|
-
export * from "./checksum/ChecksumStream";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/util-stream",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.1",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
|
6
6
|
"build:cjs": "node ../../scripts/inline util-stream",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"browser": {
|
|
62
62
|
"./dist-es/checksum/ChecksumStream": "./dist-es/checksum/ChecksumStream.browser",
|
|
63
63
|
"./dist-es/checksum/createChecksumStream": "./dist-es/checksum/createChecksumStream.browser",
|
|
64
|
+
"./dist-es/createBufferedReadable": "./dist-es/createBufferedReadableStream",
|
|
64
65
|
"./dist-es/getAwsChunkedEncodingStream": "./dist-es/getAwsChunkedEncodingStream.browser",
|
|
65
66
|
"./dist-es/headStream": "./dist-es/headStream.browser",
|
|
66
67
|
"./dist-es/sdk-stream-mixin": "./dist-es/sdk-stream-mixin.browser",
|
|
@@ -73,12 +74,14 @@
|
|
|
73
74
|
"./dist-es/sdk-stream-mixin": "./dist-es/sdk-stream-mixin.browser",
|
|
74
75
|
"./dist-es/headStream": "./dist-es/headStream.browser",
|
|
75
76
|
"./dist-es/splitStream": "./dist-es/splitStream.browser",
|
|
77
|
+
"./dist-es/createBufferedReadable": "./dist-es/createBufferedReadableStream",
|
|
76
78
|
"./dist-cjs/checksum/createChecksumStream": "./dist-cjs/checksum/createChecksumStream.browser",
|
|
77
79
|
"./dist-cjs/checksum/ChecksumStream": "./dist-cjs/checksum/ChecksumStream.browser",
|
|
78
80
|
"./dist-cjs/getAwsChunkedEncodingStream": "./dist-cjs/getAwsChunkedEncodingStream.browser",
|
|
79
81
|
"./dist-cjs/sdk-stream-mixin": "./dist-cjs/sdk-stream-mixin.browser",
|
|
80
82
|
"./dist-cjs/headStream": "./dist-cjs/headStream.browser",
|
|
81
|
-
"./dist-cjs/splitStream": "./dist-cjs/splitStream.browser"
|
|
83
|
+
"./dist-cjs/splitStream": "./dist-cjs/splitStream.browser",
|
|
84
|
+
"./dist-cjs/createBufferedReadable": "./dist-cjs/createBufferedReadableStream"
|
|
82
85
|
},
|
|
83
86
|
"homepage": "https://github.com/awslabs/smithy-typescript/tree/main/packages/util-stream",
|
|
84
87
|
"repository": {
|
|
@@ -3834,7 +3834,7 @@
|
|
|
3834
3834
|
"stability": "stable"
|
|
3835
3835
|
},
|
|
3836
3836
|
"homepage": "https://github.com/cdklabs/cdk-nag.git",
|
|
3837
|
-
"jsiiVersion": "5.6.
|
|
3837
|
+
"jsiiVersion": "5.6.10 (build 7d59ff7)",
|
|
3838
3838
|
"keywords": [
|
|
3839
3839
|
"cdk"
|
|
3840
3840
|
],
|
|
@@ -6445,6 +6445,44 @@
|
|
|
6445
6445
|
},
|
|
6446
6446
|
"static": true
|
|
6447
6447
|
},
|
|
6448
|
+
{
|
|
6449
|
+
"docs": {
|
|
6450
|
+
"deprecated": "Use resolveResourceFromIntrinsic instead\n\nUse in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.",
|
|
6451
|
+
"returns": "Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.",
|
|
6452
|
+
"stability": "deprecated"
|
|
6453
|
+
},
|
|
6454
|
+
"locationInModule": {
|
|
6455
|
+
"filename": "src/nag-rules.ts",
|
|
6456
|
+
"line": 82
|
|
6457
|
+
},
|
|
6458
|
+
"name": "resolveResourceFromInstrinsic",
|
|
6459
|
+
"parameters": [
|
|
6460
|
+
{
|
|
6461
|
+
"docs": {
|
|
6462
|
+
"summary": "The CfnResource to check."
|
|
6463
|
+
},
|
|
6464
|
+
"name": "node",
|
|
6465
|
+
"type": {
|
|
6466
|
+
"fqn": "aws-cdk-lib.CfnResource"
|
|
6467
|
+
}
|
|
6468
|
+
},
|
|
6469
|
+
{
|
|
6470
|
+
"docs": {
|
|
6471
|
+
"summary": "The value to attempt to resolve."
|
|
6472
|
+
},
|
|
6473
|
+
"name": "parameter",
|
|
6474
|
+
"type": {
|
|
6475
|
+
"primitive": "any"
|
|
6476
|
+
}
|
|
6477
|
+
}
|
|
6478
|
+
],
|
|
6479
|
+
"returns": {
|
|
6480
|
+
"type": {
|
|
6481
|
+
"primitive": "any"
|
|
6482
|
+
}
|
|
6483
|
+
},
|
|
6484
|
+
"static": true
|
|
6485
|
+
},
|
|
6448
6486
|
{
|
|
6449
6487
|
"docs": {
|
|
6450
6488
|
"returns": "Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.",
|
|
@@ -6453,9 +6491,9 @@
|
|
|
6453
6491
|
},
|
|
6454
6492
|
"locationInModule": {
|
|
6455
6493
|
"filename": "src/nag-rules.ts",
|
|
6456
|
-
"line":
|
|
6494
|
+
"line": 93
|
|
6457
6495
|
},
|
|
6458
|
-
"name": "
|
|
6496
|
+
"name": "resolveResourceFromIntrinsic",
|
|
6459
6497
|
"parameters": [
|
|
6460
6498
|
{
|
|
6461
6499
|
"docs": {
|
|
@@ -7156,6 +7194,6 @@
|
|
|
7156
7194
|
"symbolId": "src/ignore-suppression-conditions:SuppressionIgnoreOr"
|
|
7157
7195
|
}
|
|
7158
7196
|
},
|
|
7159
|
-
"version": "2.35.
|
|
7160
|
-
"fingerprint": "
|
|
7197
|
+
"version": "2.35.29",
|
|
7198
|
+
"fingerprint": "vuEvj/WLU8LzpT7c3oioF5/Puq3QG7+Z1MlD6wX8A4M="
|
|
7161
7199
|
}
|
|
@@ -1736,7 +1736,8 @@ new NagRules()
|
|
|
1736
1736
|
| **Name** | **Description** |
|
|
1737
1737
|
| --- | --- |
|
|
1738
1738
|
| <code><a href="#cdk-nag.NagRules.resolveIfPrimitive">resolveIfPrimitive</a></code> | Use in cases where a primitive value must be known to pass a rule. |
|
|
1739
|
-
| <code><a href="#cdk-nag.NagRules.resolveResourceFromInstrinsic">resolveResourceFromInstrinsic</a></code> |
|
|
1739
|
+
| <code><a href="#cdk-nag.NagRules.resolveResourceFromInstrinsic">resolveResourceFromInstrinsic</a></code> | *No description.* |
|
|
1740
|
+
| <code><a href="#cdk-nag.NagRules.resolveResourceFromIntrinsic">resolveResourceFromIntrinsic</a></code> | Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule. |
|
|
1740
1741
|
|
|
1741
1742
|
---
|
|
1742
1743
|
|
|
@@ -1768,7 +1769,7 @@ The value to attempt to resolve.
|
|
|
1768
1769
|
|
|
1769
1770
|
---
|
|
1770
1771
|
|
|
1771
|
-
#####
|
|
1772
|
+
##### ~~`resolveResourceFromInstrinsic`~~ <a name="resolveResourceFromInstrinsic" id="cdk-nag.NagRules.resolveResourceFromInstrinsic"></a>
|
|
1772
1773
|
|
|
1773
1774
|
```typescript
|
|
1774
1775
|
import { NagRules } from 'cdk-nag'
|
|
@@ -1776,8 +1777,6 @@ import { NagRules } from 'cdk-nag'
|
|
|
1776
1777
|
NagRules.resolveResourceFromInstrinsic(node: CfnResource, parameter: any)
|
|
1777
1778
|
```
|
|
1778
1779
|
|
|
1779
|
-
Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
|
|
1780
|
-
|
|
1781
1780
|
###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NagRules.resolveResourceFromInstrinsic.parameter.node"></a>
|
|
1782
1781
|
|
|
1783
1782
|
- *Type:* aws-cdk-lib.CfnResource
|
|
@@ -1794,6 +1793,32 @@ The value to attempt to resolve.
|
|
|
1794
1793
|
|
|
1795
1794
|
---
|
|
1796
1795
|
|
|
1796
|
+
##### `resolveResourceFromIntrinsic` <a name="resolveResourceFromIntrinsic" id="cdk-nag.NagRules.resolveResourceFromIntrinsic"></a>
|
|
1797
|
+
|
|
1798
|
+
```typescript
|
|
1799
|
+
import { NagRules } from 'cdk-nag'
|
|
1800
|
+
|
|
1801
|
+
NagRules.resolveResourceFromIntrinsic(node: CfnResource, parameter: any)
|
|
1802
|
+
```
|
|
1803
|
+
|
|
1804
|
+
Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
|
|
1805
|
+
|
|
1806
|
+
###### `node`<sup>Required</sup> <a name="node" id="cdk-nag.NagRules.resolveResourceFromIntrinsic.parameter.node"></a>
|
|
1807
|
+
|
|
1808
|
+
- *Type:* aws-cdk-lib.CfnResource
|
|
1809
|
+
|
|
1810
|
+
The CfnResource to check.
|
|
1811
|
+
|
|
1812
|
+
---
|
|
1813
|
+
|
|
1814
|
+
###### `parameter`<sup>Required</sup> <a name="parameter" id="cdk-nag.NagRules.resolveResourceFromIntrinsic.parameter.parameter"></a>
|
|
1815
|
+
|
|
1816
|
+
- *Type:* any
|
|
1817
|
+
|
|
1818
|
+
The value to attempt to resolve.
|
|
1819
|
+
|
|
1820
|
+
---
|
|
1821
|
+
|
|
1797
1822
|
|
|
1798
1823
|
|
|
1799
1824
|
### NagSuppressions <a name="NagSuppressions" id="cdk-nag.NagSuppressions"></a>
|
|
@@ -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.35.
|
|
31
|
+
SuppressionIgnoreAnd[_a] = { fqn: "cdk-nag.SuppressionIgnoreAnd", version: "2.35.29" };
|
|
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.35.
|
|
55
|
+
SuppressionIgnoreOr[_b] = { fqn: "cdk-nag.SuppressionIgnoreOr", version: "2.35.29" };
|
|
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.35.
|
|
72
|
+
SuppressionIgnoreAlways[_c] = { fqn: "cdk-nag.SuppressionIgnoreAlways", version: "2.35.29" };
|
|
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.35.
|
|
83
|
+
SuppressionIgnoreNever[_d] = { fqn: "cdk-nag.SuppressionIgnoreNever", version: "2.35.29" };
|
|
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.35.
|
|
96
|
+
SuppressionIgnoreErrors[_e] = { fqn: "cdk-nag.SuppressionIgnoreErrors", version: "2.35.29" };
|
|
97
97
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSwyQ0FBOEM7QUF5QjlDOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFHL0IsWUFBWSxHQUFHLHFCQUE4QztRQUMzRCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRCxDQUNoRSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztJQUNyRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOztBQXRCSCxvREF1QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFHOUIsWUFBWSxHQUFHLG9CQUE2QztRQUMxRCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUNiLDhEQUE4RCxDQUMvRCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDTixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDOztBQXJCSCxrREFzQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFFbEMsWUFBWSxjQUFzQjtRQUNoQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYiwwREFBMEQsQ0FDM0QsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQThCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDOztBQVpILDBEQWFDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsc0JBQXNCO0lBQ2pDLGFBQWEsQ0FBQyxNQUE4QjtRQUMxQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O0FBSEgsd0RBSUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFDbEMsYUFBYSxDQUFDLEtBQTZCO1FBQ3pDLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSwyQkFBZSxDQUFDLEtBQUs7WUFDN0MsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sdURBQXVEO1lBQ3hFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDVCxDQUFDOztBQUxILDBEQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG5pbXBvcnQgeyBDZm5SZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE5hZ01lc3NhZ2VMZXZlbCB9IGZyb20gJy4vbmFnLXJ1bGVzJztcblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgTmFnUnVsZSBhbmQgdGhlIHJlbGV2YW50IE5hZ1N1cHByZXNzaW9uIGZvciB0aGUgSU5hZ1N1cHByZXNzaW9uSWdub3JlXG4gKiBAcGFyYW0gcmVzb3VyY2UgVGhlIHJlc291cmNlIHRoZSBzdXBwcmVzc2lvbiBpcyBhcHBsaWVkIHRvLlxuICogQHBhcmFtIHJlYXNvbiBUaGUgcmVhc29uIGdpdmVuIGZvciB0aGUgc3VwcHJlc3Npb24uXG4gKiBAcGFyYW0gcnVsZUlkIFRoZSBpZCBvZiB0aGUgcnVsZSB0byBpZ25vcmUuXG4gKiBAcGFyYW0gZmluZGluZ0lkIFRoZSBpZCBvZiB0aGUgZmluZGluZyB0aGF0IGlzIGJlaW5nIGNoZWNrZWQuXG4gKiBAcGFyYW0gcnVsZUxldmVsIFRoZSBzZXZlcml0eSBsZXZlbCBvZiB0aGUgcnVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdXBwcmVzc2lvbklnbm9yZUlucHV0IHtcbiAgcmVhZG9ubHkgcmVzb3VyY2U6IENmblJlc291cmNlO1xuICByZWFkb25seSByZWFzb246IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpbmRpbmdJZDogc3RyaW5nO1xuICByZWFkb25seSBydWxlTGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbDtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNyZWF0aW5nIE5hZ1N1cHByZXNzaW9uIElnbm9yZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nO1xufVxuXG4vKipcbiAqIElnbm9yZSB0aGUgc3VwcHJlc3Npb24gaWYgYWxsIG9mIHRoZSBnaXZlbiBJTmFnU3VwcHJlc3Npb25JZ25vcmUgcmV0dXJuIGEgbm9uLWVtcHR5IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlQW5kIGltcGxlbWVudHMgSU5hZ1N1cHByZXNzaW9uSWdub3JlIHtcbiAgcHJpdmF0ZSBhbmRTdXBwcmVzc2lvbklnbm9yZXM6IElOYWdTdXBwcmVzc2lvbklnbm9yZVtdO1xuXG4gIGNvbnN0cnVjdG9yKC4uLlN1cHByZXNzaW9uSWdub3JlQW5kczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW10pIHtcbiAgICBpZiAoU3VwcHJlc3Npb25JZ25vcmVBbmRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnU3VwcHJlc3Npb25JZ25vcmVBbmQgbmVlZHMgYXQgbGVhc3Qgb25lIElOYWdTdXBwcmVzc2lvbklnbm9yZSdcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuYW5kU3VwcHJlc3Npb25JZ25vcmVzID0gU3VwcHJlc3Npb25JZ25vcmVBbmRzO1xuICB9XG5cbiAgY3JlYXRlTWVzc2FnZShpbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgbGV0IG1lc3NhZ2VzID0gW107XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuYW5kU3VwcHJlc3Npb25JZ25vcmVzKSB7XG4gICAgICBjb25zdCBtID0gaS5jcmVhdGVNZXNzYWdlKGlucHV0KTtcbiAgICAgIG1lc3NhZ2VzLnB1c2gobSk7XG4gICAgICBpZiAoIW0pIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZXMuam9pbignXFxuXFx0Jyk7XG4gIH1cbn1cblxuLyoqXG4gKiBJZ25vcmUgdGhlIHN1cHByZXNzaW9uIGlmIGFueSBvZiB0aGUgZ2l2ZW4gSU5hZ1N1cHByZXNzaW9uSWdub3JlIHJldHVybiBhIG5vbi1lbXB0eSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBwcmVzc2lvbklnbm9yZU9yIGltcGxlbWVudHMgSU5hZ1N1cHByZXNzaW9uSWdub3JlIHtcbiAgcHJpdmF0ZSBTdXBwcmVzc2lvbklnbm9yZU9yczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW107XG5cbiAgY29uc3RydWN0b3IoLi4ub3JTdXBwcmVzc2lvbklnbm9yZXM6IElOYWdTdXBwcmVzc2lvbklnbm9yZVtdKSB7XG4gICAgaWYgKG9yU3VwcHJlc3Npb25JZ25vcmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnU3VwcHJlc3Npb25JZ25vcmVPciBuZWVkcyBhdCBsZWFzdCBvbmUgSU5hZ1N1cHByZXNzaW9uSWdub3JlJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5TdXBwcmVzc2lvbklnbm9yZU9ycyA9IG9yU3VwcHJlc3Npb25JZ25vcmVzO1xuICB9XG5cbiAgY3JlYXRlTWVzc2FnZShpbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgbGV0IG1lc3NhZ2VzID0gW107XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuU3VwcHJlc3Npb25JZ25vcmVPcnMpIHtcbiAgICAgIGNvbnN0IG0gPSBpLmNyZWF0ZU1lc3NhZ2UoaW5wdXQpO1xuICAgICAgaWYgKG0pIHtcbiAgICAgICAgbWVzc2FnZXMucHVzaChtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VzID8gbWVzc2FnZXMuam9pbignXFxuXFx0JykgOiAnJztcbiAgfVxufVxuXG4vKipcbiAqIEFsd2F5cyBpZ25vcmUgdGhlIHN1cHByZXNzaW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBwcmVzc2lvbklnbm9yZUFsd2F5cyBpbXBsZW1lbnRzIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIHByaXZhdGUgdHJpZ2dlck1lc3NhZ2U6IHN0cmluZztcbiAgY29uc3RydWN0b3IodHJpZ2dlck1lc3NhZ2U6IHN0cmluZykge1xuICAgIGlmICh0cmlnZ2VyTWVzc2FnZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ3Byb3ZpZGUgYSB0cmlnZ2VyTWVzc2FnZSBmb3IgdGhlIFN1cHByZXNzaW9uSWdub3JlQWx3YXlzJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy50cmlnZ2VyTWVzc2FnZSA9IHRyaWdnZXJNZXNzYWdlO1xuICB9XG4gIGNyZWF0ZU1lc3NhZ2UoX2lucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyTWVzc2FnZTtcbiAgfVxufVxuXG4vKipcbiAqIERvbid0IGlnbm9yZSB0aGUgc3VwcHJlc3Npb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlTmV2ZXIgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKF9pbnB1dDogU3VwcHJlc3Npb25JZ25vcmVJbnB1dCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbi8qKlxuICogSWdub3JlIFN1cHByZXNzaW9ucyBmb3IgUnVsZXMgd2l0aCBhIE5hZ01lc3NhZ2VMZXZlbC5FUlJPUlxuICovXG5leHBvcnQgY2xhc3MgU3VwcHJlc3Npb25JZ25vcmVFcnJvcnMgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW5wdXQucnVsZUxldmVsID09IE5hZ01lc3NhZ2VMZXZlbC5FUlJPUlxuICAgICAgPyBgJHtpbnB1dC5ydWxlSWR9IGlzIGNhdGVnb3JpemVkIGFzIGFuIEVSUk9SIGFuZCBtYXkgbm90IGJlIHN1cHByZXNzZWRgXG4gICAgICA6ICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -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.35.
|
|
64
|
+
AnnotationLogger[_a] = { fqn: "cdk-nag.AnnotationLogger", version: "2.35.29" };
|
|
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.35.
|
|
199
|
+
NagReportLogger[_b] = { fqn: "cdk-nag.NagReportLogger", version: "2.35.29" };
|
|
200
200
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uYWctbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztFQUdFO0FBQ0YsMkJBQWlFO0FBQ2pFLCtCQUE0QjtBQUM1Qiw2Q0FBbUU7QUFDbkUsMkNBTXFCO0FBeUdyQjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCO0lBSTNCLFlBQVksS0FBNkI7UUFIekMsa0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztRQUlsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUE4QjtRQUN6QyxPQUFPO0lBQ1QsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFnQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUNoQyxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksMkJBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1Qyx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksMkJBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsRCx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFD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SyxDQUFDLElBQUksQ0FBQztvQkFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSTtvQkFDbkMsVUFBVTtvQkFDVixlQUFlO29CQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztvQkFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUN4QixDQUFDLENBQUM7Z0JBQ0gsSUFBQSxrQkFBYSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsOEJBQThCLE1BQU0sMEJBQTBCLENBQy9ELENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7O0FBaEpILDBDQWlKQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgYXBwZW5kRmlsZVN5bmMsIHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBBcHAsIENmblJlc291cmNlLCBOYW1lcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIE5hZ01lc3NhZ2VMZXZlbCxcbiAgTmFnUnVsZUNvbXBsaWFuY2UsXG4gIE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcyxcbiAgTmFnUnVsZVN0YXRlcyxcbiAgVkFMSURBVElPTl9GQUlMVVJFX0lELFxufSBmcm9tICcuL25hZy1ydWxlcyc7XG5cbi8qKlxuICogU2hhcmVkIGRhdGEgZm9yIGFsbCBJTmFnTG9nZ2VyIG1ldGhvZHNcbiAqIEBwYXJhbSBuYWdQYWNrTmFtZSBUaGUgbmFtZSBvZiB0aGUgTmFnUGFjayB0aGF0IHRoZSBydWxlIGJlbG9uZ3MgdG8uXG4gKiBAcGFyYW0gcmVzb3VyY2UgVGhlIHJlc291cmNlIHRoZSBzdXBwcmVzc2lvbiBpcyBhcHBsaWVkIHRvLlxuICogQHBhcmFtIHJ1bGVJZCBUaGUgaWQgb2YgdGhlIHJ1bGUgdG8gaWdub3JlLlxuICogQHBhcmFtIHJ1bGVPcmlnaW5hbE5hbWUgT3JpZ2luYWwgbmFtZSBvZiB0aGUgcnVsZS5cbiAqIEBwYXJhbSBydWxlSW5mbyBXaHkgdGhlIHJ1bGUgd2FzIHRyaWdnZXJlZC5cbiAqIEBwYXJhbSBydWxlRXhwbGFuYXRpb24gV2h5IHRoZSBydWxlIGV4aXN0cy5cbiAqIEBwYXJhbSBydWxlTGV2ZWwgVGhlIHNldmVyaXR5IGxldmVsIG9mIHRoZSBydWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlckJhc2VEYXRhIHtcbiAgcmVhZG9ubHkgbmFnUGFja05hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVzb3VyY2U6IENmblJlc291cmNlO1xuICByZWFkb25seSBydWxlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZU9yaWdpbmFsTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBydWxlSW5mbzogc3RyaW5nO1xuICByZWFkb25seSBydWxlRXhwbGFuYXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZUxldmVsOiBOYWdNZXNzYWdlTGV2ZWw7XG59XG5cbi8qKlxuICogRGF0YSBmb3Igb25Db21wbGlhbmNlIG1ldGhvZCBvZiBhbiBJTmFnTG9nZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlckNvbXBsaWFuY2VEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyQmFzZURhdGEge31cbi8qKlxuICogRGF0YSBmb3Igb25Ob25Db21wbGlhbmNlIG1ldGhvZCBvZiBhbiBJTmFnTG9nZ2VyLlxuICogQHBhcmFtIGZpbmRpbmdJZCBUaGUgaWQgb2YgdGhlIGZpbmRpbmcgdGhhdCBpcyBiZWluZyBjaGVja2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyQmFzZURhdGEge1xuICByZWFkb25seSBmaW5kaW5nSWQ6IHN0cmluZztcbn1cbi8qKlxuICogRGF0YSBmb3Igb25TdXBwcmVzc2VkIG1ldGhvZCBvZiBhbiBJTmFnTG9nZ2VyLlxuICogQHBhcmFtIHN1cHByZXNzaW9uUmVhc29uIFRoZSByZWFzb24gZ2l2ZW4gZm9yIHRoZSBzdXBwcmVzc2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSBleHRlbmRzIE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhIHtcbiAgcmVhZG9ubHkgc3VwcHJlc3Npb25SZWFzb246IHN0cmluZztcbn1cbi8qKlxuICogRGF0YSBmb3Igb25FcnJvciBtZXRob2Qgb2YgYW4gSU5hZ0xvZ2dlci5cbiAqIEBwYXJhbSBlcnJvck1lc3NhZ2U6IFRoZSBlcnJvciB0aGF0IHdhcyB0aHJvd24uXG4gKiBAcGFyYW0gc2hvdWxkTG9nSWdub3JlZCBXaGV0aGVyIG9yIG5vdCB0aGUgTmFnUGFjayB1c2VyIGhhcyBpbmRpY2F0ZWQgdGhhdCB0aGV5IHdhbnQgdG8gbG9nIHN1cHByZXNzaW9uIGRldGFpbHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFnTG9nZ2VyRXJyb3JEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyQmFzZURhdGEge1xuICByZWFkb25seSBlcnJvck1lc3NhZ2U6IHN0cmluZztcbn1cbi8qKlxuICogRGF0YSBmb3Igb25TdXBwcmVzc2VkRXJyb3IgbWV0aG9kIG9mIGFuIElOYWdMb2dnZXIuXG4gKiBAcGFyYW0gZXJyb3JTdXBwcmVzc2lvblJlYXNvbiBUaGUgcmVhc29uIGdpdmVuIGZvciB0aGUgdmFsaWRhdGlvbiBlcnJvciBzdXBwcmVzc2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYWdMb2dnZXJTdXBwcmVzc2VkRXJyb3JEYXRhIGV4dGVuZHMgTmFnTG9nZ2VyRXJyb3JEYXRhIHtcbiAgcmVhZG9ubHkgZXJyb3JTdXBwcmVzc2lvblJlYXNvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdGEgZm9yIG9uTm90QXBwbGljYWJsZSBtZXRob2Qgb2YgYW4gSU5hZ0xvZ2dlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYWdMb2dnZXJOb3RBcHBsaWNhYmxlRGF0YSBleHRlbmRzIE5hZ0xvZ2dlckJhc2VEYXRhIHt9XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBjcmVhdGluZyBOYWdTdXBwcmVzc2lvbiBJZ25vcmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU5hZ0xvZ2dlciB7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIENmblJlc291cmNlIHBhc3NlcyB0aGUgY29tcGxpYW5jZSBjaGVjayBmb3IgYSBnaXZlbiBydWxlLlxuICAgKi9cbiAgb25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlckNvbXBsaWFuY2VEYXRhKTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgQ2ZuUmVzb3VyY2UgZG9lcyBub3QgcGFzcyB0aGUgY29tcGxpYW5jZSBjaGVjayBmb3IgYSBnaXZlbiBydWxlIGFuZCB0aGUgdGhlIHJ1bGUgdmlvbGF0aW9uIGlzIG5vdCBzdXBwcmVzc2VkIGJ5IHRoZSB1c2VyLlxuICAgKi9cbiAgb25Ob25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhKTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgQ2ZuUmVzb3VyY2UgZG9lcyBub3QgcGFzcyB0aGUgY29tcGxpYW5jZSBjaGVjayBmb3IgYSBnaXZlbiBydWxlIGFuZCB0aGUgcnVsZSB2aW9sYXRpb24gaXMgc3VwcHJlc3NlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIG9uU3VwcHJlc3NlZChkYXRhOiBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIHJ1bGUgdGhyb3dzIGFuIGVycm9yIGR1cmluZyB3aGlsZSB2YWxpZGF0aW5nIGEgQ2ZuUmVzb3VyY2UgZm9yIGNvbXBsaWFuY2UuXG4gICAqL1xuICBvbkVycm9yKGRhdGE6IE5hZ0xvZ2dlckVycm9yRGF0YSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIHJ1bGUgdGhyb3dzIGFuIGVycm9yIGR1cmluZyB3aGlsZSB2YWxpZGF0aW5nIGEgQ2ZuUmVzb3VyY2UgZm9yIGNvbXBsaWFuY2UgYW5kIHRoZSBlcnJvciBpcyBzdXBwcmVzc2VkLlxuICAgKi9cbiAgb25TdXBwcmVzc2VkRXJyb3IoZGF0YTogTmFnTG9nZ2VyU3VwcHJlc3NlZEVycm9yRGF0YSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhIHJ1bGUgZG9lcyBub3QgYXBwbHkgdG8gdGhlIGdpdmVuIENmblJlc291cmNlLlxuICAgKi9cbiAgb25Ob3RBcHBsaWNhYmxlKGRhdGE6IE5hZ0xvZ2dlck5vdEFwcGxpY2FibGVEYXRhKTogdm9pZDtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIEFubm90YXRpb25Mb2dnZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uTG9nZ2VyUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZW5hYmxlIGV4dGVuZGVkIGV4cGxhbmF0b3J5IGRlc2NyaXB0aW9ucyBvbiB3YXJuaW5nLCBlcnJvciwgYW5kIGxvZ2dlZCBpZ25vcmUgbWVzc2FnZXMuXG4gICAqL1xuICByZWFkb25seSB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gbG9nIHN1cHByZXNzZWQgcnVsZSB2aW9sYXRpb25zIGFzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgKGRlZmF1bHQ6IGZhbHNlKS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0lnbm9yZXM/OiBib29sZWFuO1xufVxuLyoqXG4gKiBBIE5hZ0xvZ2dlciB0aGF0IG91dHB1dHMgdG8gdGhlIENESyBBbm5vdGF0aW9ucyBzeXN0ZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uTG9nZ2VyIGltcGxlbWVudHMgSU5hZ0xvZ2dlciB7XG4gIHN1cHByZXNzaW9uSWQgPSAnQ2RrTmFnU3VwcHJlc3Npb24nO1xuICByZWFkb25seSB2ZXJib3NlOiBib29sZWFuO1xuICByZWFkb25seSBsb2dJZ25vcmVzOiBib29sZWFuO1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IEFubm90YXRpb25Mb2dnZXJQcm9wcykge1xuICAgIHRoaXMudmVyYm9zZSA9IHByb3BzPy52ZXJib3NlID8/IGZhbHNlO1xuICAgIHRoaXMubG9nSWdub3JlcyA9IHByb3BzPy5sb2dJZ25vcmVzID8/IGZhbHNlO1xuICB9XG4gIG9uQ29tcGxpYW5jZShfZGF0YTogTmFnTG9nZ2VyQ29tcGxpYW5jZURhdGEpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cbiAgb25Ob25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuY3JlYXRlTWVzc2FnZShcbiAgICAgIGRhdGEucnVsZUlkLFxuICAgICAgZGF0YS5maW5kaW5nSWQsXG4gICAgICBkYXRhLnJ1bGVJbmZvLFxuICAgICAgZGF0YS5ydWxlRXhwbGFuYXRpb24sXG4gICAgICB0aGlzLnZlcmJvc2VcbiAgICApO1xuICAgIGlmIChkYXRhLnJ1bGVMZXZlbCA9PSBOYWdNZXNzYWdlTGV2ZWwuRVJST1IpIHtcbiAgICAgIEFubm90YXRpb25zLm9mKGRhdGEucmVzb3VyY2UpLmFkZEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5ydWxlTGV2ZWwgPT0gTmFnTWVzc2FnZUxldmVsLldBUk4pIHtcbiAgICAgIEFubm90YXRpb25zLm9mKGRhdGEucmVzb3VyY2UpLmFkZFdhcm5pbmcobWVzc2FnZSk7XG4gICAgfVxuICB9XG4gIG9uU3VwcHJlc3NlZChkYXRhOiBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvZ0lnbm9yZXMpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmNyZWF0ZU1lc3NhZ2UoXG4gICAgICAgIHRoaXMuc3VwcHJlc3Npb25JZCxcbiAgICAgICAgZGF0YS5maW5kaW5nSWQsXG4gICAgICAgIGAke2RhdGEucnVsZUlkfSB3YXMgdHJpZ2dlcmVkIGJ1dCBzdXBwcmVzc2VkLmAsXG4gICAgICAgIGBQcm92aWRlZCByZWFzb246IFwiJHtkYXRhLnN1cHByZXNzaW9uUmVhc29ufVwiYCxcbiAgICAgICAgdGhpcy52ZXJib3NlXG4gICAgICApO1xuICAgICAgQW5ub3RhdGlvbnMub2YoZGF0YS5yZXNvdXJjZSkuYWRkSW5mbyhtZXNzYWdlKTtcbiAgICB9XG4gIH1cbiAgb25FcnJvcihkYXRhOiBOYWdMb2dnZXJFcnJvckRhdGEpOiB2b2lkIHtcbiAgICBjb25zdCBpbmZvcm1hdGlvbiA9IGAnJHtkYXRhLnJ1bGVJZH0nIHRocmV3IGFuIGVycm9yIGR1cmluZyB2YWxpZGF0aW9uLiBUaGlzIGlzIGdlbmVyYWxseSBjYXVzZWQgYnkgYSBwYXJhbWV0ZXIgcmVmZXJlbmNpbmcgYW4gaW50cmluc2ljIGZ1bmN0aW9uLiBZb3UgY2FuIHN1cHByZXNzIHRoZSBcIiR7VkFMSURBVElPTl9GQUlMVVJFX0lEfVwiIHRvIGdldCByaWQgb2YgdGhpcyBlcnJvci4gRm9yIG1vcmUgZGV0YWlscyBlbmFibGUgdmVyYm9zZSBsb2dnaW5nLidgO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmNyZWF0ZU1lc3NhZ2UoXG4gICAgICBWQUxJREFUSU9OX0ZBSUxVUkVfSUQsXG4gICAgICBkYXRhLnJ1bGVJZCxcbiAgICAgIGluZm9ybWF0aW9uLFxuICAgICAgZGF0YS5lcnJvck1lc3NhZ2UsXG4gICAgICB0aGlzLnZlcmJvc2VcbiAgICApO1xuICAgIEFubm90YXRpb25zLm9mKGRhdGEucmVzb3VyY2UpLmFkZFdhcm5pbmcobWVzc2FnZSk7XG4gIH1cbiAgb25TdXBwcmVzc2VkRXJyb3IoZGF0YTogTmFnTG9nZ2VyU3VwcHJlc3NlZEVycm9yRGF0YSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvZ0lnbm9yZXMgPT09IHRydWUpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmNyZWF0ZU1lc3NhZ2UoXG4gICAgICAgIHRoaXMuc3VwcHJlc3Npb25JZCxcbiAgICAgICAgZGF0YS5ydWxlSWQsXG4gICAgICAgIGAke1ZBTElEQVRJT05fRkFJTFVSRV9JRH0gd2FzIHRyaWdnZXJlZCBidXQgc3VwcHJlc3NlZC5gLFxuICAgICAgICBkYXRhLmVycm9yU3VwcHJlc3Npb25SZWFzb24sXG4gICAgICAgIHRoaXMudmVyYm9zZVxuICAgICAgKTtcbiAgICAgIEFubm90YXRpb25zLm9mKGRhdGEucmVzb3VyY2UpLmFkZEluZm8obWVzc2FnZSk7XG4gICAgfVxuICB9XG4gIG9uTm90QXBwbGljYWJsZShfZGF0YTogTmFnTG9nZ2VyTm90QXBwbGljYWJsZURhdGEpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTWVzc2FnZShcbiAgICBydWxlSWQ6IHN0cmluZyxcbiAgICBmaW5kaW5nSWQ6IHN0cmluZyxcbiAgICBydWxlSW5mbzogc3RyaW5nLFxuICAgIHJ1bGVFeHBsYW5hdGlvbjogc3RyaW5nLFxuICAgIHZlcmJvc2U6IGJvb2xlYW5cbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgbWVzc2FnZSA9IGZpbmRpbmdJZFxuICAgICAgPyBgJHtydWxlSWR9WyR7ZmluZGluZ0lkfV06ICR7cnVsZUluZm99YFxuICAgICAgOiBgJHtydWxlSWR9OiAke3J1bGVJbmZvfWA7XG4gICAgcmV0dXJuIHZlcmJvc2UgPyBgJHttZXNzYWdlfSAke3J1bGVFeHBsYW5hdGlvbn1cXG5gIDogYCR7bWVzc2FnZX1cXG5gO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmFnUmVwb3J0U2NoZW1hIHtcbiAgcmVhZG9ubHkgbGluZXM6IE5hZ1JlcG9ydExpbmVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYWdSZXBvcnRMaW5lIHtcbiAgcmVhZG9ubHkgcnVsZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY29tcGxpYW5jZTogc3RyaW5nO1xuICByZWFkb25seSBleGNlcHRpb25SZWFzb246IHN0cmluZztcbiAgcmVhZG9ubHkgcnVsZUxldmVsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bGVJbmZvOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUG9zc2libGUgb3V0cHV0IGZvcm1hdHMgb2YgdGhlIE5hZ1JlcG9ydFxuICovXG5leHBvcnQgZW51bSBOYWdSZXBvcnRGb3JtYXQge1xuICBDU1YgPSAnY3N2JyxcbiAgSlNPTiA9ICdqc29uJyxcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIE5hZ1JlcG9ydExvZ2dlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ1JlcG9ydExvZ2dlclByb3BzIHtcbiAgcmVhZG9ubHkgZm9ybWF0czogTmFnUmVwb3J0Rm9ybWF0W107XG59XG5cbi8qKlxuICogQSBOYWdMb2dnZXIgdGhhdCBjcmVhdGVzIGNvbXBsaWFuY2UgcmVwb3J0c1xuICovXG5leHBvcnQgY2xhc3MgTmFnUmVwb3J0TG9nZ2VyIGltcGxlbWVudHMgSU5hZ0xvZ2dlciB7XG4gIHByaXZhdGUgcmVwb3J0U3RhY2tzID0gbmV3IE1hcDxOYWdSZXBvcnRGb3JtYXQsIEFycmF5PHN0cmluZz4+KCk7XG4gIHJlYWRvbmx5IGZvcm1hdHM6IE5hZ1JlcG9ydEZvcm1hdFtdO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogTmFnUmVwb3J0TG9nZ2VyUHJvcHMpIHtcbiAgICBpZiAocHJvcHMuZm9ybWF0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBwcm92aWRlIGF0IGxlYXN0IDEgTmFnUmVwb3J0Rm9ybWF0LicpO1xuICAgIH1cbiAgICB0aGlzLmZvcm1hdHMgPSBwcm9wcy5mb3JtYXRzO1xuICB9XG5cbiAgb25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlckNvbXBsaWFuY2VEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplU3RhY2tSZXBvcnQoZGF0YSk7XG4gICAgdGhpcy53cml0ZVRvU3RhY2tDb21wbGlhbmNlUmVwb3J0KGRhdGEsIE5hZ1J1bGVDb21wbGlhbmNlLkNPTVBMSUFOVCk7XG4gIH1cbiAgb25Ob25Db21wbGlhbmNlKGRhdGE6IE5hZ0xvZ2dlck5vbkNvbXBsaWFuY2VEYXRhKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplU3RhY2tSZXBvcnQoZGF0YSk7XG4gICAgdGhpcy53cml0ZVRvU3RhY2tDb21wbGlhbmNlUmVwb3J0KGRhdGEsIE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQpO1xuICB9XG4gIG9uU3VwcHJlc3NlZChkYXRhOiBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZVN0YWNrUmVwb3J0KGRhdGEpO1xuICAgIHRoaXMud3JpdGVUb1N0YWNrQ29tcGxpYW5jZVJlcG9ydChcbiAgICAgIGRhdGEsXG4gICAgICBOYWdSdWxlUG9zdFZhbGlkYXRpb25TdGF0ZXMuU1VQUFJFU1NFRFxuICAgICk7XG4gIH1cbiAgb25FcnJvcihkYXRhOiBOYWdMb2dnZXJFcnJvckRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVTdGFja1JlcG9ydChkYXRhKTtcbiAgICB0aGlzLndyaXRlVG9TdGFja0NvbXBsaWFuY2VSZXBvcnQoXG4gICAgICBkYXRhLFxuICAgICAgTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzLlVOS05PV05cbiAgICApO1xuICB9XG4gIG9uU3VwcHJlc3NlZEVycm9yKGRhdGE6IE5hZ0xvZ2dlclN1cHByZXNzZWRFcnJvckRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVTdGFja1JlcG9ydChkYXRhKTtcbiAgICB0aGlzLndyaXRlVG9TdGFja0NvbXBsaWFuY2VSZXBvcnQoXG4gICAgICBkYXRhLFxuICAgICAgTmFnUnVsZVBvc3RWYWxpZGF0aW9uU3RhdGVzLlNVUFBSRVNTRURcbiAgICApO1xuICB9XG4gIG9uTm90QXBwbGljYWJsZShkYXRhOiBOYWdMb2dnZXJOb3RBcHBsaWNhYmxlRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbGl6ZVN0YWNrUmVwb3J0KGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldEZvcm1hdFN0YWNrcyhmb3JtYXQ6IE5hZ1JlcG9ydEZvcm1hdCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5yZXBvcnRTdGFja3MuZ2V0KGZvcm1hdCkgPz8gW107XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgcmVwb3J0IGZvciB0aGUgcnVsZSBwYWNrJ3MgY29tcGxpYW5jZSByZXBvcnQgZm9yIHRoZSByZXNvdXJjZSdzIFN0YWNrIGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBpbml0aWFsaXplU3RhY2tSZXBvcnQoZGF0YTogTmFnTG9nZ2VyQmFzZURhdGEpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiB0aGlzLmZvcm1hdHMpIHtcbiAgICAgIGNvbnN0IHN0YWNrTmFtZSA9IGRhdGEucmVzb3VyY2Uuc3RhY2submVzdGVkXG4gICAgICAgID8gTmFtZXMudW5pcXVlSWQoZGF0YS5yZXNvdXJjZS5zdGFjaylcbiAgICAgICAgOiBkYXRhLnJlc291cmNlLnN0YWNrLnN0YWNrTmFtZTtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7ZGF0YS5uYWdQYWNrTmFtZX0tJHtzdGFja05hbWV9LU5hZ1JlcG9ydC4ke2Zvcm1hdH1gO1xuICAgICAgY29uc3Qgc3RhY2tzID0gdGhpcy5nZXRGb3JtYXRTdGFja3MoZm9ybWF0KTtcbiAgICAgIGlmICghc3RhY2tzLmluY2x1ZGVzKGZpbGVOYW1lKSkge1xuICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGpvaW4oQXBwLm9mKGRhdGEucmVzb3VyY2UpPy5vdXRkaXIgPz8gJycsIGZpbGVOYW1lKTtcbiAgICAgICAgdGhpcy5yZXBvcnRTdGFja3Muc2V0KGZvcm1hdCwgWy4uLnN0YWNrcywgZmlsZU5hbWVdKTtcbiAgICAgICAgbGV0IGJvZHkgPSAnJztcbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gTmFnUmVwb3J0Rm9ybWF0LkNTVikge1xuICAgICAgICAgIGJvZHkgPVxuICAgICAgICAgICAgJ1J1bGUgSUQsUmVzb3VyY2UgSUQsQ29tcGxpYW5jZSxFeGNlcHRpb24gUmVhc29uLFJ1bGUgTGV2ZWwsUnVsZSBJbmZvXFxuJztcbiAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQgPT09IE5hZ1JlcG9ydEZvcm1hdC5KU09OKSB7XG4gICAgICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHsgbGluZXM6IFtdIH0gYXMgTmFnUmVwb3J0U2NoZW1hKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgVW5yZWNvZ25pemVkIG91dHB1dCBmb3JtYXQgJHtmb3JtYXR9IGZvciB0aGUgTmFnUmVwb3J0TG9nZ2VyYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgYm9keSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHdyaXRlVG9TdGFja0NvbXBsaWFuY2VSZXBvcnQoXG4gICAgZGF0YTogTmFnTG9nZ2VyQmFzZURhdGEsXG4gICAgY29tcGxpYW5jZTogTmFnUnVsZVN0YXRlc1xuICApOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiB0aGlzLmZvcm1hdHMpIHtcbiAgICAgIGNvbnN0IHN0YWNrTmFtZSA9IGRhdGEucmVzb3VyY2Uuc3RhY2submVzdGVkXG4gICAgICAgID8gTmFtZXMudW5pcXVlSWQoZGF0YS5yZXNvdXJjZS5zdGFjaylcbiAgICAgICAgOiBkYXRhLnJlc291cmNlLnN0YWNrLnN0YWNrTmFtZTtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7ZGF0YS5uYWdQYWNrTmFtZX0tJHtzdGFja05hbWV9LU5hZ1JlcG9ydC4ke2Zvcm1hdH1gO1xuICAgICAgY29uc3QgZmlsZVBhdGggPSBqb2luKEFwcC5vZihkYXRhLnJlc291cmNlKT8ub3V0ZGlyID8/ICcnLCBmaWxlTmFtZSk7XG4gICAgICBpZiAoZm9ybWF0ID09PSBOYWdSZXBvcnRGb3JtYXQuQ1NWKSB7XG4gICAgICAgIC8vfCBSdWxlIElEIHwgUmVzb3VyY2UgSUQgfCBDb21wbGlhbmNlIHwgRXhjZXB0aW9uIFJlYXNvbiB8IFJ1bGUgTGV2ZWwgfCBSdWxlIEluZm9cbiAgICAgICAgY29uc3QgbGluZSA9IEFycmF5PHN0cmluZz4oKTtcbiAgICAgICAgbGluZS5wdXNoKGRhdGEucnVsZUlkKTtcbiAgICAgICAgbGluZS5wdXNoKGRhdGEucmVzb3VyY2Uubm9kZS5wYXRoKTtcbiAgICAgICAgaWYgKGNvbXBsaWFuY2UgPT09IE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcy5TVVBQUkVTU0VEKSB7XG4gICAgICAgICAgbGluZS5wdXNoKE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcy5TVVBQUkVTU0VEKTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZGF0YSBhcyBOYWdMb2dnZXJTdXBwcmVzc2VkRGF0YSkuc3VwcHJlc3Npb25SZWFzb24gIT09IHVuZGVmaW5lZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgbGluZS5wdXNoKChkYXRhIGFzIE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhKS5zdXBwcmVzc2lvblJlYXNvbik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmUucHVzaChcbiAgICAgICAgICAgICAgKGRhdGEgYXMgTmFnTG9nZ2VyU3VwcHJlc3NlZEVycm9yRGF0YSkuZXJyb3JTdXBwcmVzc2lvblJlYXNvblxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGluZS5wdXNoKGNvbXBsaWFuY2UpO1xuICAgICAgICAgIGxpbmUucHVzaCgnTi9BJyk7XG4gICAgICAgIH1cbiAgICAgICAgbGluZS5wdXNoKGRhdGEucnVsZUxldmVsKTtcbiAgICAgICAgbGluZS5wdXNoKGRhdGEucnVsZUluZm8pO1xuICAgICAgICBhcHBlbmRGaWxlU3luYyhcbiAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICBsaW5lLm1hcCgoaSkgPT4gJ1wiJyArIGkucmVwbGFjZSgvXCIvZywgJ1wiXCInKSArICdcIicpLmpvaW4oJywnKSArICdcXG4nXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gTmFnUmVwb3J0Rm9ybWF0LkpTT04pIHtcbiAgICAgICAgY29uc3QgcmVwb3J0ID0gSlNPTi5wYXJzZShcbiAgICAgICAgICByZWFkRmlsZVN5bmMoZmlsZVBhdGgsICd1dGY4JylcbiAgICAgICAgKSBhcyBOYWdSZXBvcnRTY2hlbWE7XG4gICAgICAgIGxldCBleGNlcHRpb25SZWFzb24gPSAnTi9BJztcbiAgICAgICAgaWYgKGNvbXBsaWFuY2UgPT09IE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcy5TVVBQUkVTU0VEKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGRhdGEgYXMgTmFnTG9nZ2VyU3VwcHJlc3NlZERhdGEpLnN1cHByZXNzaW9uUmVhc29uICE9PSB1bmRlZmluZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGV4Y2VwdGlvblJlYXNvbiA9IChkYXRhIGFzIE5hZ0xvZ2dlclN1cHByZXNzZWREYXRhKVxuICAgICAgICAgICAgICAuc3VwcHJlc3Npb25SZWFzb247XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4Y2VwdGlvblJlYXNvbiA9IChkYXRhIGFzIE5hZ0xvZ2dlclN1cHByZXNzZWRFcnJvckRhdGEpXG4gICAgICAgICAgICAgIC5lcnJvclN1cHByZXNzaW9uUmVhc29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXBvcnQubGluZXMucHVzaCh7XG4gICAgICAgICAgcnVsZUlkOiBkYXRhLnJ1bGVJZCxcbiAgICAgICAgICByZXNvdXJjZUlkOiBkYXRhLnJlc291cmNlLm5vZGUucGF0aCxcbiAgICAgICAgICBjb21wbGlhbmNlLFxuICAgICAgICAgIGV4Y2VwdGlvblJlYXNvbixcbiAgICAgICAgICBydWxlTGV2ZWw6IGRhdGEucnVsZUxldmVsLFxuICAgICAgICAgIHJ1bGVJbmZvOiBkYXRhLnJ1bGVJbmZvLFxuICAgICAgICB9KTtcbiAgICAgICAgd3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkocmVwb3J0KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFVucmVjb2duaXplZCBvdXRwdXQgZm9ybWF0ICR7Zm9ybWF0fSBmb3IgdGhlIE5hZ1JlcG9ydExvZ2dlcmBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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.35.
|
|
163
|
+
NagPack[_a] = { fqn: "cdk-nag.NagPack", version: "2.35.29" };
|
|
164
164
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXBhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmFnLXBhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7O0VBR0U7QUFDRiw2Q0FBZ0U7QUFFaEUsbUZBSXlDO0FBRXpDLDZDQU1zQjtBQUN0QiwyQ0FNcUI7QUFDckIsMkVBQXNFO0FBd0V0RTs7R0FFRztBQUNILE1BQXNCLE9BQU87SUFNM0IsWUFBWSxLQUFvQjtRQUx0QixZQUFPLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBS3RCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLEVBQUUsMEJBQTBCLENBQUM7UUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsSUFBSSw2QkFBZ0IsQ0FBQztZQUNuQixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU87WUFDdkIsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVO1NBQzlCLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNCLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxhQUFhO2dCQUNsQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWE7Z0JBQ3JCLENBQUMsQ0FBQyxDQUFDLDRCQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFB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VSxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7O0FBck1ILDBCQXNNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIENmblJlc291cmNlLCBJQXNwZWN0IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgSU5hZ1N1cHByZXNzaW9uSWdub3JlLFxuICBTdXBwcmVzc2lvbklnbm9yZU5ldmVyLFxuICBTdXBwcmVzc2lvbklnbm9yZU9yLFxufSBmcm9tICcuL2lnbm9yZS1zdXBwcmVzc2lvbi1jb25kaXRpb25zJztcbmltcG9ydCB7IE5hZ1BhY2tTdXBwcmVzc2lvbiB9IGZyb20gJy4vbW9kZWxzL25hZy1zdXBwcmVzc2lvbic7XG5pbXBvcnQge1xuICBBbm5vdGF0aW9uTG9nZ2VyLFxuICBJTmFnTG9nZ2VyLFxuICBOYWdMb2dnZXJCYXNlRGF0YSxcbiAgTmFnUmVwb3J0Rm9ybWF0LFxuICBOYWdSZXBvcnRMb2dnZXIsXG59IGZyb20gJy4vbmFnLWxvZ2dlcic7XG5pbXBvcnQge1xuICBOYWdNZXNzYWdlTGV2ZWwsXG4gIE5hZ1J1bGVDb21wbGlhbmNlLFxuICBOYWdSdWxlRmluZGluZ3MsXG4gIE5hZ1J1bGVSZXN1bHQsXG4gIFZBTElEQVRJT05fRkFJTFVSRV9JRCxcbn0gZnJvbSAnLi9uYWctcnVsZXMnO1xuaW1wb3J0IHsgTmFnU3VwcHJlc3Npb25IZWxwZXIgfSBmcm9tICcuL3V0aWxzL25hZy1zdXBwcmVzc2lvbi1oZWxwZXInO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY3JlYXRpbmcgYSBOYWdQYWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hZ1BhY2tQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgZXh0ZW5kZWQgZXhwbGFuYXRvcnkgZGVzY3JpcHRpb25zIG9uIHdhcm5pbmcsIGVycm9yLCBhbmQgbG9nZ2VkIGlnbm9yZSBtZXNzYWdlcyAoZGVmYXVsdDogZmFsc2UpLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyYm9zZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGxvZyBzdXBwcmVzc2VkIHJ1bGUgdmlvbGF0aW9ucyBhcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIChkZWZhdWx0OiBmYWxzZSkuXG4gICAqL1xuICByZWFkb25seSBsb2dJZ25vcmVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZ2VuZXJhdGUgY29tcGxpYW5jZSByZXBvcnRzIGZvciBhcHBsaWVkIFN0YWNrcyBpbiB0aGUgQXBwJ3Mgb3V0cHV0IGRpcmVjdG9yeSAoZGVmYXVsdDogdHJ1ZSkuXG4gICAqL1xuICByZWFkb25seSByZXBvcnRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgcmVwb3J0cyBhcmUgZW5hYmxlZCwgdGhlIG91dHB1dCBmb3JtYXRzIG9mIGNvbXBsaWFuY2UgcmVwb3J0cyBpbiB0aGUgQXBwJ3Mgb3V0cHV0IGRpcmVjdG9yeSAoZGVmYXVsdDogb25seSBDU1YpLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3J0Rm9ybWF0cz86IE5hZ1JlcG9ydEZvcm1hdFtdO1xuXG4gIC8qKlxuICAgKiBDb25kaXRpb25hbGx5IHByZXZlbnQgcnVsZXMgZnJvbSBiZWluZyBzdXBwcmVzc2VkIChkZWZhdWx0OiBubyB1c2VyIHByb3ZpZGVkIGNvbmRpdGlvbikuXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc2lvbklnbm9yZUNvbmRpdGlvbj86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBOYWdMb2dnZXJzIGZvciBsb2dnaW5nIHJ1bGUgdmFsaWRhdGlvbiBvdXRwdXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbExvZ2dlcnM/OiBJTmFnTG9nZ2VyW107XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBKU0lJIGludGVyb3BlcmFiaWxpdHkgZm9yIHBhc3NpbmcgcGFyYW1ldGVycyBhbmQgdGhlIFJ1bGUgQ2FsbGJhY2sgdG8gQGFwcGx5UnVsZSBtZXRob2QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcGx5UnVsZSB7XG4gIC8qKlxuICAgKiBPdmVycmlkZSBmb3IgdGhlIHN1ZmZpeCBvZiB0aGUgUnVsZSBJRCBmb3IgdGhpcyBydWxlXG4gICAqL1xuICBydWxlU3VmZml4T3ZlcnJpZGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaHkgdGhlIHJ1bGUgd2FzIHRyaWdnZXJlZC5cbiAgICovXG4gIGluZm86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoeSB0aGUgcnVsZSBleGlzdHMuXG4gICAqL1xuICBleHBsYW5hdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGFubm90YXRpb25zIG1lc3NhZ2UgbGV2ZWwgdG8gYXBwbHkgdG8gdGhlIHJ1bGUgaWYgdHJpZ2dlcmVkLlxuICAgKi9cbiAgbGV2ZWw6IE5hZ01lc3NhZ2VMZXZlbDtcbiAgLyoqXG4gICAqIEEgY29uZGl0aW9uIGluIHdoaWNoIGEgc3VwcHJlc3Npb24gc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAqL1xuICBpZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvbj86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcbiAgLyoqXG4gICAqIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVja1xuICAgKi9cbiAgbm9kZTogQ2ZuUmVzb3VyY2U7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgdG8gdGhlIHJ1bGUuXG4gICAqIEBwYXJhbSBub2RlIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVjay5cbiAgICovXG4gIHJ1bGUobm9kZTogQ2ZuUmVzb3VyY2UpOiBOYWdSdWxlUmVzdWx0O1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFsbCBydWxlIHBhY2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmFnUGFjayBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwcm90ZWN0ZWQgbG9nZ2VycyA9IG5ldyBBcnJheTxJTmFnTG9nZ2VyPigpO1xuICBwcm90ZWN0ZWQgcGFja05hbWUgPSAnJztcbiAgcHJvdGVjdGVkIHVzZXJHbG9iYWxTdXBwcmVzc2lvbklnbm9yZT86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcbiAgcHJvdGVjdGVkIHBhY2tHbG9iYWxTdXBwcmVzc2lvbklnbm9yZT86IElOYWdTdXBwcmVzc2lvbklnbm9yZTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IE5hZ1BhY2tQcm9wcykge1xuICAgIHRoaXMudXNlckdsb2JhbFN1cHByZXNzaW9uSWdub3JlID0gcHJvcHM/LnN1cHByZXNzaW9uSWdub3JlQ29uZGl0aW9uO1xuICAgIHRoaXMubG9nZ2Vycy5wdXNoKFxuICAgICAgbmV3IEFubm90YXRpb25Mb2dnZXIoe1xuICAgICAgICB2ZXJib3NlOiBwcm9wcz8udmVyYm9zZSxcbiAgICAgICAgbG9nSWdub3JlczogcHJvcHM/LmxvZ0lnbm9yZXMsXG4gICAgICB9KVxuICAgICk7XG4gICAgaWYgKHByb3BzPy5yZXBvcnRzID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHMgPSBwcm9wcz8ucmVwb3J0Rm9ybWF0c1xuICAgICAgICA/IHByb3BzLnJlcG9ydEZvcm1hdHNcbiAgICAgICAgOiBbTmFnUmVwb3J0Rm9ybWF0LkNTVl07XG4gICAgICB0aGlzLmxvZ2dlcnMucHVzaChuZXcgTmFnUmVwb3J0TG9nZ2VyKHsgZm9ybWF0cyB9KSk7XG4gICAgfVxuICAgIGlmIChwcm9wcz8uYWRkaXRpb25hbExvZ2dlcnMpIHtcbiAgICAgIHRoaXMubG9nZ2Vycy5wdXNoKC4uLnByb3BzLmFkZGl0aW9uYWxMb2dnZXJzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRQYWNrTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhY2tOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbCBhc3BlY3RzIGNhbiB2aXNpdCBhbiBJQ29uc3RydWN0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBydWxlIHRvIGJlIHVzZWQgaW4gdGhlIE5hZ1BhY2suXG4gICAqIEBwYXJhbSBwYXJhbXMgVGhlIEBJQXBwbHlSdWxlIGludGVyZmFjZSB3aXRoIHJ1bGUgZGV0YWlscy5cbiAgICovXG4gIHByb3RlY3RlZCBhcHBseVJ1bGUocGFyYW1zOiBJQXBwbHlSdWxlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFja05hbWUgPT09ICcnKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1RoZSBOYWdQYWNrIGRvZXMgbm90IGhhdmUgYSBwYWNrIG5hbWUsIHRoZXJlZm9yZSB0aGUgcnVsZSBjb3VsZCBub3QgYmUgYXBwbGllZC4gU2V0IGEgcGFja05hbWUgaW4gdGhlIE5hZ1BhY2sgY29uc3RydWN0b3IuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgYWxsU3VwcHJlc3Npb25zID0gTmFnU3VwcHJlc3Npb25IZWxwZXIuZ2V0U3VwcHJlc3Npb25zKHBhcmFtcy5ub2RlKTtcbiAgICBjb25zdCBydWxlU3VmZml4ID0gcGFyYW1zLnJ1bGVTdWZmaXhPdmVycmlkZVxuICAgICAgPyBwYXJhbXMucnVsZVN1ZmZpeE92ZXJyaWRlXG4gICAgICA6IHBhcmFtcy5ydWxlLm5hbWU7XG4gICAgY29uc3QgcnVsZUlkID0gYCR7dGhpcy5wYWNrTmFtZX0tJHtydWxlU3VmZml4fWA7XG4gICAgY29uc3QgYmFzZTogTmFnTG9nZ2VyQmFzZURhdGEgPSB7XG4gICAgICBuYWdQYWNrTmFtZTogdGhpcy5wYWNrTmFtZSxcbiAgICAgIHJlc291cmNlOiBwYXJhbXMubm9kZSxcbiAgICAgIHJ1bGVJZDogcnVsZUlkLFxuICAgICAgcnVsZU9yaWdpbmFsTmFtZTogcGFyYW1zLnJ1bGUubmFtZSxcbiAgICAgIHJ1bGVJbmZvOiBwYXJhbXMuaW5mbyxcbiAgICAgIHJ1bGVFeHBsYW5hdGlvbjogcGFyYW1zLmV4cGxhbmF0aW9uLFxuICAgICAgcnVsZUxldmVsOiBwYXJhbXMubGV2ZWwsXG4gICAgfTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcnVsZUNvbXBsaWFuY2UgPSBwYXJhbXMucnVsZShwYXJhbXMubm9kZSk7XG4gICAgICBpZiAocnVsZUNvbXBsaWFuY2UgPT09IE5hZ1J1bGVDb21wbGlhbmNlLkNPTVBMSUFOVCkge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT4gdC5vbkNvbXBsaWFuY2UoYmFzZSkpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTm9uQ29tcGxpYW50KHJ1bGVDb21wbGlhbmNlKSkge1xuICAgICAgICBjb25zdCBmaW5kaW5ncyA9IHRoaXMuYXNGaW5kaW5ncyhydWxlQ29tcGxpYW5jZSk7XG4gICAgICAgIGZvciAoY29uc3QgZmluZGluZ0lkIG9mIGZpbmRpbmdzKSB7XG4gICAgICAgICAgY29uc3Qgc3VwcHJlc3Npb25SZWFzb24gPSB0aGlzLmlnbm9yZVJ1bGUoXG4gICAgICAgICAgICBhbGxTdXBwcmVzc2lvbnMsXG4gICAgICAgICAgICBydWxlSWQsXG4gICAgICAgICAgICBmaW5kaW5nSWQsXG4gICAgICAgICAgICBwYXJhbXMubm9kZSxcbiAgICAgICAgICAgIHBhcmFtcy5sZXZlbCxcbiAgICAgICAgICAgIHBhcmFtcy5pZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvblxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHN1cHByZXNzaW9uUmVhc29uKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICAgICAgdC5vblN1cHByZXNzZWQoe1xuICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgc3VwcHJlc3Npb25SZWFzb24sXG4gICAgICAgICAgICAgICAgZmluZGluZ0lkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJzLmZvckVhY2goKHQpID0+XG4gICAgICAgICAgICAgIHQub25Ob25Db21wbGlhbmNlKHtcbiAgICAgICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgICAgICAgIGZpbmRpbmdJZCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHJ1bGVDb21wbGlhbmNlID09PSBOYWdSdWxlQ29tcGxpYW5jZS5OT1RfQVBQTElDQUJMRSkge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICB0Lm9uTm90QXBwbGljYWJsZSh7XG4gICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IHJlYXNvbiA9IHRoaXMuaWdub3JlUnVsZShcbiAgICAgICAgYWxsU3VwcHJlc3Npb25zLFxuICAgICAgICBydWxlSWQsXG4gICAgICAgICcnLFxuICAgICAgICBwYXJhbXMubm9kZSxcbiAgICAgICAgcGFyYW1zLmxldmVsLFxuICAgICAgICBwYXJhbXMuaWdub3JlU3VwcHJlc3Npb25Db25kaXRpb24sXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgICBpZiAocmVhc29uKSB7XG4gICAgICAgIHRoaXMubG9nZ2Vycy5mb3JFYWNoKCh0KSA9PlxuICAgICAgICAgIHQub25TdXBwcmVzc2VkRXJyb3Ioe1xuICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZTogKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3JTdXBwcmVzc2lvblJlYXNvbjogcmVhc29uLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlcnMuZm9yRWFjaCgodCkgPT5cbiAgICAgICAgICB0Lm9uRXJyb3Ioe1xuICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZTogKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgYSBzcGVjaWZpYyBydWxlIHNob3VsZCBiZSBpZ25vcmVkLlxuICAgKiBAcGFyYW0gc3VwcHJlc3Npb25zIFRoZSBzdXBwcmVzc2lvbnMgbGlzdGVkIGluIHRoZSBjZGstbmFnIG1ldGFkYXRhLlxuICAgKiBAcGFyYW0gcnVsZUlkIFRoZSBpZCBvZiB0aGUgcnVsZSB0byBpZ25vcmUuXG4gICAqIEBwYXJhbSByZXNvdXJjZSBUaGUgcmVzb3VyY2UgYmVpbmcgZXZhbHVhdGVkLlxuICAgKiBAcGFyYW0gZmluZGluZ0lkIFRoZSBpZCBvZiB0aGUgZmluZGluZyB0aGF0IGlzIGJlaW5nIGNoZWNrZWQuXG4gICAqIEBwYXJhbSB2YWxpZGF0aW9uRmFpbHVyZSBXaGV0aGVyIHRoZSBydWxlIGlzIGJlaW5nIGNoZWNrZWQgZHVlIHRvIGEgdmFsaWRhdGlvbiBmYWlsdXJlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVhc29uIHRoZSBydWxlIHdhcyBpZ25vcmVkLCBvciBhbiBlbXB0eSBzdHJpbmcuXG4gICAqL1xuICBwcm90ZWN0ZWQgaWdub3JlUnVsZShcbiAgICBzdXBwcmVzc2lvbnM6IE5hZ1BhY2tTdXBwcmVzc2lvbltdLFxuICAgIHJ1bGVJZDogc3RyaW5nLFxuICAgIGZpbmRpbmdJZDogc3RyaW5nLFxuICAgIHJlc291cmNlOiBDZm5SZXNvdXJjZSxcbiAgICBsZXZlbDogTmFnTWVzc2FnZUxldmVsLFxuICAgIGlnbm9yZVN1cHByZXNzaW9uQ29uZGl0aW9uPzogSU5hZ1N1cHByZXNzaW9uSWdub3JlLFxuICAgIHZhbGlkYXRpb25GYWlsdXJlOiBib29sZWFuID0gZmFsc2VcbiAgKTogc3RyaW5nIHtcbiAgICBmb3IgKGxldCBzdXBwcmVzc2lvbiBvZiBzdXBwcmVzc2lvbnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgTmFnU3VwcHJlc3Npb25IZWxwZXIuZG9lc0FwcGx5KHN1cHByZXNzaW9uLCBydWxlSWQsIGZpbmRpbmdJZCkgfHxcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBtYXJrZWQgYXMgYW4gZXhjZXB0aW9uLCBhbHNvIGNoZWNrIGZvciBhIHN1cHByZXNzaW9uIG9uIFZBTElEQVRJT05fRkFJTFVSRV9JRFxuICAgICAgICAodmFsaWRhdGlvbkZhaWx1cmUgJiZcbiAgICAgICAgICBOYWdTdXBwcmVzc2lvbkhlbHBlci5kb2VzQXBwbHkoXG4gICAgICAgICAgICBzdXBwcmVzc2lvbixcbiAgICAgICAgICAgIFZBTElEQVRJT05fRkFJTFVSRV9JRCxcbiAgICAgICAgICAgIHJ1bGVJZFxuICAgICAgICAgICkpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgaWdub3JlTWVzc2FnZSA9IG5ldyBTdXBwcmVzc2lvbklnbm9yZU9yKFxuICAgICAgICAgIHRoaXMudXNlckdsb2JhbFN1cHByZXNzaW9uSWdub3JlID8/IG5ldyBTdXBwcmVzc2lvbklnbm9yZU5ldmVyKCksXG4gICAgICAgICAgdGhpcy5wYWNrR2xvYmFsU3VwcHJlc3Npb25JZ25vcmUgPz8gbmV3IFN1cHByZXNzaW9uSWdub3JlTmV2ZXIoKSxcbiAgICAgICAgICBpZ25vcmVTdXBwcmVzc2lvbkNvbmRpdGlvbiA/PyBuZXcgU3VwcHJlc3Npb25JZ25vcmVOZXZlcigpXG4gICAgICAgICkuY3JlYXRlTWVzc2FnZSh7XG4gICAgICAgICAgcmVzb3VyY2UsXG4gICAgICAgICAgcmVhc29uOiBzdXBwcmVzc2lvbi5yZWFzb24sXG4gICAgICAgICAgcnVsZUlkLFxuICAgICAgICAgIGZpbmRpbmdJZCxcbiAgICAgICAgICBydWxlTGV2ZWw6IGxldmVsLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlnbm9yZU1lc3NhZ2UpIHtcbiAgICAgICAgICBsZXQgaWQgPSBmaW5kaW5nSWQgPyBgJHtydWxlSWR9WyR7ZmluZGluZ0lkfV1gIDogYCR7cnVsZUlkfWA7XG4gICAgICAgICAgQW5ub3RhdGlvbnMub2YocmVzb3VyY2UpLmFkZEluZm8oXG4gICAgICAgICAgICBgVGhlIHN1cHByZXNzaW9uIGZvciAke2lkfSB3YXMgaWdub3JlZCBmb3IgdGhlIGZvbGxvd2luZyByZWFzb24ocykuXFxuXFx0JHtpZ25vcmVNZXNzYWdlfWBcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghc3VwcHJlc3Npb24uYXBwbGllc1RvKSB7XG4gICAgICAgICAgICAvLyB0aGUgcnVsZSBpcyBub3QgZ3JhbnVsYXIgc28gaXQgYWx3YXlzIGFwcGxpZXNcbiAgICAgICAgICAgIHJldHVybiBzdXBwcmVzc2lvbi5yZWFzb247XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgWyR7ZmluZGluZ0lkfV0gJHtzdXBwcmVzc2lvbi5yZWFzb259YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05vbkNvbXBsaWFudChydWxlUmVzdWx0OiBOYWdSdWxlUmVzdWx0KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHJ1bGVSZXN1bHQgPT09IE5hZ1J1bGVDb21wbGlhbmNlLk5PTl9DT01QTElBTlQgfHxcbiAgICAgIEFycmF5LmlzQXJyYXkocnVsZVJlc3VsdClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc0ZpbmRpbmdzKHJ1bGVSZXN1bHQ6IE5hZ1J1bGVSZXN1bHQpOiBOYWdSdWxlRmluZGluZ3Mge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJ1bGVSZXN1bHQpKSB7XG4gICAgICByZXR1cm4gcnVsZVJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFsnJ107XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -46,10 +46,21 @@ export declare class NagRules {
|
|
|
46
46
|
*/
|
|
47
47
|
static resolveIfPrimitive(node: CfnResource, parameter: any): any;
|
|
48
48
|
/**
|
|
49
|
+
* @deprecated
|
|
50
|
+
* Use resolveResourceFromIntrinsic instead
|
|
51
|
+
*
|
|
49
52
|
* Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
|
|
50
53
|
* @param node The CfnResource to check.
|
|
51
54
|
* @param parameter The value to attempt to resolve.
|
|
52
55
|
* @returns Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
|
|
53
56
|
*/
|
|
54
57
|
static resolveResourceFromInstrinsic(node: CfnResource, parameter: any): any;
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
|
|
61
|
+
* @param node The CfnResource to check.
|
|
62
|
+
* @param parameter The value to attempt to resolve.
|
|
63
|
+
* @returns Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
|
|
64
|
+
*/
|
|
65
|
+
static resolveResourceFromIntrinsic(node: CfnResource, parameter: any): any;
|
|
55
66
|
}
|
|
@@ -55,12 +55,25 @@ class NagRules {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
+
* @deprecated
|
|
59
|
+
* Use resolveResourceFromIntrinsic instead
|
|
60
|
+
*
|
|
58
61
|
* Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
|
|
59
62
|
* @param node The CfnResource to check.
|
|
60
63
|
* @param parameter The value to attempt to resolve.
|
|
61
64
|
* @returns Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
|
|
62
65
|
*/
|
|
63
66
|
static resolveResourceFromInstrinsic(node, parameter) {
|
|
67
|
+
return this.resolveResourceFromIntrinsic(node, parameter);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
|
|
72
|
+
* @param node The CfnResource to check.
|
|
73
|
+
* @param parameter The value to attempt to resolve.
|
|
74
|
+
* @returns Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
|
|
75
|
+
*/
|
|
76
|
+
static resolveResourceFromIntrinsic(node, parameter) {
|
|
64
77
|
const resolvedValue = aws_cdk_lib_1.Stack.of(node).resolve(parameter);
|
|
65
78
|
const ref = resolvedValue?.Ref;
|
|
66
79
|
const getAtt = resolvedValue?.['Fn::GetAtt'];
|
|
@@ -75,5 +88,5 @@ class NagRules {
|
|
|
75
88
|
}
|
|
76
89
|
exports.NagRules = NagRules;
|
|
77
90
|
_a = JSII_RTTI_SYMBOL_1;
|
|
78
|
-
NagRules[_a] = { fqn: "cdk-nag.NagRules", version: "2.35.
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
NagRules[_a] = { fqn: "cdk-nag.NagRules", version: "2.35.29" };
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25hZy1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7RUFHRTtBQUNGLDZDQUFpRDtBQUVwQyxRQUFBLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3pCLG1DQUFnQixDQUFBO0lBQ2hCLGtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGVBQWUsK0JBQWYsZUFBZSxRQUcxQjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLDRDQUF1QixDQUFBO0lBQ3ZCLG9EQUErQixDQUFBO0lBQy9CLDJDQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFKVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQUk1QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSwyQkFHWDtBQUhELFdBQVksMkJBQTJCO0lBQ3JDLHdEQUF5QixDQUFBO0lBQ3pCLGtEQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQUd0QztBQWlCRDs7R0FFRztBQUNILE1BQWEsUUFBUTtJQUNuQjs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBaUIsRUFBRSxTQUFjO1FBQ3pELE1BQU0sYUFBYSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCxJQUFJLGFBQWEsS0FBSyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEtBQUssQ0FDVCx1REFBdUQsSUFBSSxDQUFDLFNBQVMsQ0FDbkUsYUFBYSxDQUNkLCtDQUErQyxDQUNqRCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUFDLElBQWlCLEVBQUUsU0FBYztRQUNwRSxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxJQUFpQixFQUFFLFNBQWM7UUFDbkUsTUFBTSxhQUFhLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLGFBQWEsRUFBRSxHQUFHLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsYUFBYSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsSUFBSSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDckIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7O0FBbkRILDRCQW9EQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4qL1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG5leHBvcnQgY29uc3QgVkFMSURBVElPTl9GQUlMVVJFX0lEID0gJ0Nka05hZ1ZhbGlkYXRpb25GYWlsdXJlJztcblxuLyoqXG4gKiBUaGUgc2V2ZXJpdHkgbGV2ZWwgb2YgdGhlIHJ1bGUuXG4gKi9cbmV4cG9ydCBlbnVtIE5hZ01lc3NhZ2VMZXZlbCB7XG4gIFdBUk4gPSAnV2FybmluZycsXG4gIEVSUk9SID0gJ0Vycm9yJyxcbn1cblxuLyoqXG4gKiBUaGUgY29tcGxpYW5jZSBsZXZlbCBvZiBhIHJlc291cmNlIGluIHJlbGF0aW9uIHRvIGEgcnVsZS5cbiAqL1xuZXhwb3J0IGVudW0gTmFnUnVsZUNvbXBsaWFuY2Uge1xuICBDT01QTElBTlQgPSAnQ29tcGxpYW50JyxcbiAgTk9OX0NPTVBMSUFOVCA9ICdOb24tQ29tcGxpYW50JyxcbiAgTk9UX0FQUExJQ0FCTEUgPSAnTi9BJyxcbn1cblxuLyoqXG4gKiBBZGRpdGlvbmFsIHN0YXRlcyBhIHJ1bGUgY2FuIGJlIGluIHBvc3QgY29tcGxpYW5jZSB2YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcyB7XG4gIFNVUFBSRVNTRUQgPSAnU3VwcHJlc3NlZCcsXG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG59XG5cbi8qKlxuICogQWxsIHN0YXRlcyBhIHJ1bGUgY2FuIGJlIGluIHBvc3QgY29tcGxpYW5jZSB2YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIE5hZ1J1bGVTdGF0ZXMgPSBOYWdSdWxlQ29tcGxpYW5jZSB8IE5hZ1J1bGVQb3N0VmFsaWRhdGlvblN0YXRlcztcblxuZXhwb3J0IHR5cGUgTmFnUnVsZUZpbmRpbmcgPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIE5hZ1J1bGVGaW5kaW5ncyA9IE5hZ1J1bGVGaW5kaW5nW107XG5cbi8qKlxuICogVGhlIHJlc3VsdCBvZiBhIHJ1bGUgY2hlY2suIENhbiBlaXRoZXIgYmUgYE5hZ1J1bGVDb21wbGlhbmNlYFxuICogb3IgYW4gYXJyYXkgb2YgaW5kaXZpZHVhbCBmaW5kaW5nc1xuICovXG5leHBvcnQgdHlwZSBOYWdSdWxlUmVzdWx0ID0gTmFnUnVsZUNvbXBsaWFuY2UgfCBOYWdSdWxlRmluZGluZ3M7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIHdpdGggbWV0aG9kcyBmb3IgcnVsZSBjcmVhdGlvblxuICovXG5leHBvcnQgY2xhc3MgTmFnUnVsZXMge1xuICAvKipcbiAgICogVXNlIGluIGNhc2VzIHdoZXJlIGEgcHJpbWl0aXZlIHZhbHVlIG11c3QgYmUga25vd24gdG8gcGFzcyBhIHJ1bGUuXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvR2xvc3NhcnkvUHJpbWl0aXZlXG4gICAqIEBwYXJhbSBub2RlIFRoZSBDZm5SZXNvdXJjZSB0byBjaGVjay5cbiAgICogQHBhcmFtIHBhcmFtZXRlciBUaGUgdmFsdWUgdG8gYXR0ZW1wdCB0byByZXNvbHZlLlxuICAgKiBAcmV0dXJucyBSZXR1cm4gYSB2YWx1ZSBpZiByZXNvbHZlcyB0byBhIHByaW1pdGl2ZSBkYXRhIHR5cGUsIG90aGVyd2lzZSB0aHJvdyBhbiBlcnJvci5cbiAgICovXG4gIHN0YXRpYyByZXNvbHZlSWZQcmltaXRpdmUobm9kZTogQ2ZuUmVzb3VyY2UsIHBhcmFtZXRlcjogYW55KTogYW55IHtcbiAgICBjb25zdCByZXNvbHZlZFZhbHVlID0gU3RhY2sub2Yobm9kZSkucmVzb2x2ZShwYXJhbWV0ZXIpO1xuICAgIGlmIChyZXNvbHZlZFZhbHVlID09PSBPYmplY3QocmVzb2x2ZWRWYWx1ZSkpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICBgVGhlIHBhcmFtZXRlciByZXNvbHZlZCB0byB0byBhIG5vbi1wcmltaXRpdmUgdmFsdWUgXCIke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHJlc29sdmVkVmFsdWVcbiAgICAgICAgKX1cIiwgdGhlcmVmb3JlIHRoZSBydWxlIGNvdWxkIG5vdCBiZSB2YWxpZGF0ZWQuYFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc29sdmVkVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFVzZSByZXNvbHZlUmVzb3VyY2VGcm9tSW50cmluc2ljIGluc3RlYWRcbiAgICpcbiAgICogVXNlIGluIGNhc2VzIHdoZXJlIGEgdG9rZW4gcmVzb2x2ZXMgdG8gYW4gaW50cmluc2ljIGZ1bmN0aW9uIGFuZCB0aGUgcmVmZXJlbmNlZCByZXNvdXJjZSBtdXN0IGJlIGtub3duIHRvIHBhc3MgYSBydWxlLlxuICAgKiBAcGFyYW0gbm9kZSBUaGUgQ2ZuUmVzb3VyY2UgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXIgVGhlIHZhbHVlIHRvIGF0dGVtcHQgdG8gcmVzb2x2ZS5cbiAgICogQHJldHVybnMgUmV0dXJuIHRoZSBMb2dpY2FsIHJlc291cmNlIElkIGlmIHJlc29sdmVzIHRvIGEgaW50cmluc2ljIGZ1bmN0aW9uLCBvdGhlcndpc2UgdGhlIHJlc29sdmVkIHByb3ZpZGVkIHZhbHVlLlxuICAgKi9cbiAgc3RhdGljIHJlc29sdmVSZXNvdXJjZUZyb21JbnN0cmluc2ljKG5vZGU6IENmblJlc291cmNlLCBwYXJhbWV0ZXI6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVJlc291cmNlRnJvbUludHJpbnNpYyhub2RlLCBwYXJhbWV0ZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFVzZSBpbiBjYXNlcyB3aGVyZSBhIHRva2VuIHJlc29sdmVzIHRvIGFuIGludHJpbnNpYyBmdW5jdGlvbiBhbmQgdGhlIHJlZmVyZW5jZWQgcmVzb3VyY2UgbXVzdCBiZSBrbm93biB0byBwYXNzIGEgcnVsZS5cbiAgICogQHBhcmFtIG5vZGUgVGhlIENmblJlc291cmNlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVyIFRoZSB2YWx1ZSB0byBhdHRlbXB0IHRvIHJlc29sdmUuXG4gICAqIEByZXR1cm5zIFJldHVybiB0aGUgTG9naWNhbCByZXNvdXJjZSBJZCBpZiByZXNvbHZlcyB0byBhIGludHJpbnNpYyBmdW5jdGlvbiwgb3RoZXJ3aXNlIHRoZSByZXNvbHZlZCBwcm92aWRlZCB2YWx1ZS5cbiAgICovXG4gIHN0YXRpYyByZXNvbHZlUmVzb3VyY2VGcm9tSW50cmluc2ljKG5vZGU6IENmblJlc291cmNlLCBwYXJhbWV0ZXI6IGFueSk6IGFueSB7XG4gICAgY29uc3QgcmVzb2x2ZWRWYWx1ZSA9IFN0YWNrLm9mKG5vZGUpLnJlc29sdmUocGFyYW1ldGVyKTtcbiAgICBjb25zdCByZWYgPSByZXNvbHZlZFZhbHVlPy5SZWY7XG4gICAgY29uc3QgZ2V0QXR0ID0gcmVzb2x2ZWRWYWx1ZT8uWydGbjo6R2V0QXR0J107XG4gICAgaWYgKHJlZiAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiByZWY7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGdldEF0dCkgJiYgZ2V0QXR0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBnZXRBdHRbMF07XG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlZFZhbHVlO1xuICB9XG59XG4iXX0=
|
|
@@ -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.35.
|
|
95
|
+
NagSuppressions[_a] = { fqn: "cdk-nag.NagSuppressions", version: "2.35.29" };
|
|
96
96
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFnLXN1cHByZXNzaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uYWctc3VwcHJlc3Npb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztFQUdFO0FBQ0YsNkNBQWlEO0FBR2pELDJFQUFzRTtBQUV0RTs7R0FFRztBQUNILE1BQWEsZUFBZTtJQUMxQjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsS0FBWSxFQUNaLFlBQWtDLEVBQ2xDLHNCQUErQixLQUFLO1FBRXBDLE1BQU0sTUFBTSxHQUFHLG1CQUFtQjtZQUNoQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQWMsRUFBRSxDQUFDLENBQUMsWUFBWSxtQkFBSyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ1osTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ25CLDZDQUFvQixDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3pFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDekQsUUFBUSxHQUFHLDZDQUFvQixDQUFDLGtCQUFrQixDQUNoRCxRQUFRLEVBQ1IsWUFBWSxDQUNiLENBQUM7WUFDRixJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFDRCxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztP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Q0wsQ0FBQzs7QUEzR0gsMENBNEdDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiovXG5pbXBvcnQgeyBDZm5SZXNvdXJjZSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBOYWdQYWNrU3VwcHJlc3Npb24gfSBmcm9tICcuL21vZGVscy9uYWctc3VwcHJlc3Npb24nO1xuaW1wb3J0IHsgTmFnU3VwcHJlc3Npb25IZWxwZXIgfSBmcm9tICcuL3V0aWxzL25hZy1zdXBwcmVzc2lvbi1oZWxwZXInO1xuXG4vKipcbiAqIEhlbHBlciBjbGFzcyB3aXRoIG1ldGhvZHMgdG8gYWRkIGNkay1uYWcgc3VwcHJlc3Npb25zIHRvIGNkayByZXNvdXJjZXNcbiAqL1xuZXhwb3J0IGNsYXNzIE5hZ1N1cHByZXNzaW9ucyB7XG4gIC8qKlxuICAgKiBBcHBseSBjZGstbmFnIHN1cHByZXNzaW9ucyB0byBhIFN0YWNrIGFuZCBvcHRpb25hbGx5IG5lc3RlZCBzdGFja3NcbiAgICogQHBhcmFtIHN0YWNrIFRoZSBTdGFjayB0byBhcHBseSB0aGUgc3VwcHJlc3Npb24gdG9cbiAgICogQHBhcmFtIHN1cHByZXNzaW9ucyBBIGxpc3Qgb2Ygc3VwcHJlc3Npb25zIHRvIGFwcGx5IHRvIHRoZSBzdGFja1xuICAgKiBAcGFyYW0gYXBwbHlUb05lc3RlZFN0YWNrcyBBcHBseSB0aGUgc3VwcHJlc3Npb25zIHRvIGNoaWxkcmVuIHN0YWNrcyAoZGVmYXVsdDpmYWxzZSlcbiAgICovXG4gIHN0YXRpYyBhZGRTdGFja1N1cHByZXNzaW9ucyhcbiAgICBzdGFjazogU3RhY2ssXG4gICAgc3VwcHJlc3Npb25zOiBOYWdQYWNrU3VwcHJlc3Npb25bXSxcbiAgICBhcHBseVRvTmVzdGVkU3RhY2tzOiBib29sZWFuID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhY2tzID0gYXBwbHlUb05lc3RlZFN0YWNrc1xuICAgICAgPyBzdGFjay5ub2RlLmZpbmRBbGwoKS5maWx0ZXIoKHgpOiB4IGlzIFN0YWNrID0+IHggaW5zdGFuY2VvZiBTdGFjaylcbiAgICAgIDogW3N0YWNrXTtcbiAgICBzdGFja3MuZm9yRWFjaCgocykgPT4ge1xuICAgICAgTmFnU3VwcHJlc3Npb25IZWxwZXIuYXNzZXJ0U3VwcHJlc3Npb25zQXJlVmFsaWQocy5ub2RlLmlkLCBzdXBwcmVzc2lvbnMpO1xuICAgICAgbGV0IG1ldGFkYXRhID0gcy50ZW1wbGF0ZU9wdGlvbnMubWV0YWRhdGE/LmNka19uYWcgPz8ge307XG4gICAgICBtZXRhZGF0YSA9IE5hZ1N1cHByZXNzaW9uSGVscGVyLmFkZFJ1bGVzVG9NZXRhZGF0YShcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIHN1cHByZXNzaW9uc1xuICAgICAgKTtcbiAgICAgIGlmICghcy50ZW1wbGF0ZU9wdGlvbnMubWV0YWRhdGEpIHtcbiAgICAgICAgcy50ZW1wbGF0ZU9wdGlvbnMubWV0YWRhdGEgPSB7fTtcbiAgICAgIH1cbiAgICAgIHMudGVtcGxhdGVPcHRpb25zLm1ldGFkYXRhLmNka19uYWcgPSBtZXRhZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgY2RrLW5hZyBzdXBwcmVzc2lvbnMgdG8gYSBDZm5SZXNvdXJjZSBhbmQgb3B0aW9uYWxseSBpdHMgY2hpbGRyZW5cbiAgICogQHBhcmFtIGNvbnN0cnVjdCBUaGUgSUNvbnN0cnVjdChzKSB0byBhcHBseSB0aGUgc3VwcHJlc3Npb24gdG9cbiAgICogQHBhcmFtIHN1cHByZXNzaW9ucyBBIGxpc3Qgb2Ygc3VwcHJlc3Npb25zIHRvIGFwcGx5IHRvIHRoZSByZXNvdXJjZVxuICAgKiBAcGFyYW0gYXBwbHlUb0NoaWxkcmVuIEFwcGx5IHRoZSBzdXBwcmVzc2lvbnMgdG8gY2hpbGRyZW4gQ2ZuUmVzb3VyY2VzICAoZGVmYXVsdDpmYWxzZSlcbiAgICovXG4gIHN0YXRpYyBhZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhcbiAgICBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QgfCBJQ29uc3RydWN0W10sXG4gICAgc3VwcHJlc3Npb25zOiBOYWdQYWNrU3VwcHJlc3Npb25bXSxcbiAgICBhcHBseVRvQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RBcnJheTogSUNvbnN0cnVjdFtdID0gQXJyYXkuaXNBcnJheShjb25zdHJ1Y3QpXG4gICAgICA/IGNvbnN0cnVjdFxuICAgICAgOiBbY29uc3RydWN0XTtcbiAgICBpZiAoY29uc3RydWN0QXJyYXkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbnN0cnVjdCBjYW5ub3QgYmUgYW4gZW1wdHkgYXJyYXkuYCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0QXJyYXkuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgTmFnU3VwcHJlc3Npb25IZWxwZXIuYXNzZXJ0U3VwcHJlc3Npb25zQXJlVmFsaWQoYy5ub2RlLmlkLCBzdXBwcmVzc2lvbnMpO1xuICAgICAgY29uc3QgY29uc3RydWN0cyA9IGFwcGx5VG9DaGlsZHJlbiA/IGMubm9kZS5maW5kQWxsKCkgOiBbY107XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNvbnN0cnVjdHMpIHtcbiAgICAgICAgY29uc3QgcG9zc2libGVMMSA9IGNoaWxkLm5vZGUuZGVmYXVsdENoaWxkXG4gICAgICAgICAgPyBjaGlsZC5ub2RlLmRlZmF1bHRDaGlsZFxuICAgICAgICAgIDogY2hpbGQ7XG4gICAgICAgIGlmIChwb3NzaWJsZUwxIGluc3RhbmNlb2YgQ2ZuUmVzb3VyY2UpIHtcbiAgICAgICAgICBjb25zdCByZXNvdXJjZSA9IHBvc3NpYmxlTDEgYXMgQ2ZuUmVzb3VyY2U7XG4gICAgICAgICAgbGV0IG1ldGFkYXRhID0gcmVzb3VyY2UuZ2V0TWV0YWRhdGEoJ2Nka19uYWcnKTtcbiAgICAgICAgICBtZXRhZGF0YSA9IE5hZ1N1cHByZXNzaW9uSGVscGVyLmFkZFJ1bGVzVG9NZXRhZGF0YShcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICAgICAgc3VwcHJlc3Npb25zXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXNvdXJjZS5hZGRNZXRhZGF0YSgnY2RrX25hZycsIG1ldGFkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBjZGstbmFnIHN1cHByZXNzaW9ucyB0byBhIENmblJlc291cmNlIGFuZCBvcHRpb25hbGx5IGl0cyBjaGlsZHJlbiB2aWEgaXRzIHBhdGhcbiAgICogQHBhcmFtIHN0YWNrIFRoZSBTdGFjayB0aGUgY29uc3RydWN0IGJlbG9uZ3MgdG9cbiAgICogQHBhcmFtIHBhdGggVGhlIHBhdGgocykgdG8gdGhlIGNvbnN0cnVjdCBpbiB0aGUgcHJvdmlkZWQgc3RhY2tcbiAgICogQHBhcmFtIHN1cHByZXNzaW9ucyBBIGxpc3Qgb2Ygc3VwcHJlc3Npb25zIHRvIGFwcGx5IHRvIHRoZSByZXNvdXJjZVxuICAgKiBAcGFyYW0gYXBwbHlUb0NoaWxkcmVuIEFwcGx5IHRoZSBzdXBwcmVzc2lvbnMgdG8gY2hpbGRyZW4gQ2ZuUmVzb3VyY2VzICAoZGVmYXVsdDpmYWxzZSlcbiAgICovXG4gIHN0YXRpYyBhZGRSZXNvdXJjZVN1cHByZXNzaW9uc0J5UGF0aChcbiAgICBzdGFjazogU3RhY2ssXG4gICAgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgc3VwcHJlc3Npb25zOiBOYWdQYWNrU3VwcHJlc3Npb25bXSxcbiAgICBhcHBseVRvQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoQXJyYXk6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGggOiBbcGF0aF07XG4gICAgaWYgKHBhdGhBcnJheS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUGF0aCBjYW5ub3QgYmUgYW4gZW1wdHkgYXJyYXkuYCk7XG4gICAgfVxuXG4gICAgcGF0aEFycmF5LmZvckVhY2goKHApID0+IHtcbiAgICAgIGxldCBhZGRlZCA9IGZhbHNlO1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBzdGFjay5ub2RlLmZpbmRBbGwoKSkge1xuICAgICAgICBjb25zdCBmaXhlZFBhdGggPSBwLnJlcGxhY2UoL15cXC8vLCAnJyk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjaGlsZC5ub2RlLnBhdGggPT09IGZpeGVkUGF0aCB8fFxuICAgICAgICAgIGNoaWxkLm5vZGUucGF0aCArICcvUmVzb3VyY2UnID09PSBmaXhlZFBhdGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgTmFnU3VwcHJlc3Npb25zLmFkZFJlc291cmNlU3VwcHJlc3Npb25zKFxuICAgICAgICAgICAgY2hpbGQsXG4gICAgICAgICAgICBzdXBwcmVzc2lvbnMsXG4gICAgICAgICAgICBhcHBseVRvQ2hpbGRyZW5cbiAgICAgICAgICApO1xuICAgICAgICAgIGFkZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFhZGRlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFN1cHByZXNzaW9uIHBhdGggXCIke3B9XCIgZGlkIG5vdCBtYXRjaCBhbnkgcmVzb3VyY2UuIFRoaXMgY2FuIG9jY3VyIHdoZW4gYSByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBvciBpZiBhIHN1cHByZXNzaW9uIGlzIGFwcGxpZWQgYmVmb3JlIGEgcmVzb3VyY2UgaXMgY3JlYXRlZC5gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|