@fjall/components-infrastructure 0.88.3 → 0.89.2
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/LICENSE +21 -0
- package/dist/lib/app.d.ts +33 -10
- package/dist/lib/app.js +79 -36
- package/dist/lib/aspects/index.d.ts +1 -0
- package/dist/lib/aspects/index.js +6 -0
- package/dist/lib/config/aws/accountAuditRole.d.ts +20 -0
- package/dist/lib/config/aws/accountAuditRole.js +38 -0
- package/dist/lib/config/aws/accountMonitoringRole.d.ts +22 -0
- package/dist/lib/config/aws/accountMonitoringRole.js +133 -0
- package/dist/lib/config/aws/cloudTrail.d.ts +0 -3
- package/dist/lib/config/aws/cloudTrail.js +2 -2
- package/dist/lib/config/aws/disasterRecovery.js +53 -20
- package/dist/lib/config/aws/ecrDefaultImage.js +4 -3
- package/dist/lib/config/aws/index.d.ts +4 -0
- package/dist/lib/config/aws/index.js +5 -1
- package/dist/lib/config/aws/oidcConnector.d.ts +8 -0
- package/dist/lib/config/aws/oidcConnector.js +46 -0
- package/dist/lib/config/aws/platform.d.ts +2 -0
- package/dist/lib/config/aws/platform.js +6 -0
- package/dist/lib/config/index.d.ts +2 -0
- package/dist/lib/config/index.js +21 -0
- package/dist/lib/patterns/aws/account.js +22 -10
- package/dist/lib/patterns/aws/cdn.d.ts +19 -40
- package/dist/lib/patterns/aws/cdn.js +21 -17
- package/dist/lib/patterns/aws/compute.d.ts +9 -720
- package/dist/lib/patterns/aws/compute.js +27 -432
- package/dist/lib/patterns/aws/computeEc2.d.ts +67 -0
- package/dist/lib/patterns/aws/computeEc2.js +46 -0
- package/dist/lib/patterns/aws/computeEcs.d.ts +446 -0
- package/dist/lib/patterns/aws/computeEcs.js +246 -0
- package/dist/lib/patterns/aws/computeLambda.d.ts +220 -0
- package/dist/lib/patterns/aws/computeLambda.js +147 -0
- package/dist/lib/patterns/aws/database.d.ts +7 -87
- package/dist/lib/patterns/aws/database.js +15 -38
- package/dist/lib/patterns/aws/domainDelegation.d.ts +8 -0
- package/dist/lib/patterns/aws/domainDelegation.js +54 -0
- package/dist/lib/patterns/aws/domainFactory.d.ts +8 -0
- package/dist/lib/patterns/aws/domainFactory.js +23 -0
- package/dist/lib/patterns/aws/index.d.ts +4 -1
- package/dist/lib/patterns/aws/index.js +6 -2
- package/dist/lib/patterns/aws/interfaces/cdn.d.ts +26 -0
- package/dist/lib/patterns/aws/interfaces/cdn.js +14 -0
- package/dist/lib/patterns/aws/interfaces/connector.d.ts +4 -181
- package/dist/lib/patterns/aws/interfaces/connector.js +16 -113
- package/dist/lib/patterns/aws/interfaces/domain.d.ts +2 -0
- package/dist/lib/patterns/aws/interfaces/domain.js +6 -0
- package/dist/lib/patterns/aws/interfaces/index.d.ts +2 -0
- package/dist/lib/patterns/aws/interfaces/index.js +5 -2
- package/dist/lib/patterns/aws/interfaces/pattern.d.ts +9 -6
- package/dist/lib/patterns/aws/interfaces/pattern.js +1 -1
- package/dist/lib/patterns/aws/network.js +6 -9
- package/dist/lib/patterns/aws/organisation.d.ts +4 -2
- package/dist/lib/patterns/aws/organisation.js +21 -8
- package/dist/lib/patterns/aws/payload.js +21 -12
- package/dist/lib/patterns/aws/storage.d.ts +3 -2
- package/dist/lib/patterns/aws/storage.js +1 -1
- package/dist/lib/resources/aws/audit/auditRole.js +4 -4
- package/dist/lib/resources/aws/audit/index.d.ts +1 -0
- package/dist/lib/resources/aws/audit/index.js +6 -0
- package/dist/lib/resources/aws/backup/backupPlan.js +3 -2
- package/dist/lib/resources/aws/backup/backupVault.js +5 -3
- package/dist/lib/resources/aws/base/awsStack.d.ts +4 -2
- package/dist/lib/resources/aws/base/awsStack.js +8 -2
- package/dist/lib/resources/aws/cdn/cloudFront.d.ts +14 -0
- package/dist/lib/resources/aws/cdn/cloudFront.js +52 -18
- package/dist/lib/resources/aws/compute/ec2.js +18 -22
- package/dist/lib/resources/aws/compute/ecs.d.ts +23 -10
- package/dist/lib/resources/aws/compute/ecs.js +121 -64
- package/dist/lib/resources/aws/compute/index.d.ts +1 -0
- package/dist/lib/resources/aws/compute/index.js +2 -1
- package/dist/lib/resources/aws/compute/lambda.d.ts +0 -2
- package/dist/lib/resources/aws/compute/lambda.js +12 -27
- package/dist/lib/resources/aws/database/dynamodb.js +3 -13
- package/dist/lib/resources/aws/database/index.d.ts +8 -2
- package/dist/lib/resources/aws/database/index.js +19 -3
- package/dist/lib/resources/aws/database/rdsAurora.d.ts +2 -3
- package/dist/lib/resources/aws/database/rdsAurora.js +32 -68
- package/dist/lib/resources/aws/database/rdsAuroraGlobal.d.ts +6 -6
- package/dist/lib/resources/aws/database/rdsAuroraGlobal.js +25 -29
- package/dist/lib/resources/aws/database/rdsDefaults.d.ts +11 -0
- package/dist/lib/resources/aws/database/rdsDefaults.js +15 -0
- package/dist/lib/resources/aws/database/rdsHelpers.d.ts +39 -0
- package/dist/lib/resources/aws/database/rdsHelpers.js +75 -0
- package/dist/lib/resources/aws/database/rdsInstance.d.ts +7 -8
- package/dist/lib/resources/aws/database/rdsInstance.js +40 -84
- package/dist/lib/resources/aws/database/rdsProxyOutput.d.ts +7 -0
- package/dist/lib/resources/aws/database/rdsProxyOutput.js +18 -0
- package/dist/lib/resources/aws/iam/index.d.ts +0 -1
- package/dist/lib/resources/aws/iam/index.js +1 -2
- package/dist/lib/resources/aws/index.d.ts +0 -1
- package/dist/lib/resources/aws/index.js +1 -2
- package/dist/lib/resources/aws/logging/cloudTrail.js +13 -3
- package/dist/lib/resources/aws/logging/index.d.ts +2 -0
- package/dist/lib/resources/aws/logging/index.js +19 -0
- package/dist/lib/resources/aws/messaging/index.d.ts +3 -2
- package/dist/lib/resources/aws/messaging/index.js +4 -3
- package/dist/lib/resources/aws/messaging/sqs.js +14 -11
- package/dist/lib/resources/aws/messaging/utils.d.ts +1 -2
- package/dist/lib/resources/aws/messaging/utils.js +3 -4
- package/dist/lib/resources/aws/monitoring/index.d.ts +0 -1
- package/dist/lib/resources/aws/monitoring/index.js +4 -17
- package/dist/lib/resources/aws/networking/domain.d.ts +13 -0
- package/dist/lib/resources/aws/networking/domain.js +102 -0
- package/dist/lib/resources/aws/networking/domainCertificate.d.ts +13 -0
- package/dist/lib/resources/aws/networking/domainCertificate.js +28 -0
- package/dist/lib/resources/aws/networking/hostedZone.d.ts +28 -0
- package/dist/lib/resources/aws/networking/hostedZone.js +150 -0
- package/dist/lib/resources/aws/networking/index.d.ts +4 -0
- package/dist/lib/resources/aws/networking/index.js +5 -1
- package/dist/lib/resources/aws/networking/ipamPool.js +57 -31
- package/dist/lib/resources/aws/networking/securityGroup.d.ts +5 -0
- package/dist/lib/resources/aws/networking/securityGroup.js +14 -0
- package/dist/lib/resources/aws/networking/vpc.js +9 -4
- package/dist/lib/resources/aws/organisation/costAllocationTagActivator.d.ts +17 -0
- package/dist/lib/resources/aws/organisation/costAllocationTagActivator.js +66 -0
- package/dist/lib/resources/aws/organisation/index.d.ts +1 -0
- package/dist/lib/resources/aws/organisation/index.js +4 -2
- package/dist/lib/resources/aws/secrets/index.d.ts +0 -1
- package/dist/lib/resources/aws/secrets/index.js +1 -2
- package/dist/lib/resources/aws/storage/ecr.d.ts +0 -1
- package/dist/lib/resources/aws/storage/ecr.js +5 -5
- package/dist/lib/resources/aws/storage/s3.d.ts +3 -3
- package/dist/lib/resources/aws/storage/s3.js +1 -1
- package/dist/lib/resources/aws/utilities/index.d.ts +5 -0
- package/dist/lib/resources/aws/utilities/index.js +22 -0
- package/dist/lib/utils/backupTierMapping.d.ts +11 -0
- package/dist/lib/utils/backupTierMapping.js +17 -0
- package/dist/lib/utils/capitaliseString.d.ts +1 -12
- package/dist/lib/utils/capitaliseString.js +8 -28
- package/dist/lib/utils/connections.d.ts +46 -0
- package/dist/lib/utils/connections.js +159 -0
- package/dist/lib/utils/connector.d.ts +183 -0
- package/dist/lib/utils/connector.js +117 -0
- package/dist/lib/utils/databaseTypes.d.ts +85 -0
- package/dist/lib/utils/databaseTypes.js +34 -0
- package/dist/lib/utils/dnsRecords.d.ts +4 -0
- package/dist/lib/utils/dnsRecords.js +108 -0
- package/dist/lib/utils/domainTypes.d.ts +37 -0
- package/dist/lib/utils/domainTypes.js +10 -0
- package/dist/lib/utils/env.d.ts +42 -0
- package/dist/lib/utils/env.js +122 -0
- package/dist/lib/utils/getConfig.d.ts +0 -5
- package/dist/lib/utils/getConfig.js +42 -19
- package/dist/lib/utils/index.d.ts +7 -0
- package/dist/lib/utils/index.js +8 -1
- package/dist/lib/utils/removalPolicy.d.ts +2 -0
- package/dist/lib/utils/removalPolicy.js +16 -0
- package/dist/lib/utils/standardTagsAspect.d.ts +4 -0
- package/dist/lib/utils/standardTagsAspect.js +8 -8
- package/dist/lib/utils/vpcUtils.d.ts +14 -0
- package/dist/lib/utils/vpcUtils.js +28 -0
- package/package.json +7 -6
|
@@ -1,183 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* bidirectional connections between compute resources (ECS, Lambda, EC2)
|
|
6
|
-
* and data resources (S3, DynamoDB, SQS, RDS).
|
|
7
|
-
*
|
|
8
|
-
* The connector pattern unifies:
|
|
9
|
-
* - Security group rules (IConnectable) for RDS, ECS, etc.
|
|
10
|
-
* - IAM grants for S3, DynamoDB, SQS
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* // Simple connections (default permissions)
|
|
14
|
-
* const api = app.addCompute(ComputeFactory.build("Api", {
|
|
15
|
-
* type: "ecs",
|
|
16
|
-
* services: [{
|
|
17
|
-
* name: "api",
|
|
18
|
-
* capacityProvider: "FARGATE",
|
|
19
|
-
* connections: [database, bucket, cache, queue]
|
|
20
|
-
* }]
|
|
21
|
-
* }));
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* // Explicit access levels
|
|
25
|
-
* const worker = app.addCompute(ComputeFactory.build("Worker", {
|
|
26
|
-
* type: "ecs",
|
|
27
|
-
* services: [{
|
|
28
|
-
* name: "worker",
|
|
29
|
-
* capacityProvider: "FARGATE",
|
|
30
|
-
* connections: [
|
|
31
|
-
* database, // Security group (RDS)
|
|
32
|
-
* { resource: cache, access: "read" }, // Read-only DynamoDB
|
|
33
|
-
* { resource: bucket, access: "write" }, // Write-only S3
|
|
34
|
-
* { resource: queue, access: "consume" } // Consume-only SQS
|
|
35
|
-
* ]
|
|
36
|
-
* }]
|
|
37
|
-
* }));
|
|
2
|
+
* Re-export from canonical location in lib/utils/.
|
|
3
|
+
* Connector types are shared between resources and patterns layers,
|
|
4
|
+
* so they belong in utils per the infrastructure layer boundary rules.
|
|
38
5
|
*/
|
|
39
|
-
|
|
40
|
-
import { type IGrantable, type Grant } from "aws-cdk-lib/aws-iam";
|
|
41
|
-
/**
|
|
42
|
-
* Connector type discriminator.
|
|
43
|
-
* - "storage": S3 buckets
|
|
44
|
-
* - "dynamodb": DynamoDB tables
|
|
45
|
-
* - "queue": SQS queues
|
|
46
|
-
* - "securityGroup": Resources with security groups (ECS, Lambda with VPC)
|
|
47
|
-
* - "relational": RDS databases (uses security groups)
|
|
48
|
-
*/
|
|
49
|
-
export type ConnectorType = "storage" | "dynamodb" | "queue" | "securityGroup" | "relational";
|
|
50
|
-
/**
|
|
51
|
-
* Access level for storage and DynamoDB connectors.
|
|
52
|
-
*/
|
|
53
|
-
export type ConnectionAccess = "read" | "write" | "readWrite";
|
|
54
|
-
/**
|
|
55
|
-
* Access level for messaging connectors (SQS).
|
|
56
|
-
*/
|
|
57
|
-
export type MessagingAccess = "send" | "consume" | "full";
|
|
58
|
-
/**
|
|
59
|
-
* Base connector interface.
|
|
60
|
-
* All connector types implement this interface.
|
|
61
|
-
*/
|
|
62
|
-
export interface IConnector {
|
|
63
|
-
/** The type of connector resource. Used for runtime type narrowing. */
|
|
64
|
-
readonly connectorType: ConnectorType;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Storage connector interface (S3).
|
|
68
|
-
* Provides IAM grant methods for S3 bucket access.
|
|
69
|
-
*/
|
|
70
|
-
export interface IStorageConnector extends IConnector {
|
|
71
|
-
readonly connectorType: "storage";
|
|
72
|
-
/** Grant read permissions to the grantee. */
|
|
73
|
-
grantRead(grantee: IGrantable): Grant;
|
|
74
|
-
/** Grant write permissions to the grantee. */
|
|
75
|
-
grantWrite(grantee: IGrantable): Grant;
|
|
76
|
-
/** Grant read and write permissions to the grantee. */
|
|
77
|
-
grantReadWrite(grantee: IGrantable): Grant;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* DynamoDB connector interface.
|
|
81
|
-
* Provides IAM grant methods for DynamoDB table access.
|
|
82
|
-
*/
|
|
83
|
-
export interface IDynamoDBConnector extends IConnector {
|
|
84
|
-
readonly connectorType: "dynamodb";
|
|
85
|
-
/** Grant read data permissions to the grantee. */
|
|
86
|
-
grantReadData(grantee: IGrantable): Grant;
|
|
87
|
-
/** Grant write data permissions to the grantee. */
|
|
88
|
-
grantWriteData(grantee: IGrantable): Grant;
|
|
89
|
-
/** Grant read and write data permissions to the grantee. */
|
|
90
|
-
grantReadWriteData(grantee: IGrantable): Grant;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Queue connector interface (SQS).
|
|
94
|
-
* Provides IAM grant methods for SQS queue access.
|
|
95
|
-
*/
|
|
96
|
-
export interface IQueueConnector extends IConnector {
|
|
97
|
-
readonly connectorType: "queue";
|
|
98
|
-
/** Grant send message permissions to the grantee. */
|
|
99
|
-
grantSendMessages(grantee: IGrantable): Grant;
|
|
100
|
-
/** Grant consume (receive and delete) message permissions to the grantee. */
|
|
101
|
-
grantConsumeMessages(grantee: IGrantable): Grant;
|
|
102
|
-
/** Grant full access (send and consume) to the grantee. */
|
|
103
|
-
grantFull(grantee: IGrantable): Grant;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Security group connector interface (RDS, ECS with VPC).
|
|
107
|
-
* Provides access to the security group connections for network-level access.
|
|
108
|
-
*
|
|
109
|
-
* Both "securityGroup" and "relational" types use this interface:
|
|
110
|
-
* - "relational": RDS databases (Aurora, Instance, GlobalAurora)
|
|
111
|
-
* - "securityGroup": Other resources requiring security group rules (ECS, EC2)
|
|
112
|
-
*/
|
|
113
|
-
export interface ISecurityGroupConnector extends IConnector {
|
|
114
|
-
readonly connectorType: "securityGroup" | "relational";
|
|
115
|
-
/** The security group connections for this resource. */
|
|
116
|
-
readonly connections: IConnectable["connections"];
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Union type representing any connector interface.
|
|
120
|
-
*/
|
|
121
|
-
export type AnyConnector = IStorageConnector | IDynamoDBConnector | IQueueConnector | ISecurityGroupConnector;
|
|
122
|
-
/**
|
|
123
|
-
* Connection configuration with explicit access level.
|
|
124
|
-
* Use this to specify non-default access levels.
|
|
125
|
-
*/
|
|
126
|
-
export interface ConnectionConfig {
|
|
127
|
-
/** The resource to connect to. */
|
|
128
|
-
resource: AnyConnector | IConnectable;
|
|
129
|
-
/** The access level to grant. Defaults vary by resource type. */
|
|
130
|
-
access?: ConnectionAccess | MessagingAccess;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Connection specification.
|
|
134
|
-
* Can be:
|
|
135
|
-
* - IConnectable: Legacy security group resource
|
|
136
|
-
* - AnyConnector: Unified connector resource
|
|
137
|
-
* - ConnectionConfig: Explicit access configuration
|
|
138
|
-
*/
|
|
139
|
-
export type ConnectionSpec = IConnectable | AnyConnector | ConnectionConfig;
|
|
140
|
-
/** Connection result types. */
|
|
141
|
-
export declare const CONNECTION_TYPE: {
|
|
142
|
-
readonly SECURITY_GROUP: "securityGroup";
|
|
143
|
-
readonly IAM: "iam";
|
|
144
|
-
};
|
|
145
|
-
export type ConnectionType = (typeof CONNECTION_TYPE)[keyof typeof CONNECTION_TYPE];
|
|
146
|
-
/**
|
|
147
|
-
* Result of processing a connection.
|
|
148
|
-
* Contains the grant result for IAM-based connections.
|
|
149
|
-
*/
|
|
150
|
-
export interface ConnectionResult {
|
|
151
|
-
/** The resource that was connected. */
|
|
152
|
-
resource: AnyConnector | IConnectable;
|
|
153
|
-
/** The grant result if IAM permissions were granted. */
|
|
154
|
-
grant?: Grant;
|
|
155
|
-
/** The type of connection that was made. */
|
|
156
|
-
connectionType: ConnectionType;
|
|
157
|
-
}
|
|
158
|
-
/** Check if a value is a valid ConnectionAccess. */
|
|
159
|
-
export declare function isConnectionAccess(value: unknown): value is ConnectionAccess;
|
|
160
|
-
/** Check if a value is a valid MessagingAccess. */
|
|
161
|
-
export declare function isMessagingAccess(value: unknown): value is MessagingAccess;
|
|
162
|
-
/**
|
|
163
|
-
* Type guard to check if a resource is a connector.
|
|
164
|
-
* Returns AnyConnector for discriminated union narrowing in switch statements.
|
|
165
|
-
*/
|
|
166
|
-
export declare function isConnector(resource: unknown): resource is AnyConnector;
|
|
167
|
-
/**
|
|
168
|
-
* Type guard to check if a resource is a CDK IConnectable.
|
|
169
|
-
* Checks for the `connections` property that IConnectable resources have.
|
|
170
|
-
*/
|
|
171
|
-
export declare function isConnectable(resource: unknown): resource is IConnectable;
|
|
172
|
-
/**
|
|
173
|
-
* Type guard to check if a connection spec is a ConnectionConfig.
|
|
174
|
-
*/
|
|
175
|
-
export declare function isConnectionConfig(spec: ConnectionSpec): spec is ConnectionConfig;
|
|
176
|
-
/** Type guard for storage connectors (S3 buckets). */
|
|
177
|
-
export declare function isStorageConnector(connector: IConnector): connector is IStorageConnector;
|
|
178
|
-
/** Type guard for DynamoDB connectors. */
|
|
179
|
-
export declare function isDynamoDBConnector(connector: IConnector): connector is IDynamoDBConnector;
|
|
180
|
-
/** Type guard for queue connectors (SQS queues). */
|
|
181
|
-
export declare function isQueueConnector(connector: IConnector): connector is IQueueConnector;
|
|
182
|
-
/** Type guard for security group connectors (RDS, ECS). */
|
|
183
|
-
export declare function isSecurityGroupConnector(connector: IConnector): connector is ISecurityGroupConnector;
|
|
6
|
+
export { type ConnectorType, type ConnectionAccess, type MessagingAccess, type IConnector, type IStorageConnector, type IDynamoDBConnector, type IQueueConnector, type ISecurityGroupConnector, type AnyConnector, type ConnectionConfig, type ConnectionSpec, CONNECTION_TYPE, type ConnectionType, type ConnectionResult, isConnectionAccess, isMessagingAccess, isConnector, isConnectable, isConnectionConfig, isStorageConnector, isDynamoDBConnector, isQueueConnector, isSecurityGroupConnector } from "../../../utils/connector.js";
|
|
@@ -1,117 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Unified connector interface for bidirectional connections.
|
|
4
|
-
*
|
|
5
|
-
* This module provides a unified `IConnector` interface that enables
|
|
6
|
-
* bidirectional connections between compute resources (ECS, Lambda, EC2)
|
|
7
|
-
* and data resources (S3, DynamoDB, SQS, RDS).
|
|
8
|
-
*
|
|
9
|
-
* The connector pattern unifies:
|
|
10
|
-
* - Security group rules (IConnectable) for RDS, ECS, etc.
|
|
11
|
-
* - IAM grants for S3, DynamoDB, SQS
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* // Simple connections (default permissions)
|
|
15
|
-
* const api = app.addCompute(ComputeFactory.build("Api", {
|
|
16
|
-
* type: "ecs",
|
|
17
|
-
* services: [{
|
|
18
|
-
* name: "api",
|
|
19
|
-
* capacityProvider: "FARGATE",
|
|
20
|
-
* connections: [database, bucket, cache, queue]
|
|
21
|
-
* }]
|
|
22
|
-
* }));
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* // Explicit access levels
|
|
26
|
-
* const worker = app.addCompute(ComputeFactory.build("Worker", {
|
|
27
|
-
* type: "ecs",
|
|
28
|
-
* services: [{
|
|
29
|
-
* name: "worker",
|
|
30
|
-
* capacityProvider: "FARGATE",
|
|
31
|
-
* connections: [
|
|
32
|
-
* database, // Security group (RDS)
|
|
33
|
-
* { resource: cache, access: "read" }, // Read-only DynamoDB
|
|
34
|
-
* { resource: bucket, access: "write" }, // Write-only S3
|
|
35
|
-
* { resource: queue, access: "consume" } // Consume-only SQS
|
|
36
|
-
* ]
|
|
37
|
-
* }]
|
|
38
|
-
* }));
|
|
39
|
-
*/
|
|
40
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.CONNECTION_TYPE = void 0;
|
|
42
|
-
exports.isConnectionAccess = isConnectionAccess;
|
|
43
|
-
exports.isMessagingAccess = isMessagingAccess;
|
|
44
|
-
exports.isConnector = isConnector;
|
|
45
|
-
exports.isConnectable = isConnectable;
|
|
46
|
-
exports.isConnectionConfig = isConnectionConfig;
|
|
47
|
-
exports.isStorageConnector = isStorageConnector;
|
|
48
|
-
exports.isDynamoDBConnector = isDynamoDBConnector;
|
|
49
|
-
exports.isQueueConnector = isQueueConnector;
|
|
50
|
-
exports.isSecurityGroupConnector = isSecurityGroupConnector;
|
|
51
|
-
/** Connection result types. */
|
|
52
|
-
exports.CONNECTION_TYPE = {
|
|
53
|
-
SECURITY_GROUP: "securityGroup",
|
|
54
|
-
IAM: "iam"
|
|
55
|
-
};
|
|
56
|
-
const VALID_CONNECTION_ACCESS = [
|
|
57
|
-
"read",
|
|
58
|
-
"write",
|
|
59
|
-
"readWrite"
|
|
60
|
-
];
|
|
61
|
-
const VALID_MESSAGING_ACCESS = [
|
|
62
|
-
"send",
|
|
63
|
-
"consume",
|
|
64
|
-
"full"
|
|
65
|
-
];
|
|
66
|
-
/** Check if a value is a valid ConnectionAccess. */
|
|
67
|
-
function isConnectionAccess(value) {
|
|
68
|
-
return (typeof value === "string" &&
|
|
69
|
-
VALID_CONNECTION_ACCESS.includes(value));
|
|
70
|
-
}
|
|
71
|
-
/** Check if a value is a valid MessagingAccess. */
|
|
72
|
-
function isMessagingAccess(value) {
|
|
73
|
-
return (typeof value === "string" &&
|
|
74
|
-
VALID_MESSAGING_ACCESS.includes(value));
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Type guard to check if a resource is a connector.
|
|
78
|
-
* Returns AnyConnector for discriminated union narrowing in switch statements.
|
|
79
|
-
*/
|
|
80
|
-
function isConnector(resource) {
|
|
81
|
-
return (resource !== null &&
|
|
82
|
-
typeof resource === "object" &&
|
|
83
|
-
"connectorType" in resource);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Type guard to check if a resource is a CDK IConnectable.
|
|
87
|
-
* Checks for the `connections` property that IConnectable resources have.
|
|
88
|
-
*/
|
|
89
|
-
function isConnectable(resource) {
|
|
90
|
-
return (resource !== null &&
|
|
91
|
-
typeof resource === "object" &&
|
|
92
|
-
"connections" in resource);
|
|
93
|
-
}
|
|
3
|
+
exports.isSecurityGroupConnector = exports.isQueueConnector = exports.isDynamoDBConnector = exports.isStorageConnector = exports.isConnectionConfig = exports.isConnectable = exports.isConnector = exports.isMessagingAccess = exports.isConnectionAccess = exports.CONNECTION_TYPE = void 0;
|
|
94
4
|
/**
|
|
95
|
-
*
|
|
5
|
+
* Re-export from canonical location in lib/utils/.
|
|
6
|
+
* Connector types are shared between resources and patterns layers,
|
|
7
|
+
* so they belong in utils per the infrastructure layer boundary rules.
|
|
96
8
|
*/
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
function
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function isQueueConnector(connector) {
|
|
110
|
-
return connector.connectorType === "queue";
|
|
111
|
-
}
|
|
112
|
-
/** Type guard for security group connectors (RDS, ECS). */
|
|
113
|
-
function isSecurityGroupConnector(connector) {
|
|
114
|
-
return (connector.connectorType === "securityGroup" ||
|
|
115
|
-
connector.connectorType === "relational");
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9pbnRlcmZhY2VzL2Nvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ0c7OztBQTJLSCxnREFLQztBQUdELDhDQUtDO0FBTUQsa0NBTUM7QUFNRCxzQ0FNQztBQUtELGdEQUlDO0FBR0QsZ0RBSUM7QUFHRCxrREFJQztBQUdELDRDQUlDO0FBR0QsNERBT0M7QUFqSEQsK0JBQStCO0FBQ2xCLFFBQUEsZUFBZSxHQUFHO0lBQzdCLGNBQWMsRUFBRSxlQUFlO0lBQy9CLEdBQUcsRUFBRSxLQUFLO0NBQ0YsQ0FBQztBQW9CWCxNQUFNLHVCQUF1QixHQUFnQztJQUMzRCxNQUFNO0lBQ04sT0FBTztJQUNQLFdBQVc7Q0FDWixDQUFDO0FBQ0YsTUFBTSxzQkFBc0IsR0FBK0I7SUFDekQsTUFBTTtJQUNOLFNBQVM7SUFDVCxNQUFNO0NBQ1AsQ0FBQztBQUVGLG9EQUFvRDtBQUNwRCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFjO0lBQy9DLE9BQU8sQ0FDTCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxLQUF5QixDQUFDLENBQzVELENBQUM7QUFDSixDQUFDO0FBRUQsbURBQW1EO0FBQ25ELFNBQWdCLGlCQUFpQixDQUFDLEtBQWM7SUFDOUMsT0FBTyxDQUNMLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQXdCLENBQUMsQ0FDMUQsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixXQUFXLENBQUMsUUFBaUI7SUFDM0MsT0FBTyxDQUNMLFFBQVEsS0FBSyxJQUFJO1FBQ2pCLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsZUFBZSxJQUFJLFFBQVEsQ0FDNUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixhQUFhLENBQUMsUUFBaUI7SUFDN0MsT0FBTyxDQUNMLFFBQVEsS0FBSyxJQUFJO1FBQ2pCLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsYUFBYSxJQUFJLFFBQVEsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGtCQUFrQixDQUNoQyxJQUFvQjtJQUVwQixPQUFPLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUM7QUFDekUsQ0FBQztBQUVELHNEQUFzRDtBQUN0RCxTQUFnQixrQkFBa0IsQ0FDaEMsU0FBcUI7SUFFckIsT0FBTyxTQUFTLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsMENBQTBDO0FBQzFDLFNBQWdCLG1CQUFtQixDQUNqQyxTQUFxQjtJQUVyQixPQUFPLFNBQVMsQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDO0FBQ2hELENBQUM7QUFFRCxvREFBb0Q7QUFDcEQsU0FBZ0IsZ0JBQWdCLENBQzlCLFNBQXFCO0lBRXJCLE9BQU8sU0FBUyxDQUFDLGFBQWEsS0FBSyxPQUFPLENBQUM7QUFDN0MsQ0FBQztBQUVELDJEQUEyRDtBQUMzRCxTQUFnQix3QkFBd0IsQ0FDdEMsU0FBcUI7SUFFckIsT0FBTyxDQUNMLFNBQVMsQ0FBQyxhQUFhLEtBQUssZUFBZTtRQUMzQyxTQUFTLENBQUMsYUFBYSxLQUFLLFlBQVksQ0FDekMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVuaWZpZWQgY29ubmVjdG9yIGludGVyZmFjZSBmb3IgYmlkaXJlY3Rpb25hbCBjb25uZWN0aW9ucy5cbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIHVuaWZpZWQgYElDb25uZWN0b3JgIGludGVyZmFjZSB0aGF0IGVuYWJsZXNcbiAqIGJpZGlyZWN0aW9uYWwgY29ubmVjdGlvbnMgYmV0d2VlbiBjb21wdXRlIHJlc291cmNlcyAoRUNTLCBMYW1iZGEsIEVDMilcbiAqIGFuZCBkYXRhIHJlc291cmNlcyAoUzMsIER5bmFtb0RCLCBTUVMsIFJEUykuXG4gKlxuICogVGhlIGNvbm5lY3RvciBwYXR0ZXJuIHVuaWZpZXM6XG4gKiAtIFNlY3VyaXR5IGdyb3VwIHJ1bGVzIChJQ29ubmVjdGFibGUpIGZvciBSRFMsIEVDUywgZXRjLlxuICogLSBJQU0gZ3JhbnRzIGZvciBTMywgRHluYW1vREIsIFNRU1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTaW1wbGUgY29ubmVjdGlvbnMgKGRlZmF1bHQgcGVybWlzc2lvbnMpXG4gKiBjb25zdCBhcGkgPSBhcHAuYWRkQ29tcHV0ZShDb21wdXRlRmFjdG9yeS5idWlsZChcIkFwaVwiLCB7XG4gKiAgIHR5cGU6IFwiZWNzXCIsXG4gKiAgIHNlcnZpY2VzOiBbe1xuICogICAgIG5hbWU6IFwiYXBpXCIsXG4gKiAgICAgY2FwYWNpdHlQcm92aWRlcjogXCJGQVJHQVRFXCIsXG4gKiAgICAgY29ubmVjdGlvbnM6IFtkYXRhYmFzZSwgYnVja2V0LCBjYWNoZSwgcXVldWVdXG4gKiAgIH1dXG4gKiB9KSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEV4cGxpY2l0IGFjY2VzcyBsZXZlbHNcbiAqIGNvbnN0IHdvcmtlciA9IGFwcC5hZGRDb21wdXRlKENvbXB1dGVGYWN0b3J5LmJ1aWxkKFwiV29ya2VyXCIsIHtcbiAqICAgdHlwZTogXCJlY3NcIixcbiAqICAgc2VydmljZXM6IFt7XG4gKiAgICAgbmFtZTogXCJ3b3JrZXJcIixcbiAqICAgICBjYXBhY2l0eVByb3ZpZGVyOiBcIkZBUkdBVEVcIixcbiAqICAgICBjb25uZWN0aW9uczogW1xuICogICAgICAgZGF0YWJhc2UsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2VjdXJpdHkgZ3JvdXAgKFJEUylcbiAqICAgICAgIHsgcmVzb3VyY2U6IGNhY2hlLCBhY2Nlc3M6IFwicmVhZFwiIH0sICAgLy8gUmVhZC1vbmx5IER5bmFtb0RCXG4gKiAgICAgICB7IHJlc291cmNlOiBidWNrZXQsIGFjY2VzczogXCJ3cml0ZVwiIH0sIC8vIFdyaXRlLW9ubHkgUzNcbiAqICAgICAgIHsgcmVzb3VyY2U6IHF1ZXVlLCBhY2Nlc3M6IFwiY29uc3VtZVwiIH0gLy8gQ29uc3VtZS1vbmx5IFNRU1xuICogICAgIF1cbiAqICAgfV1cbiAqIH0pKTtcbiAqL1xuXG5pbXBvcnQgeyB0eXBlIElDb25uZWN0YWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyB0eXBlIElHcmFudGFibGUsIHR5cGUgR3JhbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG4vKipcbiAqIENvbm5lY3RvciB0eXBlIGRpc2NyaW1pbmF0b3IuXG4gKiAtIFwic3RvcmFnZVwiOiBTMyBidWNrZXRzXG4gKiAtIFwiZHluYW1vZGJcIjogRHluYW1vREIgdGFibGVzXG4gKiAtIFwicXVldWVcIjogU1FTIHF1ZXVlc1xuICogLSBcInNlY3VyaXR5R3JvdXBcIjogUmVzb3VyY2VzIHdpdGggc2VjdXJpdHkgZ3JvdXBzIChFQ1MsIExhbWJkYSB3aXRoIFZQQylcbiAqIC0gXCJyZWxhdGlvbmFsXCI6IFJEUyBkYXRhYmFzZXMgKHVzZXMgc2VjdXJpdHkgZ3JvdXBzKVxuICovXG5leHBvcnQgdHlwZSBDb25uZWN0b3JUeXBlID1cbiAgfCBcInN0b3JhZ2VcIlxuICB8IFwiZHluYW1vZGJcIlxuICB8IFwicXVldWVcIlxuICB8IFwic2VjdXJpdHlHcm91cFwiXG4gIHwgXCJyZWxhdGlvbmFsXCI7XG5cbi8qKlxuICogQWNjZXNzIGxldmVsIGZvciBzdG9yYWdlIGFuZCBEeW5hbW9EQiBjb25uZWN0b3JzLlxuICovXG5leHBvcnQgdHlwZSBDb25uZWN0aW9uQWNjZXNzID0gXCJyZWFkXCIgfCBcIndyaXRlXCIgfCBcInJlYWRXcml0ZVwiO1xuXG4vKipcbiAqIEFjY2VzcyBsZXZlbCBmb3IgbWVzc2FnaW5nIGNvbm5lY3RvcnMgKFNRUykuXG4gKi9cbmV4cG9ydCB0eXBlIE1lc3NhZ2luZ0FjY2VzcyA9IFwic2VuZFwiIHwgXCJjb25zdW1lXCIgfCBcImZ1bGxcIjtcblxuLyoqXG4gKiBCYXNlIGNvbm5lY3RvciBpbnRlcmZhY2UuXG4gKiBBbGwgY29ubmVjdG9yIHR5cGVzIGltcGxlbWVudCB0aGlzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29ubmVjdG9yIHtcbiAgLyoqIFRoZSB0eXBlIG9mIGNvbm5lY3RvciByZXNvdXJjZS4gVXNlZCBmb3IgcnVudGltZSB0eXBlIG5hcnJvd2luZy4gKi9cbiAgcmVhZG9ubHkgY29ubmVjdG9yVHlwZTogQ29ubmVjdG9yVHlwZTtcbn1cblxuLyoqXG4gKiBTdG9yYWdlIGNvbm5lY3RvciBpbnRlcmZhY2UgKFMzKS5cbiAqIFByb3ZpZGVzIElBTSBncmFudCBtZXRob2RzIGZvciBTMyBidWNrZXQgYWNjZXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTdG9yYWdlQ29ubmVjdG9yIGV4dGVuZHMgSUNvbm5lY3RvciB7XG4gIHJlYWRvbmx5IGNvbm5lY3RvclR5cGU6IFwic3RvcmFnZVwiO1xuXG4gIC8qKiBHcmFudCByZWFkIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudFJlYWQoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50O1xuXG4gIC8qKiBHcmFudCB3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGUgZ3JhbnRlZS4gKi9cbiAgZ3JhbnRXcml0ZShncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQ7XG5cbiAgLyoqIEdyYW50IHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudFJlYWRXcml0ZShncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQ7XG59XG5cbi8qKlxuICogRHluYW1vREIgY29ubmVjdG9yIGludGVyZmFjZS5cbiAqIFByb3ZpZGVzIElBTSBncmFudCBtZXRob2RzIGZvciBEeW5hbW9EQiB0YWJsZSBhY2Nlc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUR5bmFtb0RCQ29ubmVjdG9yIGV4dGVuZHMgSUNvbm5lY3RvciB7XG4gIHJlYWRvbmx5IGNvbm5lY3RvclR5cGU6IFwiZHluYW1vZGJcIjtcblxuICAvKiogR3JhbnQgcmVhZCBkYXRhIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudFJlYWREYXRhKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudDtcblxuICAvKiogR3JhbnQgd3JpdGUgZGF0YSBwZXJtaXNzaW9ucyB0byB0aGUgZ3JhbnRlZS4gKi9cbiAgZ3JhbnRXcml0ZURhdGEoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50O1xuXG4gIC8qKiBHcmFudCByZWFkIGFuZCB3cml0ZSBkYXRhIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudFJlYWRXcml0ZURhdGEoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50O1xufVxuXG4vKipcbiAqIFF1ZXVlIGNvbm5lY3RvciBpbnRlcmZhY2UgKFNRUykuXG4gKiBQcm92aWRlcyBJQU0gZ3JhbnQgbWV0aG9kcyBmb3IgU1FTIHF1ZXVlIGFjY2Vzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUXVldWVDb25uZWN0b3IgZXh0ZW5kcyBJQ29ubmVjdG9yIHtcbiAgcmVhZG9ubHkgY29ubmVjdG9yVHlwZTogXCJxdWV1ZVwiO1xuXG4gIC8qKiBHcmFudCBzZW5kIG1lc3NhZ2UgcGVybWlzc2lvbnMgdG8gdGhlIGdyYW50ZWUuICovXG4gIGdyYW50U2VuZE1lc3NhZ2VzKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudDtcblxuICAvKiogR3JhbnQgY29uc3VtZSAocmVjZWl2ZSBhbmQgZGVsZXRlKSBtZXNzYWdlIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudENvbnN1bWVNZXNzYWdlcyhncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQ7XG5cbiAgLyoqIEdyYW50IGZ1bGwgYWNjZXNzIChzZW5kIGFuZCBjb25zdW1lKSB0byB0aGUgZ3JhbnRlZS4gKi9cbiAgZ3JhbnRGdWxsKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudDtcbn1cblxuLyoqXG4gKiBTZWN1cml0eSBncm91cCBjb25uZWN0b3IgaW50ZXJmYWNlIChSRFMsIEVDUyB3aXRoIFZQQykuXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdGhlIHNlY3VyaXR5IGdyb3VwIGNvbm5lY3Rpb25zIGZvciBuZXR3b3JrLWxldmVsIGFjY2Vzcy5cbiAqXG4gKiBCb3RoIFwic2VjdXJpdHlHcm91cFwiIGFuZCBcInJlbGF0aW9uYWxcIiB0eXBlcyB1c2UgdGhpcyBpbnRlcmZhY2U6XG4gKiAtIFwicmVsYXRpb25hbFwiOiBSRFMgZGF0YWJhc2VzIChBdXJvcmEsIEluc3RhbmNlLCBHbG9iYWxBdXJvcmEpXG4gKiAtIFwic2VjdXJpdHlHcm91cFwiOiBPdGhlciByZXNvdXJjZXMgcmVxdWlyaW5nIHNlY3VyaXR5IGdyb3VwIHJ1bGVzIChFQ1MsIEVDMilcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2VjdXJpdHlHcm91cENvbm5lY3RvciBleHRlbmRzIElDb25uZWN0b3Ige1xuICByZWFkb25seSBjb25uZWN0b3JUeXBlOiBcInNlY3VyaXR5R3JvdXBcIiB8IFwicmVsYXRpb25hbFwiO1xuXG4gIC8qKiBUaGUgc2VjdXJpdHkgZ3JvdXAgY29ubmVjdGlvbnMgZm9yIHRoaXMgcmVzb3VyY2UuICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBJQ29ubmVjdGFibGVbXCJjb25uZWN0aW9uc1wiXTtcbn1cblxuLyoqXG4gKiBVbmlvbiB0eXBlIHJlcHJlc2VudGluZyBhbnkgY29ubmVjdG9yIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IHR5cGUgQW55Q29ubmVjdG9yID1cbiAgfCBJU3RvcmFnZUNvbm5lY3RvclxuICB8IElEeW5hbW9EQkNvbm5lY3RvclxuICB8IElRdWV1ZUNvbm5lY3RvclxuICB8IElTZWN1cml0eUdyb3VwQ29ubmVjdG9yO1xuXG4vKipcbiAqIENvbm5lY3Rpb24gY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IGFjY2VzcyBsZXZlbC5cbiAqIFVzZSB0aGlzIHRvIHNwZWNpZnkgbm9uLWRlZmF1bHQgYWNjZXNzIGxldmVscy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aW9uQ29uZmlnIHtcbiAgLyoqIFRoZSByZXNvdXJjZSB0byBjb25uZWN0IHRvLiAqL1xuICByZXNvdXJjZTogQW55Q29ubmVjdG9yIHwgSUNvbm5lY3RhYmxlO1xuXG4gIC8qKiBUaGUgYWNjZXNzIGxldmVsIHRvIGdyYW50LiBEZWZhdWx0cyB2YXJ5IGJ5IHJlc291cmNlIHR5cGUuICovXG4gIGFjY2Vzcz86IENvbm5lY3Rpb25BY2Nlc3MgfCBNZXNzYWdpbmdBY2Nlc3M7XG59XG5cbi8qKlxuICogQ29ubmVjdGlvbiBzcGVjaWZpY2F0aW9uLlxuICogQ2FuIGJlOlxuICogLSBJQ29ubmVjdGFibGU6IExlZ2FjeSBzZWN1cml0eSBncm91cCByZXNvdXJjZVxuICogLSBBbnlDb25uZWN0b3I6IFVuaWZpZWQgY29ubmVjdG9yIHJlc291cmNlXG4gKiAtIENvbm5lY3Rpb25Db25maWc6IEV4cGxpY2l0IGFjY2VzcyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIENvbm5lY3Rpb25TcGVjID0gSUNvbm5lY3RhYmxlIHwgQW55Q29ubmVjdG9yIHwgQ29ubmVjdGlvbkNvbmZpZztcblxuLyoqIENvbm5lY3Rpb24gcmVzdWx0IHR5cGVzLiAqL1xuZXhwb3J0IGNvbnN0IENPTk5FQ1RJT05fVFlQRSA9IHtcbiAgU0VDVVJJVFlfR1JPVVA6IFwic2VjdXJpdHlHcm91cFwiLFxuICBJQU06IFwiaWFtXCJcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIENvbm5lY3Rpb25UeXBlID1cbiAgKHR5cGVvZiBDT05ORUNUSU9OX1RZUEUpW2tleW9mIHR5cGVvZiBDT05ORUNUSU9OX1RZUEVdO1xuXG4vKipcbiAqIFJlc3VsdCBvZiBwcm9jZXNzaW5nIGEgY29ubmVjdGlvbi5cbiAqIENvbnRhaW5zIHRoZSBncmFudCByZXN1bHQgZm9yIElBTS1iYXNlZCBjb25uZWN0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aW9uUmVzdWx0IHtcbiAgLyoqIFRoZSByZXNvdXJjZSB0aGF0IHdhcyBjb25uZWN0ZWQuICovXG4gIHJlc291cmNlOiBBbnlDb25uZWN0b3IgfCBJQ29ubmVjdGFibGU7XG5cbiAgLyoqIFRoZSBncmFudCByZXN1bHQgaWYgSUFNIHBlcm1pc3Npb25zIHdlcmUgZ3JhbnRlZC4gKi9cbiAgZ3JhbnQ/OiBHcmFudDtcblxuICAvKiogVGhlIHR5cGUgb2YgY29ubmVjdGlvbiB0aGF0IHdhcyBtYWRlLiAqL1xuICBjb25uZWN0aW9uVHlwZTogQ29ubmVjdGlvblR5cGU7XG59XG5cbmNvbnN0IFZBTElEX0NPTk5FQ1RJT05fQUNDRVNTOiByZWFkb25seSBDb25uZWN0aW9uQWNjZXNzW10gPSBbXG4gIFwicmVhZFwiLFxuICBcIndyaXRlXCIsXG4gIFwicmVhZFdyaXRlXCJcbl07XG5jb25zdCBWQUxJRF9NRVNTQUdJTkdfQUNDRVNTOiByZWFkb25seSBNZXNzYWdpbmdBY2Nlc3NbXSA9IFtcbiAgXCJzZW5kXCIsXG4gIFwiY29uc3VtZVwiLFxuICBcImZ1bGxcIlxuXTtcblxuLyoqIENoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBDb25uZWN0aW9uQWNjZXNzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29ubmVjdGlvbkFjY2Vzcyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIENvbm5lY3Rpb25BY2Nlc3Mge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgIFZBTElEX0NPTk5FQ1RJT05fQUNDRVNTLmluY2x1ZGVzKHZhbHVlIGFzIENvbm5lY3Rpb25BY2Nlc3MpXG4gICk7XG59XG5cbi8qKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgTWVzc2FnaW5nQWNjZXNzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTWVzc2FnaW5nQWNjZXNzKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgTWVzc2FnaW5nQWNjZXNzIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiZcbiAgICBWQUxJRF9NRVNTQUdJTkdfQUNDRVNTLmluY2x1ZGVzKHZhbHVlIGFzIE1lc3NhZ2luZ0FjY2VzcylcbiAgKTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgcmVzb3VyY2UgaXMgYSBjb25uZWN0b3IuXG4gKiBSZXR1cm5zIEFueUNvbm5lY3RvciBmb3IgZGlzY3JpbWluYXRlZCB1bmlvbiBuYXJyb3dpbmcgaW4gc3dpdGNoIHN0YXRlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Nvbm5lY3RvcihyZXNvdXJjZTogdW5rbm93bik6IHJlc291cmNlIGlzIEFueUNvbm5lY3RvciB7XG4gIHJldHVybiAoXG4gICAgcmVzb3VyY2UgIT09IG51bGwgJiZcbiAgICB0eXBlb2YgcmVzb3VyY2UgPT09IFwib2JqZWN0XCIgJiZcbiAgICBcImNvbm5lY3RvclR5cGVcIiBpbiByZXNvdXJjZVxuICApO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSByZXNvdXJjZSBpcyBhIENESyBJQ29ubmVjdGFibGUuXG4gKiBDaGVja3MgZm9yIHRoZSBgY29ubmVjdGlvbnNgIHByb3BlcnR5IHRoYXQgSUNvbm5lY3RhYmxlIHJlc291cmNlcyBoYXZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb25uZWN0YWJsZShyZXNvdXJjZTogdW5rbm93bik6IHJlc291cmNlIGlzIElDb25uZWN0YWJsZSB7XG4gIHJldHVybiAoXG4gICAgcmVzb3VyY2UgIT09IG51bGwgJiZcbiAgICB0eXBlb2YgcmVzb3VyY2UgPT09IFwib2JqZWN0XCIgJiZcbiAgICBcImNvbm5lY3Rpb25zXCIgaW4gcmVzb3VyY2VcbiAgKTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgY29ubmVjdGlvbiBzcGVjIGlzIGEgQ29ubmVjdGlvbkNvbmZpZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29ubmVjdGlvbkNvbmZpZyhcbiAgc3BlYzogQ29ubmVjdGlvblNwZWNcbik6IHNwZWMgaXMgQ29ubmVjdGlvbkNvbmZpZyB7XG4gIHJldHVybiBzcGVjICE9PSBudWxsICYmIHR5cGVvZiBzcGVjID09PSBcIm9iamVjdFwiICYmIFwicmVzb3VyY2VcIiBpbiBzcGVjO1xufVxuXG4vKiogVHlwZSBndWFyZCBmb3Igc3RvcmFnZSBjb25uZWN0b3JzIChTMyBidWNrZXRzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0b3JhZ2VDb25uZWN0b3IoXG4gIGNvbm5lY3RvcjogSUNvbm5lY3RvclxuKTogY29ubmVjdG9yIGlzIElTdG9yYWdlQ29ubmVjdG9yIHtcbiAgcmV0dXJuIGNvbm5lY3Rvci5jb25uZWN0b3JUeXBlID09PSBcInN0b3JhZ2VcIjtcbn1cblxuLyoqIFR5cGUgZ3VhcmQgZm9yIER5bmFtb0RCIGNvbm5lY3RvcnMuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEeW5hbW9EQkNvbm5lY3RvcihcbiAgY29ubmVjdG9yOiBJQ29ubmVjdG9yXG4pOiBjb25uZWN0b3IgaXMgSUR5bmFtb0RCQ29ubmVjdG9yIHtcbiAgcmV0dXJuIGNvbm5lY3Rvci5jb25uZWN0b3JUeXBlID09PSBcImR5bmFtb2RiXCI7XG59XG5cbi8qKiBUeXBlIGd1YXJkIGZvciBxdWV1ZSBjb25uZWN0b3JzIChTUVMgcXVldWVzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1F1ZXVlQ29ubmVjdG9yKFxuICBjb25uZWN0b3I6IElDb25uZWN0b3Jcbik6IGNvbm5lY3RvciBpcyBJUXVldWVDb25uZWN0b3Ige1xuICByZXR1cm4gY29ubmVjdG9yLmNvbm5lY3RvclR5cGUgPT09IFwicXVldWVcIjtcbn1cblxuLyoqIFR5cGUgZ3VhcmQgZm9yIHNlY3VyaXR5IGdyb3VwIGNvbm5lY3RvcnMgKFJEUywgRUNTKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NlY3VyaXR5R3JvdXBDb25uZWN0b3IoXG4gIGNvbm5lY3RvcjogSUNvbm5lY3RvclxuKTogY29ubmVjdG9yIGlzIElTZWN1cml0eUdyb3VwQ29ubmVjdG9yIHtcbiAgcmV0dXJuIChcbiAgICBjb25uZWN0b3IuY29ubmVjdG9yVHlwZSA9PT0gXCJzZWN1cml0eUdyb3VwXCIgfHxcbiAgICBjb25uZWN0b3IuY29ubmVjdG9yVHlwZSA9PT0gXCJyZWxhdGlvbmFsXCJcbiAgKTtcbn1cbiJdfQ==
|
|
9
|
+
var connector_js_1 = require("../../../utils/connector.js");
|
|
10
|
+
Object.defineProperty(exports, "CONNECTION_TYPE", { enumerable: true, get: function () { return connector_js_1.CONNECTION_TYPE; } });
|
|
11
|
+
Object.defineProperty(exports, "isConnectionAccess", { enumerable: true, get: function () { return connector_js_1.isConnectionAccess; } });
|
|
12
|
+
Object.defineProperty(exports, "isMessagingAccess", { enumerable: true, get: function () { return connector_js_1.isMessagingAccess; } });
|
|
13
|
+
Object.defineProperty(exports, "isConnector", { enumerable: true, get: function () { return connector_js_1.isConnector; } });
|
|
14
|
+
Object.defineProperty(exports, "isConnectable", { enumerable: true, get: function () { return connector_js_1.isConnectable; } });
|
|
15
|
+
Object.defineProperty(exports, "isConnectionConfig", { enumerable: true, get: function () { return connector_js_1.isConnectionConfig; } });
|
|
16
|
+
Object.defineProperty(exports, "isStorageConnector", { enumerable: true, get: function () { return connector_js_1.isStorageConnector; } });
|
|
17
|
+
Object.defineProperty(exports, "isDynamoDBConnector", { enumerable: true, get: function () { return connector_js_1.isDynamoDBConnector; } });
|
|
18
|
+
Object.defineProperty(exports, "isQueueConnector", { enumerable: true, get: function () { return connector_js_1.isQueueConnector; } });
|
|
19
|
+
Object.defineProperty(exports, "isSecurityGroupConnector", { enumerable: true, get: function () { return connector_js_1.isSecurityGroupConnector; } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9pbnRlcmZhY2VzL2Nvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7OztHQUlHO0FBQ0gsNERBd0JxQztBQVpuQywrR0FBQSxlQUFlLE9BQUE7QUFHZixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixpSEFBQSxpQkFBaUIsT0FBQTtBQUNqQiwyR0FBQSxXQUFXLE9BQUE7QUFDWCw2R0FBQSxhQUFhLE9BQUE7QUFDYixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixtSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQix3SEFBQSx3QkFBd0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmUtZXhwb3J0IGZyb20gY2Fub25pY2FsIGxvY2F0aW9uIGluIGxpYi91dGlscy8uXG4gKiBDb25uZWN0b3IgdHlwZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHJlc291cmNlcyBhbmQgcGF0dGVybnMgbGF5ZXJzLFxuICogc28gdGhleSBiZWxvbmcgaW4gdXRpbHMgcGVyIHRoZSBpbmZyYXN0cnVjdHVyZSBsYXllciBib3VuZGFyeSBydWxlcy5cbiAqL1xuZXhwb3J0IHtcbiAgdHlwZSBDb25uZWN0b3JUeXBlLFxuICB0eXBlIENvbm5lY3Rpb25BY2Nlc3MsXG4gIHR5cGUgTWVzc2FnaW5nQWNjZXNzLFxuICB0eXBlIElDb25uZWN0b3IsXG4gIHR5cGUgSVN0b3JhZ2VDb25uZWN0b3IsXG4gIHR5cGUgSUR5bmFtb0RCQ29ubmVjdG9yLFxuICB0eXBlIElRdWV1ZUNvbm5lY3RvcixcbiAgdHlwZSBJU2VjdXJpdHlHcm91cENvbm5lY3RvcixcbiAgdHlwZSBBbnlDb25uZWN0b3IsXG4gIHR5cGUgQ29ubmVjdGlvbkNvbmZpZyxcbiAgdHlwZSBDb25uZWN0aW9uU3BlYyxcbiAgQ09OTkVDVElPTl9UWVBFLFxuICB0eXBlIENvbm5lY3Rpb25UeXBlLFxuICB0eXBlIENvbm5lY3Rpb25SZXN1bHQsXG4gIGlzQ29ubmVjdGlvbkFjY2VzcyxcbiAgaXNNZXNzYWdpbmdBY2Nlc3MsXG4gIGlzQ29ubmVjdG9yLFxuICBpc0Nvbm5lY3RhYmxlLFxuICBpc0Nvbm5lY3Rpb25Db25maWcsXG4gIGlzU3RvcmFnZUNvbm5lY3RvcixcbiAgaXNEeW5hbW9EQkNvbm5lY3RvcixcbiAgaXNRdWV1ZUNvbm5lY3RvcixcbiAgaXNTZWN1cml0eUdyb3VwQ29ubmVjdG9yXG59IGZyb20gXCIuLi8uLi8uLi91dGlscy9jb25uZWN0b3IuanNcIjtcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDomainExportNames = void 0;
|
|
4
|
+
var domainTypes_1 = require("../../../utils/domainTypes");
|
|
5
|
+
Object.defineProperty(exports, "getDomainExportNames", { enumerable: true, get: function () { return domainTypes_1.getDomainExportNames; } });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9pbnRlcmZhY2VzL2RvbWFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSwwREFBa0U7QUFBekQsbUhBQUEsb0JBQW9CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSB7XG4gIERuc1JlY29yZElucHV0LFxuICBEZWxlZ2F0aW9uSW5wdXQsXG4gIENlcnRpZmljYXRlSW5wdXQsXG4gIERvbWFpbkFwZXhQcm9wcyxcbiAgRG9tYWluRGVsZWdhdGVkUHJvcHMsXG4gIElEb21haW5Qcm9wcyxcbiAgTWFuYWdlZERvbWFpbkV4cG9ydHNcbn0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2RvbWFpblR5cGVzXCI7XG5cbmV4cG9ydCB7IGdldERvbWFpbkV4cG9ydE5hbWVzIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2RvbWFpblR5cGVzXCI7XG4iXX0=
|
|
@@ -8,6 +8,8 @@ export { type ComputeType, type ICompute, type IEcsCompute, type ILambdaCompute,
|
|
|
8
8
|
export { type DatabaseType, type RelationalDatabaseType, type IDatabase, type IRelationalDatabase, type IDynamoDBDatabase, type AnyDatabase, isDatabase, isRelationalDatabase, isDynamoDBDatabase, isAuroraDatabase, isInstanceDatabase, isGlobalAuroraDatabase } from "./database.js";
|
|
9
9
|
export { type MessagingType, type IMessaging, type IQueueMessaging, type ITopicMessaging, type IEventBusMessaging, type AnyMessaging, isMessaging, isQueueMessaging, isTopicMessaging, isEventBusMessaging } from "./messaging.js";
|
|
10
10
|
export { type IStorage, isStorage } from "./storage.js";
|
|
11
|
+
export { type CdnType, type ICdn, type AnyCdn, isCdn } from "./cdn.js";
|
|
11
12
|
export { type ConnectorType, type ConnectionAccess, type MessagingAccess, type IConnector, type IStorageConnector, type IDynamoDBConnector, type IQueueConnector, type ISecurityGroupConnector, type AnyConnector, type ConnectionConfig, type ConnectionSpec, type ConnectionResult, isConnector, isConnectable, isConnectionConfig, isStorageConnector, isDynamoDBConnector, isQueueConnector, isSecurityGroupConnector } from "./connector.js";
|
|
12
13
|
export { type PatternType, type IPattern, type IPayload, type IPayloadProps, type IPatternProps, type AnyPattern, type PayloadDatabaseConfig, type PayloadComputeConfig, type PayloadCdnConfig, isPayloadPattern, isPattern } from "./pattern.js";
|
|
13
14
|
export { type OrganisationType, type IOrganisation, type IPlatform, type IAccount, type AnyOrganisation, isOrganisation, isPlatform, isAccount, isOrganisationResource } from "./organisation.js";
|
|
15
|
+
export { type DnsRecordInput, type DelegationInput, type CertificateInput, type DomainApexProps, type DomainDelegatedProps, type IDomainProps } from "./domain.js";
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* factory pattern implementations.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.isOrganisationResource = exports.isAccount = exports.isPlatform = exports.isOrganisation = exports.isPattern = exports.isPayloadPattern = exports.isSecurityGroupConnector = exports.isQueueConnector = exports.isDynamoDBConnector = exports.isStorageConnector = exports.isConnectionConfig = exports.isConnectable = exports.isConnector = exports.isStorage = exports.isEventBusMessaging = exports.isTopicMessaging = exports.isQueueMessaging = exports.isMessaging = exports.isGlobalAuroraDatabase = exports.isInstanceDatabase = exports.isAuroraDatabase = exports.isDynamoDBDatabase = exports.isRelationalDatabase = exports.isDatabase = exports.isEc2Compute = exports.isLambdaCompute = exports.isEcsCompute = exports.isCompute = void 0;
|
|
9
|
+
exports.isOrganisationResource = exports.isAccount = exports.isPlatform = exports.isOrganisation = exports.isPattern = exports.isPayloadPattern = exports.isSecurityGroupConnector = exports.isQueueConnector = exports.isDynamoDBConnector = exports.isStorageConnector = exports.isConnectionConfig = exports.isConnectable = exports.isConnector = exports.isCdn = exports.isStorage = exports.isEventBusMessaging = exports.isTopicMessaging = exports.isQueueMessaging = exports.isMessaging = exports.isGlobalAuroraDatabase = exports.isInstanceDatabase = exports.isAuroraDatabase = exports.isDynamoDBDatabase = exports.isRelationalDatabase = exports.isDatabase = exports.isEc2Compute = exports.isLambdaCompute = exports.isEcsCompute = exports.isCompute = void 0;
|
|
10
10
|
// Compute interfaces
|
|
11
11
|
var compute_js_1 = require("./compute.js");
|
|
12
12
|
Object.defineProperty(exports, "isCompute", { enumerable: true, get: function () { return compute_js_1.isCompute; } });
|
|
@@ -30,6 +30,9 @@ Object.defineProperty(exports, "isEventBusMessaging", { enumerable: true, get: f
|
|
|
30
30
|
// Storage interfaces
|
|
31
31
|
var storage_js_1 = require("./storage.js");
|
|
32
32
|
Object.defineProperty(exports, "isStorage", { enumerable: true, get: function () { return storage_js_1.isStorage; } });
|
|
33
|
+
// CDN interfaces
|
|
34
|
+
var cdn_js_1 = require("./cdn.js");
|
|
35
|
+
Object.defineProperty(exports, "isCdn", { enumerable: true, get: function () { return cdn_js_1.isCdn; } });
|
|
33
36
|
// Connector interfaces
|
|
34
37
|
var connector_js_1 = require("./connector.js");
|
|
35
38
|
Object.defineProperty(exports, "isConnector", { enumerable: true, get: function () { return connector_js_1.isConnector; } });
|
|
@@ -49,4 +52,4 @@ Object.defineProperty(exports, "isOrganisation", { enumerable: true, get: functi
|
|
|
49
52
|
Object.defineProperty(exports, "isPlatform", { enumerable: true, get: function () { return organisation_js_1.isPlatform; } });
|
|
50
53
|
Object.defineProperty(exports, "isAccount", { enumerable: true, get: function () { return organisation_js_1.isAccount; } });
|
|
51
54
|
Object.defineProperty(exports, "isOrganisationResource", { enumerable: true, get: function () { return organisation_js_1.isOrganisationResource; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFFSCxxQkFBcUI7QUFDckIsMkNBV3NCO0FBSnBCLHVHQUFBLFNBQVMsT0FBQTtBQUNULDBHQUFBLFlBQVksT0FBQTtBQUNaLDZHQUFBLGVBQWUsT0FBQTtBQUNmLDBHQUFBLFlBQVksT0FBQTtBQUdkLHNCQUFzQjtBQUN0Qiw2Q0FhdUI7QUFOckIseUdBQUEsVUFBVSxPQUFBO0FBQ1YsbUhBQUEsb0JBQW9CLE9BQUE7QUFDcEIsaUhBQUEsa0JBQWtCLE9BQUE7QUFDbEIsK0dBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsaUhBQUEsa0JBQWtCLE9BQUE7QUFDbEIscUhBQUEsc0JBQXNCLE9BQUE7QUFHeEIsdUJBQXVCO0FBQ3ZCLCtDQVd3QjtBQUp0QiwyR0FBQSxXQUFXLE9BQUE7QUFDWCxnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixtSEFBQSxtQkFBbUIsT0FBQTtBQUdyQixxQkFBcUI7QUFDckIsMkNBQXdEO0FBQWhDLHVHQUFBLFNBQVMsT0FBQTtBQUVqQyxpQkFBaUI7QUFDakIsbUNBQXVFO0FBQXhCLCtGQUFBLEtBQUssT0FBQTtBQUVwRCx1QkFBdUI7QUFDdkIsK0NBb0J3QjtBQVB0QiwyR0FBQSxXQUFXLE9BQUE7QUFDWCw2R0FBQSxhQUFhLE9BQUE7QUFDYixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixtSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQix3SEFBQSx3QkFBd0IsT0FBQTtBQUcxQixxQkFBcUI7QUFDckIsMkNBWXNCO0FBRnBCLDhHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHVHQUFBLFNBQVMsT0FBQTtBQUdYLDBCQUEwQjtBQUMxQixxREFVMkI7QUFKekIsaUhBQUEsY0FBYyxPQUFBO0FBQ2QsNkdBQUEsVUFBVSxPQUFBO0FBQ1YsNEdBQUEsU0FBUyxPQUFBO0FBQ1QseUhBQUEsc0JBQXNCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUtc2FmZSBpbnRlcmZhY2VzIGZvciBGamFsbCBpbmZyYXN0cnVjdHVyZSBmYWN0b3JpZXMuXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhbGwgaW50ZXJmYWNlcyBhbmQgdHlwZSBndWFyZHMgZm9yIHR5cGUtc2FmZVxuICogZmFjdG9yeSBwYXR0ZXJuIGltcGxlbWVudGF0aW9ucy5cbiAqL1xuXG4vLyBDb21wdXRlIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgQ29tcHV0ZVR5cGUsXG4gIHR5cGUgSUNvbXB1dGUsXG4gIHR5cGUgSUVjc0NvbXB1dGUsXG4gIHR5cGUgSUxhbWJkYUNvbXB1dGUsXG4gIHR5cGUgSUVjMkNvbXB1dGUsXG4gIHR5cGUgQW55Q29tcHV0ZSxcbiAgaXNDb21wdXRlLFxuICBpc0Vjc0NvbXB1dGUsXG4gIGlzTGFtYmRhQ29tcHV0ZSxcbiAgaXNFYzJDb21wdXRlXG59IGZyb20gXCIuL2NvbXB1dGUuanNcIjtcblxuLy8gRGF0YWJhc2UgaW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgdHlwZSBEYXRhYmFzZVR5cGUsXG4gIHR5cGUgUmVsYXRpb25hbERhdGFiYXNlVHlwZSxcbiAgdHlwZSBJRGF0YWJhc2UsXG4gIHR5cGUgSVJlbGF0aW9uYWxEYXRhYmFzZSxcbiAgdHlwZSBJRHluYW1vREJEYXRhYmFzZSxcbiAgdHlwZSBBbnlEYXRhYmFzZSxcbiAgaXNEYXRhYmFzZSxcbiAgaXNSZWxhdGlvbmFsRGF0YWJhc2UsXG4gIGlzRHluYW1vREJEYXRhYmFzZSxcbiAgaXNBdXJvcmFEYXRhYmFzZSxcbiAgaXNJbnN0YW5jZURhdGFiYXNlLFxuICBpc0dsb2JhbEF1cm9yYURhdGFiYXNlXG59IGZyb20gXCIuL2RhdGFiYXNlLmpzXCI7XG5cbi8vIE1lc3NhZ2luZyBpbnRlcmZhY2VzXG5leHBvcnQge1xuICB0eXBlIE1lc3NhZ2luZ1R5cGUsXG4gIHR5cGUgSU1lc3NhZ2luZyxcbiAgdHlwZSBJUXVldWVNZXNzYWdpbmcsXG4gIHR5cGUgSVRvcGljTWVzc2FnaW5nLFxuICB0eXBlIElFdmVudEJ1c01lc3NhZ2luZyxcbiAgdHlwZSBBbnlNZXNzYWdpbmcsXG4gIGlzTWVzc2FnaW5nLFxuICBpc1F1ZXVlTWVzc2FnaW5nLFxuICBpc1RvcGljTWVzc2FnaW5nLFxuICBpc0V2ZW50QnVzTWVzc2FnaW5nXG59IGZyb20gXCIuL21lc3NhZ2luZy5qc1wiO1xuXG4vLyBTdG9yYWdlIGludGVyZmFjZXNcbmV4cG9ydCB7IHR5cGUgSVN0b3JhZ2UsIGlzU3RvcmFnZSB9IGZyb20gXCIuL3N0b3JhZ2UuanNcIjtcblxuLy8gQ0ROIGludGVyZmFjZXNcbmV4cG9ydCB7IHR5cGUgQ2RuVHlwZSwgdHlwZSBJQ2RuLCB0eXBlIEFueUNkbiwgaXNDZG4gfSBmcm9tIFwiLi9jZG4uanNcIjtcblxuLy8gQ29ubmVjdG9yIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgQ29ubmVjdG9yVHlwZSxcbiAgdHlwZSBDb25uZWN0aW9uQWNjZXNzLFxuICB0eXBlIE1lc3NhZ2luZ0FjY2VzcyxcbiAgdHlwZSBJQ29ubmVjdG9yLFxuICB0eXBlIElTdG9yYWdlQ29ubmVjdG9yLFxuICB0eXBlIElEeW5hbW9EQkNvbm5lY3RvcixcbiAgdHlwZSBJUXVldWVDb25uZWN0b3IsXG4gIHR5cGUgSVNlY3VyaXR5R3JvdXBDb25uZWN0b3IsXG4gIHR5cGUgQW55Q29ubmVjdG9yLFxuICB0eXBlIENvbm5lY3Rpb25Db25maWcsXG4gIHR5cGUgQ29ubmVjdGlvblNwZWMsXG4gIHR5cGUgQ29ubmVjdGlvblJlc3VsdCxcbiAgaXNDb25uZWN0b3IsXG4gIGlzQ29ubmVjdGFibGUsXG4gIGlzQ29ubmVjdGlvbkNvbmZpZyxcbiAgaXNTdG9yYWdlQ29ubmVjdG9yLFxuICBpc0R5bmFtb0RCQ29ubmVjdG9yLFxuICBpc1F1ZXVlQ29ubmVjdG9yLFxuICBpc1NlY3VyaXR5R3JvdXBDb25uZWN0b3Jcbn0gZnJvbSBcIi4vY29ubmVjdG9yLmpzXCI7XG5cbi8vIFBhdHRlcm4gaW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgdHlwZSBQYXR0ZXJuVHlwZSxcbiAgdHlwZSBJUGF0dGVybixcbiAgdHlwZSBJUGF5bG9hZCxcbiAgdHlwZSBJUGF5bG9hZFByb3BzLFxuICB0eXBlIElQYXR0ZXJuUHJvcHMsXG4gIHR5cGUgQW55UGF0dGVybixcbiAgdHlwZSBQYXlsb2FkRGF0YWJhc2VDb25maWcsXG4gIHR5cGUgUGF5bG9hZENvbXB1dGVDb25maWcsXG4gIHR5cGUgUGF5bG9hZENkbkNvbmZpZyxcbiAgaXNQYXlsb2FkUGF0dGVybixcbiAgaXNQYXR0ZXJuXG59IGZyb20gXCIuL3BhdHRlcm4uanNcIjtcblxuLy8gT3JnYW5pc2F0aW9uIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgT3JnYW5pc2F0aW9uVHlwZSxcbiAgdHlwZSBJT3JnYW5pc2F0aW9uLFxuICB0eXBlIElQbGF0Zm9ybSxcbiAgdHlwZSBJQWNjb3VudCxcbiAgdHlwZSBBbnlPcmdhbmlzYXRpb24sXG4gIGlzT3JnYW5pc2F0aW9uLFxuICBpc1BsYXRmb3JtLFxuICBpc0FjY291bnQsXG4gIGlzT3JnYW5pc2F0aW9uUmVzb3VyY2Vcbn0gZnJvbSBcIi4vb3JnYW5pc2F0aW9uLmpzXCI7XG5cbi8vIERvbWFpbiBpbnRlcmZhY2VzXG5leHBvcnQge1xuICB0eXBlIERuc1JlY29yZElucHV0LFxuICB0eXBlIERlbGVnYXRpb25JbnB1dCxcbiAgdHlwZSBDZXJ0aWZpY2F0ZUlucHV0LFxuICB0eXBlIERvbWFpbkFwZXhQcm9wcyxcbiAgdHlwZSBEb21haW5EZWxlZ2F0ZWRQcm9wcyxcbiAgdHlwZSBJRG9tYWluUHJvcHNcbn0gZnJvbSBcIi4vZG9tYWluLmpzXCI7XG4iXX0=
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
import { type ICertificate } from "aws-cdk-lib/aws-certificatemanager";
|
|
18
18
|
import { type Duration } from "aws-cdk-lib";
|
|
19
19
|
import { type Construct } from "constructs";
|
|
20
|
-
import { type RelationalDatabase, type DynamoDBDatabase, type ProxyConfig, type ReadReplicaConfig, type CredentialsConfig, type EncryptionConfig, type AuroraEncryptionConfig, type AuroraWriterConfig, type AuroraReadersConfig, type
|
|
20
|
+
import { type RelationalDatabase, type DynamoDBDatabase, type ProxyConfig, type ReadReplicaConfig, type CredentialsConfig, type EncryptionConfig, type AuroraEncryptionConfig, type AuroraWriterConfig, type AuroraReadersConfig, type DatabaseInsightsConfig } from "../database.js";
|
|
21
21
|
import { type LambdaCompute } from "../compute.js";
|
|
22
22
|
import { type Storage } from "../storage.js";
|
|
23
23
|
import { type QueueMessaging } from "../messaging.js";
|
|
24
24
|
import { type Cdn, type SmartCdnBehaviour } from "../cdn.js";
|
|
25
|
-
|
|
25
|
+
import type { ManagedDomainExports } from "../../../utils/domainTypes.js";
|
|
26
|
+
export type { ProxyConfig, ReadReplicaConfig, CredentialsConfig, EncryptionConfig, AuroraEncryptionConfig, AuroraWriterConfig, AuroraReadersConfig, DatabaseInsightsConfig };
|
|
26
27
|
/**
|
|
27
28
|
* Full database configuration for patterns.
|
|
28
29
|
* Extends underlying DatabaseFactory props with pattern-specific defaults.
|
|
@@ -38,7 +39,7 @@ export type { ProxyConfig, ReadReplicaConfig, CredentialsConfig, EncryptionConfi
|
|
|
38
39
|
* instanceType: "t4g.large",
|
|
39
40
|
* allocatedStorage: 50,
|
|
40
41
|
* multiAz: true,
|
|
41
|
-
*
|
|
42
|
+
* databaseInsights: { mode: "advanced" },
|
|
42
43
|
* encryption: { storageKey: { useCMK: true } }
|
|
43
44
|
* }
|
|
44
45
|
*
|
|
@@ -119,11 +120,11 @@ export interface PayloadDatabaseConfig {
|
|
|
119
120
|
*/
|
|
120
121
|
preferredMaintenanceWindow?: string;
|
|
121
122
|
/**
|
|
122
|
-
*
|
|
123
|
+
* Database Insights configuration.
|
|
123
124
|
* Set to false to explicitly disable.
|
|
124
|
-
* @example {
|
|
125
|
+
* @example { mode: "advanced" }
|
|
125
126
|
*/
|
|
126
|
-
|
|
127
|
+
databaseInsights?: DatabaseInsightsConfig | false;
|
|
127
128
|
/**
|
|
128
129
|
* RDS Proxy configuration for connection pooling.
|
|
129
130
|
* Set to false to explicitly disable.
|
|
@@ -323,6 +324,8 @@ export interface IPayloadProps {
|
|
|
323
324
|
* @example "cms.example.com"
|
|
324
325
|
*/
|
|
325
326
|
domain?: string;
|
|
327
|
+
/** Import zone and cert from a managed domain stack instead of creating inline */
|
|
328
|
+
managedDomain?: ManagedDomainExports;
|
|
326
329
|
/** Database configuration */
|
|
327
330
|
database?: PayloadDatabaseConfig;
|
|
328
331
|
/** Compute (Lambda) configuration */
|
|
@@ -33,4 +33,4 @@ function isPattern(resource) {
|
|
|
33
33
|
"patternType" in resource &&
|
|
34
34
|
typeof resource.patternType === "string");
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvaW50ZXJmYWNlcy9wYXR0ZXJuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBNGNILDRDQUVDO0FBS0QsOEJBT0M7QUFqQkQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxPQUFpQjtJQUNoRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxRQUFpQjtJQUN6QyxPQUFPLENBQ0wsUUFBUSxLQUFLLElBQUk7UUFDakIsT0FBTyxRQUFRLEtBQUssUUFBUTtRQUM1QixhQUFhLElBQUksUUFBUTtRQUN6QixPQUFRLFFBQXFCLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUtc2FmZSBwYXR0ZXJuIGludGVyZmFjZXMuXG4gKlxuICogVGhlc2UgaW50ZXJmYWNlcyBwcm92aWRlIGNvbXBpbGUtdGltZSB0eXBlIHNhZmV0eSBmb3IgcGF0dGVybiByZXNvdXJjZXMuXG4gKiBQYXR0ZXJucyBhcmUgaGlnaC1sZXZlbCBjb25zdHJ1Y3RzIHRoYXQgY29tcG9zZSBtdWx0aXBsZSBpbmZyYXN0cnVjdHVyZSByZXNvdXJjZXNcbiAqIGludG8gYSBjb2hlc2l2ZSwgb3BpbmlvbmF0ZWQgZGVwbG95bWVudCAoZS5nLiwgUGF5bG9hZCBDTVMsIE5leHQuanMpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwYXlsb2FkID0gYXBwLmFkZFBhdHRlcm4oUGF0dGVybkZhY3RvcnkuYnVpbGQoXCJQYXlsb2FkQXBwXCIsIHtcbiAqICAgdHlwZTogXCJwYXlsb2FkXCIsXG4gKiAgIG5hbWU6IFwibXktY21zXCIsXG4gKiAgIHNvdXJjZTogXCIuLi8uLlwiXG4gKiB9KSk7XG4gKiBwYXlsb2FkLmdldERhdGFiYXNlKCk7IC8vIOKckyBBdmFpbGFibGUgb24gSVBheWxvYWRcbiAqIHBheWxvYWQuZ2V0U2VydmVyKCk7IC8vIOKckyBBdmFpbGFibGUgb24gSVBheWxvYWRcbiAqL1xuXG5pbXBvcnQgeyB0eXBlIElDZXJ0aWZpY2F0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyB0eXBlIER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyB0eXBlIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7XG4gIHR5cGUgUmVsYXRpb25hbERhdGFiYXNlLFxuICB0eXBlIER5bmFtb0RCRGF0YWJhc2UsXG4gIHR5cGUgUHJveHlDb25maWcsXG4gIHR5cGUgUmVhZFJlcGxpY2FDb25maWcsXG4gIHR5cGUgQ3JlZGVudGlhbHNDb25maWcsXG4gIHR5cGUgRW5jcnlwdGlvbkNvbmZpZyxcbiAgdHlwZSBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnLFxuICB0eXBlIEF1cm9yYVdyaXRlckNvbmZpZyxcbiAgdHlwZSBBdXJvcmFSZWFkZXJzQ29uZmlnLFxuICB0eXBlIFBlcmZvcm1hbmNlSW5zaWdodHNDb25maWcsXG4gIHR5cGUgUGVyZm9ybWFuY2VJbnNpZ2h0c1JldGVudGlvblBlcmlvZFxufSBmcm9tIFwiLi4vZGF0YWJhc2UuanNcIjtcbmltcG9ydCB7IHR5cGUgTGFtYmRhQ29tcHV0ZSB9IGZyb20gXCIuLi9jb21wdXRlLmpzXCI7XG5pbXBvcnQgeyB0eXBlIFN0b3JhZ2UgfSBmcm9tIFwiLi4vc3RvcmFnZS5qc1wiO1xuaW1wb3J0IHsgdHlwZSBRdWV1ZU1lc3NhZ2luZyB9IGZyb20gXCIuLi9tZXNzYWdpbmcuanNcIjtcbmltcG9ydCB7IHR5cGUgQ2RuLCB0eXBlIFNtYXJ0Q2RuQmVoYXZpb3VyIH0gZnJvbSBcIi4uL2Nkbi5qc1wiO1xuXG4vLyBSZS1leHBvcnQgZGF0YWJhc2UgdHlwZXMgZm9yIGNvbnN1bWVyIGNvbnZlbmllbmNlXG5leHBvcnQgdHlwZSB7XG4gIFByb3h5Q29uZmlnLFxuICBSZWFkUmVwbGljYUNvbmZpZyxcbiAgQ3JlZGVudGlhbHNDb25maWcsXG4gIEVuY3J5cHRpb25Db25maWcsXG4gIEF1cm9yYUVuY3J5cHRpb25Db25maWcsXG4gIEF1cm9yYVdyaXRlckNvbmZpZyxcbiAgQXVyb3JhUmVhZGVyc0NvbmZpZyxcbiAgUGVyZm9ybWFuY2VJbnNpZ2h0c0NvbmZpZyxcbiAgUGVyZm9ybWFuY2VJbnNpZ2h0c1JldGVudGlvblBlcmlvZFxufTtcblxuLyoqXG4gKiBGdWxsIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm5zLlxuICogRXh0ZW5kcyB1bmRlcmx5aW5nIERhdGFiYXNlRmFjdG9yeSBwcm9wcyB3aXRoIHBhdHRlcm4tc3BlY2lmaWMgZGVmYXVsdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIE1pbmltYWwgLSB1c2UgZGVmYXVsdHNcbiAqIGRhdGFiYXNlOiB7IHR5cGU6IFwiSW5zdGFuY2VcIiB9XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFByb2R1Y3Rpb24tcmVhZHkgSW5zdGFuY2VcbiAqIGRhdGFiYXNlOiB7XG4gKiAgIHR5cGU6IFwiSW5zdGFuY2VcIixcbiAqICAgaW5zdGFuY2VUeXBlOiBcInQ0Zy5sYXJnZVwiLFxuICogICBhbGxvY2F0ZWRTdG9yYWdlOiA1MCxcbiAqICAgbXVsdGlBejogdHJ1ZSxcbiAqICAgcGVyZm9ybWFuY2VJbnNpZ2h0czogeyByZXRlbnRpb25QZXJpb2Q6IDMxIH0sXG4gKiAgIGVuY3J5cHRpb246IHsgc3RvcmFnZUtleTogeyB1c2VDTUs6IHRydWUgfSB9XG4gKiB9XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEF1cm9yYSB3aXRoIHJlYWRlcnNcbiAqIGRhdGFiYXNlOiB7XG4gKiAgIHR5cGU6IFwiQXVyb3JhXCIsXG4gKiAgIHJlYWRlcnM6IHsgY291bnQ6IDIgfSxcbiAqICAgYWxsb3dWcGNBY2Nlc3M6IHRydWVcbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkRGF0YWJhc2VDb25maWcge1xuICAvLyAtLS0gQmFzZSBDb25maWd1cmF0aW9uIC0tLVxuXG4gIC8qKiBEYXRhYmFzZSB0eXBlOiBcIkluc3RhbmNlXCIgb3IgXCJBdXJvcmFcIi4gRGVmYXVsdDogXCJJbnN0YW5jZVwiICovXG4gIHR5cGU/OiBcIkluc3RhbmNlXCIgfCBcIkF1cm9yYVwiO1xuICAvKiogRGF0YWJhc2UgbmFtZS4gRGVmYXVsdDogZGVyaXZlZCBmcm9tIHBhdHRlcm4gbmFtZSAqL1xuICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIC8qKiBEYXRhYmFzZSBlbmdpbmUuIERlZmF1bHQ6IFwicG9zdGdyZXNxbFwiICovXG4gIGRhdGFiYXNlRW5naW5lPzogXCJwb3N0Z3Jlc3FsXCIgfCBcIm15c3FsXCI7XG5cbiAgLy8gLS0tIENvbW1vbiBDb25maWd1cmF0aW9uIC0tLVxuXG4gIC8qKiBFbmFibGUgZGVsZXRpb24gcHJvdGVjdGlvbi4gRGVmYXVsdDogdHJ1ZSAqL1xuICBkZWxldGlvblByb3RlY3Rpb24/OiBib29sZWFuO1xuICAvKiogQmFja3VwIHJldGVudGlvbiBpbiBkYXlzICgxLTM1KS4gRGVmYXVsdDogNyAqL1xuICBiYWNrdXBSZXRlbnRpb24/OiBudW1iZXI7XG4gIC8qKiBEYXRhYmFzZSBwb3J0LiBEZWZhdWx0OiBlbmdpbmUtc3BlY2lmaWMgKDU0MzIgZm9yIFBvc3RncmVTUUwpICovXG4gIHBvcnQ/OiBudW1iZXI7XG5cbiAgLy8gLS0tIFB1YmxpYyBBY2Nlc3MgKERldmVsb3BtZW50IFVzZSkgLS0tXG5cbiAgLyoqIE1ha2UgZGF0YWJhc2UgcHVibGljbHkgYWNjZXNzaWJsZSAoZm9yIGxvY2FsIGRldmVsb3BtZW50KS4gRGVmYXVsdDogZmFsc2UgKi9cbiAgcHVibGljbHlBY2Nlc3NpYmxlPzogYm9vbGVhbjtcbiAgLyoqIElQIENJRFIgdG8gYWxsb3cgd2hlbiBwdWJsaWNseSBhY2Nlc3NpYmxlIChlLmcuLCBcIjIwMy4wLjExMy4wLzMyXCIpICovXG4gIGFsbG93ZWRJcENpZHI/OiBzdHJpbmc7XG5cbiAgLy8gLS0tIEluc3RhbmNlLVNwZWNpZmljIENvbmZpZ3VyYXRpb24gLS0tXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHR5cGUgZm9yIFJEUyBJbnN0YW5jZSBkYXRhYmFzZXMuXG4gICAqIEV4YW1wbGVzOiBcInQ0Zy5taWNyb1wiLCBcInQ0Zy5zbWFsbFwiLCBcInQ0Zy5sYXJnZVwiLCBcInI2Zy5sYXJnZVwiXG4gICAqIERlZmF1bHQ6IFwidDRnLnNtYWxsXCJcbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJJbnN0YW5jZVwiXG4gICAqL1xuICBpbnN0YW5jZVR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvY2F0ZWQgc3RvcmFnZSBpbiBHQiBmb3IgUkRTIEluc3RhbmNlLlxuICAgKiBEZWZhdWx0OiAyMFxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkluc3RhbmNlXCJcbiAgICovXG4gIGFsbG9jYXRlZFN0b3JhZ2U/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBFbmFibGUgTXVsdGktQVogZGVwbG95bWVudCBmb3IgaGlnaCBhdmFpbGFiaWxpdHkuXG4gICAqIENyZWF0ZXMgYSBzdGFuZGJ5IHJlcGxpY2EgaW4gYSBkaWZmZXJlbnQgQVouXG4gICAqIE9ubHkgYXBwbGllcyB3aGVuIHR5cGU6IFwiSW5zdGFuY2VcIlxuICAgKi9cbiAgbXVsdGlBej86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWFkIHJlcGxpY2EgY29uZmlndXJhdGlvbiBmb3IgUkRTIEluc3RhbmNlLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkluc3RhbmNlXCJcbiAgICovXG4gIHJlYWRSZXBsaWNhPzogUmVhZFJlcGxpY2FDb25maWcgfCBmYWxzZTtcblxuICAvLyAtLS0gQXVyb3JhLVNwZWNpZmljIENvbmZpZ3VyYXRpb24gLS0tXG5cbiAgLyoqXG4gICAqIEF1cm9yYSB3cml0ZXIgaW5zdGFuY2UgY29uZmlndXJhdGlvbi5cbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJBdXJvcmFcIlxuICAgKi9cbiAgd3JpdGVyPzogQXVyb3JhV3JpdGVyQ29uZmlnO1xuICAvKipcbiAgICogQXVyb3JhIHJlYWRlciBpbnN0YW5jZXMgY29uZmlndXJhdGlvbi5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGV4cGxpY2l0bHkgZGlzYWJsZSByZWFkZXJzLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkF1cm9yYVwiXG4gICAqL1xuICByZWFkZXJzPzogQXVyb3JhUmVhZGVyc0NvbmZpZyB8IGZhbHNlO1xuICAvKipcbiAgICogQWxsb3cgYWNjZXNzIGZyb20gVlBDIENJRFIgKGF2b2lkcyBjcm9zcy1zdGFjayBjeWNsaWMgZGVwZW5kZW5jaWVzKS5cbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJBdXJvcmFcIlxuICAgKi9cbiAgYWxsb3dWcGNBY2Nlc3M/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5oYW5jZWQgbW9uaXRvcmluZyBpbnRlcnZhbC5cbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJBdXJvcmFcIlxuICAgKi9cbiAgbW9uaXRvcmluZ0ludGVydmFsPzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBQcmVmZXJyZWQgbWFpbnRlbmFuY2Ugd2luZG93IChlLmcuLCBcInN1bjowNTowMC1zdW46MDY6MDBcIikuXG4gICAqIE9ubHkgYXBwbGllcyB3aGVuIHR5cGU6IFwiQXVyb3JhXCJcbiAgICovXG4gIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93Pzogc3RyaW5nO1xuXG4gIC8vIC0tLSBTaGFyZWQgQWR2YW5jZWQgQ29uZmlndXJhdGlvbiAtLS1cblxuICAvKipcbiAgICogUGVyZm9ybWFuY2UgSW5zaWdodHMgY29uZmlndXJhdGlvbi5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGV4cGxpY2l0bHkgZGlzYWJsZS5cbiAgICogQGV4YW1wbGUgeyByZXRlbnRpb25QZXJpb2Q6IDMxIH1cbiAgICovXG4gIHBlcmZvcm1hbmNlSW5zaWdodHM/OiBQZXJmb3JtYW5jZUluc2lnaHRzQ29uZmlnIHwgZmFsc2U7XG4gIC8qKlxuICAgKiBSRFMgUHJveHkgY29uZmlndXJhdGlvbiBmb3IgY29ubmVjdGlvbiBwb29saW5nLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlLlxuICAgKiBAZXhhbXBsZSB7IG1heENvbm5lY3Rpb25zOiAxMDAgfVxuICAgKi9cbiAgcHJveHk/OiBQcm94eUNvbmZpZyB8IGZhbHNlO1xuICAvKipcbiAgICogQ3JlZGVudGlhbHMgY29uZmlndXJhdGlvbiAodXNlcm5hbWUsIHJvdGF0aW9uKS5cbiAgICovXG4gIGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHNDb25maWc7XG4gIC8qKlxuICAgKiBFbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqIEZvciBJbnN0YW5jZTogRW5jcnlwdGlvbkNvbmZpZ1xuICAgKiBGb3IgQXVyb3JhOiBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnXG4gICAqIEBleGFtcGxlIHsgc3RvcmFnZUtleTogeyB1c2VDTUs6IHRydWUgfSB9XG4gICAqL1xuICBlbmNyeXB0aW9uPzogRW5jcnlwdGlvbkNvbmZpZyB8IEF1cm9yYUVuY3J5cHRpb25Db25maWc7XG5cbiAgLy8gLS0tIFNuYXBzaG90IFJlc3RvcmUgLS0tXG5cbiAgLyoqIEFSTiBvciBpZGVudGlmaWVyIG9mIHNuYXBzaG90IHRvIHJlc3RvcmUgZnJvbSAqL1xuICBzbmFwc2hvdElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIC8qKiBVc2VybmFtZSBmcm9tIHRoZSBzbmFwc2hvdCAocmVxdWlyZWQgd2hlbiByZXN0b3JpbmcpICovXG4gIHNuYXBzaG90VXNlcm5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGFtYmRhIGZ1bmN0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm4gc3ViLWZ1bmN0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogc2VydmVyOiB7IG1lbW9yeVNpemU6IDIwNDgsIHRpbWVvdXQ6IDYwIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuTGFtYmRhQ29uZmlnIHtcbiAgLyoqIE1lbW9yeSBzaXplIGluIE1CLiBSYW5nZTogMTI4LTEwMjQwLiAqL1xuICBtZW1vcnlTaXplPzogbnVtYmVyO1xuICAvKiogVGltZW91dCBpbiBzZWNvbmRzLiBSYW5nZTogMS05MDAuICovXG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBFcGhlbWVyYWwgc3RvcmFnZSBzaXplIGluIE1CLiBSYW5nZTogNTEyLTEwMjQwLiBEZWZhdWx0OiA1MTIuICovXG4gIGVwaGVtZXJhbFN0b3JhZ2VTaXplPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZ1bGwgY29tcHV0ZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqIEFsbG93cyBwZXItZnVuY3Rpb24gY29uZmlndXJhdGlvbiBmb3IgZWFjaCBMYW1iZGEgaW4gdGhlIHBhdHRlcm4uXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENvbmZpZ3VyZSBpbmRpdmlkdWFsIGZ1bmN0aW9uc1xuICogY29tcHV0ZToge1xuICogICBzZXJ2ZXI6IHsgbWVtb3J5U2l6ZTogMjA0OCwgdGltZW91dDogNjAgfSxcbiAqICAgaW1hZ2VPcHRpbWlzYXRpb246IHsgbWVtb3J5U2l6ZTogMjA0OCB9LFxuICogICByZXZhbGlkYXRpb246IHsgbWVtb3J5U2l6ZTogMTAyNCwgdGltZW91dDogNjAwIH1cbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQ29tcHV0ZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBTZXJ2ZXIgTGFtYmRhIGNvbmZpZ3VyYXRpb24uXG4gICAqIEhhbmRsZXMgbWFpbiBhcHBsaWNhdGlvbiByZXF1ZXN0cy5cbiAgICogRGVmYXVsdHM6IG1lbW9yeVNpemU9MTUzNiwgdGltZW91dD0zMFxuICAgKi9cbiAgc2VydmVyPzogUGF0dGVybkxhbWJkYUNvbmZpZztcbiAgLyoqXG4gICAqIEltYWdlIG9wdGltaXNhdGlvbiBMYW1iZGEgY29uZmlndXJhdGlvbi5cbiAgICogSGFuZGxlcyBOZXh0LmpzIGltYWdlIG9wdGltaXNhdGlvbi5cbiAgICogRGVmYXVsdHM6IG1lbW9yeVNpemU9MTUzNiwgdGltZW91dD0zMFxuICAgKi9cbiAgaW1hZ2VPcHRpbWlzYXRpb24/OiBQYXR0ZXJuTGFtYmRhQ29uZmlnO1xuICAvKipcbiAgICogUmV2YWxpZGF0aW9uIExhbWJkYSBjb25maWd1cmF0aW9uLlxuICAgKiBIYW5kbGVzIElTUiByZXZhbGlkYXRpb24gZnJvbSBTUVMgcXVldWUuXG4gICAqIERlZmF1bHRzOiBtZW1vcnlTaXplPTc2OCwgdGltZW91dD0zMDBcbiAgICovXG4gIHJldmFsaWRhdGlvbj86IFBhdHRlcm5MYW1iZGFDb25maWc7XG59XG5cbi8qKlxuICogUzMgYnVja2V0IGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm4gc3ViLWJ1Y2tldHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVyblN0b3JhZ2VCdWNrZXRDb25maWcge1xuICAvKiogRW5hYmxlIHZlcnNpb25pbmcuIERlZmF1bHQ6IGZhbHNlICovXG4gIHZlcnNpb25lZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRnVsbCBzdG9yYWdlIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm5zLlxuICogQWxsb3dzIHBlci1idWNrZXQgY29uZmlndXJhdGlvbiBmb3IgZWFjaCBTMyBidWNrZXQgaW4gdGhlIHBhdHRlcm4uXG4gKlxuICogQGV4YW1wbGVcbiAqIHN0b3JhZ2U6IHtcbiAqICAgYXNzZXRzOiB7IHZlcnNpb25lZDogdHJ1ZSB9LFxuICogICBjYWNoZTogeyB2ZXJzaW9uZWQ6IGZhbHNlIH0sXG4gKiAgIG1lZGlhOiB7IHZlcnNpb25lZDogdHJ1ZSB9XG4gKiB9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZFN0b3JhZ2VDb25maWcge1xuICAvKiogQXNzZXRzIGJ1Y2tldCAoc3RhdGljIGZpbGVzKSAqL1xuICBhc3NldHM/OiBQYXR0ZXJuU3RvcmFnZUJ1Y2tldENvbmZpZztcbiAgLyoqIENhY2hlIGJ1Y2tldCAoSVNSIGNhY2hlKSAqL1xuICBjYWNoZT86IFBhdHRlcm5TdG9yYWdlQnVja2V0Q29uZmlnO1xuICAvKiogTWVkaWEgYnVja2V0ICh1cGxvYWRzKSAqL1xuICBtZWRpYT86IFBhdHRlcm5TdG9yYWdlQnVja2V0Q29uZmlnO1xufVxuXG4vKipcbiAqIFNRUyBxdWV1ZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJuIG1lc3NhZ2luZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuUXVldWVDb25maWcge1xuICAvKiogVmlzaWJpbGl0eSB0aW1lb3V0IGluIHNlY29uZHMuIERlZmF1bHQ6IG1hdGNoZXMgcmV2YWxpZGF0aW9uIHRpbWVvdXQgKi9cbiAgdmlzaWJpbGl0eVRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBNZXNzYWdlIHJldGVudGlvbiBwZXJpb2QgaW4gc2Vjb25kcy4gRGVmYXVsdDogMzQ1NjAwICg0IGRheXMpICovXG4gIG1lc3NhZ2VSZXRlbnRpb25QZXJpb2Q/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIG1lc3NhZ2Ugc2l6ZSBpbiBieXRlcy4gRGVmYXVsdDogMjYyMTQ0ICgyNTYgS0IpICovXG4gIG1heE1lc3NhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogRGVhZCBsZXR0ZXIgcXVldWUgY29uZmlndXJhdGlvbi5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGV4cGxpY2l0bHkgZGlzYWJsZS5cbiAgICovXG4gIGRlYWRMZXR0ZXJRdWV1ZT86XG4gICAgfCB7XG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgICBtYXhSZWNlaXZlQ291bnQ/OiBudW1iZXI7XG4gICAgICB9XG4gICAgfCBmYWxzZTtcbn1cblxuLyoqXG4gKiBGdWxsIG1lc3NhZ2luZyBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogbWVzc2FnaW5nOiB7XG4gKiAgIHJldmFsaWRhdGlvblF1ZXVlOiB7XG4gKiAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IDYwMCxcbiAqICAgICBkZWFkTGV0dGVyUXVldWU6IHsgZW5hYmxlZDogdHJ1ZSwgbWF4UmVjZWl2ZUNvdW50OiA1IH1cbiAqICAgfVxuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRNZXNzYWdpbmdDb25maWcge1xuICAvKiogUmV2YWxpZGF0aW9uIHF1ZXVlIGNvbmZpZ3VyYXRpb24gKi9cbiAgcmV2YWxpZGF0aW9uUXVldWU/OiBQYXR0ZXJuUXVldWVDb25maWc7XG59XG5cbi8qKlxuICogQ0ROIGNvbmZpZ3VyYXRpb24gZm9yIFBheWxvYWQgcGF0dGVybi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQ2RuQ29uZmlnIHtcbiAgLyoqIEN1c3RvbSBkb21haW4gbmFtZXMgZm9yIENsb3VkRnJvbnQgKi9cbiAgZG9tYWluTmFtZXM/OiBzdHJpbmdbXTtcbiAgLyoqIEFDTSBjZXJ0aWZpY2F0ZSBmb3IgY3VzdG9tIGRvbWFpbnMgKG11c3QgYmUgaW4gdXMtZWFzdC0xKSAqL1xuICBjZXJ0aWZpY2F0ZT86IElDZXJ0aWZpY2F0ZTtcbiAgLyoqIEFDTSBjZXJ0aWZpY2F0ZSBBUk4gKGFsdGVybmF0aXZlIHRvIGNlcnRpZmljYXRlIC0gbXVzdCBiZSBpbiB1cy1lYXN0LTEpICovXG4gIGNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuICAvKiogQWRkaXRpb25hbCBDRE4gYmVoYXZpb3VycyAqL1xuICBiZWhhdmlvdXJzPzogU21hcnRDZG5CZWhhdmlvdXJbXTtcbn1cblxuLyoqXG4gKiBQYXlsb2FkIHBhdHRlcm4gcHJvcHMuXG4gKlxuICogQ29uZmlndXJlcyBhIFBheWxvYWQgQ01TIGRlcGxveW1lbnQgd2l0aCBhbGwgcmVxdWlyZWQgaW5mcmFzdHJ1Y3R1cmU6XG4gKiAtIFJEUyBQb3N0Z3JlU1FMIGRhdGFiYXNlIChBdXJvcmEgb3IgSW5zdGFuY2UpXG4gKiAtIFMzIGJ1Y2tldHMgKGFzc2V0cywgY2FjaGUsIG1lZGlhKVxuICogLSBEeW5hbW9EQiB0YWJsZSAodGFnIGNhY2hlKVxuICogLSBTUVMgRklGTyBxdWV1ZSAocmV2YWxpZGF0aW9uKVxuICogLSBMYW1iZGEgZnVuY3Rpb25zIChzZXJ2ZXIsIGltYWdlIG9wdGltaXNhdGlvbiwgcmV2YWxpZGF0aW9uKVxuICogLSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNaW5pbWFsIC0gd29ya3Mgb3V0IG9mIGJveFxuICogYXBwLmFkZFBhdHRlcm4oUGF0dGVybkZhY3RvcnkuYnVpbGQoXCJQYXlsb2FkQXBwXCIsIHtcbiAqICAgdHlwZTogXCJwYXlsb2FkXCIsXG4gKiAgIG5hbWU6IFwibXktY21zXCJcbiAqIH0pKTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2l0aCBjdXN0b20gZG9tYWluIChhdXRvLWNyZWF0ZXMgY2VydGlmaWNhdGUgKyBETlMpXG4gKiBhcHAuYWRkUGF0dGVybihQYXR0ZXJuRmFjdG9yeS5idWlsZChcIlBheWxvYWRBcHBcIiwge1xuICogICB0eXBlOiBcInBheWxvYWRcIixcbiAqICAgbmFtZTogXCJteS1jbXNcIixcbiAqICAgZG9tYWluOiBcImNtcy5leGFtcGxlLmNvbVwiXG4gKiB9KSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEN1c3RvbWlzZWRcbiAqIGFwcC5hZGRQYXR0ZXJuKFBhdHRlcm5GYWN0b3J5LmJ1aWxkKFwiUGF5bG9hZEFwcFwiLCB7XG4gKiAgIHR5cGU6IFwicGF5bG9hZFwiLFxuICogICBuYW1lOiBcIm15LWNtc1wiLFxuICogICBkYXRhYmFzZToge1xuICogICAgIHR5cGU6IFwiSW5zdGFuY2VcIixcbiAqICAgICBwdWJsaWNseUFjY2Vzc2libGU6IHRydWVcbiAqICAgfSxcbiAqICAgY29tcHV0ZToge1xuICogICAgIHNlcnZlcjogeyBtZW1vcnlTaXplOiAyMDQ4IH1cbiAqICAgfVxuICogfSkpO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQYXlsb2FkUHJvcHMge1xuICAvKiogUGF0dGVybiB0eXBlIGRpc2NyaW1pbmF0b3IgKi9cbiAgdHlwZTogXCJwYXlsb2FkXCI7XG4gIC8qKiBQYXR0ZXJuIG5hbWUgKHVzZWQgZm9yIHJlc291cmNlIG5hbWluZykgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gZG9tYWluIGZvciB0aGUgUGF5bG9hZCBhcHBsaWNhdGlvbi5cbiAgICogV2hlbiBwcm92aWRlZCwgYXV0b21hdGljYWxseTpcbiAgICogLSBMb29rcyB1cCB0aGUgUm91dGU1MyBob3N0ZWQgem9uZVxuICAgKiAtIENyZWF0ZXMgYW4gQUNNIGNlcnRpZmljYXRlIHdpdGggRE5TIHZhbGlkYXRpb24gKGluIHVzLWVhc3QtMSlcbiAgICogLSBDb25maWd1cmVzIENsb3VkRnJvbnQgd2l0aCB0aGUgY2VydGlmaWNhdGVcbiAgICogLSBDcmVhdGVzIGFuIEEgcmVjb3JkIChhbGlhcykgcG9pbnRpbmcgdG8gQ2xvdWRGcm9udFxuICAgKlxuICAgKiBSZXF1aXJlczogQSBSb3V0ZTUzIGhvc3RlZCB6b25lIGZvciB0aGUgZG9tYWluIG11c3QgZXhpc3QuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiY21zLmV4YW1wbGUuY29tXCJcbiAgICovXG4gIGRvbWFpbj86IHN0cmluZztcblxuICAvKiogRGF0YWJhc2UgY29uZmlndXJhdGlvbiAqL1xuICBkYXRhYmFzZT86IFBheWxvYWREYXRhYmFzZUNvbmZpZztcbiAgLyoqIENvbXB1dGUgKExhbWJkYSkgY29uZmlndXJhdGlvbiAqL1xuICBjb21wdXRlPzogUGF5bG9hZENvbXB1dGVDb25maWc7XG4gIC8qKiBTdG9yYWdlIChTMykgY29uZmlndXJhdGlvbiAqL1xuICBzdG9yYWdlPzogUGF5bG9hZFN0b3JhZ2VDb25maWc7XG4gIC8qKiBNZXNzYWdpbmcgKFNRUykgY29uZmlndXJhdGlvbiAqL1xuICBtZXNzYWdpbmc/OiBQYXlsb2FkTWVzc2FnaW5nQ29uZmlnO1xuICAvKiogQ0ROIChDbG91ZEZyb250KSBjb25maWd1cmF0aW9uIC0gZm9yIGFkdmFuY2VkIHVzZS4gVXNlIGBkb21haW5gIGZvciBzaW1wbGUgc2V0dXAuICovXG4gIGNkbj86IFBheWxvYWRDZG5Db25maWc7XG5cbiAgLyoqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBzZXJ2ZXIgTGFtYmRhICovXG4gIGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBVbmlvbiBvZiBhbGwgcGF0dGVybiBwcm9wcy5cbiAqIEV4dGVuZCB0aGlzIHdoZW4gYWRkaW5nIG5ldyBwYXR0ZXJucyAoZS5nLiwgSU5leHRqc1Byb3BzLCBJUmVtaXhQcm9wcykuXG4gKi9cbmV4cG9ydCB0eXBlIElQYXR0ZXJuUHJvcHMgPSBJUGF5bG9hZFByb3BzOyAvLyB8IElOZXh0anNQcm9wcyB8IElSZW1peFByb3BzIGluIGZ1dHVyZVxuXG4vKipcbiAqIFBhdHRlcm4gdHlwZSBkaXNjcmltaW5hdG9yLlxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuVHlwZSA9IFwicGF5bG9hZFwiOyAvLyB8IFwibmV4dGpzXCIgfCBcInJlbWl4XCIgaW4gZnV0dXJlXG5cbi8qKlxuICogQmFzZSBwYXR0ZXJuIGludGVyZmFjZS5cbiAqIEFsbCBwYXR0ZXJucyBpbXBsZW1lbnQgdGhpcyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBhdHRlcm4ge1xuICAvKiogVGhlIHR5cGUgb2YgcGF0dGVybi4gVXNlZCBmb3IgcnVudGltZSB0eXBlIG5hcnJvd2luZy4gKi9cbiAgcmVhZG9ubHkgcGF0dGVyblR5cGU6IFBhdHRlcm5UeXBlO1xuXG4gIC8qKiBUaGUgdW5kZXJseWluZyBDREsgY29uc3RydWN0IG5vZGUuICovXG4gIHJlYWRvbmx5IG5vZGU6IENvbnN0cnVjdFtcIm5vZGVcIl07XG59XG5cbi8qKlxuICogUGF5bG9hZCBwYXR0ZXJuIGludGVyZmFjZS5cbiAqIFByb3ZpZGVzIGFjY2VzcyB0byBhbGwgdW5kZXJseWluZyByZXNvdXJjZXMgZm9yIGVzY2FwZSBoYXRjaGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFc2NhcGUgaGF0Y2hlcyAtIGZ1bGwgYWNjZXNzIHRvIHVuZGVybHlpbmcgcmVzb3VyY2VzXG4gKiBwYXlsb2FkLmdldERhdGFiYXNlKCkuZ3JhbnRDb25uZWN0KHNvbWVPdGhlckxhbWJkYSk7XG4gKiBwYXlsb2FkLmdldFNlcnZlcigpLmdldExhbWJkYUZ1bmN0aW9uKCkuYWRkRW52aXJvbm1lbnQoXCJDVVNUT01fVkFSXCIsIFwidmFsdWVcIik7XG4gKiBwYXlsb2FkLmdldENkbigpLmdldERpc3RyaWJ1dGlvbigpLmFkZEJlaGF2aW9yKFwiL2N1c3RvbS8qXCIsIGN1c3RvbU9yaWdpbik7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBheWxvYWQgZXh0ZW5kcyBJUGF0dGVybiB7XG4gIHJlYWRvbmx5IHBhdHRlcm5UeXBlOiBcInBheWxvYWRcIjtcblxuICAvKiogR2V0IHRoZSBQb3N0Z3JlU1FMIGRhdGFiYXNlIChBdXJvcmEgb3IgSW5zdGFuY2UpICovXG4gIGdldERhdGFiYXNlKCk6IFJlbGF0aW9uYWxEYXRhYmFzZTtcblxuICAvKiogR2V0IHRoZSBTZXJ2ZXIgTGFtYmRhIGZ1bmN0aW9uICovXG4gIGdldFNlcnZlcigpOiBMYW1iZGFDb21wdXRlO1xuXG4gIC8qKiBHZXQgdGhlIEltYWdlIE9wdGltaXNhdGlvbiBMYW1iZGEgZnVuY3Rpb24gKi9cbiAgZ2V0SW1hZ2VPcHRpbWlzYXRpb24oKTogTGFtYmRhQ29tcHV0ZTtcblxuICAvKiogR2V0IHRoZSBSZXZhbGlkYXRpb24gTGFtYmRhIGZ1bmN0aW9uICovXG4gIGdldFJldmFsaWRhdGlvbigpOiBMYW1iZGFDb21wdXRlO1xuXG4gIC8qKiBHZXQgdGhlIEFzc2V0cyBTMyBidWNrZXQgKHN0YXRpYyBmaWxlcykgKi9cbiAgZ2V0QXNzZXRzQnVja2V0KCk6IFN0b3JhZ2U7XG5cbiAgLyoqIEdldCB0aGUgQ2FjaGUgUzMgYnVja2V0IChJU1IgY2FjaGUpICovXG4gIGdldENhY2hlQnVja2V0KCk6IFN0b3JhZ2U7XG5cbiAgLyoqIEdldCB0aGUgTWVkaWEgUzMgYnVja2V0ICh1cGxvYWRzKSAqL1xuICBnZXRNZWRpYUJ1Y2tldCgpOiBTdG9yYWdlO1xuXG4gIC8qKiBHZXQgdGhlIFRhZyBDYWNoZSBEeW5hbW9EQiB0YWJsZSAqL1xuICBnZXRUYWdDYWNoZSgpOiBEeW5hbW9EQkRhdGFiYXNlO1xuXG4gIC8qKiBHZXQgdGhlIFJldmFsaWRhdGlvbiBTUVMgcXVldWUgKi9cbiAgZ2V0UmV2YWxpZGF0aW9uUXVldWUoKTogUXVldWVNZXNzYWdpbmc7XG5cbiAgLyoqIEdldCB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24gKi9cbiAgZ2V0Q2RuKCk6IENkbjtcbn1cblxuLyoqXG4gKiBVbmlvbiB0eXBlIHJlcHJlc2VudGluZyBhbnkgcGF0dGVybiBpbnRlcmZhY2UuXG4gKiBVc2Ugd2l0aCB0eXBlIGd1YXJkcyBmb3IgZ2VuZXJpYyBoYW5kbGluZy5cbiAqL1xuZXhwb3J0IHR5cGUgQW55UGF0dGVybiA9IElQYXlsb2FkOyAvLyB8IElOZXh0anMgfCBJUmVtaXggaW4gZnV0dXJlXG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHBhdHRlcm4gaXMgUGF5bG9hZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGF5bG9hZFBhdHRlcm4ocGF0dGVybjogSVBhdHRlcm4pOiBwYXR0ZXJuIGlzIElQYXlsb2FkIHtcbiAgcmV0dXJuIHBhdHRlcm4ucGF0dGVyblR5cGUgPT09IFwicGF5bG9hZFwiO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSByZXNvdXJjZSBpcyBhbnkgcGF0dGVybiB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQYXR0ZXJuKHJlc291cmNlOiB1bmtub3duKTogcmVzb3VyY2UgaXMgSVBhdHRlcm4ge1xuICByZXR1cm4gKFxuICAgIHJlc291cmNlICE9PSBudWxsICYmXG4gICAgdHlwZW9mIHJlc291cmNlID09PSBcIm9iamVjdFwiICYmXG4gICAgXCJwYXR0ZXJuVHlwZVwiIGluIHJlc291cmNlICYmXG4gICAgdHlwZW9mIChyZXNvdXJjZSBhcyBJUGF0dGVybikucGF0dGVyblR5cGUgPT09IFwic3RyaW5nXCJcbiAgKTtcbn1cbiJdfQ==
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvaW50ZXJmYWNlcy9wYXR0ZXJuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBZ2NILDRDQUVDO0FBS0QsOEJBT0M7QUFqQkQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxPQUFpQjtJQUNoRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxRQUFpQjtJQUN6QyxPQUFPLENBQ0wsUUFBUSxLQUFLLElBQUk7UUFDakIsT0FBTyxRQUFRLEtBQUssUUFBUTtRQUM1QixhQUFhLElBQUksUUFBUTtRQUN6QixPQUFRLFFBQXFCLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUtc2FmZSBwYXR0ZXJuIGludGVyZmFjZXMuXG4gKlxuICogVGhlc2UgaW50ZXJmYWNlcyBwcm92aWRlIGNvbXBpbGUtdGltZSB0eXBlIHNhZmV0eSBmb3IgcGF0dGVybiByZXNvdXJjZXMuXG4gKiBQYXR0ZXJucyBhcmUgaGlnaC1sZXZlbCBjb25zdHJ1Y3RzIHRoYXQgY29tcG9zZSBtdWx0aXBsZSBpbmZyYXN0cnVjdHVyZSByZXNvdXJjZXNcbiAqIGludG8gYSBjb2hlc2l2ZSwgb3BpbmlvbmF0ZWQgZGVwbG95bWVudCAoZS5nLiwgUGF5bG9hZCBDTVMsIE5leHQuanMpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwYXlsb2FkID0gYXBwLmFkZFBhdHRlcm4oUGF0dGVybkZhY3RvcnkuYnVpbGQoXCJQYXlsb2FkQXBwXCIsIHtcbiAqICAgdHlwZTogXCJwYXlsb2FkXCIsXG4gKiAgIG5hbWU6IFwibXktY21zXCIsXG4gKiAgIHNvdXJjZTogXCIuLi8uLlwiXG4gKiB9KSk7XG4gKiBwYXlsb2FkLmdldERhdGFiYXNlKCk7IC8vIOKckyBBdmFpbGFibGUgb24gSVBheWxvYWRcbiAqIHBheWxvYWQuZ2V0U2VydmVyKCk7IC8vIOKckyBBdmFpbGFibGUgb24gSVBheWxvYWRcbiAqL1xuXG5pbXBvcnQgeyB0eXBlIElDZXJ0aWZpY2F0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyB0eXBlIER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyB0eXBlIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7XG4gIHR5cGUgUmVsYXRpb25hbERhdGFiYXNlLFxuICB0eXBlIER5bmFtb0RCRGF0YWJhc2UsXG4gIHR5cGUgUHJveHlDb25maWcsXG4gIHR5cGUgUmVhZFJlcGxpY2FDb25maWcsXG4gIHR5cGUgQ3JlZGVudGlhbHNDb25maWcsXG4gIHR5cGUgRW5jcnlwdGlvbkNvbmZpZyxcbiAgdHlwZSBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnLFxuICB0eXBlIEF1cm9yYVdyaXRlckNvbmZpZyxcbiAgdHlwZSBBdXJvcmFSZWFkZXJzQ29uZmlnLFxuICB0eXBlIERhdGFiYXNlSW5zaWdodHNDb25maWdcbn0gZnJvbSBcIi4uL2RhdGFiYXNlLmpzXCI7XG5pbXBvcnQgeyB0eXBlIExhbWJkYUNvbXB1dGUgfSBmcm9tIFwiLi4vY29tcHV0ZS5qc1wiO1xuaW1wb3J0IHsgdHlwZSBTdG9yYWdlIH0gZnJvbSBcIi4uL3N0b3JhZ2UuanNcIjtcbmltcG9ydCB7IHR5cGUgUXVldWVNZXNzYWdpbmcgfSBmcm9tIFwiLi4vbWVzc2FnaW5nLmpzXCI7XG5pbXBvcnQgeyB0eXBlIENkbiwgdHlwZSBTbWFydENkbkJlaGF2aW91ciB9IGZyb20gXCIuLi9jZG4uanNcIjtcbmltcG9ydCB0eXBlIHsgTWFuYWdlZERvbWFpbkV4cG9ydHMgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvZG9tYWluVHlwZXMuanNcIjtcblxuLy8gUmUtZXhwb3J0IGRhdGFiYXNlIHR5cGVzIGZvciBjb25zdW1lciBjb252ZW5pZW5jZVxuZXhwb3J0IHR5cGUge1xuICBQcm94eUNvbmZpZyxcbiAgUmVhZFJlcGxpY2FDb25maWcsXG4gIENyZWRlbnRpYWxzQ29uZmlnLFxuICBFbmNyeXB0aW9uQ29uZmlnLFxuICBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnLFxuICBBdXJvcmFXcml0ZXJDb25maWcsXG4gIEF1cm9yYVJlYWRlcnNDb25maWcsXG4gIERhdGFiYXNlSW5zaWdodHNDb25maWdcbn07XG5cbi8qKlxuICogRnVsbCBkYXRhYmFzZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqIEV4dGVuZHMgdW5kZXJseWluZyBEYXRhYmFzZUZhY3RvcnkgcHJvcHMgd2l0aCBwYXR0ZXJuLXNwZWNpZmljIGRlZmF1bHRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNaW5pbWFsIC0gdXNlIGRlZmF1bHRzXG4gKiBkYXRhYmFzZTogeyB0eXBlOiBcIkluc3RhbmNlXCIgfVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBQcm9kdWN0aW9uLXJlYWR5IEluc3RhbmNlXG4gKiBkYXRhYmFzZToge1xuICogICB0eXBlOiBcIkluc3RhbmNlXCIsXG4gKiAgIGluc3RhbmNlVHlwZTogXCJ0NGcubGFyZ2VcIixcbiAqICAgYWxsb2NhdGVkU3RvcmFnZTogNTAsXG4gKiAgIG11bHRpQXo6IHRydWUsXG4gKiAgIGRhdGFiYXNlSW5zaWdodHM6IHsgbW9kZTogXCJhZHZhbmNlZFwiIH0sXG4gKiAgIGVuY3J5cHRpb246IHsgc3RvcmFnZUtleTogeyB1c2VDTUs6IHRydWUgfSB9XG4gKiB9XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEF1cm9yYSB3aXRoIHJlYWRlcnNcbiAqIGRhdGFiYXNlOiB7XG4gKiAgIHR5cGU6IFwiQXVyb3JhXCIsXG4gKiAgIHJlYWRlcnM6IHsgY291bnQ6IDIgfSxcbiAqICAgYWxsb3dWcGNBY2Nlc3M6IHRydWVcbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkRGF0YWJhc2VDb25maWcge1xuICAvKiogRGF0YWJhc2UgdHlwZTogXCJJbnN0YW5jZVwiIG9yIFwiQXVyb3JhXCIuIERlZmF1bHQ6IFwiSW5zdGFuY2VcIiAqL1xuICB0eXBlPzogXCJJbnN0YW5jZVwiIHwgXCJBdXJvcmFcIjtcbiAgLyoqIERhdGFiYXNlIG5hbWUuIERlZmF1bHQ6IGRlcml2ZWQgZnJvbSBwYXR0ZXJuIG5hbWUgKi9cbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICAvKiogRGF0YWJhc2UgZW5naW5lLiBEZWZhdWx0OiBcInBvc3RncmVzcWxcIiAqL1xuICBkYXRhYmFzZUVuZ2luZT86IFwicG9zdGdyZXNxbFwiIHwgXCJteXNxbFwiO1xuXG4gIC8qKiBFbmFibGUgZGVsZXRpb24gcHJvdGVjdGlvbi4gRGVmYXVsdDogdHJ1ZSAqL1xuICBkZWxldGlvblByb3RlY3Rpb24/OiBib29sZWFuO1xuICAvKiogQmFja3VwIHJldGVudGlvbiBpbiBkYXlzICgxLTM1KS4gRGVmYXVsdDogNyAqL1xuICBiYWNrdXBSZXRlbnRpb24/OiBudW1iZXI7XG4gIC8qKiBEYXRhYmFzZSBwb3J0LiBEZWZhdWx0OiBlbmdpbmUtc3BlY2lmaWMgKDU0MzIgZm9yIFBvc3RncmVTUUwpICovXG4gIHBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqIE1ha2UgZGF0YWJhc2UgcHVibGljbHkgYWNjZXNzaWJsZSAoZm9yIGxvY2FsIGRldmVsb3BtZW50KS4gRGVmYXVsdDogZmFsc2UgKi9cbiAgcHVibGljbHlBY2Nlc3NpYmxlPzogYm9vbGVhbjtcbiAgLyoqIElQIENJRFIgdG8gYWxsb3cgd2hlbiBwdWJsaWNseSBhY2Nlc3NpYmxlIChlLmcuLCBcIjIwMy4wLjExMy4wLzMyXCIpICovXG4gIGFsbG93ZWRJcENpZHI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHR5cGUgZm9yIFJEUyBJbnN0YW5jZSBkYXRhYmFzZXMuXG4gICAqIEV4YW1wbGVzOiBcInQ0Zy5taWNyb1wiLCBcInQ0Zy5zbWFsbFwiLCBcInQ0Zy5sYXJnZVwiLCBcInI2Zy5sYXJnZVwiXG4gICAqIERlZmF1bHQ6IFwidDRnLnNtYWxsXCJcbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJJbnN0YW5jZVwiXG4gICAqL1xuICBpbnN0YW5jZVR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvY2F0ZWQgc3RvcmFnZSBpbiBHQiBmb3IgUkRTIEluc3RhbmNlLlxuICAgKiBEZWZhdWx0OiAyMFxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkluc3RhbmNlXCJcbiAgICovXG4gIGFsbG9jYXRlZFN0b3JhZ2U/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBFbmFibGUgTXVsdGktQVogZGVwbG95bWVudCBmb3IgaGlnaCBhdmFpbGFiaWxpdHkuXG4gICAqIENyZWF0ZXMgYSBzdGFuZGJ5IHJlcGxpY2EgaW4gYSBkaWZmZXJlbnQgQVouXG4gICAqIE9ubHkgYXBwbGllcyB3aGVuIHR5cGU6IFwiSW5zdGFuY2VcIlxuICAgKi9cbiAgbXVsdGlBej86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWFkIHJlcGxpY2EgY29uZmlndXJhdGlvbiBmb3IgUkRTIEluc3RhbmNlLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkluc3RhbmNlXCJcbiAgICovXG4gIHJlYWRSZXBsaWNhPzogUmVhZFJlcGxpY2FDb25maWcgfCBmYWxzZTtcblxuICAvKipcbiAgICogQXVyb3JhIHdyaXRlciBpbnN0YW5jZSBjb25maWd1cmF0aW9uLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkF1cm9yYVwiXG4gICAqL1xuICB3cml0ZXI/OiBBdXJvcmFXcml0ZXJDb25maWc7XG4gIC8qKlxuICAgKiBBdXJvcmEgcmVhZGVyIGluc3RhbmNlcyBjb25maWd1cmF0aW9uLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlIHJlYWRlcnMuXG4gICAqIE9ubHkgYXBwbGllcyB3aGVuIHR5cGU6IFwiQXVyb3JhXCJcbiAgICovXG4gIHJlYWRlcnM/OiBBdXJvcmFSZWFkZXJzQ29uZmlnIHwgZmFsc2U7XG4gIC8qKlxuICAgKiBBbGxvdyBhY2Nlc3MgZnJvbSBWUEMgQ0lEUiAoYXZvaWRzIGNyb3NzLXN0YWNrIGN5Y2xpYyBkZXBlbmRlbmNpZXMpLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkF1cm9yYVwiXG4gICAqL1xuICBhbGxvd1ZwY0FjY2Vzcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmhhbmNlZCBtb25pdG9yaW5nIGludGVydmFsLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkF1cm9yYVwiXG4gICAqL1xuICBtb25pdG9yaW5nSW50ZXJ2YWw/OiBEdXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZWZlcnJlZCBtYWludGVuYW5jZSB3aW5kb3cgKGUuZy4sIFwic3VuOjA1OjAwLXN1bjowNjowMFwiKS5cbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJBdXJvcmFcIlxuICAgKi9cbiAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERhdGFiYXNlIEluc2lnaHRzIGNvbmZpZ3VyYXRpb24uXG4gICAqIFNldCB0byBmYWxzZSB0byBleHBsaWNpdGx5IGRpc2FibGUuXG4gICAqIEBleGFtcGxlIHsgbW9kZTogXCJhZHZhbmNlZFwiIH1cbiAgICovXG4gIGRhdGFiYXNlSW5zaWdodHM/OiBEYXRhYmFzZUluc2lnaHRzQ29uZmlnIHwgZmFsc2U7XG4gIC8qKlxuICAgKiBSRFMgUHJveHkgY29uZmlndXJhdGlvbiBmb3IgY29ubmVjdGlvbiBwb29saW5nLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlLlxuICAgKiBAZXhhbXBsZSB7IG1heENvbm5lY3Rpb25zOiAxMDAgfVxuICAgKi9cbiAgcHJveHk/OiBQcm94eUNvbmZpZyB8IGZhbHNlO1xuICAvKipcbiAgICogQ3JlZGVudGlhbHMgY29uZmlndXJhdGlvbiAodXNlcm5hbWUsIHJvdGF0aW9uKS5cbiAgICovXG4gIGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHNDb25maWc7XG4gIC8qKlxuICAgKiBFbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqIEZvciBJbnN0YW5jZTogRW5jcnlwdGlvbkNvbmZpZ1xuICAgKiBGb3IgQXVyb3JhOiBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnXG4gICAqIEBleGFtcGxlIHsgc3RvcmFnZUtleTogeyB1c2VDTUs6IHRydWUgfSB9XG4gICAqL1xuICBlbmNyeXB0aW9uPzogRW5jcnlwdGlvbkNvbmZpZyB8IEF1cm9yYUVuY3J5cHRpb25Db25maWc7XG5cbiAgLyoqIEFSTiBvciBpZGVudGlmaWVyIG9mIHNuYXBzaG90IHRvIHJlc3RvcmUgZnJvbSAqL1xuICBzbmFwc2hvdElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIC8qKiBVc2VybmFtZSBmcm9tIHRoZSBzbmFwc2hvdCAocmVxdWlyZWQgd2hlbiByZXN0b3JpbmcpICovXG4gIHNuYXBzaG90VXNlcm5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGFtYmRhIGZ1bmN0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm4gc3ViLWZ1bmN0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogc2VydmVyOiB7IG1lbW9yeVNpemU6IDIwNDgsIHRpbWVvdXQ6IDYwIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuTGFtYmRhQ29uZmlnIHtcbiAgLyoqIE1lbW9yeSBzaXplIGluIE1CLiBSYW5nZTogMTI4LTEwMjQwLiAqL1xuICBtZW1vcnlTaXplPzogbnVtYmVyO1xuICAvKiogVGltZW91dCBpbiBzZWNvbmRzLiBSYW5nZTogMS05MDAuICovXG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBFcGhlbWVyYWwgc3RvcmFnZSBzaXplIGluIE1CLiBSYW5nZTogNTEyLTEwMjQwLiBEZWZhdWx0OiA1MTIuICovXG4gIGVwaGVtZXJhbFN0b3JhZ2VTaXplPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZ1bGwgY29tcHV0ZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqIEFsbG93cyBwZXItZnVuY3Rpb24gY29uZmlndXJhdGlvbiBmb3IgZWFjaCBMYW1iZGEgaW4gdGhlIHBhdHRlcm4uXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENvbmZpZ3VyZSBpbmRpdmlkdWFsIGZ1bmN0aW9uc1xuICogY29tcHV0ZToge1xuICogICBzZXJ2ZXI6IHsgbWVtb3J5U2l6ZTogMjA0OCwgdGltZW91dDogNjAgfSxcbiAqICAgaW1hZ2VPcHRpbWlzYXRpb246IHsgbWVtb3J5U2l6ZTogMjA0OCB9LFxuICogICByZXZhbGlkYXRpb246IHsgbWVtb3J5U2l6ZTogMTAyNCwgdGltZW91dDogNjAwIH1cbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQ29tcHV0ZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBTZXJ2ZXIgTGFtYmRhIGNvbmZpZ3VyYXRpb24uXG4gICAqIEhhbmRsZXMgbWFpbiBhcHBsaWNhdGlvbiByZXF1ZXN0cy5cbiAgICogRGVmYXVsdHM6IG1lbW9yeVNpemU9MTUzNiwgdGltZW91dD0zMFxuICAgKi9cbiAgc2VydmVyPzogUGF0dGVybkxhbWJkYUNvbmZpZztcbiAgLyoqXG4gICAqIEltYWdlIG9wdGltaXNhdGlvbiBMYW1iZGEgY29uZmlndXJhdGlvbi5cbiAgICogSGFuZGxlcyBOZXh0LmpzIGltYWdlIG9wdGltaXNhdGlvbi5cbiAgICogRGVmYXVsdHM6IG1lbW9yeVNpemU9MTUzNiwgdGltZW91dD0zMFxuICAgKi9cbiAgaW1hZ2VPcHRpbWlzYXRpb24/OiBQYXR0ZXJuTGFtYmRhQ29uZmlnO1xuICAvKipcbiAgICogUmV2YWxpZGF0aW9uIExhbWJkYSBjb25maWd1cmF0aW9uLlxuICAgKiBIYW5kbGVzIElTUiByZXZhbGlkYXRpb24gZnJvbSBTUVMgcXVldWUuXG4gICAqIERlZmF1bHRzOiBtZW1vcnlTaXplPTc2OCwgdGltZW91dD0zMDBcbiAgICovXG4gIHJldmFsaWRhdGlvbj86IFBhdHRlcm5MYW1iZGFDb25maWc7XG59XG5cbi8qKlxuICogUzMgYnVja2V0IGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm4gc3ViLWJ1Y2tldHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVyblN0b3JhZ2VCdWNrZXRDb25maWcge1xuICAvKiogRW5hYmxlIHZlcnNpb25pbmcuIERlZmF1bHQ6IGZhbHNlICovXG4gIHZlcnNpb25lZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRnVsbCBzdG9yYWdlIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm5zLlxuICogQWxsb3dzIHBlci1idWNrZXQgY29uZmlndXJhdGlvbiBmb3IgZWFjaCBTMyBidWNrZXQgaW4gdGhlIHBhdHRlcm4uXG4gKlxuICogQGV4YW1wbGVcbiAqIHN0b3JhZ2U6IHtcbiAqICAgYXNzZXRzOiB7IHZlcnNpb25lZDogdHJ1ZSB9LFxuICogICBjYWNoZTogeyB2ZXJzaW9uZWQ6IGZhbHNlIH0sXG4gKiAgIG1lZGlhOiB7IHZlcnNpb25lZDogdHJ1ZSB9XG4gKiB9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZFN0b3JhZ2VDb25maWcge1xuICAvKiogQXNzZXRzIGJ1Y2tldCAoc3RhdGljIGZpbGVzKSAqL1xuICBhc3NldHM/OiBQYXR0ZXJuU3RvcmFnZUJ1Y2tldENvbmZpZztcbiAgLyoqIENhY2hlIGJ1Y2tldCAoSVNSIGNhY2hlKSAqL1xuICBjYWNoZT86IFBhdHRlcm5TdG9yYWdlQnVja2V0Q29uZmlnO1xuICAvKiogTWVkaWEgYnVja2V0ICh1cGxvYWRzKSAqL1xuICBtZWRpYT86IFBhdHRlcm5TdG9yYWdlQnVja2V0Q29uZmlnO1xufVxuXG4vKipcbiAqIFNRUyBxdWV1ZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJuIG1lc3NhZ2luZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuUXVldWVDb25maWcge1xuICAvKiogVmlzaWJpbGl0eSB0aW1lb3V0IGluIHNlY29uZHMuIERlZmF1bHQ6IG1hdGNoZXMgcmV2YWxpZGF0aW9uIHRpbWVvdXQgKi9cbiAgdmlzaWJpbGl0eVRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBNZXNzYWdlIHJldGVudGlvbiBwZXJpb2QgaW4gc2Vjb25kcy4gRGVmYXVsdDogMzQ1NjAwICg0IGRheXMpICovXG4gIG1lc3NhZ2VSZXRlbnRpb25QZXJpb2Q/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIG1lc3NhZ2Ugc2l6ZSBpbiBieXRlcy4gRGVmYXVsdDogMjYyMTQ0ICgyNTYgS0IpICovXG4gIG1heE1lc3NhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogRGVhZCBsZXR0ZXIgcXVldWUgY29uZmlndXJhdGlvbi5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGV4cGxpY2l0bHkgZGlzYWJsZS5cbiAgICovXG4gIGRlYWRMZXR0ZXJRdWV1ZT86XG4gICAgfCB7XG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgICBtYXhSZWNlaXZlQ291bnQ/OiBudW1iZXI7XG4gICAgICB9XG4gICAgfCBmYWxzZTtcbn1cblxuLyoqXG4gKiBGdWxsIG1lc3NhZ2luZyBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogbWVzc2FnaW5nOiB7XG4gKiAgIHJldmFsaWRhdGlvblF1ZXVlOiB7XG4gKiAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IDYwMCxcbiAqICAgICBkZWFkTGV0dGVyUXVldWU6IHsgZW5hYmxlZDogdHJ1ZSwgbWF4UmVjZWl2ZUNvdW50OiA1IH1cbiAqICAgfVxuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRNZXNzYWdpbmdDb25maWcge1xuICAvKiogUmV2YWxpZGF0aW9uIHF1ZXVlIGNvbmZpZ3VyYXRpb24gKi9cbiAgcmV2YWxpZGF0aW9uUXVldWU/OiBQYXR0ZXJuUXVldWVDb25maWc7XG59XG5cbi8qKlxuICogQ0ROIGNvbmZpZ3VyYXRpb24gZm9yIFBheWxvYWQgcGF0dGVybi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQ2RuQ29uZmlnIHtcbiAgLyoqIEN1c3RvbSBkb21haW4gbmFtZXMgZm9yIENsb3VkRnJvbnQgKi9cbiAgZG9tYWluTmFtZXM/OiBzdHJpbmdbXTtcbiAgLyoqIEFDTSBjZXJ0aWZpY2F0ZSBmb3IgY3VzdG9tIGRvbWFpbnMgKG11c3QgYmUgaW4gdXMtZWFzdC0xKSAqL1xuICBjZXJ0aWZpY2F0ZT86IElDZXJ0aWZpY2F0ZTtcbiAgLyoqIEFDTSBjZXJ0aWZpY2F0ZSBBUk4gKGFsdGVybmF0aXZlIHRvIGNlcnRpZmljYXRlIC0gbXVzdCBiZSBpbiB1cy1lYXN0LTEpICovXG4gIGNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuICAvKiogQWRkaXRpb25hbCBDRE4gYmVoYXZpb3VycyAqL1xuICBiZWhhdmlvdXJzPzogU21hcnRDZG5CZWhhdmlvdXJbXTtcbn1cblxuLyoqXG4gKiBQYXlsb2FkIHBhdHRlcm4gcHJvcHMuXG4gKlxuICogQ29uZmlndXJlcyBhIFBheWxvYWQgQ01TIGRlcGxveW1lbnQgd2l0aCBhbGwgcmVxdWlyZWQgaW5mcmFzdHJ1Y3R1cmU6XG4gKiAtIFJEUyBQb3N0Z3JlU1FMIGRhdGFiYXNlIChBdXJvcmEgb3IgSW5zdGFuY2UpXG4gKiAtIFMzIGJ1Y2tldHMgKGFzc2V0cywgY2FjaGUsIG1lZGlhKVxuICogLSBEeW5hbW9EQiB0YWJsZSAodGFnIGNhY2hlKVxuICogLSBTUVMgRklGTyBxdWV1ZSAocmV2YWxpZGF0aW9uKVxuICogLSBMYW1iZGEgZnVuY3Rpb25zIChzZXJ2ZXIsIGltYWdlIG9wdGltaXNhdGlvbiwgcmV2YWxpZGF0aW9uKVxuICogLSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNaW5pbWFsIC0gd29ya3Mgb3V0IG9mIGJveFxuICogYXBwLmFkZFBhdHRlcm4oUGF0dGVybkZhY3RvcnkuYnVpbGQoXCJQYXlsb2FkQXBwXCIsIHtcbiAqICAgdHlwZTogXCJwYXlsb2FkXCIsXG4gKiAgIG5hbWU6IFwibXktY21zXCJcbiAqIH0pKTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2l0aCBjdXN0b20gZG9tYWluIChhdXRvLWNyZWF0ZXMgY2VydGlmaWNhdGUgKyBETlMpXG4gKiBhcHAuYWRkUGF0dGVybihQYXR0ZXJuRmFjdG9yeS5idWlsZChcIlBheWxvYWRBcHBcIiwge1xuICogICB0eXBlOiBcInBheWxvYWRcIixcbiAqICAgbmFtZTogXCJteS1jbXNcIixcbiAqICAgZG9tYWluOiBcImNtcy5leGFtcGxlLmNvbVwiXG4gKiB9KSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEN1c3RvbWlzZWRcbiAqIGFwcC5hZGRQYXR0ZXJuKFBhdHRlcm5GYWN0b3J5LmJ1aWxkKFwiUGF5bG9hZEFwcFwiLCB7XG4gKiAgIHR5cGU6IFwicGF5bG9hZFwiLFxuICogICBuYW1lOiBcIm15LWNtc1wiLFxuICogICBkYXRhYmFzZToge1xuICogICAgIHR5cGU6IFwiSW5zdGFuY2VcIixcbiAqICAgICBwdWJsaWNseUFjY2Vzc2libGU6IHRydWVcbiAqICAgfSxcbiAqICAgY29tcHV0ZToge1xuICogICAgIHNlcnZlcjogeyBtZW1vcnlTaXplOiAyMDQ4IH1cbiAqICAgfVxuICogfSkpO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQYXlsb2FkUHJvcHMge1xuICAvKiogUGF0dGVybiB0eXBlIGRpc2NyaW1pbmF0b3IgKi9cbiAgdHlwZTogXCJwYXlsb2FkXCI7XG4gIC8qKiBQYXR0ZXJuIG5hbWUgKHVzZWQgZm9yIHJlc291cmNlIG5hbWluZykgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gZG9tYWluIGZvciB0aGUgUGF5bG9hZCBhcHBsaWNhdGlvbi5cbiAgICogV2hlbiBwcm92aWRlZCwgYXV0b21hdGljYWxseTpcbiAgICogLSBMb29rcyB1cCB0aGUgUm91dGU1MyBob3N0ZWQgem9uZVxuICAgKiAtIENyZWF0ZXMgYW4gQUNNIGNlcnRpZmljYXRlIHdpdGggRE5TIHZhbGlkYXRpb24gKGluIHVzLWVhc3QtMSlcbiAgICogLSBDb25maWd1cmVzIENsb3VkRnJvbnQgd2l0aCB0aGUgY2VydGlmaWNhdGVcbiAgICogLSBDcmVhdGVzIGFuIEEgcmVjb3JkIChhbGlhcykgcG9pbnRpbmcgdG8gQ2xvdWRGcm9udFxuICAgKlxuICAgKiBSZXF1aXJlczogQSBSb3V0ZTUzIGhvc3RlZCB6b25lIGZvciB0aGUgZG9tYWluIG11c3QgZXhpc3QuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiY21zLmV4YW1wbGUuY29tXCJcbiAgICovXG4gIGRvbWFpbj86IHN0cmluZztcblxuICAvKiogSW1wb3J0IHpvbmUgYW5kIGNlcnQgZnJvbSBhIG1hbmFnZWQgZG9tYWluIHN0YWNrIGluc3RlYWQgb2YgY3JlYXRpbmcgaW5saW5lICovXG4gIG1hbmFnZWREb21haW4/OiBNYW5hZ2VkRG9tYWluRXhwb3J0cztcblxuICAvKiogRGF0YWJhc2UgY29uZmlndXJhdGlvbiAqL1xuICBkYXRhYmFzZT86IFBheWxvYWREYXRhYmFzZUNvbmZpZztcbiAgLyoqIENvbXB1dGUgKExhbWJkYSkgY29uZmlndXJhdGlvbiAqL1xuICBjb21wdXRlPzogUGF5bG9hZENvbXB1dGVDb25maWc7XG4gIC8qKiBTdG9yYWdlIChTMykgY29uZmlndXJhdGlvbiAqL1xuICBzdG9yYWdlPzogUGF5bG9hZFN0b3JhZ2VDb25maWc7XG4gIC8qKiBNZXNzYWdpbmcgKFNRUykgY29uZmlndXJhdGlvbiAqL1xuICBtZXNzYWdpbmc/OiBQYXlsb2FkTWVzc2FnaW5nQ29uZmlnO1xuICAvKiogQ0ROIChDbG91ZEZyb250KSBjb25maWd1cmF0aW9uIC0gZm9yIGFkdmFuY2VkIHVzZS4gVXNlIGBkb21haW5gIGZvciBzaW1wbGUgc2V0dXAuICovXG4gIGNkbj86IFBheWxvYWRDZG5Db25maWc7XG5cbiAgLyoqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBzZXJ2ZXIgTGFtYmRhICovXG4gIGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBVbmlvbiBvZiBhbGwgcGF0dGVybiBwcm9wcy5cbiAqIEV4dGVuZCB0aGlzIHdoZW4gYWRkaW5nIG5ldyBwYXR0ZXJucyAoZS5nLiwgSU5leHRqc1Byb3BzLCBJUmVtaXhQcm9wcykuXG4gKi9cbmV4cG9ydCB0eXBlIElQYXR0ZXJuUHJvcHMgPSBJUGF5bG9hZFByb3BzOyAvLyB8IElOZXh0anNQcm9wcyB8IElSZW1peFByb3BzIGluIGZ1dHVyZVxuXG4vKipcbiAqIFBhdHRlcm4gdHlwZSBkaXNjcmltaW5hdG9yLlxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuVHlwZSA9IFwicGF5bG9hZFwiOyAvLyB8IFwibmV4dGpzXCIgfCBcInJlbWl4XCIgaW4gZnV0dXJlXG5cbi8qKlxuICogQmFzZSBwYXR0ZXJuIGludGVyZmFjZS5cbiAqIEFsbCBwYXR0ZXJucyBpbXBsZW1lbnQgdGhpcyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBhdHRlcm4ge1xuICAvKiogVGhlIHR5cGUgb2YgcGF0dGVybi4gVXNlZCBmb3IgcnVudGltZSB0eXBlIG5hcnJvd2luZy4gKi9cbiAgcmVhZG9ubHkgcGF0dGVyblR5cGU6IFBhdHRlcm5UeXBlO1xuXG4gIC8qKiBUaGUgdW5kZXJseWluZyBDREsgY29uc3RydWN0IG5vZGUuICovXG4gIHJlYWRvbmx5IG5vZGU6IENvbnN0cnVjdFtcIm5vZGVcIl07XG59XG5cbi8qKlxuICogUGF5bG9hZCBwYXR0ZXJuIGludGVyZmFjZS5cbiAqIFByb3ZpZGVzIGFjY2VzcyB0byBhbGwgdW5kZXJseWluZyByZXNvdXJjZXMgZm9yIGVzY2FwZSBoYXRjaGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFc2NhcGUgaGF0Y2hlcyAtIGZ1bGwgYWNjZXNzIHRvIHVuZGVybHlpbmcgcmVzb3VyY2VzXG4gKiBwYXlsb2FkLmdldERhdGFiYXNlKCkuZ3JhbnRDb25uZWN0KHNvbWVPdGhlckxhbWJkYSk7XG4gKiBwYXlsb2FkLmdldFNlcnZlcigpLmdldExhbWJkYUZ1bmN0aW9uKCkuYWRkRW52aXJvbm1lbnQoXCJDVVNUT01fVkFSXCIsIFwidmFsdWVcIik7XG4gKiBwYXlsb2FkLmdldENkbigpLmdldERpc3RyaWJ1dGlvbigpLmFkZEJlaGF2aW9yKFwiL2N1c3RvbS8qXCIsIGN1c3RvbU9yaWdpbik7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBheWxvYWQgZXh0ZW5kcyBJUGF0dGVybiB7XG4gIHJlYWRvbmx5IHBhdHRlcm5UeXBlOiBcInBheWxvYWRcIjtcblxuICAvKiogR2V0IHRoZSBQb3N0Z3JlU1FMIGRhdGFiYXNlIChBdXJvcmEgb3IgSW5zdGFuY2UpICovXG4gIGdldERhdGFiYXNlKCk6IFJlbGF0aW9uYWxEYXRhYmFzZTtcblxuICAvKiogR2V0IHRoZSBTZXJ2ZXIgTGFtYmRhIGZ1bmN0aW9uICovXG4gIGdldFNlcnZlcigpOiBMYW1iZGFDb21wdXRlO1xuXG4gIC8qKiBHZXQgdGhlIEltYWdlIE9wdGltaXNhdGlvbiBMYW1iZGEgZnVuY3Rpb24gKi9cbiAgZ2V0SW1hZ2VPcHRpbWlzYXRpb24oKTogTGFtYmRhQ29tcHV0ZTtcblxuICAvKiogR2V0IHRoZSBSZXZhbGlkYXRpb24gTGFtYmRhIGZ1bmN0aW9uICovXG4gIGdldFJldmFsaWRhdGlvbigpOiBMYW1iZGFDb21wdXRlO1xuXG4gIC8qKiBHZXQgdGhlIEFzc2V0cyBTMyBidWNrZXQgKHN0YXRpYyBmaWxlcykgKi9cbiAgZ2V0QXNzZXRzQnVja2V0KCk6IFN0b3JhZ2U7XG5cbiAgLyoqIEdldCB0aGUgQ2FjaGUgUzMgYnVja2V0IChJU1IgY2FjaGUpICovXG4gIGdldENhY2hlQnVja2V0KCk6IFN0b3JhZ2U7XG5cbiAgLyoqIEdldCB0aGUgTWVkaWEgUzMgYnVja2V0ICh1cGxvYWRzKSAqL1xuICBnZXRNZWRpYUJ1Y2tldCgpOiBTdG9yYWdlO1xuXG4gIC8qKiBHZXQgdGhlIFRhZyBDYWNoZSBEeW5hbW9EQiB0YWJsZSAqL1xuICBnZXRUYWdDYWNoZSgpOiBEeW5hbW9EQkRhdGFiYXNlO1xuXG4gIC8qKiBHZXQgdGhlIFJldmFsaWRhdGlvbiBTUVMgcXVldWUgKi9cbiAgZ2V0UmV2YWxpZGF0aW9uUXVldWUoKTogUXVldWVNZXNzYWdpbmc7XG5cbiAgLyoqIEdldCB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24gKi9cbiAgZ2V0Q2RuKCk6IENkbjtcbn1cblxuLyoqXG4gKiBVbmlvbiB0eXBlIHJlcHJlc2VudGluZyBhbnkgcGF0dGVybiBpbnRlcmZhY2UuXG4gKiBVc2Ugd2l0aCB0eXBlIGd1YXJkcyBmb3IgZ2VuZXJpYyBoYW5kbGluZy5cbiAqL1xuZXhwb3J0IHR5cGUgQW55UGF0dGVybiA9IElQYXlsb2FkOyAvLyB8IElOZXh0anMgfCBJUmVtaXggaW4gZnV0dXJlXG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHBhdHRlcm4gaXMgUGF5bG9hZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGF5bG9hZFBhdHRlcm4ocGF0dGVybjogSVBhdHRlcm4pOiBwYXR0ZXJuIGlzIElQYXlsb2FkIHtcbiAgcmV0dXJuIHBhdHRlcm4ucGF0dGVyblR5cGUgPT09IFwicGF5bG9hZFwiO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSByZXNvdXJjZSBpcyBhbnkgcGF0dGVybiB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQYXR0ZXJuKHJlc291cmNlOiB1bmtub3duKTogcmVzb3VyY2UgaXMgSVBhdHRlcm4ge1xuICByZXR1cm4gKFxuICAgIHJlc291cmNlICE9PSBudWxsICYmXG4gICAgdHlwZW9mIHJlc291cmNlID09PSBcIm9iamVjdFwiICYmXG4gICAgXCJwYXR0ZXJuVHlwZVwiIGluIHJlc291cmNlICYmXG4gICAgdHlwZW9mIChyZXNvdXJjZSBhcyBJUGF0dGVybikucGF0dGVyblR5cGUgPT09IFwic3RyaW5nXCJcbiAgKTtcbn1cbiJdfQ==
|