@aws-cdk/aws-ec2-alpha 2.186.0-alpha.0 → 2.188.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +36 -16
- package/.jsii.tabl.json.gz +0 -0
- package/lib/ipam.js +1 -1
- package/lib/route.js +8 -8
- package/lib/subnet-v2.js +2 -2
- package/lib/transit-gateway-route-table-association.js +1 -1
- package/lib/transit-gateway-route-table-propagation.js +1 -1
- package/lib/transit-gateway-route-table.js +1 -1
- package/lib/transit-gateway-route.js +2 -2
- package/lib/transit-gateway-vpc-attachment.js +1 -1
- package/lib/transit-gateway.js +1 -1
- package/lib/vpc-v2-base.d.ts +9 -5
- package/lib/vpc-v2-base.js +35 -21
- package/lib/vpc-v2.js +2 -2
- package/package.json +7 -7
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"aws-cdk-lib": "^2.188.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -3939,7 +3939,7 @@
|
|
|
3939
3939
|
"stability": "experimental"
|
|
3940
3940
|
},
|
|
3941
3941
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
3942
|
-
"jsiiVersion": "5.7.
|
|
3942
|
+
"jsiiVersion": "5.7.10 (build 5114b23)",
|
|
3943
3943
|
"keywords": [
|
|
3944
3944
|
"aws",
|
|
3945
3945
|
"cdk",
|
|
@@ -5740,7 +5740,12 @@
|
|
|
5740
5740
|
"fqn": "@aws-cdk/aws-ec2-alpha.EgressOnlyInternetGatewayOptions"
|
|
5741
5741
|
}
|
|
5742
5742
|
}
|
|
5743
|
-
]
|
|
5743
|
+
],
|
|
5744
|
+
"returns": {
|
|
5745
|
+
"type": {
|
|
5746
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.EgressOnlyInternetGateway"
|
|
5747
|
+
}
|
|
5748
|
+
}
|
|
5744
5749
|
},
|
|
5745
5750
|
{
|
|
5746
5751
|
"abstract": true,
|
|
@@ -5763,7 +5768,12 @@
|
|
|
5763
5768
|
"fqn": "@aws-cdk/aws-ec2-alpha.InternetGatewayOptions"
|
|
5764
5769
|
}
|
|
5765
5770
|
}
|
|
5766
|
-
]
|
|
5771
|
+
],
|
|
5772
|
+
"returns": {
|
|
5773
|
+
"type": {
|
|
5774
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.InternetGateway"
|
|
5775
|
+
}
|
|
5776
|
+
}
|
|
5767
5777
|
},
|
|
5768
5778
|
{
|
|
5769
5779
|
"abstract": true,
|
|
@@ -11903,7 +11913,12 @@
|
|
|
11903
11913
|
"fqn": "@aws-cdk/aws-ec2-alpha.EgressOnlyInternetGatewayOptions"
|
|
11904
11914
|
}
|
|
11905
11915
|
}
|
|
11906
|
-
]
|
|
11916
|
+
],
|
|
11917
|
+
"returns": {
|
|
11918
|
+
"type": {
|
|
11919
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.EgressOnlyInternetGateway"
|
|
11920
|
+
}
|
|
11921
|
+
}
|
|
11907
11922
|
},
|
|
11908
11923
|
{
|
|
11909
11924
|
"docs": {
|
|
@@ -11912,7 +11927,7 @@
|
|
|
11912
11927
|
},
|
|
11913
11928
|
"locationInModule": {
|
|
11914
11929
|
"filename": "lib/vpc-v2-base.ts",
|
|
11915
|
-
"line":
|
|
11930
|
+
"line": 573
|
|
11916
11931
|
},
|
|
11917
11932
|
"name": "addFlowLog",
|
|
11918
11933
|
"overrides": "aws-cdk-lib.aws_ec2.IVpc",
|
|
@@ -12007,7 +12022,7 @@
|
|
|
12007
12022
|
},
|
|
12008
12023
|
"locationInModule": {
|
|
12009
12024
|
"filename": "lib/vpc-v2-base.ts",
|
|
12010
|
-
"line":
|
|
12025
|
+
"line": 480
|
|
12011
12026
|
},
|
|
12012
12027
|
"name": "addInternetGateway",
|
|
12013
12028
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -12019,7 +12034,12 @@
|
|
|
12019
12034
|
"fqn": "@aws-cdk/aws-ec2-alpha.InternetGatewayOptions"
|
|
12020
12035
|
}
|
|
12021
12036
|
}
|
|
12022
|
-
]
|
|
12037
|
+
],
|
|
12038
|
+
"returns": {
|
|
12039
|
+
"type": {
|
|
12040
|
+
"fqn": "@aws-cdk/aws-ec2-alpha.InternetGateway"
|
|
12041
|
+
}
|
|
12042
|
+
}
|
|
12023
12043
|
},
|
|
12024
12044
|
{
|
|
12025
12045
|
"docs": {
|
|
@@ -12028,7 +12048,7 @@
|
|
|
12028
12048
|
},
|
|
12029
12049
|
"locationInModule": {
|
|
12030
12050
|
"filename": "lib/vpc-v2-base.ts",
|
|
12031
|
-
"line":
|
|
12051
|
+
"line": 560
|
|
12032
12052
|
},
|
|
12033
12053
|
"name": "addNatGateway",
|
|
12034
12054
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -12084,7 +12104,7 @@
|
|
|
12084
12104
|
},
|
|
12085
12105
|
"locationInModule": {
|
|
12086
12106
|
"filename": "lib/vpc-v2-base.ts",
|
|
12087
|
-
"line":
|
|
12107
|
+
"line": 583
|
|
12088
12108
|
},
|
|
12089
12109
|
"name": "createAcceptorVpcRole",
|
|
12090
12110
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -12109,7 +12129,7 @@
|
|
|
12109
12129
|
},
|
|
12110
12130
|
"locationInModule": {
|
|
12111
12131
|
"filename": "lib/vpc-v2-base.ts",
|
|
12112
|
-
"line":
|
|
12132
|
+
"line": 613
|
|
12113
12133
|
},
|
|
12114
12134
|
"name": "createPeeringConnection",
|
|
12115
12135
|
"overrides": "@aws-cdk/aws-ec2-alpha.IVpcV2",
|
|
@@ -12186,7 +12206,7 @@
|
|
|
12186
12206
|
},
|
|
12187
12207
|
"locationInModule": {
|
|
12188
12208
|
"filename": "lib/vpc-v2-base.ts",
|
|
12189
|
-
"line":
|
|
12209
|
+
"line": 644
|
|
12190
12210
|
},
|
|
12191
12211
|
"name": "selectSubnetObjects",
|
|
12192
12212
|
"parameters": [
|
|
@@ -12453,7 +12473,7 @@
|
|
|
12453
12473
|
"immutable": true,
|
|
12454
12474
|
"locationInModule": {
|
|
12455
12475
|
"filename": "lib/vpc-v2-base.ts",
|
|
12456
|
-
"line":
|
|
12476
|
+
"line": 637
|
|
12457
12477
|
},
|
|
12458
12478
|
"name": "egressOnlyInternetGatewayId",
|
|
12459
12479
|
"optional": true,
|
|
@@ -12469,7 +12489,7 @@
|
|
|
12469
12489
|
"immutable": true,
|
|
12470
12490
|
"locationInModule": {
|
|
12471
12491
|
"filename": "lib/vpc-v2-base.ts",
|
|
12472
|
-
"line":
|
|
12492
|
+
"line": 630
|
|
12473
12493
|
},
|
|
12474
12494
|
"name": "internetGatewayId",
|
|
12475
12495
|
"optional": true,
|
|
@@ -12549,7 +12569,7 @@
|
|
|
12549
12569
|
"immutable": true,
|
|
12550
12570
|
"locationInModule": {
|
|
12551
12571
|
"filename": "lib/vpc-v2-base.ts",
|
|
12552
|
-
"line":
|
|
12572
|
+
"line": 623
|
|
12553
12573
|
},
|
|
12554
12574
|
"name": "vpnGatewayId",
|
|
12555
12575
|
"optional": true,
|
|
@@ -12716,6 +12736,6 @@
|
|
|
12716
12736
|
"symbolId": "lib/vpc-v2:VpcV2Props"
|
|
12717
12737
|
}
|
|
12718
12738
|
},
|
|
12719
|
-
"version": "2.
|
|
12739
|
+
"version": "2.188.0-alpha.0",
|
|
12720
12740
|
"fingerprint": "**********"
|
|
12721
12741
|
}
|
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/lib/ipam.js
CHANGED
|
@@ -262,7 +262,7 @@ class Ipam extends aws_cdk_lib_1.Resource {
|
|
|
262
262
|
}
|
|
263
263
|
exports.Ipam = Ipam;
|
|
264
264
|
_a = JSII_RTTI_SYMBOL_1;
|
|
265
|
-
Ipam[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.Ipam", version: "2.
|
|
265
|
+
Ipam[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.Ipam", version: "2.188.0-alpha.0" };
|
|
266
266
|
__decorate([
|
|
267
267
|
(0, metadata_resource_1.MethodMetadata)()
|
|
268
268
|
], Ipam.prototype, "addScope", null);
|
package/lib/route.js
CHANGED
|
@@ -65,7 +65,7 @@ class EgressOnlyInternetGateway extends core_1.Resource {
|
|
|
65
65
|
}
|
|
66
66
|
exports.EgressOnlyInternetGateway = EgressOnlyInternetGateway;
|
|
67
67
|
_a = JSII_RTTI_SYMBOL_1;
|
|
68
|
-
EgressOnlyInternetGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.EgressOnlyInternetGateway", version: "2.
|
|
68
|
+
EgressOnlyInternetGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.EgressOnlyInternetGateway", version: "2.188.0-alpha.0" };
|
|
69
69
|
/**
|
|
70
70
|
* Creates an internet gateway
|
|
71
71
|
* @resource AWS::EC2::InternetGateway
|
|
@@ -100,7 +100,7 @@ class InternetGateway extends core_1.Resource {
|
|
|
100
100
|
}
|
|
101
101
|
exports.InternetGateway = InternetGateway;
|
|
102
102
|
_b = JSII_RTTI_SYMBOL_1;
|
|
103
|
-
InternetGateway[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.InternetGateway", version: "2.
|
|
103
|
+
InternetGateway[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.InternetGateway", version: "2.188.0-alpha.0" };
|
|
104
104
|
/**
|
|
105
105
|
* Creates a virtual private gateway
|
|
106
106
|
* @resource AWS::EC2::VPNGateway
|
|
@@ -155,7 +155,7 @@ class VPNGatewayV2 extends core_1.Resource {
|
|
|
155
155
|
}
|
|
156
156
|
exports.VPNGatewayV2 = VPNGatewayV2;
|
|
157
157
|
_c = JSII_RTTI_SYMBOL_1;
|
|
158
|
-
VPNGatewayV2[_c] = { fqn: "@aws-cdk/aws-ec2-alpha.VPNGatewayV2", version: "2.
|
|
158
|
+
VPNGatewayV2[_c] = { fqn: "@aws-cdk/aws-ec2-alpha.VPNGatewayV2", version: "2.188.0-alpha.0" };
|
|
159
159
|
/**
|
|
160
160
|
* Creates a network address translation (NAT) gateway
|
|
161
161
|
* @resource AWS::EC2::NatGateway
|
|
@@ -213,7 +213,7 @@ class NatGateway extends core_1.Resource {
|
|
|
213
213
|
}
|
|
214
214
|
exports.NatGateway = NatGateway;
|
|
215
215
|
_d = JSII_RTTI_SYMBOL_1;
|
|
216
|
-
NatGateway[_d] = { fqn: "@aws-cdk/aws-ec2-alpha.NatGateway", version: "2.
|
|
216
|
+
NatGateway[_d] = { fqn: "@aws-cdk/aws-ec2-alpha.NatGateway", version: "2.188.0-alpha.0" };
|
|
217
217
|
/**
|
|
218
218
|
* Creates a peering connection between two VPCs
|
|
219
219
|
* @resource AWS::EC2::VPCPeeringConnection
|
|
@@ -294,7 +294,7 @@ class VPCPeeringConnection extends core_1.Resource {
|
|
|
294
294
|
}
|
|
295
295
|
exports.VPCPeeringConnection = VPCPeeringConnection;
|
|
296
296
|
_e = JSII_RTTI_SYMBOL_1;
|
|
297
|
-
VPCPeeringConnection[_e] = { fqn: "@aws-cdk/aws-ec2-alpha.VPCPeeringConnection", version: "2.
|
|
297
|
+
VPCPeeringConnection[_e] = { fqn: "@aws-cdk/aws-ec2-alpha.VPCPeeringConnection", version: "2.188.0-alpha.0" };
|
|
298
298
|
/**
|
|
299
299
|
* The gateway or endpoint targeted by the route.
|
|
300
300
|
*/
|
|
@@ -315,7 +315,7 @@ class RouteTargetType {
|
|
|
315
315
|
}
|
|
316
316
|
exports.RouteTargetType = RouteTargetType;
|
|
317
317
|
_f = JSII_RTTI_SYMBOL_1;
|
|
318
|
-
RouteTargetType[_f] = { fqn: "@aws-cdk/aws-ec2-alpha.RouteTargetType", version: "2.
|
|
318
|
+
RouteTargetType[_f] = { fqn: "@aws-cdk/aws-ec2-alpha.RouteTargetType", version: "2.188.0-alpha.0" };
|
|
319
319
|
/**
|
|
320
320
|
* Creates a new route with added functionality.
|
|
321
321
|
* @resource AWS::EC2::Route
|
|
@@ -374,7 +374,7 @@ class Route extends core_1.Resource {
|
|
|
374
374
|
}
|
|
375
375
|
exports.Route = Route;
|
|
376
376
|
_g = JSII_RTTI_SYMBOL_1;
|
|
377
|
-
Route[_g] = { fqn: "@aws-cdk/aws-ec2-alpha.Route", version: "2.
|
|
377
|
+
Route[_g] = { fqn: "@aws-cdk/aws-ec2-alpha.Route", version: "2.188.0-alpha.0" };
|
|
378
378
|
/**
|
|
379
379
|
* Creates a route table for the specified VPC
|
|
380
380
|
* @resource AWS::EC2::RouteTable
|
|
@@ -429,7 +429,7 @@ class RouteTable extends core_1.Resource {
|
|
|
429
429
|
}
|
|
430
430
|
exports.RouteTable = RouteTable;
|
|
431
431
|
_h = JSII_RTTI_SYMBOL_1;
|
|
432
|
-
RouteTable[_h] = { fqn: "@aws-cdk/aws-ec2-alpha.RouteTable", version: "2.
|
|
432
|
+
RouteTable[_h] = { fqn: "@aws-cdk/aws-ec2-alpha.RouteTable", version: "2.188.0-alpha.0" };
|
|
433
433
|
__decorate([
|
|
434
434
|
(0, metadata_resource_1.MethodMetadata)()
|
|
435
435
|
], RouteTable.prototype, "addRoute", null);
|
package/lib/subnet-v2.js
CHANGED
|
@@ -26,7 +26,7 @@ class IpCidr {
|
|
|
26
26
|
}
|
|
27
27
|
exports.IpCidr = IpCidr;
|
|
28
28
|
_a = JSII_RTTI_SYMBOL_1;
|
|
29
|
-
IpCidr[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpCidr", version: "2.
|
|
29
|
+
IpCidr[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpCidr", version: "2.188.0-alpha.0" };
|
|
30
30
|
/**
|
|
31
31
|
* Name tag constant
|
|
32
32
|
*/
|
|
@@ -230,7 +230,7 @@ class SubnetV2 extends aws_cdk_lib_1.Resource {
|
|
|
230
230
|
}
|
|
231
231
|
exports.SubnetV2 = SubnetV2;
|
|
232
232
|
_b = JSII_RTTI_SYMBOL_1;
|
|
233
|
-
SubnetV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.SubnetV2", version: "2.
|
|
233
|
+
SubnetV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.SubnetV2", version: "2.188.0-alpha.0" };
|
|
234
234
|
__decorate([
|
|
235
235
|
(0, metadata_resource_1.MethodMetadata)()
|
|
236
236
|
], SubnetV2.prototype, "associateNetworkAcl", null);
|
|
@@ -36,5 +36,5 @@ class TransitGatewayRouteTableAssociation extends transit_gateway_association_1.
|
|
|
36
36
|
}
|
|
37
37
|
exports.TransitGatewayRouteTableAssociation = TransitGatewayRouteTableAssociation;
|
|
38
38
|
_a = JSII_RTTI_SYMBOL_1;
|
|
39
|
-
TransitGatewayRouteTableAssociation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTableAssociation", version: "2.
|
|
39
|
+
TransitGatewayRouteTableAssociation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTableAssociation", version: "2.188.0-alpha.0" };
|
|
40
40
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLWFzc29jaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLWFzc29jaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLGlEQUE2RTtBQUU3RSwrRUFBMEc7QUFDMUcsOEVBQThFO0FBNkI5RTs7OztHQUlHO0FBQ0gsTUFBYSxtQ0FBb0MsU0FBUSwyREFBNkI7SUFNcEYsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQztRQUN2RixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7K0NBUFIsbUNBQW1DOzs7O1FBUTVDLG1DQUFtQztRQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGdEQUFzQyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDcEUsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQixDQUFDLDBCQUEwQjtZQUN4RiwwQkFBMEIsRUFBRSxLQUFLLENBQUMsd0JBQXdCLENBQUMsWUFBWTtTQUN4RSxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7UUFFbEMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7S0FDakQ7O0FBbEJILGtGQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1hdHRhY2htZW50JztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZSc7XG5pbXBvcnQgeyBDZm5UcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlBc3NvY2lhdGlvbiwgVHJhbnNpdEdhdGV3YXlBc3NvY2lhdGlvbkJhc2UgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1hc3NvY2lhdGlvbic7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgVHJhbnNpdCBHYXRld2F5IFJvdXRlIFRhYmxlIEFzc29jaWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbiBleHRlbmRzIElUcmFuc2l0R2F0ZXdheUFzc29jaWF0aW9uIHt9XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnRpZXMgZm9yIGEgVHJhbnNpdCBHYXRld2F5IFJvdXRlIFRhYmxlIEFzc29jaWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgYXNzb2NpYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQ6IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgdHJhbnNpdCBnYXRld2F5IHJvdXRlIHRhYmxlIGFzc29jaWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuXG4gIC8qKlxuICAgKiBQaHlzaWNhbCBuYW1lIG9mIHRoaXMgYXNzb2NpYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXNzaWduZWQgYnkgQ2xvdWRGb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbk5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgVHJhbnNpdCBHYXRld2F5IFJvdXRlIFRhYmxlIEFzc29jaWF0aW9uLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uIGV4dGVuZHMgVHJhbnNpdEdhdGV3YXlBc3NvY2lhdGlvbkJhc2Uge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgYXNzb2NpYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24odGhpcywgaWQsIHtcbiAgICAgIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkOiBwcm9wcy50cmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQsXG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVJZDogcHJvcHMudHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlLnJvdXRlVGFibGVJZCxcbiAgICB9KTtcbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gcmVzb3VyY2U7XG5cbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5QXNzb2NpYXRpb25JZCA9IHJlc291cmNlLnJlZjtcbiAgfVxufVxuIl19
|
|
@@ -36,5 +36,5 @@ class TransitGatewayRouteTablePropagation extends core_1.Resource {
|
|
|
36
36
|
}
|
|
37
37
|
exports.TransitGatewayRouteTablePropagation = TransitGatewayRouteTablePropagation;
|
|
38
38
|
_a = JSII_RTTI_SYMBOL_1;
|
|
39
|
-
TransitGatewayRouteTablePropagation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTablePropagation", version: "2.
|
|
39
|
+
TransitGatewayRouteTablePropagation[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTablePropagation", version: "2.188.0-alpha.0" };
|
|
40
40
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLXByb3BhZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLXByb3BhZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUF1RDtBQUN2RCxpREFBNkU7QUFJN0UsOEVBQThFO0FBbUM5RTs7OztHQUlHO0FBQ0gsTUFBYSxtQ0FBb0MsU0FBUSxlQUFRO0lBTS9ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0M7UUFDdkYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OytDQVBSLG1DQUFtQzs7OztRQVE1QyxtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnREFBc0MsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3BFLDBCQUEwQixFQUFFLEtBQUssQ0FBQywyQkFBMkIsQ0FBQywwQkFBMEI7WUFDeEYsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFlBQVk7U0FDeEUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBRWxDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO0tBQzNEOztBQWxCSCxrRkFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzb3VyY2UsIFJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDZm5UcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktYXR0YWNobWVudCc7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZSBUYWJsZSBQcm9wYWdhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24gZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgcHJvcGFnYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUgVGFibGUgUHJvcGFnYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHRyYW5zaXQgZ2F0ZXdheSByb3V0ZSB0YWJsZSBwcm9wYWdhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudDtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgcHJvcGFnYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG5cbiAgLyoqXG4gICAqIFBoeXNpY2FsIG5hbWUgb2YgdGhpcyBwcm9wYWdhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUgVGFibGUgUHJvcGFnYXRpb24uXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvblxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24gZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHRyYW5zaXQgZ2F0ZXdheSByb3V0ZSB0YWJsZSBwcm9wYWdhdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbklkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24odGhpcywgaWQsIHtcbiAgICAgIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkOiBwcm9wcy50cmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQsXG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGVJZDogcHJvcHMudHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlLnJvdXRlVGFibGVJZCxcbiAgICB9KTtcbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gcmVzb3VyY2U7XG5cbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uSWQgPSByZXNvdXJjZS5yZWY7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -70,5 +70,5 @@ class TransitGatewayRouteTable extends TransitGatewayRouteTableBase {
|
|
|
70
70
|
}
|
|
71
71
|
exports.TransitGatewayRouteTable = TransitGatewayRouteTable;
|
|
72
72
|
_a = JSII_RTTI_SYMBOL_1;
|
|
73
|
-
TransitGatewayRouteTable[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTable", version: "2.
|
|
73
|
+
TransitGatewayRouteTable[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRouteTable", version: "2.188.0-alpha.0" };
|
|
74
74
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUF1RDtBQUd2RCxpREFBK0U7QUFFL0UsbUVBQWtIO0FBQ2xILHVHQUFzSTtBQUN0SSx1R0FBc0k7QUFDdEksOEVBQThFO0FBb0Q5RTs7O0dBR0c7QUFDSCxNQUFlLDRCQUE2QixTQUFRLGVBQVE7SUFJbkQsUUFBUSxDQUFDLEVBQVUsRUFBRSx3QkFBbUQsRUFBRSxlQUF1QjtRQUN0RyxPQUFPLElBQUksMkNBQW1CLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2Qyx3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLHdCQUF3QjtZQUN4QixvQkFBb0IsRUFBRSxlQUFlO1NBQ3RDLENBQUMsQ0FBQztLQUNKO0lBRU0saUJBQWlCLENBQUMsRUFBVSxFQUFFLGVBQXVCO1FBQzFELE9BQU8sSUFBSSxvREFBNEIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ2hELHdCQUF3QixFQUFFLElBQUk7WUFDOUIsb0JBQW9CLEVBQUUsZUFBZTtTQUN0QyxDQUFDLENBQUM7S0FDSjtJQUVNLGNBQWMsQ0FBQyxFQUFVLEVBQUUsd0JBQW1EO1FBQ25GLE9BQU8sSUFBSSw2RUFBbUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3ZELDJCQUEyQixFQUFFLHdCQUF3QjtZQUNyRCx3QkFBd0IsRUFBRSxJQUFJO1NBQy9CLENBQUMsQ0FBQztLQUNKO0lBRU0saUJBQWlCLENBQUMsRUFBVSxFQUFFLHdCQUFtRDtRQUN0RixPQUFPLElBQUksNkVBQW1DLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2RCwyQkFBMkIsRUFBRSx3QkFBd0I7WUFDckQsd0JBQXdCLEVBQUUsSUFBSTtTQUMvQixDQUFDLENBQUM7S0FDSjtDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsNEJBQTRCO0lBT3hFLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0M7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OytDQVJSLHdCQUF3Qjs7OztRQVNqQyxtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxxQ0FBMkIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3pELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsZ0JBQWdCO1NBQ3hELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUVsQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQztRQUM1RCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7S0FDNUM7O0FBcEJILDREQXFCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXNvdXJjZSwgUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5JztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlLCBJUm91dGVUYWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgVHJhbnNpdEdhdGV3YXlSb3V0ZSwgVHJhbnNpdEdhdGV3YXlCbGFja2hvbGVSb3V0ZSwgSVRyYW5zaXRHYXRld2F5Um91dGUgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZSc7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24sIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUtYXNzb2NpYXRpb24nO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uLCBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLXByb3BhZ2F0aW9uJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUgVGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSBleHRlbmRzIElSZXNvdXJjZSwgSVJvdXRlVGFibGUge1xuICAvKipcbiAgICogQWRkIGFuIGFjdGl2ZSByb3V0ZSB0byB0aGlzIHJvdXRlIHRhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVxuICAgKi9cbiAgYWRkUm91dGUoaWQ6IHN0cmluZywgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50OiBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50LCBkZXN0aW5hdGlvbkNpZHI6IHN0cmluZyk6IElUcmFuc2l0R2F0ZXdheVJvdXRlO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBibGFja2hvbGUgcm91dGUgdG8gdGhpcyByb3V0ZSB0YWJsZS5cbiAgICpcbiAgICogQHJldHVybnMgSVRyYW5zaXRHYXRld2F5Um91dGVcbiAgICovXG4gIGFkZEJsYWNraG9sZVJvdXRlKGlkOiBzdHJpbmcsIGRlc3RpbmF0aW9uQ2lkcjogc3RyaW5nKTogSVRyYW5zaXRHYXRld2F5Um91dGU7XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSB0aGUgcHJvdmlkZWQgQXR0YWNobWVudHMgd2l0aCB0aGlzIHJvdXRlIHRhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb25cbiAgICovXG4gIGFkZEFzc29jaWF0aW9uKGlkOiBzdHJpbmcsIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCk6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbjtcblxuICAvKipcbiAgICogRW5hYmxlIHByb3BhZ2F0aW9uIGZyb20gdGhlIHByb3ZpZGVkIEF0dGFjaG1lbnRzIHRvIHRoaXMgcm91dGUgdGFibGUuXG4gICAqXG4gICAqIEByZXR1cm5zIElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvblxuICAgKi9cbiAgZW5hYmxlUHJvcGFnYXRpb24oaWQ6IHN0cmluZywgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50OiBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50KTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uO1xufVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZSBUYWJsZSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgVHJhbnNpdCBHYXRld2F5IHRoYXQgdGhpcyByb3V0ZSB0YWJsZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXk6IElUcmFuc2l0R2F0ZXdheTtcblxuICAvKipcbiAgICogUGh5c2ljYWwgbmFtZSBvZiB0aGlzIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZSBUYWJsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBUcmFuc2l0IEdhdGV3YXkgUm91dGUgVGFibGUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuYWJzdHJhY3QgY2xhc3MgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZVRhYmxlSWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5OiBJVHJhbnNpdEdhdGV3YXk7XG5cbiAgcHVibGljIGFkZFJvdXRlKGlkOiBzdHJpbmcsIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCwgZGVzdGluYXRpb25DaWRyOiBzdHJpbmcpOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlKHRoaXMsIGlkLCB7XG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHRoaXMsXG4gICAgICB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQsXG4gICAgICBkZXN0aW5hdGlvbkNpZHJCbG9jazogZGVzdGluYXRpb25DaWRyLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZEJsYWNraG9sZVJvdXRlKGlkOiBzdHJpbmcsIGRlc3RpbmF0aW9uQ2lkcjogc3RyaW5nKTogSVRyYW5zaXRHYXRld2F5Um91dGUge1xuICAgIHJldHVybiBuZXcgVHJhbnNpdEdhdGV3YXlCbGFja2hvbGVSb3V0ZSh0aGlzLCBpZCwge1xuICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiB0aGlzLFxuICAgICAgZGVzdGluYXRpb25DaWRyQmxvY2s6IGRlc3RpbmF0aW9uQ2lkcixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRBc3NvY2lhdGlvbihpZDogc3RyaW5nLCB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQ6IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQpOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24odGhpcywgaWQsIHtcbiAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50LFxuICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZVByb3BhZ2F0aW9uKGlkOiBzdHJpbmcsIHRyYW5zaXRHYXRld2F5QXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCk6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbih0aGlzLCBpZCwge1xuICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQsXG4gICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHRoaXMsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgVHJhbnNpdCBHYXRld2F5IHJvdXRlIHRhYmxlLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHJvdXRlVGFibGVJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheTogSVRyYW5zaXRHYXRld2F5O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5UcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUodGhpcywgaWQsIHtcbiAgICAgIHRyYW5zaXRHYXRld2F5SWQ6IHByb3BzLnRyYW5zaXRHYXRld2F5LnRyYW5zaXRHYXRld2F5SWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gcmVzb3VyY2U7XG5cbiAgICB0aGlzLnJvdXRlVGFibGVJZCA9IHJlc291cmNlLmF0dHJUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVJZDtcbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5ID0gcHJvcHMudHJhbnNpdEdhdGV3YXk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -45,7 +45,7 @@ class TransitGatewayRoute extends TransitGatewayRouteBase {
|
|
|
45
45
|
}
|
|
46
46
|
exports.TransitGatewayRoute = TransitGatewayRoute;
|
|
47
47
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
TransitGatewayRoute[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRoute", version: "2.
|
|
48
|
+
TransitGatewayRoute[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayRoute", version: "2.188.0-alpha.0" };
|
|
49
49
|
/**
|
|
50
50
|
* Create a Transit Gateway Blackhole Route.
|
|
51
51
|
*
|
|
@@ -77,5 +77,5 @@ class TransitGatewayBlackholeRoute extends TransitGatewayRouteBase {
|
|
|
77
77
|
}
|
|
78
78
|
exports.TransitGatewayBlackholeRoute = TransitGatewayBlackholeRoute;
|
|
79
79
|
_b = JSII_RTTI_SYMBOL_1;
|
|
80
|
-
TransitGatewayBlackholeRoute[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayBlackholeRoute", version: "2.
|
|
80
|
+
TransitGatewayBlackholeRoute[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayBlackholeRoute", version: "2.188.0-alpha.0" };
|
|
81
81
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUF1RDtBQUV2RCxpREFBNkQ7QUFHN0QsOEVBQThFO0FBNEQ5RTs7O0dBR0c7QUFDSCxNQUFlLHVCQUF3QixTQUFRLGVBQVE7Q0FHdEQ7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSx1QkFBdUI7SUFTOUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7K0NBVlIsbUJBQW1COzs7O1FBVzVCLG1DQUFtQztRQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0NBQXNCLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQ3RFLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7WUFDaEQsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFlBQVk7WUFDdkUsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixFQUFFLDBCQUEwQjtTQUN2RixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1FBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLHdCQUF3QixDQUFDO0tBQ2xEOztBQXhCSCxrREF5QkM7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLDRCQUE2QixTQUFRLHVCQUF1QjtJQUl2RSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdDO1FBQ2hGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzsrQ0FMUiw0QkFBNEI7Ozs7UUFNckMsbUNBQW1DO1FBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksZ0NBQXNCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxTQUFTLEVBQUUsSUFBSTtZQUNmLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7WUFDaEQsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFlBQVk7U0FDeEUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsd0JBQXdCLENBQUM7S0FDbEQ7O0FBbEJILG9FQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZXNvdXJjZSwgUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1hdHRhY2htZW50JztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zaXRHYXRld2F5Um91dGUgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIGRlc3RpbmF0aW9uIENJRFIgYmxvY2sgZm9yIHRoaXMgcm91dGUuXG4gICAqXG4gICAqIERlc3RpbmF0aW9uIENpZHIgY2Fubm90IG92ZXJsYXAgZm9yIHN0YXRpYyByb3V0ZXMgYnV0IGlzIGFsbG93ZWQgZm9yIHByb3BhZ2F0ZWQgcm91dGVzLlxuICAgKiBXaGVuIG92ZXJsYXBwaW5nIG9jY3Vycywgc3RhdGljIHJvdXRlcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcm9wYWdhdGVkIHJvdXRlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uQ2lkckJsb2NrOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0cmFuc2l0IGdhdGV3YXkgcm91dGUgdGFibGUgdGhpcyByb3V0ZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgYSBUcmFuc2l0IEdhdGV3YXkgUm91dGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVRyYW5zaXRHYXRld2F5Um91dGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gQ0lEUiBibG9jayBmb3IgdGhpcyByb3V0ZS5cbiAgICpcbiAgICogRGVzdGluYXRpb24gQ2lkciBjYW5ub3Qgb3ZlcmxhcCBmb3Igc3RhdGljIHJvdXRlcyBidXQgaXMgYWxsb3dlZCBmb3IgcHJvcGFnYXRlZCByb3V0ZXMuXG4gICAqIFdoZW4gb3ZlcmxhcHBpbmcgb2NjdXJzLCBzdGF0aWMgcm91dGVzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByb3BhZ2F0ZWQgcm91dGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb25DaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSByb3V0ZSB0YWJsZSB5b3Ugd2FudCB0byBpbnN0YWxsIHRoaXMgcm91dGUgaW50by5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcblxuICAvKipcbiAgICogUGh5c2ljYWwgbmFtZSBvZiB0aGlzIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Um91dGVOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhIFRyYW5zaXQgR2F0ZXdheSBSb3V0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0R2F0ZXdheVJvdXRlUHJvcHMgZXh0ZW5kcyBCYXNlVHJhbnNpdEdhdGV3YXlSb3V0ZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB0cmFuc2l0IGdhdGV3YXkgYXR0YWNobWVudCB0byByb3V0ZSB0aGUgdHJhZmZpYyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5QXR0YWNobWVudDogSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudDtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFRyYW5zaXQgR2F0ZXdheSBCbGFja2hvbGUgUm91dGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlCbGFja2hvbGVSb3V0ZVByb3BzIGV4dGVuZHMgQmFzZVRyYW5zaXRHYXRld2F5Um91dGVQcm9wcyB7fVxuXG4vKipcbiAqIEEgVHJhbnNpdCBHYXRld2F5IFJvdXRlLlxuICogQGludGVybmFsXG4gKi9cbmFic3RyYWN0IGNsYXNzIFRyYW5zaXRHYXRld2F5Um91dGVCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVHJhbnNpdEdhdGV3YXlSb3V0ZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuICBwdWJsaWMgYWJzdHJhY3QgZGVzdGluYXRpb25DaWRyQmxvY2s6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBUcmFuc2l0IEdhdGV3YXkgQWN0aXZlIFJvdXRlLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNpdEdhdGV3YXlSb3V0ZSBleHRlbmRzIFRyYW5zaXRHYXRld2F5Um91dGVCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG4gIHB1YmxpYyByZWFkb25seSBkZXN0aW5hdGlvbkNpZHJCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgVHJhbnNpdCBHYXRld2F5IFJvdXRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBDZm5UcmFuc2l0R2F0ZXdheVJvdXRlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheVJvdXRlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5UcmFuc2l0R2F0ZXdheVJvdXRlKHRoaXMsICdUcmFuc2l0R2F0ZXdheVJvdXRlJywge1xuICAgICAgYmxhY2tob2xlOiBmYWxzZSxcbiAgICAgIGRlc3RpbmF0aW9uQ2lkckJsb2NrOiBwcm9wcy5kZXN0aW5hdGlvbkNpZHJCbG9jayxcbiAgICAgIHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUlkOiBwcm9wcy50cmFuc2l0R2F0ZXdheVJvdXRlVGFibGUucm91dGVUYWJsZUlkLFxuICAgICAgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQ6IHByb3BzLnRyYW5zaXRHYXRld2F5QXR0YWNobWVudD8udHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gdGhpcy5yZXNvdXJjZTtcbiAgICB0aGlzLmRlc3RpbmF0aW9uQ2lkckJsb2NrID0gdGhpcy5yZXNvdXJjZS5kZXN0aW5hdGlvbkNpZHJCbG9jaztcbiAgICB0aGlzLnJvdXRlVGFibGUgPSBwcm9wcy50cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBUcmFuc2l0IEdhdGV3YXkgQmxhY2tob2xlIFJvdXRlLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNpdEdhdGV3YXlCbGFja2hvbGVSb3V0ZSBleHRlbmRzIFRyYW5zaXRHYXRld2F5Um91dGVCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG4gIHB1YmxpYyByZWFkb25seSBkZXN0aW5hdGlvbkNpZHJCbG9jazogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheUJsYWNraG9sZVJvdXRlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlSb3V0ZSh0aGlzLCBpZCwge1xuICAgICAgYmxhY2tob2xlOiB0cnVlLFxuICAgICAgZGVzdGluYXRpb25DaWRyQmxvY2s6IHByb3BzLmRlc3RpbmF0aW9uQ2lkckJsb2NrLFxuICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlSWQ6IHByb3BzLnRyYW5zaXRHYXRld2F5Um91dGVUYWJsZS5yb3V0ZVRhYmxlSWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gcmVzb3VyY2U7XG4gICAgdGhpcy5kZXN0aW5hdGlvbkNpZHJCbG9jayA9IHJlc291cmNlLmRlc3RpbmF0aW9uQ2lkckJsb2NrO1xuICAgIHRoaXMucm91dGVUYWJsZSA9IHByb3BzLnRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbiAgfVxufVxuIl19
|
|
@@ -92,5 +92,5 @@ class TransitGatewayVpcAttachment extends transit_gateway_attachment_1.TransitGa
|
|
|
92
92
|
}
|
|
93
93
|
exports.TransitGatewayVpcAttachment = TransitGatewayVpcAttachment;
|
|
94
94
|
_a = JSII_RTTI_SYMBOL_1;
|
|
95
|
-
TransitGatewayVpcAttachment[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment", version: "2.
|
|
95
|
+
TransitGatewayVpcAttachment[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment", version: "2.188.0-alpha.0" };
|
|
96
96
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGlEQUFpRjtBQUVqRix1R0FBZ0c7QUFDaEcsdUdBQWdHO0FBQ2hHLDZFQUF1RztBQUN2RyxpQ0FBMEM7QUFFMUMsNkNBQTBDO0FBQzFDLDhFQUE4RTtBQTZHOUU7Ozs7R0FJRztBQUNILE1BQWEsMkJBQTRCLFNBQVEseURBQTRCO0lBUzNFLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUM7UUFDL0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQVJGLFlBQU8sR0FBYyxFQUFFLENBQUM7Ozs7OzsrQ0FGOUIsMkJBQTJCOzs7O1FBV3BDLG1DQUFtQztRQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUkscUNBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN6RCxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDekQsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0I7WUFDdkQsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSztZQUN0QixPQUFPLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDcEMsb0JBQW9CLEVBQUUsSUFBQSx1QkFBZ0IsRUFBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUM7Z0JBQ3hGLFVBQVUsRUFBRSxJQUFBLHVCQUFnQixFQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUM7Z0JBQ3BF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QWtCLE1BQU0sQ0FBQyxRQUFRLHFDQUFxQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO1lBQzVILENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3hFOztBQTlFSCxrRUErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXkgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheSc7XG5pbXBvcnQgeyBDZm5UcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQsIElTdWJuZXQsIElWcGMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24gfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZS1hc3NvY2lhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLXByb3BhZ2F0aW9uJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQsIFRyYW5zaXRHYXRld2F5QXR0YWNobWVudEJhc2UgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1hdHRhY2htZW50JztcbmltcG9ydCB7IGdldEZlYXR1cmVTdGF0dXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlJztcbmltcG9ydCB7IEFubm90YXRpb25zIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGFwcGxpYW5jZSBtb2RlIHN1cHBvcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBhcHBsaWFuY2VNb2RlU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIEROUyBzdXBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRpc2FibGUgKGZhbHNlKVxuICAgKi9cbiAgcmVhZG9ubHkgZG5zU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIElQdjYgc3VwcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlcyB5b3UgdG8gcmVmZXJlbmNlIGEgc2VjdXJpdHkgZ3JvdXAgYWNyb3NzIFZQQ3MgYXR0YWNoZWQgdG8gYSB0cmFuc2l0IGdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQgZXh0ZW5kcyBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50IHtcbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHN1Ym5ldHMgdG8gdGhpcyBhdHRhY2htZW50LlxuICAgKi9cbiAgYWRkU3VibmV0cyhzdWJuZXRzOiBJU3VibmV0W10pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgc3VibmV0cyBmcm9tIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIHJlbW92ZVN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQuXG4gKi9cbmludGVyZmFjZSBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogQSBsaXN0IG9mIG9uZSBvciBtb3JlIHN1Ym5ldHMgdG8gcGxhY2UgdGhlIGF0dGFjaG1lbnQgaW4uXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIHNwZWNpZnkgbW9yZSBzdWJuZXRzIGZvciBiZXR0ZXIgYXZhaWxhYmlsaXR5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0czogSVN1Ym5ldFtdO1xuXG4gIC8qKlxuICAgKiBBIFZQQyBhdHRhY2htZW50KHMpIHdpbGwgZ2V0IGFzc2lnbmVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGF0dGFjaG1lbnQgb3B0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbGwgb3B0aW9ucyBhcmUgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNBdHRhY2htZW50T3B0aW9ucz86IElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBQaHlzaWNhbCBuYW1lIG9mIHRoaXMgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFzc2lnbmVkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMgZXh0ZW5kcyBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSB0aGlzIGF0dGFjaG1lbnQgZ2V0cyBhc3NpZ25lZCB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5OiBJVHJhbnNpdEdhdGV3YXk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYW4gQXR0YWNobWVudCB2aWEgdGhlIGF0dGFjaFZwYygpIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRhY2hWcGNPcHRpb25zIGV4dGVuZHMgQmFzZVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudFByb3BzIHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHJvdXRlIHRhYmxlIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgVlBDIGF0dGFjaG1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYXNzb2NpYXRpb25zIHdpbGwgYmUgY3JlYXRlZCB1bmxlc3MgaXQgaXMgZm9yIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGFuZCBhdXRvbWF0aWMgYXNzb2NpYXRpb24gaXMgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc29jaWF0aW9uUm91dGVUYWJsZT86IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBvcHRpb25hbCByb3V0ZSB0YWJsZXMgdG8gcHJvcGFnYXRlIHJvdXRlcyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwcm9wYWdhdGlvbnMgd2lsbCBiZSBjcmVhdGVkIHVubGVzcyBpdCBpcyBmb3IgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgYW5kIGF1dG9tYXRpYyBwcm9wYWdhdGlvbiBpcyBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGFnYXRpb25Sb3V0ZVRhYmxlcz86IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlBdHRhY2htZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRCYXNlIGltcGxlbWVudHMgSVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCB7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHN1Ym5ldHM6IElTdWJuZXRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgVHJhbnNpdCBHYXRld2F5IEF0dGFjaG1lbnQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNvdXJjZTogQ2ZuVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLl9yZXNvdXJjZSA9IG5ldyBDZm5UcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQodGhpcywgaWQsIHtcbiAgICAgIHN1Ym5ldElkczogcHJvcHMuc3VibmV0cy5tYXAoKHN1Ym5ldCkgPT4gc3VibmV0LnN1Ym5ldElkKSxcbiAgICAgIHRyYW5zaXRHYXRld2F5SWQ6IHByb3BzLnRyYW5zaXRHYXRld2F5LnRyYW5zaXRHYXRld2F5SWQsXG4gICAgICB2cGNJZDogcHJvcHMudnBjLnZwY0lkLFxuICAgICAgb3B0aW9uczogcHJvcHMudnBjQXR0YWNobWVudE9wdGlvbnMgPyB7XG4gICAgICAgIEFwcGxpYW5jZU1vZGVTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5hcHBsaWFuY2VNb2RlU3VwcG9ydCksXG4gICAgICAgIERuc1N1cHBvcnQ6IGdldEZlYXR1cmVTdGF0dXMocHJvcHMudnBjQXR0YWNobWVudE9wdGlvbnM/LmRuc1N1cHBvcnQpLFxuICAgICAgICBJcHY2U3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uaXB2NlN1cHBvcnQpLFxuICAgICAgICBTZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0KSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX3Jlc291cmNlO1xuXG4gICAgdGhpcy50cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRJZCA9IHRoaXMuX3Jlc291cmNlLmF0dHJJZDtcbiAgICB0aGlzLnN1Ym5ldHMgPSBwcm9wcy5zdWJuZXRzO1xuXG4gICAgaWYgKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5kbnNTdXBwb3J0ICYmICFwcm9wcy50cmFuc2l0R2F0ZXdheS5kbnNTdXBwb3J0KSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nVjIoJ0Bhd3MtY2RrL2F3cy1lYzI6dHJhbnNpdEdhdGV3YXlEbnNTdXBwb3J0TWlzbWF0Y2gnLCAnXFwnRG5zU3VwcG9ydFxcJyBpcyBlbmFibGVkIGZvciB0aGUgVlBDIEF0dGFjaG1lbnQgYnV0IGRpc2FibGVkIG9uIHRoZSBUcmFuc2l0R2F0ZXdheS4gVGhlIGZlYXR1cmUgd2lsbCBub3Qgd29yayB1bmxlc3MgXFwnRG5zU3VwcG9ydFxcJyBpcyBlbmFibGVkIG9uIGJvdGguJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0ICYmICFwcm9wcy50cmFuc2l0R2F0ZXdheS5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0KSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nVjIoJ0Bhd3MtY2RrL2F3cy1lYzI6dHJhbnNpdEdhdGV3YXlTZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0TWlzbWF0Y2gnLCAnXFwnU2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydFxcJyBpcyBlbmFibGVkIGZvciB0aGUgVlBDIEF0dGFjaG1lbnQgYnV0IGRpc2FibGVkIG9uIHRoZSBUcmFuc2l0R2F0ZXdheS4gVGhlIGZlYXR1cmUgd2lsbCBub3Qgd29yayB1bmxlc3MgXFwnU2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydFxcJyBpcyBlbmFibGVkIG9uIGJvdGguJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb24pIHtcbiAgICAgIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbih0aGlzLCBpZCArICdBc3NvY2lhdGlvbicsIHtcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiB0aGlzLFxuICAgICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb24pIHtcbiAgICAgIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbih0aGlzLCBpZCArICdQcm9wYWdhdGlvbicsIHtcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiB0aGlzLFxuICAgICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHN1Ym5ldHMgdG8gdGhpcyBhdHRhY2htZW50LlxuICAgKi9cbiAgYWRkU3VibmV0cyhzdWJuZXRzOiBJU3VibmV0W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1Ym5ldCBvZiBzdWJuZXRzKSB7XG4gICAgICBpZiAodGhpcy5zdWJuZXRzLnNvbWUoZXhpc3RpbmcgPT4gZXhpc3Rpbmcuc3VibmV0SWQgPT09IHN1Ym5ldC5zdWJuZXRJZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdWJuZXQgd2l0aCBJRCAke3N1Ym5ldC5zdWJuZXRJZH0gaXMgYWxyZWFkeSBhZGRlZCB0byB0aGUgQXR0YWNobWVudCAke3RoaXMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWR9LmApO1xuICAgICAgfVxuICAgICAgdGhpcy5zdWJuZXRzLnB1c2goc3VibmV0KTtcbiAgICB9XG4gICAgdGhpcy5fcmVzb3VyY2Uuc3VibmV0SWRzID0gdGhpcy5zdWJuZXRzLm1hcChzdWJuZXQgPT4gc3VibmV0LnN1Ym5ldElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYWRkaXRpb25hbCBzdWJuZXRzIHRvIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIHJlbW92ZVN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJuZXQgb2Ygc3VibmV0cykge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnN1Ym5ldHMuZmluZEluZGV4KGV4aXN0aW5nID0+IGV4aXN0aW5nLnN1Ym5ldElkID09PSBzdWJuZXQuc3VibmV0SWQpO1xuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFN1Ym5ldCB3aXRoIElEICR7c3VibmV0LnN1Ym5ldElkfSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgQXR0YWNobWVudCAke3RoaXMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWR9LmApO1xuICAgICAgfVxuICAgICAgdGhpcy5zdWJuZXRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuX3Jlc291cmNlLnN1Ym5ldElkcyA9IHRoaXMuc3VibmV0cy5tYXAoc3VibmV0ID0+IHN1Ym5ldC5zdWJuZXRJZCk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/transit-gateway.js
CHANGED
|
@@ -109,5 +109,5 @@ class TransitGateway extends TransitGatewayBase {
|
|
|
109
109
|
}
|
|
110
110
|
exports.TransitGateway = TransitGateway;
|
|
111
111
|
_a = JSII_RTTI_SYMBOL_1;
|
|
112
|
-
TransitGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGateway", version: "2.
|
|
112
|
+
TransitGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGateway", version: "2.188.0-alpha.0" };
|
|
113
113
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUFvRTtBQUNwRSx3Q0FBd0M7QUFFeEMsK0VBQW9HO0FBQ3BHLHFGQUErSDtBQUUvSCx1R0FBZ0c7QUFDaEcsdUdBQWdHO0FBQ2hHLGlDQUF1RTtBQUN2RSw4RUFBOEU7QUFxSTlFOzs7R0FHRztBQUNILE1BQWUsa0JBQW1CLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFXcEQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxFQUFVO1FBQzdCLE9BQU8sSUFBSSxzREFBd0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQzVDLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxFQUFVLEVBQUUsT0FBeUI7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSw0REFBMkIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQzNELGNBQWMsRUFBRSxJQUFJO1lBQ3BCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLFNBQVM7U0FDaEUsQ0FBQyxDQUFDO1FBRUgsdUlBQXVJO1FBQ3ZJLDBKQUEwSjtRQUMxSixJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixLQUFLLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUFDO1lBQ3RJLElBQUksNkVBQW1DLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbkYsMkJBQTJCLEVBQUUsVUFBVTtnQkFDdkMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHFCQUFxQjthQUN4RCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNuQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3RFLHVJQUF1STtnQkFDdkksMEpBQTBKO2dCQUMxSixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEtBQUsscUJBQXFCLElBQUksSUFBSSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztvQkFDN0YsSUFBSSw2RUFBbUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixLQUFLLEVBQUUsRUFBRTt3QkFDMUUsMkJBQTJCLEVBQUUsVUFBVTt3QkFDdkMsd0JBQXdCLEVBQUUscUJBQXFCO3FCQUNoRCxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDO0tBQ25CO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsa0JBQWtCO0lBV3BELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBNkIsRUFBRTtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7K0NBWlIsY0FBYzs7OztRQWF2QixtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSwyQkFBaUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQy9DLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLFNBQVM7WUFDL0MsMkJBQTJCLEVBQUUsSUFBQSx1QkFBZ0IsRUFBQyxLQUFLLENBQUMsMkJBQTJCLENBQUM7WUFDaEYsa0lBQWtJO1lBQ2xJLHdJQUF3STtZQUN4SSw0QkFBNEIsRUFBRSxrQ0FBMkIsQ0FBQyxPQUFPO1lBQ2pFLDRCQUE0QixFQUFFLGtDQUEyQixDQUFDLE9BQU87WUFDakUsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QjtZQUN4RCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsVUFBVSxFQUFFLElBQUEsdUJBQWdCLEVBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUM5QywrQkFBK0IsRUFBRSxJQUFBLHVCQUFnQixFQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQztTQUN6RixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsb0JBQVUsQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQywrQkFBK0IsR0FBRyxLQUFLLENBQUMsK0JBQStCLElBQUksS0FBSyxDQUFDO1FBRXRGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLHNEQUF3QixDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMvRSxjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixJQUFJLElBQUksQ0FBQztRQUMvRSxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixJQUFJLElBQUksQ0FBQztLQUNoRjs7QUEzQ0gsd0NBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuVHJhbnNpdEdhdGV3YXksIFJvdXRlclR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSwgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUnO1xuaW1wb3J0IHsgVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50LCBBdHRhY2hWcGNPcHRpb25zLCBJVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktdnBjLWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgSVJvdXRlVGFyZ2V0IH0gZnJvbSAnLi9yb3V0ZSc7XG5pbXBvcnQgeyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbiB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLWFzc29jaWF0aW9uJztcbmltcG9ydCB7IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUtcHJvcGFnYXRpb24nO1xuaW1wb3J0IHsgZ2V0RmVhdHVyZVN0YXR1cywgVHJhbnNpdEdhdGV3YXlGZWF0dXJlU3RhdHVzIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBUcmFuc2l0IEdhdGV3YXkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zaXRHYXRld2F5IGV4dGVuZHMgY2RrLklSZXNvdXJjZSwgSVJvdXRlVGFyZ2V0IHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgVHJhbnNpdCBHYXRld2F5LlxuICAgKlxuICAgKiBUaGlzIElEIGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgYnkgQVdTIHVwb24gY3JlYXRpb24gb2YgdGhlIFRyYW5zaXQgR2F0ZXdheVxuICAgKiBhbmQgaXMgdXNlZCB0byByZWZlcmVuY2UgaXQgaW4gdmFyaW91cyBjb25maWd1cmF0aW9ucyBhbmQgb3BlcmF0aW9ucy5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICpcbiAgICogVGhlIEFSTiB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBUcmFuc2l0IEdhdGV3YXkgYWNyb3NzIEFXUyBhbmQgaXMgY29tbW9ubHlcbiAgICogdXNlZCBmb3IgcGVybWlzc2lvbnMgYW5kIHJlc291cmNlIHRyYWNraW5nLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCByb3V0ZSB0YWJsZSBhc3NvY2lhdGVkIHdpdGggdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICpcbiAgICogVGhpcyByb3V0ZSB0YWJsZSBpcyBjcmVhdGVkIGJ5IHRoZSBDREsgYW5kIGlzIHVzZWQgdG8gbWFuYWdlIHRoZSByb3V0ZXNcbiAgICogZm9yIGF0dGFjaG1lbnRzIHRoYXQgZG8gbm90IGhhdmUgYW4gZXhwbGljaXRseSBkZWZpbmVkIHJvdXRlIHRhYmxlIGFzc29jaWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG5ldyBhdHRhY2htZW50cyBhcmUgYXV0b21hdGljYWxseSBhc3NvY2lhdGVkIHdpdGggdGhlIGRlZmF1bHQgcm91dGUgdGFibGUuXG4gICAqXG4gICAqIElmIHNldCB0byBgdHJ1ZWAsIGFueSBWUEMgb3IgVlBOIGF0dGFjaG1lbnQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFzc29jaWF0ZWQgd2l0aFxuICAgKiB0aGUgZGVmYXVsdCByb3V0ZSB0YWJsZSB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHJvdXRlIHByb3BhZ2F0aW9uIHRvIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIFdoZW4gc2V0IHRvIGB0cnVlYCwgcm91dGVzIGZyb20gYXR0YWNobWVudHMgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHByb3BhZ2F0ZWRcbiAgICogdG8gdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgdW5sZXNzIHByb3BhZ2F0aW9uIGlzIGV4cGxpY2l0bHkgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBETlMgc3VwcG9ydCBpcyBlbmFibGVkIG9uIHRoZSBUcmFuc2l0IEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBkbnNTdXBwb3J0OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBzZWN1cml0eSBncm91cCByZWZlcmVuY2luZyBzdXBwb3J0IGlzIGVuYWJsZWQgb24gdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgVHJhbnNpdCBHYXRld2F5IHJlc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zaXRHYXRld2F5UHJvcHMge1xuICAvKipcbiAgICogUGh5c2ljYWwgbmFtZSBvZiB0aGlzIFRyYW5zaXQgR2F0ZXdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBwcml2YXRlIEF1dG9ub21vdXMgU3lzdGVtIE51bWJlciAoQVNOKSBmb3IgdGhlIEFtYXpvbiBzaWRlIG9mIGEgQkdQIHNlc3Npb24uIFRoZSByYW5nZSBpcyA2NDUxMiB0byA2NTUzNCBmb3IgMTYtYml0IEFTTnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkLCA2NDUxMiBpcyBhc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGFtYXpvblNpZGVBc24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGF1dG9tYXRpYyBhY2NlcHRhbmNlIG9mIGNyb3NzLWFjY291bnQgYXR0YWNobWVudCByZXF1ZXN0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9BY2NlcHRTaGFyZWRBdHRhY2htZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGF1dG9tYXRpYyBhc3NvY2lhdGlvbiB3aXRoIHRoZSBkZWZhdWx0IGFzc29jaWF0aW9uIHJvdXRlIHRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVuYWJsZSAodHJ1ZSlcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBhdXRvbWF0aWMgcHJvcGFnYXRpb24gb2Ygcm91dGVzIHRvIHRoZSBkZWZhdWx0IHByb3BhZ2F0aW9uIHJvdXRlIHRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVuYWJsZSAodHJ1ZSlcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHRyYW5zaXQgZ2F0ZXdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIEROUyBzdXBwb3J0LlxuICAgKlxuICAgKiBJZiBkbnNTdXBwb3J0IGlzIGVuYWJsZWQgb24gYSBWUEMgQXR0YWNobWVudCwgdGhpcyBhbHNvIG5lZWRzIHRvIGJlIGVuYWJsZWQgZm9yIHRoZSBmZWF0dXJlIHRvIHdvcmsuXG4gICAqIE90aGVyd2lzZSB0aGUgcmVzb3VyY2VzIHdpbGwgc3RpbGwgZGVwbG95IGJ1dCB0aGUgZmVhdHVyZSB3aWxsIG5vdCB3b3JrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVuYWJsZSAodHJ1ZSlcbiAgICovXG4gIHJlYWRvbmx5IGRuc1N1cHBvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzZWN1cml0eSBncm91cCByZWZlcmVuY2luZyBzdXBwb3J0XG4gICAqXG4gICAqIElmIHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQgaXMgZW5hYmxlZCBvbiBhIFZQQyBBdHRhY2htZW50LCB0aGlzIGFsc28gbmVlZHMgdG8gYmUgZW5hYmxlZCBmb3IgdGhlIGZlYXR1cmUgdG8gd29yay5cbiAgICogT3RoZXJ3aXNlIHRoZSByZXNvdXJjZXMgd2lsbCBzdGlsbCBkZXBsb3kgYnV0IHRoZSBmZWF0dXJlIHdpbGwgbm90IHdvcmsuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSBDSURSIGJsb2Nrcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheUNpZHJCbG9ja3M/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBIFRyYW5zaXQgR2F0ZXdheS5cbiAqIEBpbnRlcm5hbFxuICovXG5hYnN0cmFjdCBjbGFzcyBUcmFuc2l0R2F0ZXdheUJhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJVHJhbnNpdEdhdGV3YXksIElSb3V0ZVRhcmdldCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZXJUeXBlOiBSb3V0ZXJUeXBlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm91dGVyVGFyZ2V0SWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5SWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5QXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb246IGJvb2xlYW47XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uOiBib29sZWFuO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZG5zU3VwcG9ydDogYm9vbGVhbjtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgcm91dGUgdGFibGUgdG8gdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgVHJhbnNpdCBHYXRld2F5IHJvdXRlIHRhYmxlLlxuICAgKi9cbiAgcHVibGljIGFkZFJvdXRlVGFibGUoaWQ6IHN0cmluZyk6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUge1xuICAgIHJldHVybiBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlKHRoaXMsIGlkLCB7XG4gICAgICB0cmFuc2l0R2F0ZXdheTogdGhpcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhIFZQQyB0byB0aGUgVHJhbnNpdCBHYXRld2F5LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBUcmFuc2l0IEdhdGV3YXkgVlBDIGF0dGFjaG1lbnQuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoVnBjKGlkOiBzdHJpbmcsIG9wdGlvbnM6IEF0dGFjaFZwY09wdGlvbnMpOiBJVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50IHtcbiAgICBjb25zdCBhdHRhY2htZW50ID0gbmV3IFRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCh0aGlzLCBpZCwge1xuICAgICAgdHJhbnNpdEdhdGV3YXk6IHRoaXMsXG4gICAgICB2cGM6IG9wdGlvbnMudnBjLFxuICAgICAgc3VibmV0czogb3B0aW9ucy5zdWJuZXRzLFxuICAgICAgdnBjQXR0YWNobWVudE9wdGlvbnM6IG9wdGlvbnMudnBjQXR0YWNobWVudE9wdGlvbnMgPz8gdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgLy8gSWYgYGFzc29jaWF0aW9uUm91dGVUYWJsZWAgaXMgcHJvdmlkZWQsIHNraXAgY3JlYXRpbmcgdGhlIEFzc29jaWF0aW9uIG9ubHkgaWYgYGFzc29jaWF0aW9uUm91dGVUYWJsZWAgaXMgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgYW5kXG4gICAgLy8gYXV0b21hdGljIGFzc29jaWF0aW9uIChgZGVmYXVsdFJvdXRlVGFibGVBc3NvY2lhdGlvbmApIGlzIGVuYWJsZWQsIGFzIHRoZSBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBdHRhY2htZW50J3MgY29uc3RydWN0b3Igd2lsbCBoYW5kbGUgaXQgaW4gdGhhdCBjYXNlLlxuICAgIGlmIChvcHRpb25zLmFzc29jaWF0aW9uUm91dGVUYWJsZSAmJiAhKHRoaXMuZGVmYXVsdFJvdXRlVGFibGUgPT09IG9wdGlvbnMuYXNzb2NpYXRpb25Sb3V0ZVRhYmxlICYmIHRoaXMuZGVmYXVsdFJvdXRlVGFibGVBc3NvY2lhdGlvbikpIHtcbiAgICAgIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbih0aGlzLCBgJHtpZH0tQXNzb2NpYXRpb24tJHt0aGlzLm5vZGUuYWRkcn1gLCB7XG4gICAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogYXR0YWNobWVudCxcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBvcHRpb25zLmFzc29jaWF0aW9uUm91dGVUYWJsZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnByb3BhZ2F0aW9uUm91dGVUYWJsZXMpIHtcbiAgICAgIG9wdGlvbnMucHJvcGFnYXRpb25Sb3V0ZVRhYmxlcy5mb3JFYWNoKChwcm9wYWdhdGlvblJvdXRlVGFibGUsIGluZGV4KSA9PiB7XG4gICAgICAgIC8vIElmIGBwcm9wYWdhdGlvblJvdXRlVGFibGVgIGlzIHByb3ZpZGVkLCBza2lwIGNyZWF0aW5nIHRoZSBQcm9wYWdhdGlvbiBvbmx5IGlmIGBwcm9wYWdhdGlvblJvdXRlVGFibGVgIGlzIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGFuZFxuICAgICAgICAvLyBhdXRvbWF0aWMgcHJvcGFnYXRpb24gKGBkZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uYCkgaXMgZW5hYmxlZCwgYXMgdGhlIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUF0dGFjaG1lbnQncyBjb25zdHJ1Y3RvciB3aWxsIGhhbmRsZSBpdCBpbiB0aGF0IGNhc2UuXG4gICAgICAgIGlmICghKHRoaXMuZGVmYXVsdFJvdXRlVGFibGUgPT09IHByb3BhZ2F0aW9uUm91dGVUYWJsZSAmJiB0aGlzLmRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb24pKSB7XG4gICAgICAgICAgbmV3IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uKHRoaXMsIGAke2lkfS1Qcm9wYWdhdGlvbi0ke2luZGV4fWAsIHtcbiAgICAgICAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogYXR0YWNobWVudCxcbiAgICAgICAgICAgIHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTogcHJvcGFnYXRpb25Sb3V0ZVRhYmxlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXR0YWNobWVudDtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBUcmFuc2l0IEdhdGV3YXkuXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNpdEdhdGV3YXkgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheUJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcm91dGVyVHlwZTogUm91dGVyVHlwZTtcbiAgcHVibGljIHJlYWRvbmx5IHJvdXRlclRhcmdldElkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheUlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheUFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGVQcm9wYWdhdGlvbjogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IGRuc1N1cHBvcnQ6IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXkodGhpcywgaWQsIHtcbiAgICAgIGFtYXpvblNpZGVBc246IHByb3BzLmFtYXpvblNpZGVBc24gPz8gdW5kZWZpbmVkLFxuICAgICAgYXV0b0FjY2VwdFNoYXJlZEF0dGFjaG1lbnRzOiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLmF1dG9BY2NlcHRTaGFyZWRBdHRhY2htZW50cyksXG4gICAgICAvLyBEZWZhdWx0IEFzc29jaWF0aW9uL1Byb3BhZ2F0aW9uIHdpbGwgYWx3YXlzIGJlIGZhbHNlIHdoZW4gY3JlYXRpbmcgdGhlIEwxIHRvIHByZXZlbnQgRUMyIGZyb20gY3JlYXRpbmcgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUuXG4gICAgICAvLyBJbnN0ZWFkLCBDREsgd2lsbCBjcmVhdGUgYSBjdXN0b20gZGVmYXVsdCByb3V0ZSB0YWJsZSBhbmQgdXNlIHRoZSBwcm9wZXJ0aWVzIHRvIG1pbWljIHRoZSBhdXRvbWF0aWMgYXNzb2NhdGlvbi9wcm9wYWdhdGlvbiBiZWhhdmlvdXIuXG4gICAgICBkZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uOiBUcmFuc2l0R2F0ZXdheUZlYXR1cmVTdGF0dXMuRElTQUJMRSxcbiAgICAgIGRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb246IFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cy5ESVNBQkxFLFxuICAgICAgdHJhbnNpdEdhdGV3YXlDaWRyQmxvY2tzOiBwcm9wcy50cmFuc2l0R2F0ZXdheUNpZHJCbG9ja3MsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBkbnNTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLmRuc1N1cHBvcnQpLFxuICAgICAgc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0KSxcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSByZXNvdXJjZTtcbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5SWQgPSByZXNvdXJjZS5hdHRySWQ7XG4gICAgdGhpcy5yb3V0ZXJUYXJnZXRJZCA9IHJlc291cmNlLmF0dHJJZDtcbiAgICB0aGlzLnJvdXRlclR5cGUgPSBSb3V0ZXJUeXBlLlRSQU5TSVRfR0FURVdBWTtcbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5QXJuID0gcmVzb3VyY2UuYXR0clRyYW5zaXRHYXRld2F5QXJuO1xuICAgIHRoaXMuZG5zU3VwcG9ydCA9IHByb3BzLmRuc1N1cHBvcnQgPz8gdHJ1ZTtcbiAgICB0aGlzLnNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQgPSBwcm9wcy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0ID8/IGZhbHNlO1xuXG4gICAgdGhpcy5kZWZhdWx0Um91dGVUYWJsZSA9IG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUodGhpcywgJ0RlZmF1bHRSb3V0ZVRhYmxlJywge1xuICAgICAgdHJhbnNpdEdhdGV3YXk6IHRoaXMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb24gPSBwcm9wcy5kZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uID8/IHRydWU7XG4gICAgdGhpcy5kZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uID0gcHJvcHMuZGVmYXVsdFJvdXRlVGFibGVQcm9wYWdhdGlvbiA/PyB0cnVlO1xuICB9XG59XG4iXX0=
|
package/lib/vpc-v2-base.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Resource } from 'aws-cdk-lib';
|
|
2
2
|
import { IVpc, ISubnet, SubnetSelection, SelectedSubnets, EnableVpnGatewayOptions, VpnConnectionType, VpnConnectionOptions, VpnConnection, ClientVpnEndpointOptions, ClientVpnEndpoint, InterfaceVpcEndpointOptions, InterfaceVpcEndpoint, GatewayVpcEndpointOptions, GatewayVpcEndpoint, FlowLogOptions, FlowLog } from 'aws-cdk-lib/aws-ec2';
|
|
3
3
|
import { IDependable, DependencyGroup } from 'constructs';
|
|
4
|
-
import { NatGateway, NatGatewayOptions, VPCPeeringConnection, VPCPeeringConnectionOptions, VPNGatewayV2 } from './route';
|
|
4
|
+
import { EgressOnlyInternetGateway, InternetGateway, NatGateway, NatGatewayOptions, VPCPeeringConnection, VPCPeeringConnectionOptions, VPNGatewayV2 } from './route';
|
|
5
5
|
import { Role } from 'aws-cdk-lib/aws-iam';
|
|
6
6
|
import { IVPCCidrBlock } from './vpc-v2';
|
|
7
7
|
/**
|
|
@@ -132,14 +132,14 @@ export interface IVpcV2 extends IVpc {
|
|
|
132
132
|
* Can only be used for ipv6 enabled VPCs.
|
|
133
133
|
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway-basics.html}.
|
|
134
134
|
*/
|
|
135
|
-
addEgressOnlyInternetGateway(options?: EgressOnlyInternetGatewayOptions):
|
|
135
|
+
addEgressOnlyInternetGateway(options?: EgressOnlyInternetGatewayOptions): EgressOnlyInternetGateway;
|
|
136
136
|
/**
|
|
137
137
|
* Adds an Internet Gateway to current VPC.
|
|
138
138
|
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/vpc-igw-internet-access.html}.
|
|
139
139
|
*
|
|
140
140
|
* @default - defines route for all ipv4('0.0.0.0') and ipv6 addresses('::/0')
|
|
141
141
|
*/
|
|
142
|
-
addInternetGateway(options?: InternetGatewayOptions):
|
|
142
|
+
addInternetGateway(options?: InternetGatewayOptions): InternetGateway;
|
|
143
143
|
/**
|
|
144
144
|
* Adds VPN Gateway to VPC and set route propogation.
|
|
145
145
|
* For more information, see the {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html}.
|
|
@@ -299,7 +299,7 @@ export declare abstract class VpcV2Base extends Resource implements IVpcV2 {
|
|
|
299
299
|
*
|
|
300
300
|
* @default - in case of no input subnets, no route is created
|
|
301
301
|
*/
|
|
302
|
-
addEgressOnlyInternetGateway(options?: EgressOnlyInternetGatewayOptions):
|
|
302
|
+
addEgressOnlyInternetGateway(options?: EgressOnlyInternetGatewayOptions): EgressOnlyInternetGateway;
|
|
303
303
|
/**
|
|
304
304
|
* Creates a route for EGW with destination set to outbound IPv6('::/0') or custom ipv6 address.
|
|
305
305
|
* @internal
|
|
@@ -310,12 +310,16 @@ export declare abstract class VpcV2Base extends Resource implements IVpcV2 {
|
|
|
310
310
|
*
|
|
311
311
|
* @default - creates a new route for public subnets(with all outbound access) to the Internet Gateway.
|
|
312
312
|
*/
|
|
313
|
-
addInternetGateway(options?: InternetGatewayOptions):
|
|
313
|
+
addInternetGateway(options?: InternetGatewayOptions): InternetGateway;
|
|
314
314
|
/**
|
|
315
315
|
* Adds default route for the internet gateway
|
|
316
316
|
* @internal
|
|
317
317
|
*/
|
|
318
318
|
private addDefaultInternetRoute;
|
|
319
|
+
/**
|
|
320
|
+
* Helper function to process unique subnets and route table for adding routes
|
|
321
|
+
*/
|
|
322
|
+
private processSubnets;
|
|
319
323
|
/**
|
|
320
324
|
* Adds a new NAT Gateway to the given subnet of this VPC
|
|
321
325
|
* of given subnets.
|
package/lib/vpc-v2-base.js
CHANGED
|
@@ -190,16 +190,13 @@ class VpcV2Base extends aws_cdk_lib_1.Resource {
|
|
|
190
190
|
throw new Error('Egress only IGW can only be added to Ipv6 enabled VPC');
|
|
191
191
|
}
|
|
192
192
|
if (options?.subnets) {
|
|
193
|
-
// Use
|
|
194
|
-
const processedSubnets = new Set();
|
|
193
|
+
// Use helper function to ensure unique subnets
|
|
195
194
|
const subnets = (0, util_1.flatten)(options.subnets.map(s => this.selectSubnets(s).subnets));
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
this.createEgressRoute(subnet, egw, options.destination);
|
|
199
|
-
processedSubnets.add(subnet.node.id);
|
|
200
|
-
}
|
|
195
|
+
this.processSubnets(subnets, (subnet) => {
|
|
196
|
+
this.createEgressRoute(subnet, egw, options.destination);
|
|
201
197
|
});
|
|
202
198
|
}
|
|
199
|
+
return egw;
|
|
203
200
|
}
|
|
204
201
|
/**
|
|
205
202
|
* Creates a route for EGW with destination set to outbound IPv6('::/0') or custom ipv6 address.
|
|
@@ -240,22 +237,20 @@ class VpcV2Base extends aws_cdk_lib_1.Resource {
|
|
|
240
237
|
this._internetGatewayId = igw.routerTargetId;
|
|
241
238
|
// Add routes for subnets defined as an input
|
|
242
239
|
if (options?.subnets) {
|
|
243
|
-
// Use Set to ensure unique subnets
|
|
244
|
-
const processedSubnets = new Set();
|
|
245
240
|
const subnets = (0, util_1.flatten)(options.subnets.map(s => this.selectSubnets(s).subnets));
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
this.addDefaultInternetRoute(subnet, igw, options);
|
|
252
|
-
processedSubnets.add(subnet.node.id);
|
|
253
|
-
}
|
|
254
|
-
}); // If there are no input subnets defined, default route will be added to all public subnets
|
|
241
|
+
// Use helper function to ensure unique subnets
|
|
242
|
+
this.processSubnets(subnets, (subnet) => {
|
|
243
|
+
this.addDefaultInternetRoute(subnet, igw, options);
|
|
244
|
+
});
|
|
245
|
+
// If there are no input subnets defined, default route will be added to all public subnets
|
|
255
246
|
}
|
|
256
247
|
else if (!options?.subnets && this.publicSubnets) {
|
|
257
|
-
|
|
248
|
+
// Track route tables that have already had routes added to prevent duplicates
|
|
249
|
+
this.processSubnets(this.publicSubnets, (subnet) => {
|
|
250
|
+
this.addDefaultInternetRoute(subnet, igw, options);
|
|
251
|
+
});
|
|
258
252
|
}
|
|
253
|
+
return igw;
|
|
259
254
|
}
|
|
260
255
|
/**
|
|
261
256
|
* Adds default route for the internet gateway
|
|
@@ -279,6 +274,25 @@ class VpcV2Base extends aws_cdk_lib_1.Resource {
|
|
|
279
274
|
routeName: 'CDKDefaultIPv4Route',
|
|
280
275
|
});
|
|
281
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Helper function to process unique subnets and route table for adding routes
|
|
279
|
+
*/
|
|
280
|
+
processSubnets(subnets, routeHandler) {
|
|
281
|
+
const processedSubnets = new Set();
|
|
282
|
+
const processedRouteTables = new Set();
|
|
283
|
+
subnets.forEach((subnet) => {
|
|
284
|
+
if (!this.publicSubnets.includes(subnet)) {
|
|
285
|
+
aws_cdk_lib_1.Annotations.of(this).addWarningV2('InternetGatewayWarning', `Given ${subnet.node.id} is not a public subnet. Internet Gateway should be added only to public subnets.`);
|
|
286
|
+
}
|
|
287
|
+
if (!processedSubnets.has(subnet.node.id)) {
|
|
288
|
+
if (subnet.routeTable && !processedRouteTables.has(subnet.routeTable.routeTableId)) {
|
|
289
|
+
routeHandler(subnet);
|
|
290
|
+
processedRouteTables.add(subnet.routeTable.routeTableId);
|
|
291
|
+
}
|
|
292
|
+
processedSubnets.add(subnet.node.id);
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}
|
|
282
296
|
/**
|
|
283
297
|
* Adds a new NAT Gateway to the given subnet of this VPC
|
|
284
298
|
* of given subnets.
|
|
@@ -472,7 +486,7 @@ class VpcV2Base extends aws_cdk_lib_1.Resource {
|
|
|
472
486
|
}
|
|
473
487
|
exports.VpcV2Base = VpcV2Base;
|
|
474
488
|
_a = JSII_RTTI_SYMBOL_1;
|
|
475
|
-
VpcV2Base[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.VpcV2Base", version: "2.
|
|
489
|
+
VpcV2Base[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.VpcV2Base", version: "2.188.0-alpha.0" };
|
|
476
490
|
class CompositeDependable {
|
|
477
491
|
constructor() {
|
|
478
492
|
this.dependables = new Array();
|
|
@@ -501,4 +515,4 @@ function tap(x, fn) {
|
|
|
501
515
|
fn(x);
|
|
502
516
|
return x;
|
|
503
517
|
}
|
|
504
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLXYyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ2cGMtdjItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2Q0FBeUQ7QUFDekQsaURBQWtjO0FBQ2xjLGlDQUFtRjtBQUNuRiwyQ0FBa0Y7QUFDbEYsbUNBQWlNO0FBRWpNLGlEQUFzRjtBQStMdEY7Ozs7R0FJRztBQUNILE1BQXNCLFNBQVUsU0FBUSxzQkFBUTtJQUFoRDs7UUFnQkU7O1dBRUc7UUFDYSxrQkFBYSxHQUFjLEVBQUUsQ0FBQztRQUU5Qzs7V0FFRztRQUNhLG1CQUFjLEdBQWMsRUFBRSxDQUFDO1FBTy9DOztXQUVHO1FBQ2Esc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBT2pEOzs7O1dBSUc7UUFDZ0IscUNBQWdDLEdBQUcsSUFBSSw0QkFBZSxFQUFFLENBQUM7UUFzQzVFOztXQUVHO1FBQ08sK0JBQTBCLEdBQVksS0FBSyxDQUFDO0tBbWN2RDtJQS9hQzs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxZQUE2QixFQUFFO1FBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFekMsT0FBTztZQUNMLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUN2QyxJQUFJLGlCQUFpQixLQUFlLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRiwrQkFBK0IsRUFBRSxHQUFHLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENB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QUFTLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzlHLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFFM0QsT0FBTyxJQUFJLENBQUM7S0FDYjs7QUF6aEJILDhCQTBoQkM7OztBQUVELE1BQU0sbUJBQW1CO0lBR3ZCO1FBRmlCLGdCQUFXLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUd0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsdUJBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQ3pCLElBQUksZUFBZTtnQkFDakIsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztnQkFDcEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ25DLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyx1QkFBVSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztnQkFDRCxPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7U0FDRixDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHO0lBQ0ksR0FBRyxDQUFDLEdBQWdCO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO0NBQ0Y7QUFFRDs7R0FFRztBQUNILFNBQVMsR0FBRyxDQUFJLENBQUksRUFBRSxFQUFrQjtJQUN0QyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixPQUFPLENBQUMsQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3MsIFJlc291cmNlLCBBbm5vdGF0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElWcGMsIElTdWJuZXQsIFN1Ym5ldFNlbGVjdGlvbiwgU2VsZWN0ZWRTdWJuZXRzLCBFbmFibGVWcG5HYXRld2F5T3B0aW9ucywgVnBuR2F0ZXdheSwgVnBuQ29ubmVjdGlvblR5cGUsIENmblZQQ0dhdGV3YXlBdHRhY2htZW50LCBDZm5WUE5HYXRld2F5Um91dGVQcm9wYWdhdGlvbiwgVnBuQ29ubmVjdGlvbk9wdGlvbnMsIFZwbkNvbm5lY3Rpb24sIENsaWVudFZwbkVuZHBvaW50T3B0aW9ucywgQ2xpZW50VnBuRW5kcG9pbnQsIEludGVyZmFjZVZwY0VuZHBvaW50T3B0aW9ucywgSW50ZXJmYWNlVnBjRW5kcG9pbnQsIEdhdGV3YXlWcGNFbmRwb2ludE9wdGlvbnMsIEdhdGV3YXlWcGNFbmRwb2ludCwgRmxvd0xvZ09wdGlvbnMsIEZsb3dMb2csIEZsb3dMb2dSZXNvdXJjZVR5cGUsIFN1Ym5ldFR5cGUsIFN1Ym5ldEZpbHRlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgYWxsUm91dGVUYWJsZUlkcywgZmxhdHRlbiwgc3VibmV0R3JvdXBOYW1lRnJvbUNvbnN0cnVjdElkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IElEZXBlbmRhYmxlLCBEZXBlbmRhYmxlLCBJQ29uc3RydWN0LCBEZXBlbmRlbmN5R3JvdXAgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXksIEludGVybmV0R2F0ZXdheSwgTmF0Q29ubmVjdGl2aXR5VHlwZSwgTmF0R2F0ZXdheSwgTmF0R2F0ZXdheU9wdGlvbnMsIFJvdXRlLCBWUENQZWVyaW5nQ29ubmVjdGlvbiwgVlBDUGVlcmluZ0Nvbm5lY3Rpb25PcHRpb25zLCBWUE5HYXRld2F5VjIgfSBmcm9tICcuL3JvdXRlJztcbmltcG9ydCB7IElTdWJuZXRWMiB9IGZyb20gJy4vc3VibmV0LXYyJztcbmltcG9ydCB7IEFjY291bnRQcmluY2lwYWwsIEVmZmVjdCwgUG9saWN5U3RhdGVtZW50LCBSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJVlBDQ2lkckJsb2NrIH0gZnJvbSAnLi92cGMtdjInO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gZGVmaW5lIEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXkgZm9yIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3VibmV0cyB3aGVyZSByb3V0ZSB0byBFR1cgd2lsbCBiZSBhZGRlZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJvdXRlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb25bXTtcblxuICAvKipcbiAgICogRGVzdGluYXRpb24gSXB2NiBhZGRyZXNzIGZvciBFR1cgcm91dGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSAnOjovMCcgYWxsIElwdjYgdHJhZmZpY1xuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSBuYW1lIG9mIHRoZSBlZ3Jlc3Mtb25seSBpbnRlcm5ldCBnYXRld2F5LlxuICAgKiBQcm92aWRlZCBuYW1lIHdpbGwgYmUgdXNlZCBmb3IgdGFnZ2luZ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5hbWUgdGFnIGFzc29jaWF0ZWQgYW5kIHByb3Zpc2lvbmVkIHdpdGhvdXQgYSByZXNvdXJjZSBuYW1lXG4gICAqL1xuICByZWFkb25seSBlZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGRlZmluZSBJbnRlcm5ldEdhdGV3YXkgZm9yIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVybmV0R2F0ZXdheU9wdGlvbnN7XG5cbiAgLyoqXG4gICAqIERlc3RpbmF0aW9uIElwdjYgYWRkcmVzcyBmb3IgRUdXIHJvdXRlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gJzAuMC4wLjAnIGFsbCBJcHY0IHRyYWZmaWNcbiAgICovXG4gIHJlYWRvbmx5IGlwdjREZXN0aW5hdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVzdGluYXRpb24gSXB2NiBhZGRyZXNzIGZvciBFR1cgcm91dGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSAnOjovMCcgYWxsIElwdjYgdHJhZmZpY1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkRlc3RpbmF0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgbmFtZSBvZiB0aGUgaW50ZXJuZXQgZ2F0ZXdheS5cbiAgICogUHJvdmlkZWQgbmFtZSB3aWxsIGJlIHVzZWQgZm9yIHRhZ2dpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwcm92aXNpb25lZCB3aXRob3V0IGEgcmVzb3VyY2UgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJuZXRHYXRld2F5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBzdWJuZXRzIHdoZXJlIHJvdXRlIHRvIElHVyB3aWxsIGJlIGFkZGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm91dGUgY3JlYXRlZCBmb3IgYWxsIHN1Ym5ldHMgd2l0aCBUeXBlIGBTdWJuZXRUeXBlLlB1YmxpY2BcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb25bXTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGRlZmluZSBWUE5HYXRld2F5VjIgZm9yIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQTkdhdGV3YXlWMk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgVlBOIGNvbm5lY3Rpb24gdGhlIHZpcnR1YWwgcHJpdmF0ZSBnYXRld2F5IHN1cHBvcnRzLlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi12cG5nYXRld2F5Lmh0bWwjY2ZuLWVjMi12cG5nYXRld2F5LXR5cGVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFZwbkNvbm5lY3Rpb25UeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpdmF0ZSBBdXRvbm9tb3VzIFN5c3RlbSBOdW1iZXIgKEFTTikgZm9yIHRoZSBBbWF6b24gc2lkZSBvZiBhIEJHUCBzZXNzaW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIEFTTiBzZXQgZm9yIEJHUCBzZXNzaW9uXG4gICAqL1xuICByZWFkb25seSBhbWF6b25TaWRlQXNuPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgbmFtZSBvZiB0aGUgVlBOIGdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcmVzb3VyY2UgcHJvdmlzaW9uZWQgd2l0aG91dCBhbnkgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBuR2F0ZXdheU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldHMgd2hlcmUgdGhlIHJvdXRlIHByb3BhZ2F0aW9uIHNob3VsZCBiZSBhZGRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm9wb2dhdGlvbiBmb3Igcm91dGVzXG4gICAqL1xuICByZWFkb25seSB2cG5Sb3V0ZVByb3BhZ2F0aW9uPzogU3VibmV0U2VsZWN0aW9uW107XG59XG5cbi8qKlxuICogUGxhY2Vob2xkZXIgdG8gc2VlIHdoYXQgZXh0cmEgcHJvcHMgd2UgbWlnaHQgbmVlZCxcbiAqIHdpbGwgYmUgYWRkZWQgdG8gb3JpZ2luYWwgSVZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElWcGNWMiBleHRlbmRzIElWcGMge1xuICAvKipcbiAgICogVGhlIHNlY29uZGFyeSBDSURSIGJsb2NrcyBhc3NvY2lhdGVkIHdpdGggdGhlIFZQQy5cbiAgICpcbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUge0BsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS92cGMvbGF0ZXN0L3VzZXJndWlkZS92cGMtY2lkci1ibG9ja3MuaHRtbCN2cGMtcmVzaXplfS5cbiAgICovXG4gIHJlYWRvbmx5IHNlY29uZGFyeUNpZHJCbG9jaz86IElWUENDaWRyQmxvY2tbXTtcblxuICAvKipcbiAgICogVGhlIHByaW1hcnkgSVB2NCBDSURSIGJsb2NrIGFzc29jaWF0ZWQgd2l0aCB0aGUgVlBDLlxuICAgKiBOZWVkZWQgaW4gb3JkZXIgdG8gdmFsaWRhdGUgdGhlIHZwYyByYW5nZSBvZiBzdWJuZXRcbiAgICogY3VycmVudCBwcm9wIHZwY0NpZHJCbG9jayByZWZlcnMgdG8gdGhlIHRva2VuIHZhbHVlXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdnBjL2xhdGVzdC91c2VyZ3VpZGUvdnBjLWNpZHItYmxvY2tzLmh0bWwjdnBjLXNpemluZy1pcHY0fS5cbiAgICovXG4gIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgdG8gb3ZlcnJpZGUgaW5mZXJyZWQgcmVnaW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY3VycmVudCBzdGFjaydzIGVudmlyb25tZW50IHJlZ2lvblxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgQVdTIGFjY291bnQgdGhhdCBvd25zIHRoZSBWUENcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgYWNjb3VudCBpZCBvZiB0aGUgcGFyZW50IHN0YWNrXG4gICAqL1xuICByZWFkb25seSBvd25lckFjY291bnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJUHY0IENJRFIgcHJvdmlzaW9uZWQgdW5kZXIgcG9vbFxuICAgKiBSZXF1aXJlZCB0byBjaGVjayBmb3Igb3ZlcmxhcHBpbmcgQ0lEUnMgYWZ0ZXIgcHJvdmlzaW9uaW5nXG4gICAqIGlzIGNvbXBsZXRlIHVuZGVyIElQQU0gcG9vbFxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NElwYW1Qcm92aXNpb25lZENpZHJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFZwY05hbWUgdG8gYmUgdXNlZCBmb3IgdGFnZ2luZyBpdHMgY29tcG9uZW50c1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB2cGNOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gRWdyZXNzIG9ubHkgSW50ZXJuZXQgR2F0ZXdheSB0byBjdXJyZW50IFZQQy5cbiAgICogQ2FuIG9ubHkgYmUgdXNlZCBmb3IgaXB2NiBlbmFibGVkIFZQQ3MuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdnBjL2xhdGVzdC91c2VyZ3VpZGUvZWdyZXNzLW9ubHktaW50ZXJuZXQtZ2F0ZXdheS1iYXNpY3MuaHRtbH0uXG4gICAqL1xuICBhZGRFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5KG9wdGlvbnM/OiBFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5T3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gSW50ZXJuZXQgR2F0ZXdheSB0byBjdXJyZW50IFZQQy5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUge0BsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS92cGMvbGF0ZXN0L3VzZXJndWlkZS92cGMtaWd3LWludGVybmV0LWFjY2Vzcy5odG1sfS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZpbmVzIHJvdXRlIGZvciBhbGwgaXB2NCgnMC4wLjAuMCcpIGFuZCBpcHY2IGFkZHJlc3NlcygnOjovMCcpXG4gICAqL1xuICBhZGRJbnRlcm5ldEdhdGV3YXkob3B0aW9ucz86IEludGVybmV0R2F0ZXdheU9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBZGRzIFZQTiBHYXRld2F5IHRvIFZQQyBhbmQgc2V0IHJvdXRlIHByb3BvZ2F0aW9uLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi12cG5nYXRld2F5Lmh0bWx9LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJvdXRlIHByb3BvZ2F0aW9uXG4gICAqL1xuICBlbmFibGVWcG5HYXRld2F5VjIob3B0aW9uczogVlBOR2F0ZXdheVYyT3B0aW9ucyk6IFZQTkdhdGV3YXlWMjtcblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBOQVQgR2F0ZXdheSB0byBWUENcbiAgICogQSBOQVQgZ2F0ZXdheSBpcyBhIE5ldHdvcmsgQWRkcmVzcyBUcmFuc2xhdGlvbiAoTkFUKSBzZXJ2aWNlLiBOQVQgR2F0ZXdheSBDb25uZWN0aXZpdHkgY2FuIGJlIG9mIHR5cGUgYFB1YmxpY2Agb3IgYFByaXZhdGVgLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3ZwYy9sYXRlc3QvdXNlcmd1aWRlL3ZwYy1uYXQtZ2F0ZXdheS5odG1sfS5cbiAgICpcbiAgICogQGRlZmF1bHQgQ29ubmVjdGl2aXR5VHlwZS5QdWJsaWNcbiAgICovXG4gIGFkZE5hdEdhdGV3YXkob3B0aW9uczogTmF0R2F0ZXdheU9wdGlvbnMpOiBOYXRHYXRld2F5O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IHJvbGUgdG8gYWNjZXB0b3IgVlBDIGFjY291bnRcbiAgICogQSBjcm9zcyBhY2NvdW50IHJvbGUgaXMgcmVxdWlyZWQgZm9yIHRoZSBWUEMgdG8gcGVlciB3aXRoIGFub3RoZXIgYWNjb3VudC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUge0BsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL3BlZXItd2l0aC12cGMtaW4tYW5vdGhlci1hY2NvdW50Lmh0bWx9LlxuICAgKi9cbiAgY3JlYXRlQWNjZXB0b3JWcGNSb2xlKHJlcXVlc3RvckFjY291bnRJZDogc3RyaW5nKTogUm9sZTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBwZWVyaW5nIGNvbm5lY3Rpb25cbiAgICogQSBwZWVyaW5nIGNvbm5lY3Rpb24gaXMgYSBwcml2YXRlIHZpcnR1YWwgbmV0d29yayBlc3RhYmxpc2hlZCBiZXR3ZWVuIHR3byBWUENzLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3ZwYy9sYXRlc3QvcGVlcmluZy93aGF0LWlzLXZwYy1wZWVyaW5nLmh0bWx9LlxuICAgKi9cbiAgY3JlYXRlUGVlcmluZ0Nvbm5lY3Rpb24oaWQ6IHN0cmluZywgb3B0aW9uczogVlBDUGVlcmluZ0Nvbm5lY3Rpb25PcHRpb25zKTogVlBDUGVlcmluZ0Nvbm5lY3Rpb247XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgYSBWUEMgKFZpcnR1YWwgUHJpdmF0ZSBDbG91ZCkgaW4gQVdTLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2FwaS92Mi9kb2NzL2F3cy1jZGstbGliLmF3c19lYzIuVnBjLmh0bWx8QVdTIENESyBEb2N1bWVudGF0aW9uIG9uIFZQQ3N9LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVnBjVjJCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVnBjVjIge1xuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB2cGNJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBcm4gb2YgdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB2cGNBcm46IHN0cmluZztcblxuICAvKipcbiAgICogQ0lEUiByYW5nZSBmb3IgdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB2cGNDaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBwdWJsaWMgc3VibmV0cyBpbiB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldHM6IElTdWJuZXRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHByaXZhdGUgc3VibmV0cyBpbiB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByaXZhdGVTdWJuZXRzOiBJU3VibmV0W10gPSBbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBpc29sYXRlZCBzdWJuZXRzIGluIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaXNvbGF0ZWRTdWJuZXRzOiBJU3VibmV0W107XG5cbiAgLyoqXG4gICAqIEFacyBmb3IgdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdmFpbGFiaWxpdHlab25lczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogRGVwZW5kYWJsZSB0aGF0IGNhbiBiZSBkZXBlbmRlZCB1cG9uIHRvIGZvcmNlIGludGVybmV0IGNvbm5lY3Rpdml0eSBlc3RhYmxpc2hlZCBvbiB0aGUgVlBDXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZDogSURlcGVuZGFibGU7XG5cbiAgLyoqXG4gICAqIERlcGVuZGFibGUgdGhhdCBjYW4gYmUgZGVwZW5kZWQgdXBvbiB0byBmb3JjZSBpbnRlcm5ldCBjb25uZWN0aXZpdHkgZXN0YWJsaXNoZWQgb24gdGhlIFZQQ1xuICAgKiBBZGQgaWd3IHRvIHRoaXMgaWYgaXRzIGEgcHVibGljIHN1Ym5ldFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBfaW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZCA9IG5ldyBEZXBlbmRlbmN5R3JvdXAoKTtcblxuICAvKipcbiAgICogU2Vjb25kYXJ5IElQcyBmb3IgdGhlIFZQQywgY2FuIGJlIG11bHRpcGxlIElwdjQgb3IgSXB2NlxuICAgKiBJcHY0IHNob3VsZCBiZSB3aXRoaW4gUkZDIzE5MTggcmFuZ2VcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzZWNvbmRhcnlDaWRyQmxvY2s/OiBJVlBDQ2lkckJsb2NrW107XG5cbiAgLyoqXG4gICAqIFRoZSBwcmltYXJ5IElQdjQgQ0lEUiBibG9jayBhc3NvY2lhdGVkIHdpdGggdGhlIFZQQy5cbiAgICogTmVlZGVkIGluIG9yZGVyIHRvIHZhbGlkYXRlIHRoZSB2cGMgcmFuZ2Ugb2Ygc3VibmV0XG4gICAqIGN1cnJlbnQgcHJvcCB2cGNDaWRyQmxvY2sgcmVmZXJzIHRvIHRoZSB0b2tlbiB2YWx1ZVxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3ZwYy9sYXRlc3QvdXNlcmd1aWRlL3ZwYy1jaWRyLWJsb2Nrcy5odG1sI3ZwYy1zaXppbmctaXB2NH0uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaXB2NENpZHJCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWcGNOYW1lIHRvIGJlIHVzZWQgZm9yIHRhZ2dpbmcgaXRzIGNvbXBvbmVudHNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB2cGNOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWdpb24gZm9yIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgb2YgdGhlIG93bmVyIGZvciB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG93bmVyQWNjb3VudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElQdjQgQ0lEUiBwcm92aXNpb25lZCB1bmRlciBwb29sXG4gICAqIFJlcXVpcmVkIHRvIGNoZWNrIGZvciBvdmVybGFwcGluZyBDSURScyBhZnRlciBwcm92aXNpb25pbmdcbiAgICogaXMgY29tcGxldGUgdW5kZXIgSVBBTSBwb29sXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaXB2NElwYW1Qcm92aXNpb25lZENpZHJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIElmIHRoaXMgaXMgc2V0IHRvIHRydWUsIGRvbid0IGVycm9yIG91dCBvbiB0cnlpbmcgdG8gc2VsZWN0IHN1Ym5ldHNcbiAgICovXG4gIHByb3RlY3RlZCBpbmNvbXBsZXRlU3VibmV0RGVmaW5pdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBNdXRhYmxlIHByaXZhdGUgZmllbGQgZm9yIHRoZSB2cG5HYXRld2F5SWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgX3ZwbkdhdGV3YXlJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTXV0YWJsZSBwcml2YXRlIGZpZWxkIGZvciB0aGUgaW50ZXJuZXRHYXRld2F5SWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgX2ludGVybmV0R2F0ZXdheUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNdXRhYmxlIHByaXZhdGUgZmllbGQgZm9yIHRoZSBFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5SWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgX2VncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlJZD86IHN0cmluZztcblxuICAvKipcbiAgICogUmV0dXJuIGluZm9ybWF0aW9uIG9uIHRoZSBzdWJuZXRzIGFwcHJvcHJpYXRlIGZvciB0aGUgZ2l2ZW4gc2VsZWN0aW9uIHN0cmF0ZWd5XG4gICAqXG4gICAqIFJlcXVpcmVzIHRoYXQgYXQgbGVhc3Qgb25lIHN1Ym5ldCBpcyBtYXRjaGVkLCB0aHJvd3MgYSBkZXNjcmlwdGl2ZVxuICAgKiBlcnJvciBtZXNzYWdlIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RTdWJuZXRzKHNlbGVjdGlvbjogU3VibmV0U2VsZWN0aW9uID0ge30pOiBTZWxlY3RlZFN1Ym5ldHMge1xuICAgIGNvbnN0IHN1Ym5ldHMgPSB0aGlzLnNlbGVjdFN1Ym5ldE9iamVjdHMoc2VsZWN0aW9uKTtcbiAgICBjb25zdCBwdWJzID0gbmV3IFNldCh0aGlzLnB1YmxpY1N1Ym5ldHMpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Ym5ldElkczogc3VibmV0cy5tYXAocyA9PiBzLnN1Ym5ldElkKSxcbiAgICAgIGdldCBhdmFpbGFiaWxpdHlab25lcygpOiBzdHJpbmdbXSB7IHJldHVybiBzdWJuZXRzLm1hcChzID0+IHMuYXZhaWxhYmlsaXR5Wm9uZSk7IH0sXG4gICAgICBpbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkOiB0YXAobmV3IENvbXBvc2l0ZURlcGVuZGFibGUoKSwgZCA9PiBzdWJuZXRzLmZvckVhY2gocyA9PiBkLmFkZChzLmludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQpKSksXG4gICAgICBzdWJuZXRzLFxuICAgICAgaGFzUHVibGljOiBzdWJuZXRzLnNvbWUocyA9PiBwdWJzLmhhcyhzKSksXG4gICAgICBpc1BlbmRpbmdMb29rdXA6IHRoaXMuaW5jb21wbGV0ZVN1Ym5ldERlZmluaXRpb24sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgVlBOIEdhdGV3YXkgdG8gdGhpcyBWUENcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGVuYWJsZVZwbkdhdGV3YXlWMiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFZQQ1YyLlJvdXRlXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVnBuR2F0ZXdheShvcHRpb25zOiBFbmFibGVWcG5HYXRld2F5T3B0aW9ucyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZwbkdhdGV3YXlJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgVlBOIEdhdGV3YXkgaGFzIGFscmVhZHkgYmVlbiBlbmFibGVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHZwbkdhdGV3YXkgPSBuZXcgVnBuR2F0ZXdheSh0aGlzLCAnVnBuR2F0ZXdheScsIHtcbiAgICAgIGFtYXpvblNpZGVBc246IG9wdGlvbnMuYW1hem9uU2lkZUFzbixcbiAgICAgIHR5cGU6IFZwbkNvbm5lY3Rpb25UeXBlLklQU0VDXzEsXG4gICAgfSk7XG5cbiAgICB0aGlzLl92cG5HYXRld2F5SWQgPSB2cG5HYXRld2F5LmdhdGV3YXlJZDtcblxuICAgIGNvbnN0IGF0dGFjaG1lbnQgPSBuZXcgQ2ZuVlBDR2F0ZXdheUF0dGFjaG1lbnQodGhpcywgJ1ZQQ1ZQTkdXJywge1xuICAgICAgdnBjSWQ6IHRoaXMudnBjSWQsXG4gICAgICB2cG5HYXRld2F5SWQ6IHRoaXMuX3ZwbkdhdGV3YXlJZCxcbiAgICB9KTtcblxuICAgIC8vIFByb3BhZ2F0ZSByb3V0ZXMgb24gcm91dGUgdGFibGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmlnaHQgc3VibmV0c1xuICAgIGNvbnN0IHZwblJvdXRlUHJvcGFnYXRpb24gPSBvcHRpb25zLnZwblJvdXRlUHJvcGFnYXRpb24gPz8gW3t9XTtcbiAgICBjb25zdCByb3V0ZVRhYmxlSWRzID0gYWxsUm91dGVUYWJsZUlkcyhmbGF0dGVuKHZwblJvdXRlUHJvcGFnYXRpb24ubWFwKHMgPT4gdGhpcy5zZWxlY3RTdWJuZXRzKHMpLnN1Ym5ldHMpKSk7XG5cbiAgICBpZiAocm91dGVUYWJsZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZEVycm9yKGBlbmFibGVWcG5HYXRld2F5OiBubyBzdWJuZXRzIG1hdGNoaW5nIHNlbGVjdGlvbjogJyR7SlNPTi5zdHJpbmdpZnkodnBuUm91dGVQcm9wYWdhdGlvbil9Jy4gU2VsZWN0IG90aGVyIHN1Ym5ldHMgdG8gYWRkIHJvdXRlcyB0by5gKTtcbiAgICB9XG5cbiAgICBjb25zdCByb3V0ZVByb3BhZ2F0aW9uID0gbmV3IENmblZQTkdhdGV3YXlSb3V0ZVByb3BhZ2F0aW9uKHRoaXMsICdSb3V0ZVByb3BhZ2F0aW9uJywge1xuICAgICAgcm91dGVUYWJsZUlkcyxcbiAgICAgIHZwbkdhdGV3YXlJZDogdGhpcy5fdnBuR2F0ZXdheUlkLFxuICAgIH0pO1xuICAgICAgLy8gVGhlIEFXUzo6RUMyOjpWUE5HYXRld2F5Um91dGVQcm9wYWdhdGlvbiByZXNvdXJjZSBjYW5ub3QgdXNlIHRoZSBWUE4gZ2F0ZXdheVxuICAgICAgLy8gdW50aWwgaXQgaGFzIHN1Y2Nlc3NmdWxseSBhdHRhY2hlZCB0byB0aGUgVlBDLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItdnBuLWdhdGV3YXlyb3V0ZXByb3AuaHRtbFxuICAgIHJvdXRlUHJvcGFnYXRpb24ubm9kZS5hZGREZXBlbmRlbmN5KGF0dGFjaG1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgVlBOR0F0ZXdheVYyIHRvIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlVnBuR2F0ZXdheVYyKG9wdGlvbnM6IFZQTkdhdGV3YXlWMk9wdGlvbnMpOiBWUE5HYXRld2F5VjIge1xuICAgIGlmICh0aGlzLnZwbkdhdGV3YXlJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgVlBOIEdhdGV3YXkgaGFzIGFscmVhZHkgYmVlbiBlbmFibGVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHZwbkdhdGV3YXkgPSBuZXcgVlBOR2F0ZXdheVYyKHRoaXMsICdWcG5HYXRld2F5Jywge1xuICAgICAgdnBjOiB0aGlzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIHRoaXMuX2ludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQuYWRkKHZwbkdhdGV3YXkpO1xuICAgIHRoaXMuX3ZwbkdhdGV3YXlJZCA9IHZwbkdhdGV3YXkucm91dGVyVGFyZ2V0SWQ7XG5cbiAgICByZXR1cm4gdnBuR2F0ZXdheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IFZQTiBjb25uZWN0aW9uIHRvIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgYWRkVnBuQ29ubmVjdGlvbihpZDogc3RyaW5nLCBvcHRpb25zOiBWcG5Db25uZWN0aW9uT3B0aW9ucyk6IFZwbkNvbm5lY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVnBuQ29ubmVjdGlvbih0aGlzLCBpZCwge1xuICAgICAgdnBjOiB0aGlzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IGNsaWVudCBWUE4gZW5kcG9pbnQgdG8gdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyBhZGRDbGllbnRWcG5FbmRwb2ludChpZDogc3RyaW5nLCBvcHRpb25zOiBDbGllbnRWcG5FbmRwb2ludE9wdGlvbnMpOiBDbGllbnRWcG5FbmRwb2ludCB7XG4gICAgcmV0dXJuIG5ldyBDbGllbnRWcG5FbmRwb2ludCh0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHZwYzogdGhpcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IGludGVyZmFjZSBlbmRwb2ludCB0byB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFkZEludGVyZmFjZUVuZHBvaW50KGlkOiBzdHJpbmcsIG9wdGlvbnM6IEludGVyZmFjZVZwY0VuZHBvaW50T3B0aW9ucyk6IEludGVyZmFjZVZwY0VuZHBvaW50IHtcbiAgICByZXR1cm4gbmV3IEludGVyZmFjZVZwY0VuZHBvaW50KHRoaXMsIGlkLCB7XG4gICAgICB2cGM6IHRoaXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgZ2F0ZXdheSBlbmRwb2ludCB0byB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFkZEdhdGV3YXlFbmRwb2ludChpZDogc3RyaW5nLCBvcHRpb25zOiBHYXRld2F5VnBjRW5kcG9pbnRPcHRpb25zKTogR2F0ZXdheVZwY0VuZHBvaW50IHtcbiAgICByZXR1cm4gbmV3IEdhdGV3YXlWcGNFbmRwb2ludCh0aGlzLCBpZCwge1xuICAgICAgdnBjOiB0aGlzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IEVncmVzcyBPbmx5IEludGVybmV0IEdhdGV3YXkgdG8gdGhpcyBWUEMgYW5kIGRlZmluZXMgYSBuZXcgcm91dGVcbiAgICogdG8gdGhlIHJvdXRlIHRhYmxlIG9mIGdpdmVuIHN1Ym5ldHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gaW4gY2FzZSBvZiBubyBpbnB1dCBzdWJuZXRzLCBubyByb3V0ZSBpcyBjcmVhdGVkXG4gICAqL1xuICBwdWJsaWMgYWRkRWdyZXNzT25seUludGVybmV0R2F0ZXdheShvcHRpb25zPzogRWdyZXNzT25seUludGVybmV0R2F0ZXdheU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBlZ3cgPSBuZXcgRWdyZXNzT25seUludGVybmV0R2F0ZXdheSh0aGlzLCAnRWdyZXNzT25seUdXJywge1xuICAgICAgdnBjOiB0aGlzLFxuICAgICAgZWdyZXNzT25seUludGVybmV0R2F0ZXdheU5hbWU6IG9wdGlvbnM/LmVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlOYW1lLFxuICAgIH0pO1xuICAgIHRoaXMuX2VncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlJZCA9IGVndy5yb3V0ZXJUYXJnZXRJZDtcblxuICAgIGxldCB1c2VJcHY2O1xuICAgIGlmICh0aGlzLnNlY29uZGFyeUNpZHJCbG9jaykge1xuICAgICAgdXNlSXB2NiA9ICh0aGlzLnNlY29uZGFyeUNpZHJCbG9jay5zb21lKChzZWNvbmRhcnlBZGRyZXNzKSA9PiBzZWNvbmRhcnlBZGRyZXNzLmFtYXpvblByb3ZpZGVkSXB2NkNpZHJCbG9jayA9PT0gdHJ1ZSB8fFxuICAgIHNlY29uZGFyeUFkZHJlc3MuaXB2NklwYW1Qb29sSWQgIT09IHVuZGVmaW5lZCB8fCBzZWNvbmRhcnlBZGRyZXNzLmlwdjZDaWRyQmxvY2sgIT09IHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIGlmICghdXNlSXB2Nikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFZ3Jlc3Mgb25seSBJR1cgY2FuIG9ubHkgYmUgYWRkZWQgdG8gSXB2NiBlbmFibGVkIFZQQycpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zPy5zdWJuZXRzKSB7XG4gICAgICAvLyBVc2UgU2V0IHRvIGVuc3VyZSB1bmlxdWUgc3VibmV0c1xuICAgICAgY29uc3QgcHJvY2Vzc2VkU3VibmV0cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgY29uc3Qgc3VibmV0cyA9IGZsYXR0ZW4ob3B0aW9ucy5zdWJuZXRzLm1hcChzID0+IHRoaXMuc2VsZWN0U3VibmV0cyhzKS5zdWJuZXRzKSk7XG4gICAgICBzdWJuZXRzLmZvckVhY2goKHN1Ym5ldCkgPT4ge1xuICAgICAgICBpZiAoIXByb2Nlc3NlZFN1Ym5ldHMuaGFzKHN1Ym5ldC5ub2RlLmlkKSkge1xuICAgICAgICAgIHRoaXMuY3JlYXRlRWdyZXNzUm91dGUoc3VibmV0LCBlZ3csIG9wdGlvbnMuZGVzdGluYXRpb24pO1xuICAgICAgICAgIHByb2Nlc3NlZFN1Ym5ldHMuYWRkKHN1Ym5ldC5ub2RlLmlkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByb3V0ZSBmb3IgRUdXIHdpdGggZGVzdGluYXRpb24gc2V0IHRvIG91dGJvdW5kIElQdjYoJzo6LzAnKSBvciBjdXN0b20gaXB2NiBhZGRyZXNzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlRWdyZXNzUm91dGUoc3VibmV0OiBJU3VibmV0VjIsIGVndzogRWdyZXNzT25seUludGVybmV0R2F0ZXdheSwgZGVzdGluYXRpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkZXN0aW5hdGlvbklwdjYgPSBkZXN0aW5hdGlvbiA/PyAnOjovMCc7XG4gICAgbmV3IFJvdXRlKHRoaXMsIGAke3N1Ym5ldC5ub2RlLmlkfS1FZ3Jlc3NSb3V0ZWAsIHtcbiAgICAgIHJvdXRlVGFibGU6IHN1Ym5ldC5yb3V0ZVRhYmxlLFxuICAgICAgZGVzdGluYXRpb246IGRlc3RpbmF0aW9uSXB2NiwgLy8gSVB2NiBkZWZhdWx0IHJvdXRlXG4gICAgICB0YXJnZXQ6IHsgZ2F0ZXdheTogZWd3IH0sXG4gICAgICByb3V0ZU5hbWU6ICdDREtFSUdXUm91dGUnLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgSW50ZXJuZXQgR2F0ZXdheSB0byB0aGlzIFZQQ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGNyZWF0ZXMgYSBuZXcgcm91dGUgZm9yIHB1YmxpYyBzdWJuZXRzKHdpdGggYWxsIG91dGJvdW5kIGFjY2VzcykgdG8gdGhlIEludGVybmV0IEdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgYWRkSW50ZXJuZXRHYXRld2F5KG9wdGlvbnM/OiBJbnRlcm5ldEdhdGV3YXlPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2ludGVybmV0R2F0ZXdheUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBJbnRlcm5ldCBHYXRld2F5IGhhcyBhbHJlYWR5IGJlZW4gZW5hYmxlZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBpZ3cgPSBuZXcgSW50ZXJuZXRHYXRld2F5KHRoaXMsICdJbnRlcm5ldEdhdGV3YXknLCB7XG4gICAgICB2cGM6IHRoaXMsXG4gICAgICBpbnRlcm5ldEdhdGV3YXlOYW1lOiBvcHRpb25zPy5pbnRlcm5ldEdhdGV3YXlOYW1lLFxuICAgIH0pO1xuXG4gICAgdGhpcy5faW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZC5hZGQoaWd3KTtcbiAgICB0aGlzLl9pbnRlcm5ldEdhdGV3YXlJZCA9IGlndy5yb3V0ZXJUYXJnZXRJZDtcblxuICAgIC8vIEFkZCByb3V0ZXMgZm9yIHN1Ym5ldHMgZGVmaW5lZCBhcyBhbiBpbnB1dFxuICAgIGlmIChvcHRpb25zPy5zdWJuZXRzKSB7XG4gICAgICAvLyBVc2UgU2V0IHRvIGVuc3VyZSB1bmlxdWUgc3VibmV0c1xuICAgICAgY29uc3QgcHJvY2Vzc2VkU3VibmV0cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgY29uc3Qgc3VibmV0cyA9IGZsYXR0ZW4ob3B0aW9ucy5zdWJuZXRzLm1hcChzID0+IHRoaXMuc2VsZWN0U3VibmV0cyhzKS5zdWJuZXRzKSk7XG4gICAgICBzdWJuZXRzLmZvckVhY2goKHN1Ym5ldCkgPT4ge1xuICAgICAgICBpZiAoIXByb2Nlc3NlZFN1Ym5ldHMuaGFzKHN1Ym5ldC5ub2RlLmlkKSkge1xuICAgICAgICAgIGlmICghdGhpcy5wdWJsaWNTdWJuZXRzLmluY2x1ZGVzKHN1Ym5ldCkpIHtcbiAgICAgICAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmdWMignSW50ZXJuZXRHYXRld2F5V2FybmluZycsXG4gICAgICAgICAgICAgIGBTdWJuZXQgJHtzdWJuZXQubm9kZS5pZH0gaXMgbm90IGEgcHVibGljIHN1Ym5ldC4gSW50ZXJuZXQgR2F0ZXdheSBzaG91bGQgYmUgYWRkZWQgb25seSB0byBwdWJsaWMgc3VibmV0cy5gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5hZGREZWZhdWx0SW50ZXJuZXRSb3V0ZShzdWJuZXQsIGlndywgb3B0aW9ucyk7XG4gICAgICAgICAgcHJvY2Vzc2VkU3VibmV0cy5hZGQoc3VibmV0Lm5vZGUuaWQpO1xuICAgICAgICB9XG4gICAgICB9KTsgLy8gSWYgdGhlcmUgYXJlIG5vIGlucHV0IHN1Ym5ldHMgZGVmaW5lZCwgZGVmYXVsdCByb3V0ZSB3aWxsIGJlIGFkZGVkIHRvIGFsbCBwdWJsaWMgc3VibmV0c1xuICAgIH0gZWxzZSBpZiAoIW9wdGlvbnM/LnN1Ym5ldHMgJiYgdGhpcy5wdWJsaWNTdWJuZXRzKSB7XG4gICAgICB0aGlzLnB1YmxpY1N1Ym5ldHMuZm9yRWFjaCgocHVibGljU3VibmV0cykgPT4gdGhpcy5hZGREZWZhdWx0SW50ZXJuZXRSb3V0ZShwdWJsaWNTdWJuZXRzLCBpZ3csIG9wdGlvbnMpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBkZWZhdWx0IHJvdXRlIGZvciB0aGUgaW50ZXJuZXQgZ2F0ZXdheVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgYWRkRGVmYXVsdEludGVybmV0Um91dGUoc3VibmV0OiBJU3VibmV0VjIsIGlndzogSW50ZXJuZXRHYXRld2F5LCBvcHRpb25zPzogSW50ZXJuZXRHYXRld2F5T3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIEFkZCBkZWZhdWx0IHJvdXRlIHRvIElHVyBmb3IgSVB2NlxuICAgIGlmIChzdWJuZXQuaXB2NkNpZHJCbG9jaykge1xuICAgICAgbmV3IFJvdXRlKHRoaXMsIGAke3N1Ym5ldC5ub2RlLmlkfS1EZWZhdWx0SVB2NlJvdXRlYCwge1xuICAgICAgICByb3V0ZVRhYmxlOiBzdWJuZXQucm91dGVUYWJsZSxcbiAgICAgICAgZGVzdGluYXRpb246IG9wdGlvbnM/LmlwdjZEZXN0aW5hdGlvbiA/PyAnOjovMCcsXG4gICAgICAgIHRhcmdldDogeyBnYXRld2F5OiBpZ3cgfSxcbiAgICAgICAgcm91dGVOYW1lOiAnQ0RLRGVmYXVsdElQdjZSb3V0ZScsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQWRkIGRlZmF1bHQgcm91dGUgdG8gSUdXIGZvciBJUHY0XG4gICAgbmV3IFJvdXRlKHRoaXMsIGAke3N1Ym5ldC5ub2RlLmlkfS1EZWZhdWx0Um91dGVgLCB7XG4gICAgICByb3V0ZVRhYmxlOiBzdWJuZXQucm91dGVUYWJsZSxcbiAgICAgIGRlc3RpbmF0aW9uOiBvcHRpb25zPy5pcHY0RGVzdGluYXRpb24gPz8gJzAuMC4wLjAvMCcsXG4gICAgICB0YXJnZXQ6IHsgZ2F0ZXdheTogaWd3IH0sXG4gICAgICByb3V0ZU5hbWU6ICdDREtEZWZhdWx0SVB2NFJvdXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IE5BVCBHYXRld2F5IHRvIHRoZSBnaXZlbiBzdWJuZXQgb2YgdGhpcyBWUENcbiAgICogb2YgZ2l2ZW4gc3VibmV0cy5cbiAgICovXG4gIHB1YmxpYyBhZGROYXRHYXRld2F5KG9wdGlvbnM6IE5hdEdhdGV3YXlPcHRpb25zKTogTmF0R2F0ZXdheSB7XG4gICAgaWYgKG9wdGlvbnMuY29ubmVjdGl2aXR5VHlwZSA9PT0gTmF0Q29ubmVjdGl2aXR5VHlwZS5QVUJMSUMgJiYgIXRoaXMuX2ludGVybmV0R2F0ZXdheUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBhZGQgYSBQdWJsaWMgTkFUIEdhdGV3YXkgd2l0aG91dCBhbiBJbnRlcm5ldCBHYXRld2F5IGVuYWJsZWQgb24gVlBDJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgTmF0R2F0ZXdheSh0aGlzLCAnTkFUR2F0ZXdheScsIHtcbiAgICAgIHZwYzogdGhpcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmbG93IGxvZyB0byB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFkZEZsb3dMb2coaWQ6IHN0cmluZywgb3B0aW9ucz86IEZsb3dMb2dPcHRpb25zKTogRmxvd0xvZyB7XG4gICAgcmV0dXJuIG5ldyBGbG93TG9nKHRoaXMsIGlkLCB7XG4gICAgICByZXNvdXJjZVR5cGU6IEZsb3dMb2dSZXNvdXJjZVR5cGUuZnJvbVZwYyh0aGlzKSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBwZWVyaW5nIGNvbm5lY3Rpb24gcm9sZSBmb3IgYWNjZXB0b3IgVlBDXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlQWNjZXB0b3JWcGNSb2xlKHJlcXVlc3RvckFjY291bnRJZDogc3RyaW5nKTogUm9sZSB7XG4gICAgY29uc3QgcGVlcmluZ1JvbGUgPSBuZXcgUm9sZSh0aGlzLCAnVnBjUGVlcmluZ1JvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBBY2NvdW50UHJpbmNpcGFsKHJlcXVlc3RvckFjY291bnRJZCksXG4gICAgICByb2xlTmFtZTogJ1ZwY1BlZXJpbmdSb2xlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVzdHJpY3RpdmUgcm9sZSBmb3IgVlBDIHBlZXJpbmcnLFxuICAgIH0pO1xuXG4gICAgcGVlcmluZ1JvbGUuYWRkVG9Qb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFsnZWMyOkFjY2VwdFZwY1BlZXJpbmdDb25uZWN0aW9uJ10sXG4gICAgICByZXNvdXJjZXM6IFtgYXJuOiR7QXdzLlBBUlRJVElPTn06ZWMyOiR7dGhpcy5yZWdpb259OiR7dGhpcy5vd25lckFjY291bnRJZH06dnBjLyR7dGhpcy52cGNJZH1gXSxcbiAgICB9KSk7XG5cbiAgICBwZWVyaW5nUm9sZS5hZGRUb1BvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnZWMyOkFjY2VwdFZwY1BlZXJpbmdDb25uZWN0aW9uJ10sXG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIHJlc291cmNlczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTplYzI6JHt0aGlzLnJlZ2lvbn06JHt0aGlzLm93bmVyQWNjb3VudElkfTp2cGMtcGVlcmluZy1jb25uZWN0aW9uLypgXSxcbiAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgJ2VjMjpBY2NlcHRlclZwYyc6IGBhcm46JHtBd3MuUEFSVElUSU9OfTplYzI6JHt0aGlzLnJlZ2lvbn06JHt0aGlzLm93bmVyQWNjb3VudElkfTp2cGMvJHt0aGlzLnZwY0lkfWAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pKTtcblxuICAgIHJldHVybiBwZWVyaW5nUm9sZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcGVlcmluZyBjb25uZWN0aW9uXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUGVlcmluZ0Nvbm5lY3Rpb24oaWQ6IHN0cmluZywgb3B0aW9uczogVlBDUGVlcmluZ0Nvbm5lY3Rpb25PcHRpb25zKTogVlBDUGVlcmluZ0Nvbm5lY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVlBDUGVlcmluZ0Nvbm5lY3Rpb24odGhpcywgaWQsIHtcbiAgICAgIHJlcXVlc3RvclZwYzogdGhpcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaWQgb2YgdGhlIFZQTiBHYXRld2F5IChpZiBlbmFibGVkKVxuICAgKi9cbiAgcHVibGljIGdldCB2cG5HYXRld2F5SWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdnBuR2F0ZXdheUlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGlkIG9mIHRoZSBJbnRlcm5ldCBHYXRld2F5IChpZiBlbmFibGVkKVxuICAgKi9cbiAgcHVibGljIGdldCBpbnRlcm5ldEdhdGV3YXlJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5ldEdhdGV3YXlJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpZCBvZiB0aGUgRWdyZXNzIE9ubHkgSW50ZXJuZXQgR2F0ZXdheSAoaWYgZW5hYmxlZClcbiAgICovXG4gIHB1YmxpYyBnZXQgZWdyZXNzT25seUludGVybmV0R2F0ZXdheUlkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2VncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHN1Ym5ldHMgYXBwcm9wcmlhdGUgZm9yIHRoZSBwbGFjZW1lbnQgc3RyYXRlZ3lcbiAgICovXG4gIHByb3RlY3RlZCBzZWxlY3RTdWJuZXRPYmplY3RzKHNlbGVjdGlvbjogU3VibmV0U2VsZWN0aW9uID0ge30pOiBJU3VibmV0W10ge1xuICAgIHNlbGVjdGlvbiA9IHRoaXMucmVpZnlTZWxlY3Rpb25EZWZhdWx0cyhzZWxlY3Rpb24pO1xuXG4gICAgaWYgKHNlbGVjdGlvbi5zdWJuZXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBzZWxlY3Rpb24uc3VibmV0cztcbiAgICB9XG5cbiAgICBsZXQgc3VibmV0cztcblxuICAgIGlmIChzZWxlY3Rpb24uc3VibmV0R3JvdXBOYW1lICE9PSB1bmRlZmluZWQpIHsgLy8gU2VsZWN0IGJ5IG5hbWVcbiAgICAgIHN1Ym5ldHMgPSB0aGlzLnNlbGVjdFN1Ym5ldE9iamVjdHNCeU5hbWUoc2VsZWN0aW9uLnN1Ym5ldEdyb3VwTmFtZSk7XG4gICAgfSBlbHNlIHsgLy8gT3Igc3BlY2lmeSBieSB0eXBlXG4gICAgICBjb25zdCB0eXBlID0gc2VsZWN0aW9uLnN1Ym5ldFR5cGUgfHwgU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTO1xuICAgICAgc3VibmV0cyA9IHRoaXMuc2VsZWN0U3VibmV0T2JqZWN0c0J5VHlwZSh0eXBlKTtcbiAgICB9XG5cbiAgICAvLyBBcHBseSBhbGwgdGhlIGZpbHRlcnNcbiAgICBzdWJuZXRzID0gdGhpcy5hcHBseVN1Ym5ldEZpbHRlcnMoc3VibmV0cywgc2VsZWN0aW9uLnN1Ym5ldEZpbHRlcnMgPz8gW10pO1xuXG4gICAgcmV0dXJuIHN1Ym5ldHM7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U3VibmV0RmlsdGVycyhzdWJuZXRzOiBJU3VibmV0W10sIGZpbHRlcnM6IFN1Ym5ldEZpbHRlcltdKTogSVN1Ym5ldFtdIHtcbiAgICBsZXQgZmlsdGVyZWQgPSBzdWJuZXRzO1xuICAgIC8vIEFwcGx5IGVhY2ggZmlsdGVyIGluIHNlcXVlbmNlXG4gICAgZm9yIChjb25zdCBmaWx0ZXIgb2YgZmlsdGVycykge1xuICAgICAgZmlsdGVyZWQgPSBmaWx0ZXIuc2VsZWN0U3VibmV0cyhmaWx0ZXJlZCk7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0U3VibmV0T2JqZWN0c0J5TmFtZShncm91cE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGFsbFN1Ym5ldHMgPSBbLi4udGhpcy5wdWJsaWNTdWJuZXRzLCAuLi50aGlzLnByaXZhdGVTdWJuZXRzLCAuLi50aGlzLmlzb2xhdGVkU3VibmV0c107XG4gICAgY29uc3Qgc3VibmV0cyA9IGFsbFN1Ym5ldHMuZmlsdGVyKHMgPT4gc3VibmV0R3JvdXBOYW1lRnJvbUNvbnN0cnVjdElkKHMpID09PSBncm91cE5hbWUpO1xuXG4gICAgaWYgKHN1Ym5ldHMubGVuZ3RoID09PSAwICYmICF0aGlzLmluY29tcGxldGVTdWJuZXREZWZpbml0aW9uKSB7XG4gICAgICBjb25zdCBuYW1lcyA9IEFycmF5LmZyb20obmV3IFNldChhbGxTdWJuZXRzLm1hcChzdWJuZXRHcm91cE5hbWVGcm9tQ29uc3RydWN0SWQpKSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGFyZSBubyBzdWJuZXQgZ3JvdXBzIHdpdGggbmFtZSAnJHtncm91cE5hbWV9JyBpbiB0aGlzIFZQQy4gQXZhaWxhYmxlIG5hbWVzOiAke25hbWVzfWApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJuZXRzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RTdWJuZXRPYmplY3RzQnlUeXBlKHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUpOiBJU3VibmV0W10ge1xuICAgIHR5cGUgRGVwcmVjYXRlZFN1Ym5ldFR5cGUgPSAnRGVwcmVjYXRlZF9Jc29sYXRlZCcgfCAnRGVwcmVjYXRlZF9Qcml2YXRlJztcbiAgICBjb25zdCBhbGxTdWJuZXRzOiB7IFtrZXkgaW4gU3VibmV0VHlwZSB8IERlcHJlY2F0ZWRTdWJuZXRUeXBlXT86IElTdWJuZXRbXSB9ID0ge1xuICAgICAgW1N1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRF06IHRoaXMuaXNvbGF0ZWRTdWJuZXRzLFxuICAgICAgWydEZXByZWNhdGVkX0lzb2xhdGVkJ106IHRoaXMuaXNvbGF0ZWRTdWJuZXRzLFxuICAgICAgW1N1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX05BVF06IHRoaXMucHJpdmF0ZVN1Ym5ldHMsXG4gICAgICBbU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXTogdGhpcy5wcml2YXRlU3VibmV0cyxcbiAgICAgIFsnRGVwcmVjYXRlZF9Qcml2YXRlJ106IHRoaXMucHJpdmF0ZVN1Ym5ldHMsXG4gICAgICBbU3VibmV0VHlwZS5QVUJMSUNdOiB0aGlzLnB1YmxpY1N1Ym5ldHMsXG4gICAgfTtcblxuICAgIGNvbnN0IHN1Ym5ldHMgPSBhbGxTdWJuZXRzW3N1Ym5ldFR5cGVdITtcblxuICAgIC8vIEZvcmNlIG1lcmdlIGNvbmZsaWN0IGhlcmUgd2l0aCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC80MDg5XG4gICAgLy8gc2VlIEltcG9ydGVkVnBjXG5cbiAgICBpZiAoc3VibmV0cy5sZW5ndGggPT09IDAgJiYgIXRoaXMuaW5jb21wbGV0ZVN1Ym5ldERlZmluaXRpb24pIHtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZVR5cGVzID0gT2JqZWN0LmVudHJpZXMoYWxsU3VibmV0cykuZmlsdGVyKChbXywgc3Vic10pID0+IHN1YnMubGVuZ3RoID4gMCkubWFwKChbdHlwZU5hbWUsIF9dKSA9PiB0eXBlTmFtZSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGFyZSBubyAnJHtzdWJuZXRUeXBlfScgc3VibmV0IGdyb3VwcyBpbiB0aGlzIFZQQy4gQXZhaWxhYmxlIHR5cGVzOiAke2F2YWlsYWJsZVR5cGVzfWApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJuZXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoZSBmaWVsZHMgaW4gYSBTdWJuZXRTZWxlY3Rpb24gb2JqZWN0LCBhbmQgcmVpZnkgZGVmYXVsdHMgaWYgbmVjZXNzYXJ5XG4gICAqXG4gICAqIEluIGNhc2Ugb2YgZGVmYXVsdCBzZWxlY3Rpb24sIHNlbGVjdCB0aGUgZmlyc3QgdHlwZSBvZiBQUklWQVRFLCBJU09MQVRFRCxcbiAgICogUFVCTElDIChpbiB0aGF0IG9yZGVyKSB0aGF0IGhhcyBhbnkgc3VibmV0cy5cbiAgICovXG4gIHByaXZhdGUgcmVpZnlTZWxlY3Rpb25EZWZhdWx0cyhwbGFjZW1lbnQ6IFN1Ym5ldFNlbGVjdGlvbik6IFN1Ym5ldFNlbGVjdGlvbiB7XG4gICAgLy8gVE9ETzogdGhyb3cgZXJyb3IgYXMgbmV3IFZwY1YyIGNhbm5vdCBzdXBwb3J0IHN1Ym5ldE5hbWUgb3Igc3VibmV0R3JvdXBOYW1lIGFueW1vcmVcbiAgICBpZiAoJ3N1Ym5ldE5hbWUnIGluIHBsYWNlbWVudCAmJiBwbGFjZW1lbnQuc3VibmV0TmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAocGxhY2VtZW50LnN1Ym5ldEdyb3VwTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHVzZSBvbmx5IFxcJ3N1Ym5ldEdyb3VwTmFtZVxcJyAoXFwnc3VibmV0TmFtZVxcJyBpcyBkZXByZWNhdGVkIGFuZCBoYXMgdGhlIHNhbWUgYmVoYXZpb3IpJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nVjIoJ0Bhd3MtY2RrL2F3cy1lYzI6c3VibmV0TmFtZURlcHJlY2F0ZWQnLCAnVXNhZ2Ugb2YgXFwnc3VibmV0TmFtZVxcJyBpbiBTdWJuZXRTZWxlY3Rpb24gaXMgZGVwcmVjYXRlZCwgdXNlIFxcJ3N1Ym5ldEdyb3VwTmFtZVxcJyBpbnN0ZWFkJyk7XG4gICAgICB9XG4gICAgICBwbGFjZW1lbnQgPSB7IC4uLnBsYWNlbWVudCwgc3VibmV0R3JvdXBOYW1lOiBwbGFjZW1lbnQuc3VibmV0TmFtZSBhcyBzdHJpbmcgfTtcbiAgICB9XG5cbiAgICBjb25zdCBleGNsdXNpdmVTZWxlY3Rpb25zOiBBcnJheTxrZXlvZiBTdWJuZXRTZWxlY3Rpb24+ID0gWydzdWJuZXRzJywgJ3N1Ym5ldFR5cGUnLCAnc3VibmV0R3JvdXBOYW1lJ107XG4gICAgY29uc3QgcHJvdmlkZWRTZWxlY3Rpb25zID0gZXhjbHVzaXZlU2VsZWN0aW9ucy5maWx0ZXIoa2V5ID0+IHBsYWNlbWVudFtrZXldICE9PSB1bmRlZmluZWQpO1xuICAgIGlmIChwcm92aWRlZFNlbGVjdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBPbmx5IG9uZSBvZiAnJHtwcm92aWRlZFNlbGVjdGlvbnN9JyBjYW4gYmUgc3VwcGxpZWQgdG8gc3VibmV0IHNlbGVjdGlvbi5gKTtcbiAgICB9XG5cbiAgICBpZiAocGxhY2VtZW50LnN1Ym5ldFR5cGUgPT09IHVuZGVmaW5lZCAmJiBwbGFjZW1lbnQuc3VibmV0R3JvdXBOYW1lID09PSB1bmRlZmluZWQgJiYgcGxhY2VtZW50LnN1Ym5ldHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gUmV0dXJuIGRlZmF1bHQgc3VibmV0IHR5cGUgYmFzZWQgb24gc3VibmV0cyB0aGF0IGFjdHVhbGx5IGV4aXN0XG4gICAgICBsZXQgc3VibmV0VHlwZSA9IHRoaXMucHJpdmF0ZVN1Ym5ldHMubGVuZ3RoXG4gICAgICAgID8gU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTIDogdGhpcy5pc29sYXRlZFN1Ym5ldHMubGVuZ3RoID8gU3VibmV0VHlwZS5QUklWQVRFX0lTT0xBVEVEIDogU3VibmV0VHlwZS5QVUJMSUM7XG4gICAgICBwbGFjZW1lbnQgPSB7IC4uLnBsYWNlbWVudCwgc3VibmV0VHlwZTogc3VibmV0VHlwZSB9O1xuICAgIH1cblxuICAgIC8vIEVzdGFibGlzaCB3aGljaCBzdWJuZXQgZmlsdGVycyBhcmUgZ29pbmcgdG8gYmUgdXNlZFxuICAgIGxldCBzdWJuZXRGaWx0ZXJzID0gcGxhY2VtZW50LnN1Ym5ldEZpbHRlcnMgPz8gW107XG5cbiAgICAvLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIGBhdmFpbGFiaWxpdHlab25lc2AgYW5kIGBvbmVQZXJBemAgZnVuY3Rpb25hbGl0eVxuICAgIGlmIChwbGFjZW1lbnQuYXZhaWxhYmlsaXR5Wm9uZXMgIT09IHVuZGVmaW5lZCkgeyAvLyBGaWx0ZXIgYnkgQVpzLCBpZiBzcGVjaWZpZWRcbiAgICAgIHN1Ym5ldEZpbHRlcnMucHVzaChTdWJuZXRGaWx0ZXIuYXZhaWxhYmlsaXR5Wm9uZXMocGxhY2VtZW50LmF2YWlsYWJpbGl0eVpvbmVzKSk7XG4gICAgfVxuICAgIGlmICghIXBsYWNlbWVudC5vbmVQZXJBeikgeyAvLyBFbnN1cmUgb25lIHBlciBBWiBpZiBzcGVjaWZpZWRcbiAgICAgIHN1Ym5ldEZpbHRlcnMucHVzaChTdWJuZXRGaWx0ZXIub25lUGVyQXooKSk7XG4gICAgfVxuXG4gICAgLy8gT3ZlcndyaXRlIHRoZSBwcm92aWRlZCBwbGFjZW1lbnQgZmlsdGVycyBhbmQgcmVtb3ZlIHRoZSBhdmFpbGFiaWxpdHlab25lcyBhbmQgb25lUGVyQXogcHJvcGVydGllc1xuICAgIHBsYWNlbWVudCA9IHsgLi4ucGxhY2VtZW50LCBzdWJuZXRGaWx0ZXJzOiBzdWJuZXRGaWx0ZXJzLCBhdmFpbGFiaWxpdHlab25lczogdW5kZWZpbmVkLCBvbmVQZXJBejogdW5kZWZpbmVkIH07XG4gICAgY29uc3QgeyBhdmFpbGFiaWxpdHlab25lcywgb25lUGVyQXosIC4uLnJlc3QgfSA9IHBsYWNlbWVudDtcblxuICAgIHJldHVybiByZXN0O1xuICB9XG59XG5cbmNsYXNzIENvbXBvc2l0ZURlcGVuZGFibGUgaW1wbGVtZW50cyBJRGVwZW5kYWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwZW5kYWJsZXMgPSBuZXcgQXJyYXk8SURlcGVuZGFibGU+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgRGVwZW5kYWJsZS5pbXBsZW1lbnQodGhpcywge1xuICAgICAgZ2V0IGRlcGVuZGVuY3lSb290cygpIHtcbiAgICAgICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PElDb25zdHJ1Y3Q+KCk7XG4gICAgICAgIGZvciAoY29uc3QgZGVwIG9mIHNlbGYuZGVwZW5kYWJsZXMpIHtcbiAgICAgICAgICByZXQucHVzaCguLi5EZXBlbmRhYmxlLm9mKGRlcCkuZGVwZW5kZW5jeVJvb3RzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBjb25zdHJ1Y3QgdG8gdGhlIGRlcGVuZGVuY3kgcm9vdHNcbiAgICovXG4gIHB1YmxpYyBhZGQoZGVwOiBJRGVwZW5kYWJsZSkge1xuICAgIHRoaXMuZGVwZW5kYWJsZXMucHVzaChkZXApO1xuICB9XG59XG5cbi8qKlxuICogSW52b2tlIGEgZnVuY3Rpb24gb24gYSB2YWx1ZSAoZm9yIGl0cyBzaWRlIGVmZmVjdCkgYW5kIHJldHVybiB0aGUgdmFsdWVcbiAqL1xuZnVuY3Rpb24gdGFwPFQ+KHg6IFQsIGZuOiAoeDogVCkgPT4gdm9pZCk6IFQge1xuICBmbih4KTtcbiAgcmV0dXJuIHg7XG59XG4iXX0=
|
|
518
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLXYyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ2cGMtdjItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2Q0FBeUQ7QUFDekQsaURBQWtjO0FBQ2xjLGlDQUFtRjtBQUNuRiwyQ0FBa0Y7QUFDbEYsbUNBQWlNO0FBRWpNLGlEQUFzRjtBQStMdEY7Ozs7R0FJRztBQUNILE1BQXNCLFNBQVUsU0FBUSxzQkFBUTtJQUFoRDs7UUFnQkU7O1dBRUc7UUFDYSxrQkFBYSxHQUFjLEVBQUUsQ0FBQztRQUU5Qzs7V0FFRztRQUNhLG1CQUFjLEdBQWMsRUFBRSxDQUFDO1FBTy9DOztXQUVHO1FBQ2Esc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBT2pEOzs7O1dBSUc7UUFDZ0IscUNBQWdDLEdBQUcsSUFBSSw0QkFBZSxFQUFFLENBQUM7UUFzQzVFOztXQUVHO1FBQ08sK0JBQTBCLEdBQVksS0FBSyxDQUFDO0tBb2R2RDtJQWhjQzs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxZQUE2QixFQUFFO1FBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFekMsT0FBTztZQUNMLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUN2QyxJQUFJLGlCQUFpQixLQUFlLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRiwrQkFBK0IsRUFBRSxHQUFHLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENB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QUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVCO0NBQ0Y7QUFFRDs7R0FFRztBQUNILFNBQVMsR0FBRyxDQUFJLENBQUksRUFBRSxFQUFrQjtJQUN0QyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixPQUFPLENBQUMsQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3MsIFJlc291cmNlLCBBbm5vdGF0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElWcGMsIElTdWJuZXQsIFN1Ym5ldFNlbGVjdGlvbiwgU2VsZWN0ZWRTdWJuZXRzLCBFbmFibGVWcG5HYXRld2F5T3B0aW9ucywgVnBuR2F0ZXdheSwgVnBuQ29ubmVjdGlvblR5cGUsIENmblZQQ0dhdGV3YXlBdHRhY2htZW50LCBDZm5WUE5HYXRld2F5Um91dGVQcm9wYWdhdGlvbiwgVnBuQ29ubmVjdGlvbk9wdGlvbnMsIFZwbkNvbm5lY3Rpb24sIENsaWVudFZwbkVuZHBvaW50T3B0aW9ucywgQ2xpZW50VnBuRW5kcG9pbnQsIEludGVyZmFjZVZwY0VuZHBvaW50T3B0aW9ucywgSW50ZXJmYWNlVnBjRW5kcG9pbnQsIEdhdGV3YXlWcGNFbmRwb2ludE9wdGlvbnMsIEdhdGV3YXlWcGNFbmRwb2ludCwgRmxvd0xvZ09wdGlvbnMsIEZsb3dMb2csIEZsb3dMb2dSZXNvdXJjZVR5cGUsIFN1Ym5ldFR5cGUsIFN1Ym5ldEZpbHRlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgYWxsUm91dGVUYWJsZUlkcywgZmxhdHRlbiwgc3VibmV0R3JvdXBOYW1lRnJvbUNvbnN0cnVjdElkIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IElEZXBlbmRhYmxlLCBEZXBlbmRhYmxlLCBJQ29uc3RydWN0LCBEZXBlbmRlbmN5R3JvdXAgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXksIEludGVybmV0R2F0ZXdheSwgTmF0Q29ubmVjdGl2aXR5VHlwZSwgTmF0R2F0ZXdheSwgTmF0R2F0ZXdheU9wdGlvbnMsIFJvdXRlLCBWUENQZWVyaW5nQ29ubmVjdGlvbiwgVlBDUGVlcmluZ0Nvbm5lY3Rpb25PcHRpb25zLCBWUE5HYXRld2F5VjIgfSBmcm9tICcuL3JvdXRlJztcbmltcG9ydCB7IElTdWJuZXRWMiB9IGZyb20gJy4vc3VibmV0LXYyJztcbmltcG9ydCB7IEFjY291bnRQcmluY2lwYWwsIEVmZmVjdCwgUG9saWN5U3RhdGVtZW50LCBSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJVlBDQ2lkckJsb2NrIH0gZnJvbSAnLi92cGMtdjInO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gZGVmaW5lIEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXkgZm9yIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3VibmV0cyB3aGVyZSByb3V0ZSB0byBFR1cgd2lsbCBiZSBhZGRlZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJvdXRlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb25bXTtcblxuICAvKipcbiAgICogRGVzdGluYXRpb24gSXB2NiBhZGRyZXNzIGZvciBFR1cgcm91dGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSAnOjovMCcgYWxsIElwdjYgdHJhZmZpY1xuICAgKi9cbiAgcmVhZG9ubHkgZGVzdGluYXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSBuYW1lIG9mIHRoZSBlZ3Jlc3Mtb25seSBpbnRlcm5ldCBnYXRld2F5LlxuICAgKiBQcm92aWRlZCBuYW1lIHdpbGwgYmUgdXNlZCBmb3IgdGFnZ2luZ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5hbWUgdGFnIGFzc29jaWF0ZWQgYW5kIHByb3Zpc2lvbmVkIHdpdGhvdXQgYSByZXNvdXJjZSBuYW1lXG4gICAqL1xuICByZWFkb25seSBlZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGRlZmluZSBJbnRlcm5ldEdhdGV3YXkgZm9yIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVybmV0R2F0ZXdheU9wdGlvbnN7XG5cbiAgLyoqXG4gICAqIERlc3RpbmF0aW9uIElwdjYgYWRkcmVzcyBmb3IgRUdXIHJvdXRlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gJzAuMC4wLjAnIGFsbCBJcHY0IHRyYWZmaWNcbiAgICovXG4gIHJlYWRvbmx5IGlwdjREZXN0aW5hdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVzdGluYXRpb24gSXB2NiBhZGRyZXNzIGZvciBFR1cgcm91dGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSAnOjovMCcgYWxsIElwdjYgdHJhZmZpY1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkRlc3RpbmF0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgbmFtZSBvZiB0aGUgaW50ZXJuZXQgZ2F0ZXdheS5cbiAgICogUHJvdmlkZWQgbmFtZSB3aWxsIGJlIHVzZWQgZm9yIHRhZ2dpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwcm92aXNpb25lZCB3aXRob3V0IGEgcmVzb3VyY2UgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJuZXRHYXRld2F5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBzdWJuZXRzIHdoZXJlIHJvdXRlIHRvIElHVyB3aWxsIGJlIGFkZGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm91dGUgY3JlYXRlZCBmb3IgYWxsIHN1Ym5ldHMgd2l0aCBUeXBlIGBTdWJuZXRUeXBlLlB1YmxpY2BcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb25bXTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGRlZmluZSBWUE5HYXRld2F5VjIgZm9yIFZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQTkdhdGV3YXlWMk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgVlBOIGNvbm5lY3Rpb24gdGhlIHZpcnR1YWwgcHJpdmF0ZSBnYXRld2F5IHN1cHBvcnRzLlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi12cG5nYXRld2F5Lmh0bWwjY2ZuLWVjMi12cG5nYXRld2F5LXR5cGVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFZwbkNvbm5lY3Rpb25UeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpdmF0ZSBBdXRvbm9tb3VzIFN5c3RlbSBOdW1iZXIgKEFTTikgZm9yIHRoZSBBbWF6b24gc2lkZSBvZiBhIEJHUCBzZXNzaW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIEFTTiBzZXQgZm9yIEJHUCBzZXNzaW9uXG4gICAqL1xuICByZWFkb25seSBhbWF6b25TaWRlQXNuPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgbmFtZSBvZiB0aGUgVlBOIGdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcmVzb3VyY2UgcHJvdmlzaW9uZWQgd2l0aG91dCBhbnkgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBuR2F0ZXdheU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldHMgd2hlcmUgdGhlIHJvdXRlIHByb3BhZ2F0aW9uIHNob3VsZCBiZSBhZGRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcm9wb2dhdGlvbiBmb3Igcm91dGVzXG4gICAqL1xuICByZWFkb25seSB2cG5Sb3V0ZVByb3BhZ2F0aW9uPzogU3VibmV0U2VsZWN0aW9uW107XG59XG5cbi8qKlxuICogUGxhY2Vob2xkZXIgdG8gc2VlIHdoYXQgZXh0cmEgcHJvcHMgd2UgbWlnaHQgbmVlZCxcbiAqIHdpbGwgYmUgYWRkZWQgdG8gb3JpZ2luYWwgSVZQQ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElWcGNWMiBleHRlbmRzIElWcGMge1xuICAvKipcbiAgICogVGhlIHNlY29uZGFyeSBDSURSIGJsb2NrcyBhc3NvY2lhdGVkIHdpdGggdGhlIFZQQy5cbiAgICpcbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUge0BsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS92cGMvbGF0ZXN0L3VzZXJndWlkZS92cGMtY2lkci1ibG9ja3MuaHRtbCN2cGMtcmVzaXplfS5cbiAgICovXG4gIHJlYWRvbmx5IHNlY29uZGFyeUNpZHJCbG9jaz86IElWUENDaWRyQmxvY2tbXTtcblxuICAvKipcbiAgICogVGhlIHByaW1hcnkgSVB2NCBDSURSIGJsb2NrIGFzc29jaWF0ZWQgd2l0aCB0aGUgVlBDLlxuICAgKiBOZWVkZWQgaW4gb3JkZXIgdG8gdmFsaWRhdGUgdGhlIHZwYyByYW5nZSBvZiBzdWJuZXRcbiAgICogY3VycmVudCBwcm9wIHZwY0NpZHJCbG9jayByZWZlcnMgdG8gdGhlIHRva2VuIHZhbHVlXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdnBjL2xhdGVzdC91c2VyZ3VpZGUvdnBjLWNpZHItYmxvY2tzLmh0bWwjdnBjLXNpemluZy1pcHY0fS5cbiAgICovXG4gIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgdG8gb3ZlcnJpZGUgaW5mZXJyZWQgcmVnaW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY3VycmVudCBzdGFjaydzIGVudmlyb25tZW50IHJlZ2lvblxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgQVdTIGFjY291bnQgdGhhdCBvd25zIHRoZSBWUENcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgYWNjb3VudCBpZCBvZiB0aGUgcGFyZW50IHN0YWNrXG4gICAqL1xuICByZWFkb25seSBvd25lckFjY291bnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJUHY0IENJRFIgcHJvdmlzaW9uZWQgdW5kZXIgcG9vbFxuICAgKiBSZXF1aXJlZCB0byBjaGVjayBmb3Igb3ZlcmxhcHBpbmcgQ0lEUnMgYWZ0ZXIgcHJvdmlzaW9uaW5nXG4gICAqIGlzIGNvbXBsZXRlIHVuZGVyIElQQU0gcG9vbFxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NElwYW1Qcm92aXNpb25lZENpZHJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFZwY05hbWUgdG8gYmUgdXNlZCBmb3IgdGFnZ2luZyBpdHMgY29tcG9uZW50c1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB2cGNOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gRWdyZXNzIG9ubHkgSW50ZXJuZXQgR2F0ZXdheSB0byBjdXJyZW50IFZQQy5cbiAgICogQ2FuIG9ubHkgYmUgdXNlZCBmb3IgaXB2NiBlbmFibGVkIFZQQ3MuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdnBjL2xhdGVzdC91c2VyZ3VpZGUvZWdyZXNzLW9ubHktaW50ZXJuZXQtZ2F0ZXdheS1iYXNpY3MuaHRtbH0uXG4gICAqL1xuICBhZGRFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5KG9wdGlvbnM/OiBFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5T3B0aW9ucyk6IEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gSW50ZXJuZXQgR2F0ZXdheSB0byBjdXJyZW50IFZQQy5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUge0BsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS92cGMvbGF0ZXN0L3VzZXJndWlkZS92cGMtaWd3LWludGVybmV0LWFjY2Vzcy5odG1sfS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZpbmVzIHJvdXRlIGZvciBhbGwgaXB2NCgnMC4wLjAuMCcpIGFuZCBpcHY2IGFkZHJlc3NlcygnOjovMCcpXG4gICAqL1xuICBhZGRJbnRlcm5ldEdhdGV3YXkob3B0aW9ucz86IEludGVybmV0R2F0ZXdheU9wdGlvbnMpOiBJbnRlcm5ldEdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIEFkZHMgVlBOIEdhdGV3YXkgdG8gVlBDIGFuZCBzZXQgcm91dGUgcHJvcG9nYXRpb24uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLXZwbmdhdGV3YXkuaHRtbH0uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcm91dGUgcHJvcG9nYXRpb25cbiAgICovXG4gIGVuYWJsZVZwbkdhdGV3YXlWMihvcHRpb25zOiBWUE5HYXRld2F5VjJPcHRpb25zKTogVlBOR2F0ZXdheVYyO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IE5BVCBHYXRld2F5IHRvIFZQQ1xuICAgKiBBIE5BVCBnYXRld2F5IGlzIGEgTmV0d29yayBBZGRyZXNzIFRyYW5zbGF0aW9uIChOQVQpIHNlcnZpY2UuIE5BVCBHYXRld2F5IENvbm5lY3Rpdml0eSBjYW4gYmUgb2YgdHlwZSBgUHVibGljYCBvciBgUHJpdmF0ZWAuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdnBjL2xhdGVzdC91c2VyZ3VpZGUvdnBjLW5hdC1nYXRld2F5Lmh0bWx9LlxuICAgKlxuICAgKiBAZGVmYXVsdCBDb25uZWN0aXZpdHlUeXBlLlB1YmxpY1xuICAgKi9cbiAgYWRkTmF0R2F0ZXdheShvcHRpb25zOiBOYXRHYXRld2F5T3B0aW9ucyk6IE5hdEdhdGV3YXk7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgcm9sZSB0byBhY2NlcHRvciBWUEMgYWNjb3VudFxuICAgKiBBIGNyb3NzIGFjY291bnQgcm9sZSBpcyByZXF1aXJlZCBmb3IgdGhlIFZQQyB0byBwZWVyIHdpdGggYW5vdGhlciBhY2NvdW50LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvcGVlci13aXRoLXZwYy1pbi1hbm90aGVyLWFjY291bnQuaHRtbH0uXG4gICAqL1xuICBjcmVhdGVBY2NlcHRvclZwY1JvbGUocmVxdWVzdG9yQWNjb3VudElkOiBzdHJpbmcpOiBSb2xlO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHBlZXJpbmcgY29ubmVjdGlvblxuICAgKiBBIHBlZXJpbmcgY29ubmVjdGlvbiBpcyBhIHByaXZhdGUgdmlydHVhbCBuZXR3b3JrIGVzdGFibGlzaGVkIGJldHdlZW4gdHdvIFZQQ3MuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdnBjL2xhdGVzdC9wZWVyaW5nL3doYXQtaXMtdnBjLXBlZXJpbmcuaHRtbH0uXG4gICAqL1xuICBjcmVhdGVQZWVyaW5nQ29ubmVjdGlvbihpZDogc3RyaW5nLCBvcHRpb25zOiBWUENQZWVyaW5nQ29ubmVjdGlvbk9wdGlvbnMpOiBWUENQZWVyaW5nQ29ubmVjdGlvbjtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjcmVhdGluZyBhIFZQQyAoVmlydHVhbCBQcml2YXRlIENsb3VkKSBpbiBBV1MuXG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUge0BsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvYXBpL3YyL2RvY3MvYXdzLWNkay1saWIuYXdzX2VjMi5WcGMuaHRtbHxBV1MgQ0RLIERvY3VtZW50YXRpb24gb24gVlBDc30uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWcGNWMkJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElWcGNWMiB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZwY0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFybiBvZiB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZwY0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDSURSIHJhbmdlIGZvciB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZwY0NpZHJCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHB1YmxpYyBzdWJuZXRzIGluIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHVibGljU3VibmV0czogSVN1Ym5ldFtdID0gW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcHJpdmF0ZSBzdWJuZXRzIGluIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldHM6IElTdWJuZXRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGlzb2xhdGVkIHN1Ym5ldHMgaW4gdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpc29sYXRlZFN1Ym5ldHM6IElTdWJuZXRbXTtcblxuICAvKipcbiAgICogQVpzIGZvciB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBEZXBlbmRhYmxlIHRoYXQgY2FuIGJlIGRlcGVuZGVkIHVwb24gdG8gZm9yY2UgaW50ZXJuZXQgY29ubmVjdGl2aXR5IGVzdGFibGlzaGVkIG9uIHRoZSBWUENcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkOiBJRGVwZW5kYWJsZTtcblxuICAvKipcbiAgICogRGVwZW5kYWJsZSB0aGF0IGNhbiBiZSBkZXBlbmRlZCB1cG9uIHRvIGZvcmNlIGludGVybmV0IGNvbm5lY3Rpdml0eSBlc3RhYmxpc2hlZCBvbiB0aGUgVlBDXG4gICAqIEFkZCBpZ3cgdG8gdGhpcyBpZiBpdHMgYSBwdWJsaWMgc3VibmV0XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkID0gbmV3IERlcGVuZGVuY3lHcm91cCgpO1xuXG4gIC8qKlxuICAgKiBTZWNvbmRhcnkgSVBzIGZvciB0aGUgVlBDLCBjYW4gYmUgbXVsdGlwbGUgSXB2NCBvciBJcHY2XG4gICAqIElwdjQgc2hvdWxkIGJlIHdpdGhpbiBSRkMjMTkxOCByYW5nZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNlY29uZGFyeUNpZHJCbG9jaz86IElWUENDaWRyQmxvY2tbXTtcblxuICAvKipcbiAgICogVGhlIHByaW1hcnkgSVB2NCBDSURSIGJsb2NrIGFzc29jaWF0ZWQgd2l0aCB0aGUgVlBDLlxuICAgKiBOZWVkZWQgaW4gb3JkZXIgdG8gdmFsaWRhdGUgdGhlIHZwYyByYW5nZSBvZiBzdWJuZXRcbiAgICogY3VycmVudCBwcm9wIHZwY0NpZHJCbG9jayByZWZlcnMgdG8gdGhlIHRva2VuIHZhbHVlXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdnBjL2xhdGVzdC91c2VyZ3VpZGUvdnBjLWNpZHItYmxvY2tzLmh0bWwjdnBjLXNpemluZy1pcHY0fS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpcHY0Q2lkckJsb2NrOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZwY05hbWUgdG8gYmUgdXNlZCBmb3IgdGFnZ2luZyBpdHMgY29tcG9uZW50c1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZwY05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZ2lvbiBmb3IgdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgb3duZXIgZm9yIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgb3duZXJBY2NvdW50SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSVB2NCBDSURSIHByb3Zpc2lvbmVkIHVuZGVyIHBvb2xcbiAgICogUmVxdWlyZWQgdG8gY2hlY2sgZm9yIG92ZXJsYXBwaW5nIENJRFJzIGFmdGVyIHByb3Zpc2lvbmluZ1xuICAgKiBpcyBjb21wbGV0ZSB1bmRlciBJUEFNIHBvb2xcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpcHY0SXBhbVByb3Zpc2lvbmVkQ2lkcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogSWYgdGhpcyBpcyBzZXQgdG8gdHJ1ZSwgZG9uJ3QgZXJyb3Igb3V0IG9uIHRyeWluZyB0byBzZWxlY3Qgc3VibmV0c1xuICAgKi9cbiAgcHJvdGVjdGVkIGluY29tcGxldGVTdWJuZXREZWZpbml0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE11dGFibGUgcHJpdmF0ZSBmaWVsZCBmb3IgdGhlIHZwbkdhdGV3YXlJZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfdnBuR2F0ZXdheUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNdXRhYmxlIHByaXZhdGUgZmllbGQgZm9yIHRoZSBpbnRlcm5ldEdhdGV3YXlJZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfaW50ZXJuZXRHYXRld2F5SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE11dGFibGUgcHJpdmF0ZSBmaWVsZCBmb3IgdGhlIEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlJZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfZWdyZXNzT25seUludGVybmV0R2F0ZXdheUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gaW5mb3JtYXRpb24gb24gdGhlIHN1Ym5ldHMgYXBwcm9wcmlhdGUgZm9yIHRoZSBnaXZlbiBzZWxlY3Rpb24gc3RyYXRlZ3lcbiAgICpcbiAgICogUmVxdWlyZXMgdGhhdCBhdCBsZWFzdCBvbmUgc3VibmV0IGlzIG1hdGNoZWQsIHRocm93cyBhIGRlc2NyaXB0aXZlXG4gICAqIGVycm9yIG1lc3NhZ2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIHNlbGVjdFN1Ym5ldHMoc2VsZWN0aW9uOiBTdWJuZXRTZWxlY3Rpb24gPSB7fSk6IFNlbGVjdGVkU3VibmV0cyB7XG4gICAgY29uc3Qgc3VibmV0cyA9IHRoaXMuc2VsZWN0U3VibmV0T2JqZWN0cyhzZWxlY3Rpb24pO1xuICAgIGNvbnN0IHB1YnMgPSBuZXcgU2V0KHRoaXMucHVibGljU3VibmV0cyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3VibmV0SWRzOiBzdWJuZXRzLm1hcChzID0+IHMuc3VibmV0SWQpLFxuICAgICAgZ2V0IGF2YWlsYWJpbGl0eVpvbmVzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHN1Ym5ldHMubWFwKHMgPT4gcy5hdmFpbGFiaWxpdHlab25lKTsgfSxcbiAgICAgIGludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQ6IHRhcChuZXcgQ29tcG9zaXRlRGVwZW5kYWJsZSgpLCBkID0+IHN1Ym5ldHMuZm9yRWFjaChzID0+IGQuYWRkKHMuaW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZCkpKSxcbiAgICAgIHN1Ym5ldHMsXG4gICAgICBoYXNQdWJsaWM6IHN1Ym5ldHMuc29tZShzID0+IHB1YnMuaGFzKHMpKSxcbiAgICAgIGlzUGVuZGluZ0xvb2t1cDogdGhpcy5pbmNvbXBsZXRlU3VibmV0RGVmaW5pdGlvbixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBWUE4gR2F0ZXdheSB0byB0aGlzIFZQQ1xuICAgKiBAZGVwcmVjYXRlZCB1c2UgZW5hYmxlVnBuR2F0ZXdheVYyIGZvciBjb21wYXRpYmlsaXR5IHdpdGggVlBDVjIuUm91dGVcbiAgICovXG4gIHB1YmxpYyBlbmFibGVWcG5HYXRld2F5KG9wdGlvbnM6IEVuYWJsZVZwbkdhdGV3YXlPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudnBuR2F0ZXdheUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBWUE4gR2F0ZXdheSBoYXMgYWxyZWFkeSBiZWVuIGVuYWJsZWQuJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBuR2F0ZXdheSA9IG5ldyBWcG5HYXRld2F5KHRoaXMsICdWcG5HYXRld2F5Jywge1xuICAgICAgYW1hem9uU2lkZUFzbjogb3B0aW9ucy5hbWF6b25TaWRlQXNuLFxuICAgICAgdHlwZTogVnBuQ29ubmVjdGlvblR5cGUuSVBTRUNfMSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3ZwbkdhdGV3YXlJZCA9IHZwbkdhdGV3YXkuZ2F0ZXdheUlkO1xuXG4gICAgY29uc3QgYXR0YWNobWVudCA9IG5ldyBDZm5WUENHYXRld2F5QXR0YWNobWVudCh0aGlzLCAnVlBDVlBOR1cnLCB7XG4gICAgICB2cGNJZDogdGhpcy52cGNJZCxcbiAgICAgIHZwbkdhdGV3YXlJZDogdGhpcy5fdnBuR2F0ZXdheUlkLFxuICAgIH0pO1xuXG4gICAgLy8gUHJvcGFnYXRlIHJvdXRlcyBvbiByb3V0ZSB0YWJsZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSByaWdodCBzdWJuZXRzXG4gICAgY29uc3QgdnBuUm91dGVQcm9wYWdhdGlvbiA9IG9wdGlvbnMudnBuUm91dGVQcm9wYWdhdGlvbiA/PyBbe31dO1xuICAgIGNvbnN0IHJvdXRlVGFibGVJZHMgPSBhbGxSb3V0ZVRhYmxlSWRzKGZsYXR0ZW4odnBuUm91dGVQcm9wYWdhdGlvbi5tYXAocyA9PiB0aGlzLnNlbGVjdFN1Ym5ldHMocykuc3VibmV0cykpKTtcblxuICAgIGlmIChyb3V0ZVRhYmxlSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoYGVuYWJsZVZwbkdhdGV3YXk6IG5vIHN1Ym5ldHMgbWF0Y2hpbmcgc2VsZWN0aW9uOiAnJHtKU09OLnN0cmluZ2lmeSh2cG5Sb3V0ZVByb3BhZ2F0aW9uKX0nLiBTZWxlY3Qgb3RoZXIgc3VibmV0cyB0byBhZGQgcm91dGVzIHRvLmApO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdXRlUHJvcGFnYXRpb24gPSBuZXcgQ2ZuVlBOR2F0ZXdheVJvdXRlUHJvcGFnYXRpb24odGhpcywgJ1JvdXRlUHJvcGFnYXRpb24nLCB7XG4gICAgICByb3V0ZVRhYmxlSWRzLFxuICAgICAgdnBuR2F0ZXdheUlkOiB0aGlzLl92cG5HYXRld2F5SWQsXG4gICAgfSk7XG4gICAgICAvLyBUaGUgQVdTOjpFQzI6OlZQTkdhdGV3YXlSb3V0ZVByb3BhZ2F0aW9uIHJlc291cmNlIGNhbm5vdCB1c2UgdGhlIFZQTiBnYXRld2F5XG4gICAgICAvLyB1bnRpbCBpdCBoYXMgc3VjY2Vzc2Z1bGx5IGF0dGFjaGVkIHRvIHRoZSBWUEMuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi12cG4tZ2F0ZXdheXJvdXRlcHJvcC5odG1sXG4gICAgcm91dGVQcm9wYWdhdGlvbi5ub2RlLmFkZERlcGVuZGVuY3koYXR0YWNobWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBWUE5HQXRld2F5VjIgdG8gdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyBlbmFibGVWcG5HYXRld2F5VjIob3B0aW9uczogVlBOR2F0ZXdheVYyT3B0aW9ucyk6IFZQTkdhdGV3YXlWMiB7XG4gICAgaWYgKHRoaXMudnBuR2F0ZXdheUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBWUE4gR2F0ZXdheSBoYXMgYWxyZWFkeSBiZWVuIGVuYWJsZWQuJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBuR2F0ZXdheSA9IG5ldyBWUE5HYXRld2F5VjIodGhpcywgJ1ZwbkdhdGV3YXknLCB7XG4gICAgICB2cGM6IHRoaXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5faW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZC5hZGQodnBuR2F0ZXdheSk7XG4gICAgdGhpcy5fdnBuR2F0ZXdheUlkID0gdnBuR2F0ZXdheS5yb3V0ZXJUYXJnZXRJZDtcblxuICAgIHJldHVybiB2cG5HYXRld2F5O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgVlBOIGNvbm5lY3Rpb24gdG8gdGhpcyBWUENcbiAgICovXG4gIHB1YmxpYyBhZGRWcG5Db25uZWN0aW9uKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFZwbkNvbm5lY3Rpb25PcHRpb25zKTogVnBuQ29ubmVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBWcG5Db25uZWN0aW9uKHRoaXMsIGlkLCB7XG4gICAgICB2cGM6IHRoaXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgY2xpZW50IFZQTiBlbmRwb2ludCB0byB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFkZENsaWVudFZwbkVuZHBvaW50KGlkOiBzdHJpbmcsIG9wdGlvbnM6IENsaWVudFZwbkVuZHBvaW50T3B0aW9ucyk6IENsaWVudFZwbkVuZHBvaW50IHtcbiAgICByZXR1cm4gbmV3IENsaWVudFZwbkVuZHBvaW50KHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgdnBjOiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgaW50ZXJmYWNlIGVuZHBvaW50IHRvIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgYWRkSW50ZXJmYWNlRW5kcG9pbnQoaWQ6IHN0cmluZywgb3B0aW9uczogSW50ZXJmYWNlVnBjRW5kcG9pbnRPcHRpb25zKTogSW50ZXJmYWNlVnBjRW5kcG9pbnQge1xuICAgIHJldHVybiBuZXcgSW50ZXJmYWNlVnBjRW5kcG9pbnQodGhpcywgaWQsIHtcbiAgICAgIHZwYzogdGhpcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBnYXRld2F5IGVuZHBvaW50IHRvIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgYWRkR2F0ZXdheUVuZHBvaW50KGlkOiBzdHJpbmcsIG9wdGlvbnM6IEdhdGV3YXlWcGNFbmRwb2ludE9wdGlvbnMpOiBHYXRld2F5VnBjRW5kcG9pbnQge1xuICAgIHJldHVybiBuZXcgR2F0ZXdheVZwY0VuZHBvaW50KHRoaXMsIGlkLCB7XG4gICAgICB2cGM6IHRoaXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgRWdyZXNzIE9ubHkgSW50ZXJuZXQgR2F0ZXdheSB0byB0aGlzIFZQQyBhbmQgZGVmaW5lcyBhIG5ldyByb3V0ZVxuICAgKiB0byB0aGUgcm91dGUgdGFibGUgb2YgZ2l2ZW4gc3VibmV0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBpbiBjYXNlIG9mIG5vIGlucHV0IHN1Ym5ldHMsIG5vIHJvdXRlIGlzIGNyZWF0ZWRcbiAgICovXG4gIHB1YmxpYyBhZGRFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5KG9wdGlvbnM/OiBFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5T3B0aW9ucyk6IEVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXkge1xuICAgIGNvbnN0IGVndyA9IG5ldyBFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5KHRoaXMsICdFZ3Jlc3NPbmx5R1cnLCB7XG4gICAgICB2cGM6IHRoaXMsXG4gICAgICBlZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5TmFtZTogb3B0aW9ucz8uZWdyZXNzT25seUludGVybmV0R2F0ZXdheU5hbWUsXG4gICAgfSk7XG4gICAgdGhpcy5fZWdyZXNzT25seUludGVybmV0R2F0ZXdheUlkID0gZWd3LnJvdXRlclRhcmdldElkO1xuXG4gICAgbGV0IHVzZUlwdjY7XG4gICAgaWYgKHRoaXMuc2Vjb25kYXJ5Q2lkckJsb2NrKSB7XG4gICAgICB1c2VJcHY2ID0gKHRoaXMuc2Vjb25kYXJ5Q2lkckJsb2NrLnNvbWUoKHNlY29uZGFyeUFkZHJlc3MpID0+IHNlY29uZGFyeUFkZHJlc3MuYW1hem9uUHJvdmlkZWRJcHY2Q2lkckJsb2NrID09PSB0cnVlIHx8XG4gICAgc2Vjb25kYXJ5QWRkcmVzcy5pcHY2SXBhbVBvb2xJZCAhPT0gdW5kZWZpbmVkIHx8IHNlY29uZGFyeUFkZHJlc3MuaXB2NkNpZHJCbG9jayAhPT0gdW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgaWYgKCF1c2VJcHY2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VncmVzcyBvbmx5IElHVyBjYW4gb25seSBiZSBhZGRlZCB0byBJcHY2IGVuYWJsZWQgVlBDJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LnN1Ym5ldHMpIHtcbiAgICAgIC8vIFVzZSBoZWxwZXIgZnVuY3Rpb24gdG8gZW5zdXJlIHVuaXF1ZSBzdWJuZXRzXG4gICAgICBjb25zdCBzdWJuZXRzID0gZmxhdHRlbihvcHRpb25zLnN1Ym5ldHMubWFwKHMgPT4gdGhpcy5zZWxlY3RTdWJuZXRzKHMpLnN1Ym5ldHMpKTtcbiAgICAgIHRoaXMucHJvY2Vzc1N1Ym5ldHMoc3VibmV0cywgKHN1Ym5ldCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUVncmVzc1JvdXRlKHN1Ym5ldCwgZWd3LCBvcHRpb25zLmRlc3RpbmF0aW9uKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZWd3O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByb3V0ZSBmb3IgRUdXIHdpdGggZGVzdGluYXRpb24gc2V0IHRvIG91dGJvdW5kIElQdjYoJzo6LzAnKSBvciBjdXN0b20gaXB2NiBhZGRyZXNzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlRWdyZXNzUm91dGUoc3VibmV0OiBJU3VibmV0VjIsIGVndzogRWdyZXNzT25seUludGVybmV0R2F0ZXdheSwgZGVzdGluYXRpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkZXN0aW5hdGlvbklwdjYgPSBkZXN0aW5hdGlvbiA/PyAnOjovMCc7XG4gICAgbmV3IFJvdXRlKHRoaXMsIGAke3N1Ym5ldC5ub2RlLmlkfS1FZ3Jlc3NSb3V0ZWAsIHtcbiAgICAgIHJvdXRlVGFibGU6IHN1Ym5ldC5yb3V0ZVRhYmxlLFxuICAgICAgZGVzdGluYXRpb246IGRlc3RpbmF0aW9uSXB2NiwgLy8gSVB2NiBkZWZhdWx0IHJvdXRlXG4gICAgICB0YXJnZXQ6IHsgZ2F0ZXdheTogZWd3IH0sXG4gICAgICByb3V0ZU5hbWU6ICdDREtFSUdXUm91dGUnLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgSW50ZXJuZXQgR2F0ZXdheSB0byB0aGlzIFZQQ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGNyZWF0ZXMgYSBuZXcgcm91dGUgZm9yIHB1YmxpYyBzdWJuZXRzKHdpdGggYWxsIG91dGJvdW5kIGFjY2VzcykgdG8gdGhlIEludGVybmV0IEdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWMgYWRkSW50ZXJuZXRHYXRld2F5KG9wdGlvbnM/OiBJbnRlcm5ldEdhdGV3YXlPcHRpb25zKTogSW50ZXJuZXRHYXRld2F5IHtcbiAgICBpZiAodGhpcy5faW50ZXJuZXRHYXRld2F5SWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIEludGVybmV0IEdhdGV3YXkgaGFzIGFscmVhZHkgYmVlbiBlbmFibGVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGlndyA9IG5ldyBJbnRlcm5ldEdhdGV3YXkodGhpcywgJ0ludGVybmV0R2F0ZXdheScsIHtcbiAgICAgIHZwYzogdGhpcyxcbiAgICAgIGludGVybmV0R2F0ZXdheU5hbWU6IG9wdGlvbnM/LmludGVybmV0R2F0ZXdheU5hbWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkLmFkZChpZ3cpO1xuICAgIHRoaXMuX2ludGVybmV0R2F0ZXdheUlkID0gaWd3LnJvdXRlclRhcmdldElkO1xuXG4gICAgLy8gQWRkIHJvdXRlcyBmb3Igc3VibmV0cyBkZWZpbmVkIGFzIGFuIGlucHV0XG4gICAgaWYgKG9wdGlvbnM/LnN1Ym5ldHMpIHtcbiAgICAgIGNvbnN0IHN1Ym5ldHMgPSBmbGF0dGVuKG9wdGlvbnMuc3VibmV0cy5tYXAocyA9PiB0aGlzLnNlbGVjdFN1Ym5ldHMocykuc3VibmV0cykpO1xuICAgICAgLy8gVXNlIGhlbHBlciBmdW5jdGlvbiB0byBlbnN1cmUgdW5pcXVlIHN1Ym5ldHNcbiAgICAgIHRoaXMucHJvY2Vzc1N1Ym5ldHMoc3VibmV0cywgKHN1Ym5ldCkgPT4ge1xuICAgICAgICB0aGlzLmFkZERlZmF1bHRJbnRlcm5ldFJvdXRlKHN1Ym5ldCwgaWd3LCBvcHRpb25zKTtcbiAgICAgIH0pO1xuICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vIGlucHV0IHN1Ym5ldHMgZGVmaW5lZCwgZGVmYXVsdCByb3V0ZSB3aWxsIGJlIGFkZGVkIHRvIGFsbCBwdWJsaWMgc3VibmV0c1xuICAgIH0gZWxzZSBpZiAoIW9wdGlvbnM/LnN1Ym5ldHMgJiYgdGhpcy5wdWJsaWNTdWJuZXRzKSB7XG4gICAgICAvLyBUcmFjayByb3V0ZSB0YWJsZXMgdGhhdCBoYXZlIGFscmVhZHkgaGFkIHJvdXRlcyBhZGRlZCB0byBwcmV2ZW50IGR1cGxpY2F0ZXNcbiAgICAgIHRoaXMucHJvY2Vzc1N1Ym5ldHModGhpcy5wdWJsaWNTdWJuZXRzLCAoc3VibmV0KSA9PiB7XG4gICAgICAgIHRoaXMuYWRkRGVmYXVsdEludGVybmV0Um91dGUoc3VibmV0LCBpZ3csIG9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBpZ3c7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBkZWZhdWx0IHJvdXRlIGZvciB0aGUgaW50ZXJuZXQgZ2F0ZXdheVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgYWRkRGVmYXVsdEludGVybmV0Um91dGUoc3VibmV0OiBJU3VibmV0VjIsIGlndzogSW50ZXJuZXRHYXRld2F5LCBvcHRpb25zPzogSW50ZXJuZXRHYXRld2F5T3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIEFkZCBkZWZhdWx0IHJvdXRlIHRvIElHVyBmb3IgSVB2NlxuICAgIGlmIChzdWJuZXQuaXB2NkNpZHJCbG9jaykge1xuICAgICAgbmV3IFJvdXRlKHRoaXMsIGAke3N1Ym5ldC5ub2RlLmlkfS1EZWZhdWx0SVB2NlJvdXRlYCwge1xuICAgICAgICByb3V0ZVRhYmxlOiBzdWJuZXQucm91dGVUYWJsZSxcbiAgICAgICAgZGVzdGluYXRpb246IG9wdGlvbnM/LmlwdjZEZXN0aW5hdGlvbiA/PyAnOjovMCcsXG4gICAgICAgIHRhcmdldDogeyBnYXRld2F5OiBpZ3cgfSxcbiAgICAgICAgcm91dGVOYW1lOiAnQ0RLRGVmYXVsdElQdjZSb3V0ZScsXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQWRkIGRlZmF1bHQgcm91dGUgdG8gSUdXIGZvciBJUHY0XG4gICAgbmV3IFJvdXRlKHRoaXMsIGAke3N1Ym5ldC5ub2RlLmlkfS1EZWZhdWx0Um91dGVgLCB7XG4gICAgICByb3V0ZVRhYmxlOiBzdWJuZXQucm91dGVUYWJsZSxcbiAgICAgIGRlc3RpbmF0aW9uOiBvcHRpb25zPy5pcHY0RGVzdGluYXRpb24gPz8gJzAuMC4wLjAvMCcsXG4gICAgICB0YXJnZXQ6IHsgZ2F0ZXdheTogaWd3IH0sXG4gICAgICByb3V0ZU5hbWU6ICdDREtEZWZhdWx0SVB2NFJvdXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgZnVuY3Rpb24gdG8gcHJvY2VzcyB1bmlxdWUgc3VibmV0cyBhbmQgcm91dGUgdGFibGUgZm9yIGFkZGluZyByb3V0ZXNcbiAgICovXG4gIHByaXZhdGUgcHJvY2Vzc1N1Ym5ldHMoXG4gICAgc3VibmV0czogSVN1Ym5ldFYyW10sXG4gICAgcm91dGVIYW5kbGVyOiAoc3VibmV0OiBJU3VibmV0VjIpID0+IHZvaWQsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHByb2Nlc3NlZFN1Ym5ldHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBjb25zdCBwcm9jZXNzZWRSb3V0ZVRhYmxlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHN1Ym5ldHMuZm9yRWFjaCgoc3VibmV0KSA9PiB7XG4gICAgICBpZiAoIXRoaXMucHVibGljU3VibmV0cy5pbmNsdWRlcyhzdWJuZXQpKSB7XG4gICAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmdWMignSW50ZXJuZXRHYXRld2F5V2FybmluZycsIGBHaXZlbiAke3N1Ym5ldC5ub2RlLmlkfSBpcyBub3QgYSBwdWJsaWMgc3VibmV0LiBJbnRlcm5ldCBHYXRld2F5IHNob3VsZCBiZSBhZGRlZCBvbmx5IHRvIHB1YmxpYyBzdWJuZXRzLmApO1xuICAgICAgfVxuICAgICAgaWYgKCFwcm9jZXNzZWRTdWJuZXRzLmhhcyhzdWJuZXQubm9kZS5pZCkpIHtcbiAgICAgICAgaWYgKHN1Ym5ldC5yb3V0ZVRhYmxlICYmICFwcm9jZXNzZWRSb3V0ZVRhYmxlcy5oYXMoc3VibmV0LnJvdXRlVGFibGUucm91dGVUYWJsZUlkKSkge1xuICAgICAgICAgIHJvdXRlSGFuZGxlcihzdWJuZXQpO1xuICAgICAgICAgIHByb2Nlc3NlZFJvdXRlVGFibGVzLmFkZChzdWJuZXQucm91dGVUYWJsZS5yb3V0ZVRhYmxlSWQpO1xuICAgICAgICB9XG4gICAgICAgIHByb2Nlc3NlZFN1Ym5ldHMuYWRkKHN1Ym5ldC5ub2RlLmlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IE5BVCBHYXRld2F5IHRvIHRoZSBnaXZlbiBzdWJuZXQgb2YgdGhpcyBWUENcbiAgICogb2YgZ2l2ZW4gc3VibmV0cy5cbiAgICovXG4gIHB1YmxpYyBhZGROYXRHYXRld2F5KG9wdGlvbnM6IE5hdEdhdGV3YXlPcHRpb25zKTogTmF0R2F0ZXdheSB7XG4gICAgaWYgKG9wdGlvbnMuY29ubmVjdGl2aXR5VHlwZSA9PT0gTmF0Q29ubmVjdGl2aXR5VHlwZS5QVUJMSUMgJiYgIXRoaXMuX2ludGVybmV0R2F0ZXdheUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBhZGQgYSBQdWJsaWMgTkFUIEdhdGV3YXkgd2l0aG91dCBhbiBJbnRlcm5ldCBHYXRld2F5IGVuYWJsZWQgb24gVlBDJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgTmF0R2F0ZXdheSh0aGlzLCAnTkFUR2F0ZXdheScsIHtcbiAgICAgIHZwYzogdGhpcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmbG93IGxvZyB0byB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIGFkZEZsb3dMb2coaWQ6IHN0cmluZywgb3B0aW9ucz86IEZsb3dMb2dPcHRpb25zKTogRmxvd0xvZyB7XG4gICAgcmV0dXJuIG5ldyBGbG93TG9nKHRoaXMsIGlkLCB7XG4gICAgICByZXNvdXJjZVR5cGU6IEZsb3dMb2dSZXNvdXJjZVR5cGUuZnJvbVZwYyh0aGlzKSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBwZWVyaW5nIGNvbm5lY3Rpb24gcm9sZSBmb3IgYWNjZXB0b3IgVlBDXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlQWNjZXB0b3JWcGNSb2xlKHJlcXVlc3RvckFjY291bnRJZDogc3RyaW5nKTogUm9sZSB7XG4gICAgY29uc3QgcGVlcmluZ1JvbGUgPSBuZXcgUm9sZSh0aGlzLCAnVnBjUGVlcmluZ1JvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBBY2NvdW50UHJpbmNpcGFsKHJlcXVlc3RvckFjY291bnRJZCksXG4gICAgICByb2xlTmFtZTogJ1ZwY1BlZXJpbmdSb2xlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVzdHJpY3RpdmUgcm9sZSBmb3IgVlBDIHBlZXJpbmcnLFxuICAgIH0pO1xuXG4gICAgcGVlcmluZ1JvbGUuYWRkVG9Qb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFsnZWMyOkFjY2VwdFZwY1BlZXJpbmdDb25uZWN0aW9uJ10sXG4gICAgICByZXNvdXJjZXM6IFtgYXJuOiR7QXdzLlBBUlRJVElPTn06ZWMyOiR7dGhpcy5yZWdpb259OiR7dGhpcy5vd25lckFjY291bnRJZH06dnBjLyR7dGhpcy52cGNJZH1gXSxcbiAgICB9KSk7XG5cbiAgICBwZWVyaW5nUm9sZS5hZGRUb1BvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnZWMyOkFjY2VwdFZwY1BlZXJpbmdDb25uZWN0aW9uJ10sXG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIHJlc291cmNlczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTplYzI6JHt0aGlzLnJlZ2lvbn06JHt0aGlzLm93bmVyQWNjb3VudElkfTp2cGMtcGVlcmluZy1jb25uZWN0aW9uLypgXSxcbiAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgJ2VjMjpBY2NlcHRlclZwYyc6IGBhcm46JHtBd3MuUEFSVElUSU9OfTplYzI6JHt0aGlzLnJlZ2lvbn06JHt0aGlzLm93bmVyQWNjb3VudElkfTp2cGMvJHt0aGlzLnZwY0lkfWAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pKTtcblxuICAgIHJldHVybiBwZWVyaW5nUm9sZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcGVlcmluZyBjb25uZWN0aW9uXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUGVlcmluZ0Nvbm5lY3Rpb24oaWQ6IHN0cmluZywgb3B0aW9uczogVlBDUGVlcmluZ0Nvbm5lY3Rpb25PcHRpb25zKTogVlBDUGVlcmluZ0Nvbm5lY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVlBDUGVlcmluZ0Nvbm5lY3Rpb24odGhpcywgaWQsIHtcbiAgICAgIHJlcXVlc3RvclZwYzogdGhpcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaWQgb2YgdGhlIFZQTiBHYXRld2F5IChpZiBlbmFibGVkKVxuICAgKi9cbiAgcHVibGljIGdldCB2cG5HYXRld2F5SWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdnBuR2F0ZXdheUlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGlkIG9mIHRoZSBJbnRlcm5ldCBHYXRld2F5IChpZiBlbmFibGVkKVxuICAgKi9cbiAgcHVibGljIGdldCBpbnRlcm5ldEdhdGV3YXlJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5ldEdhdGV3YXlJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpZCBvZiB0aGUgRWdyZXNzIE9ubHkgSW50ZXJuZXQgR2F0ZXdheSAoaWYgZW5hYmxlZClcbiAgICovXG4gIHB1YmxpYyBnZXQgZWdyZXNzT25seUludGVybmV0R2F0ZXdheUlkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2VncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHN1Ym5ldHMgYXBwcm9wcmlhdGUgZm9yIHRoZSBwbGFjZW1lbnQgc3RyYXRlZ3lcbiAgICovXG4gIHByb3RlY3RlZCBzZWxlY3RTdWJuZXRPYmplY3RzKHNlbGVjdGlvbjogU3VibmV0U2VsZWN0aW9uID0ge30pOiBJU3VibmV0W10ge1xuICAgIHNlbGVjdGlvbiA9IHRoaXMucmVpZnlTZWxlY3Rpb25EZWZhdWx0cyhzZWxlY3Rpb24pO1xuXG4gICAgaWYgKHNlbGVjdGlvbi5zdWJuZXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBzZWxlY3Rpb24uc3VibmV0cztcbiAgICB9XG5cbiAgICBsZXQgc3VibmV0cztcblxuICAgIGlmIChzZWxlY3Rpb24uc3VibmV0R3JvdXBOYW1lICE9PSB1bmRlZmluZWQpIHsgLy8gU2VsZWN0IGJ5IG5hbWVcbiAgICAgIHN1Ym5ldHMgPSB0aGlzLnNlbGVjdFN1Ym5ldE9iamVjdHNCeU5hbWUoc2VsZWN0aW9uLnN1Ym5ldEdyb3VwTmFtZSk7XG4gICAgfSBlbHNlIHsgLy8gT3Igc3BlY2lmeSBieSB0eXBlXG4gICAgICBjb25zdCB0eXBlID0gc2VsZWN0aW9uLnN1Ym5ldFR5cGUgfHwgU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTO1xuICAgICAgc3VibmV0cyA9IHRoaXMuc2VsZWN0U3VibmV0T2JqZWN0c0J5VHlwZSh0eXBlKTtcbiAgICB9XG5cbiAgICAvLyBBcHBseSBhbGwgdGhlIGZpbHRlcnNcbiAgICBzdWJuZXRzID0gdGhpcy5hcHBseVN1Ym5ldEZpbHRlcnMoc3VibmV0cywgc2VsZWN0aW9uLnN1Ym5ldEZpbHRlcnMgPz8gW10pO1xuXG4gICAgcmV0dXJuIHN1Ym5ldHM7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U3VibmV0RmlsdGVycyhzdWJuZXRzOiBJU3VibmV0W10sIGZpbHRlcnM6IFN1Ym5ldEZpbHRlcltdKTogSVN1Ym5ldFtdIHtcbiAgICBsZXQgZmlsdGVyZWQgPSBzdWJuZXRzO1xuICAgIC8vIEFwcGx5IGVhY2ggZmlsdGVyIGluIHNlcXVlbmNlXG4gICAgZm9yIChjb25zdCBmaWx0ZXIgb2YgZmlsdGVycykge1xuICAgICAgZmlsdGVyZWQgPSBmaWx0ZXIuc2VsZWN0U3VibmV0cyhmaWx0ZXJlZCk7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0U3VibmV0T2JqZWN0c0J5TmFtZShncm91cE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGFsbFN1Ym5ldHMgPSBbLi4udGhpcy5wdWJsaWNTdWJuZXRzLCAuLi50aGlzLnByaXZhdGVTdWJuZXRzLCAuLi50aGlzLmlzb2xhdGVkU3VibmV0c107XG4gICAgY29uc3Qgc3VibmV0cyA9IGFsbFN1Ym5ldHMuZmlsdGVyKHMgPT4gc3VibmV0R3JvdXBOYW1lRnJvbUNvbnN0cnVjdElkKHMpID09PSBncm91cE5hbWUpO1xuXG4gICAgaWYgKHN1Ym5ldHMubGVuZ3RoID09PSAwICYmICF0aGlzLmluY29tcGxldGVTdWJuZXREZWZpbml0aW9uKSB7XG4gICAgICBjb25zdCBuYW1lcyA9IEFycmF5LmZyb20obmV3IFNldChhbGxTdWJuZXRzLm1hcChzdWJuZXRHcm91cE5hbWVGcm9tQ29uc3RydWN0SWQpKSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGFyZSBubyBzdWJuZXQgZ3JvdXBzIHdpdGggbmFtZSAnJHtncm91cE5hbWV9JyBpbiB0aGlzIFZQQy4gQXZhaWxhYmxlIG5hbWVzOiAke25hbWVzfWApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJuZXRzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RTdWJuZXRPYmplY3RzQnlUeXBlKHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUpOiBJU3VibmV0W10ge1xuICAgIHR5cGUgRGVwcmVjYXRlZFN1Ym5ldFR5cGUgPSAnRGVwcmVjYXRlZF9Jc29sYXRlZCcgfCAnRGVwcmVjYXRlZF9Qcml2YXRlJztcbiAgICBjb25zdCBhbGxTdWJuZXRzOiB7IFtrZXkgaW4gU3VibmV0VHlwZSB8IERlcHJlY2F0ZWRTdWJuZXRUeXBlXT86IElTdWJuZXRbXSB9ID0ge1xuICAgICAgW1N1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRF06IHRoaXMuaXNvbGF0ZWRTdWJuZXRzLFxuICAgICAgWydEZXByZWNhdGVkX0lzb2xhdGVkJ106IHRoaXMuaXNvbGF0ZWRTdWJuZXRzLFxuICAgICAgW1N1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX05BVF06IHRoaXMucHJpdmF0ZVN1Ym5ldHMsXG4gICAgICBbU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXTogdGhpcy5wcml2YXRlU3VibmV0cyxcbiAgICAgIFsnRGVwcmVjYXRlZF9Qcml2YXRlJ106IHRoaXMucHJpdmF0ZVN1Ym5ldHMsXG4gICAgICBbU3VibmV0VHlwZS5QVUJMSUNdOiB0aGlzLnB1YmxpY1N1Ym5ldHMsXG4gICAgfTtcblxuICAgIGNvbnN0IHN1Ym5ldHMgPSBhbGxTdWJuZXRzW3N1Ym5ldFR5cGVdITtcblxuICAgIC8vIEZvcmNlIG1lcmdlIGNvbmZsaWN0IGhlcmUgd2l0aCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC80MDg5XG4gICAgLy8gc2VlIEltcG9ydGVkVnBjXG5cbiAgICBpZiAoc3VibmV0cy5sZW5ndGggPT09IDAgJiYgIXRoaXMuaW5jb21wbGV0ZVN1Ym5ldERlZmluaXRpb24pIHtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZVR5cGVzID0gT2JqZWN0LmVudHJpZXMoYWxsU3VibmV0cykuZmlsdGVyKChbXywgc3Vic10pID0+IHN1YnMubGVuZ3RoID4gMCkubWFwKChbdHlwZU5hbWUsIF9dKSA9PiB0eXBlTmFtZSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGFyZSBubyAnJHtzdWJuZXRUeXBlfScgc3VibmV0IGdyb3VwcyBpbiB0aGlzIFZQQy4gQXZhaWxhYmxlIHR5cGVzOiAke2F2YWlsYWJsZVR5cGVzfWApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJuZXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoZSBmaWVsZHMgaW4gYSBTdWJuZXRTZWxlY3Rpb24gb2JqZWN0LCBhbmQgcmVpZnkgZGVmYXVsdHMgaWYgbmVjZXNzYXJ5XG4gICAqXG4gICAqIEluIGNhc2Ugb2YgZGVmYXVsdCBzZWxlY3Rpb24sIHNlbGVjdCB0aGUgZmlyc3QgdHlwZSBvZiBQUklWQVRFLCBJU09MQVRFRCxcbiAgICogUFVCTElDIChpbiB0aGF0IG9yZGVyKSB0aGF0IGhhcyBhbnkgc3VibmV0cy5cbiAgICovXG4gIHByaXZhdGUgcmVpZnlTZWxlY3Rpb25EZWZhdWx0cyhwbGFjZW1lbnQ6IFN1Ym5ldFNlbGVjdGlvbik6IFN1Ym5ldFNlbGVjdGlvbiB7XG4gICAgLy8gVE9ETzogdGhyb3cgZXJyb3IgYXMgbmV3IFZwY1YyIGNhbm5vdCBzdXBwb3J0IHN1Ym5ldE5hbWUgb3Igc3VibmV0R3JvdXBOYW1lIGFueW1vcmVcbiAgICBpZiAoJ3N1Ym5ldE5hbWUnIGluIHBsYWNlbWVudCAmJiBwbGFjZW1lbnQuc3VibmV0TmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAocGxhY2VtZW50LnN1Ym5ldEdyb3VwTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHVzZSBvbmx5IFxcJ3N1Ym5ldEdyb3VwTmFtZVxcJyAoXFwnc3VibmV0TmFtZVxcJyBpcyBkZXByZWNhdGVkIGFuZCBoYXMgdGhlIHNhbWUgYmVoYXZpb3IpJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nVjIoJ0Bhd3MtY2RrL2F3cy1lYzI6c3VibmV0TmFtZURlcHJlY2F0ZWQnLCAnVXNhZ2Ugb2YgXFwnc3VibmV0TmFtZVxcJyBpbiBTdWJuZXRTZWxlY3Rpb24gaXMgZGVwcmVjYXRlZCwgdXNlIFxcJ3N1Ym5ldEdyb3VwTmFtZVxcJyBpbnN0ZWFkJyk7XG4gICAgICB9XG4gICAgICBwbGFjZW1lbnQgPSB7IC4uLnBsYWNlbWVudCwgc3VibmV0R3JvdXBOYW1lOiBwbGFjZW1lbnQuc3VibmV0TmFtZSBhcyBzdHJpbmcgfTtcbiAgICB9XG5cbiAgICBjb25zdCBleGNsdXNpdmVTZWxlY3Rpb25zOiBBcnJheTxrZXlvZiBTdWJuZXRTZWxlY3Rpb24+ID0gWydzdWJuZXRzJywgJ3N1Ym5ldFR5cGUnLCAnc3VibmV0R3JvdXBOYW1lJ107XG4gICAgY29uc3QgcHJvdmlkZWRTZWxlY3Rpb25zID0gZXhjbHVzaXZlU2VsZWN0aW9ucy5maWx0ZXIoa2V5ID0+IHBsYWNlbWVudFtrZXldICE9PSB1bmRlZmluZWQpO1xuICAgIGlmIChwcm92aWRlZFNlbGVjdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBPbmx5IG9uZSBvZiAnJHtwcm92aWRlZFNlbGVjdGlvbnN9JyBjYW4gYmUgc3VwcGxpZWQgdG8gc3VibmV0IHNlbGVjdGlvbi5gKTtcbiAgICB9XG5cbiAgICBpZiAocGxhY2VtZW50LnN1Ym5ldFR5cGUgPT09IHVuZGVmaW5lZCAmJiBwbGFjZW1lbnQuc3VibmV0R3JvdXBOYW1lID09PSB1bmRlZmluZWQgJiYgcGxhY2VtZW50LnN1Ym5ldHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gUmV0dXJuIGRlZmF1bHQgc3VibmV0IHR5cGUgYmFzZWQgb24gc3VibmV0cyB0aGF0IGFjdHVhbGx5IGV4aXN0XG4gICAgICBsZXQgc3VibmV0VHlwZSA9IHRoaXMucHJpdmF0ZVN1Ym5ldHMubGVuZ3RoXG4gICAgICAgID8gU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTIDogdGhpcy5pc29sYXRlZFN1Ym5ldHMubGVuZ3RoID8gU3VibmV0VHlwZS5QUklWQVRFX0lTT0xBVEVEIDogU3VibmV0VHlwZS5QVUJMSUM7XG4gICAgICBwbGFjZW1lbnQgPSB7IC4uLnBsYWNlbWVudCwgc3VibmV0VHlwZTogc3VibmV0VHlwZSB9O1xuICAgIH1cblxuICAgIC8vIEVzdGFibGlzaCB3aGljaCBzdWJuZXQgZmlsdGVycyBhcmUgZ29pbmcgdG8gYmUgdXNlZFxuICAgIGxldCBzdWJuZXRGaWx0ZXJzID0gcGxhY2VtZW50LnN1Ym5ldEZpbHRlcnMgPz8gW107XG5cbiAgICAvLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIGBhdmFpbGFiaWxpdHlab25lc2AgYW5kIGBvbmVQZXJBemAgZnVuY3Rpb25hbGl0eVxuICAgIGlmIChwbGFjZW1lbnQuYXZhaWxhYmlsaXR5Wm9uZXMgIT09IHVuZGVmaW5lZCkgeyAvLyBGaWx0ZXIgYnkgQVpzLCBpZiBzcGVjaWZpZWRcbiAgICAgIHN1Ym5ldEZpbHRlcnMucHVzaChTdWJuZXRGaWx0ZXIuYXZhaWxhYmlsaXR5Wm9uZXMocGxhY2VtZW50LmF2YWlsYWJpbGl0eVpvbmVzKSk7XG4gICAgfVxuICAgIGlmICghIXBsYWNlbWVudC5vbmVQZXJBeikgeyAvLyBFbnN1cmUgb25lIHBlciBBWiBpZiBzcGVjaWZpZWRcbiAgICAgIHN1Ym5ldEZpbHRlcnMucHVzaChTdWJuZXRGaWx0ZXIub25lUGVyQXooKSk7XG4gICAgfVxuXG4gICAgLy8gT3ZlcndyaXRlIHRoZSBwcm92aWRlZCBwbGFjZW1lbnQgZmlsdGVycyBhbmQgcmVtb3ZlIHRoZSBhdmFpbGFiaWxpdHlab25lcyBhbmQgb25lUGVyQXogcHJvcGVydGllc1xuICAgIHBsYWNlbWVudCA9IHsgLi4ucGxhY2VtZW50LCBzdWJuZXRGaWx0ZXJzOiBzdWJuZXRGaWx0ZXJzLCBhdmFpbGFiaWxpdHlab25lczogdW5kZWZpbmVkLCBvbmVQZXJBejogdW5kZWZpbmVkIH07XG4gICAgY29uc3QgeyBhdmFpbGFiaWxpdHlab25lcywgb25lUGVyQXosIC4uLnJlc3QgfSA9IHBsYWNlbWVudDtcblxuICAgIHJldHVybiByZXN0O1xuICB9XG59XG5cbmNsYXNzIENvbXBvc2l0ZURlcGVuZGFibGUgaW1wbGVtZW50cyBJRGVwZW5kYWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwZW5kYWJsZXMgPSBuZXcgQXJyYXk8SURlcGVuZGFibGU+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgRGVwZW5kYWJsZS5pbXBsZW1lbnQodGhpcywge1xuICAgICAgZ2V0IGRlcGVuZGVuY3lSb290cygpIHtcbiAgICAgICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PElDb25zdHJ1Y3Q+KCk7XG4gICAgICAgIGZvciAoY29uc3QgZGVwIG9mIHNlbGYuZGVwZW5kYWJsZXMpIHtcbiAgICAgICAgICByZXQucHVzaCguLi5EZXBlbmRhYmxlLm9mKGRlcCkuZGVwZW5kZW5jeVJvb3RzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBjb25zdHJ1Y3QgdG8gdGhlIGRlcGVuZGVuY3kgcm9vdHNcbiAgICovXG4gIHB1YmxpYyBhZGQoZGVwOiBJRGVwZW5kYWJsZSkge1xuICAgIHRoaXMuZGVwZW5kYWJsZXMucHVzaChkZXApO1xuICB9XG59XG5cbi8qKlxuICogSW52b2tlIGEgZnVuY3Rpb24gb24gYSB2YWx1ZSAoZm9yIGl0cyBzaWRlIGVmZmVjdCkgYW5kIHJldHVybiB0aGUgdmFsdWVcbiAqL1xuZnVuY3Rpb24gdGFwPFQ+KHg6IFQsIGZuOiAoeDogVCkgPT4gdm9pZCk6IFQge1xuICBmbih4KTtcbiAgcmV0dXJuIHg7XG59XG4iXX0=
|
package/lib/vpc-v2.js
CHANGED
|
@@ -93,7 +93,7 @@ class IpAddresses {
|
|
|
93
93
|
}
|
|
94
94
|
exports.IpAddresses = IpAddresses;
|
|
95
95
|
_a = JSII_RTTI_SYMBOL_1;
|
|
96
|
-
IpAddresses[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpAddresses", version: "2.
|
|
96
|
+
IpAddresses[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpAddresses", version: "2.188.0-alpha.0" };
|
|
97
97
|
/**
|
|
98
98
|
* Name tag constant
|
|
99
99
|
*/
|
|
@@ -302,7 +302,7 @@ class VpcV2 extends vpc_v2_base_1.VpcV2Base {
|
|
|
302
302
|
}
|
|
303
303
|
exports.VpcV2 = VpcV2;
|
|
304
304
|
_b = JSII_RTTI_SYMBOL_1;
|
|
305
|
-
VpcV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.VpcV2", version: "2.
|
|
305
|
+
VpcV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.VpcV2", version: "2.188.0-alpha.0" };
|
|
306
306
|
/**
|
|
307
307
|
* Supports assigning IPv4 address to VPC
|
|
308
308
|
*/
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-cdk/aws-ec2-alpha",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.188.0-alpha.0",
|
|
5
5
|
"description": "The CDK construct library for VPC V2",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
@@ -77,17 +77,17 @@
|
|
|
77
77
|
},
|
|
78
78
|
"license": "Apache-2.0",
|
|
79
79
|
"devDependencies": {
|
|
80
|
-
"@aws-cdk/cdk-build-tools": "2.
|
|
81
|
-
"@aws-cdk/integ-runner": "2.
|
|
82
|
-
"@aws-cdk/integ-tests-alpha": "^2.
|
|
83
|
-
"@aws-cdk/pkglint": "2.
|
|
80
|
+
"@aws-cdk/cdk-build-tools": "2.188.0-alpha.0",
|
|
81
|
+
"@aws-cdk/integ-runner": "^2.186.0",
|
|
82
|
+
"@aws-cdk/integ-tests-alpha": "^2.188.0-alpha.0",
|
|
83
|
+
"@aws-cdk/pkglint": "2.188.0-alpha.0",
|
|
84
84
|
"@types/jest": "^29.5.14",
|
|
85
|
-
"aws-cdk-lib": "2.
|
|
85
|
+
"aws-cdk-lib": "2.188.0",
|
|
86
86
|
"jest": "^29.7.0"
|
|
87
87
|
},
|
|
88
88
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
89
89
|
"peerDependencies": {
|
|
90
|
-
"aws-cdk-lib": "^2.
|
|
90
|
+
"aws-cdk-lib": "^2.188.0",
|
|
91
91
|
"constructs": "^10.0.0"
|
|
92
92
|
},
|
|
93
93
|
"separate-module": false,
|