@aws-cdk/aws-ec2-alpha 2.158.0-alpha.0 → 2.159.1-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 +799 -344
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +54 -4
- package/README.md +200 -39
- package/awslint.json +2 -1
- package/lib/ipam.d.ts +17 -9
- package/lib/ipam.js +2 -2
- package/lib/route.d.ts +86 -54
- package/lib/route.js +87 -32
- package/lib/subnet-v2.d.ts +19 -10
- package/lib/subnet-v2.js +14 -7
- package/lib/vpc-v2-base.d.ts +141 -3
- package/lib/vpc-v2-base.js +172 -2
- package/lib/vpc-v2.d.ts +19 -18
- package/lib/vpc-v2.js +5 -9
- package/package.json +7 -7
- package/rosetta/default.ts-fixture +4 -3
package/lib/vpc-v2.js
CHANGED
|
@@ -6,7 +6,6 @@ const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
|
6
6
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
7
7
|
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
8
8
|
const core_1 = require("aws-cdk-lib/core");
|
|
9
|
-
const constructs_1 = require("constructs");
|
|
10
9
|
const vpc_v2_base_1 = require("./vpc-v2-base");
|
|
11
10
|
/**
|
|
12
11
|
* IpAddress options to define VPC V2
|
|
@@ -75,7 +74,7 @@ class IpAddresses {
|
|
|
75
74
|
}
|
|
76
75
|
exports.IpAddresses = IpAddresses;
|
|
77
76
|
_a = JSII_RTTI_SYMBOL_1;
|
|
78
|
-
IpAddresses[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpAddresses", version: "2.
|
|
77
|
+
IpAddresses[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.IpAddresses", version: "2.159.1-alpha.0" };
|
|
79
78
|
/**
|
|
80
79
|
* This class provides a foundation for creating and configuring a VPC with advanced features such as IPAM (IP Address Management) and IPv6 support.
|
|
81
80
|
*
|
|
@@ -90,10 +89,6 @@ class VpcV2 extends vpc_v2_base_1.VpcV2Base {
|
|
|
90
89
|
produce: () => core_1.Names.uniqueResourceName(this, { maxLength: 128, allowedSpecialCharacters: '_' }),
|
|
91
90
|
}),
|
|
92
91
|
});
|
|
93
|
-
/**
|
|
94
|
-
* To define dependency on internet connectivity
|
|
95
|
-
*/
|
|
96
|
-
this._internetConnectivityEstablished = new constructs_1.DependencyGroup();
|
|
97
92
|
/**
|
|
98
93
|
* reference to all secondary blocks attached
|
|
99
94
|
*/
|
|
@@ -101,7 +96,8 @@ class VpcV2 extends vpc_v2_base_1.VpcV2Base {
|
|
|
101
96
|
/**
|
|
102
97
|
* For validation to define IPv6 subnets, set to true in case of
|
|
103
98
|
* Amazon Provided IPv6 cidr range
|
|
104
|
-
* IPv6 addresses can be attached to the subnets
|
|
99
|
+
* if true, IPv6 addresses can be attached to the subnets.
|
|
100
|
+
*
|
|
105
101
|
* @default false
|
|
106
102
|
*/
|
|
107
103
|
this.useIpv6 = false;
|
|
@@ -196,7 +192,7 @@ class VpcV2 extends vpc_v2_base_1.VpcV2Base {
|
|
|
196
192
|
}
|
|
197
193
|
exports.VpcV2 = VpcV2;
|
|
198
194
|
_b = JSII_RTTI_SYMBOL_1;
|
|
199
|
-
VpcV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.VpcV2", version: "2.
|
|
195
|
+
VpcV2[_b] = { fqn: "@aws-cdk/aws-ec2-alpha.VpcV2", version: "2.159.1-alpha.0" };
|
|
200
196
|
/**
|
|
201
197
|
* Supports assigning IPv4 address to VPC
|
|
202
198
|
*/
|
|
@@ -300,4 +296,4 @@ function validateIpv4address(cidr1, cidr2) {
|
|
|
300
296
|
(ip1.octet1 === 192 && ip1.octet2 === 168 && ip2.octet1 === 192 && ip2.octet2 === 168) ||
|
|
301
297
|
(ip1.octet1 === 172 && ip1.octet2 === 16 && ip2.octet1 === 172 && ip2.octet2 === 16); // CIDR ranges belong to same private IP address ranges
|
|
302
298
|
}
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidnBjLXYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUErRjtBQUMvRiwyQ0FBaUU7QUFDakUsMkNBQXFFO0FBRXJFLCtDQUEwQztBQWExQzs7R0FFRztBQUNILE1BQWEsV0FBVztJQUV0Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBZ0IsRUFBRSxLQUE2Qjs7Ozs7Ozs7OztRQUNoRSxPQUFPLElBQUksa0JBQWtCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ2hEO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQTRCOzs7Ozs7Ozs7O1FBQ2pELE9BQU8sSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDdEM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBNEI7Ozs7Ozs7Ozs7UUFDakQsT0FBTyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUN0QztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQTRCOzs7Ozs7Ozs7O1FBQzNELE9BQU8sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDbEM7O0FBNUJILGtDQTZCQzs7O0FBb0lEOzs7Ozs7R0FNRztBQUNILE1BQWEsS0FBTSxTQUFRLHVCQUFTO0lBbUZsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQW9CLEVBQUU7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxXQUFJLENBQUMsTUFBTSxDQUFDO2dCQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxFQUFF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LENBQUMsQ0FBQyxDQUFDO0tBQ3ZCLENBQUM7SUFFRixNQUFNLEdBQUcsR0FBb0I7UUFDM0IsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7S0FDdkIsQ0FBQztJQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQztRQUM3QyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDO1FBQ3RGLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxFQUFFLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLHVEQUF1RDtBQUNqSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuVlBDLCBDZm5WUENDaWRyQmxvY2ssIERlZmF1bHRJbnN0YW5jZVRlbmFuY3ksIElTdWJuZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IEFybiwgQ2ZuUmVzb3VyY2UsIExhenksIE5hbWVzIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIERlcGVuZGVuY3lHcm91cCwgSURlcGVuZGFibGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElwYW1PcHRpb25zLCBJSXBhbVBvb2wgfSBmcm9tICcuL2lwYW0nO1xuaW1wb3J0IHsgVnBjVjJCYXNlIH0gZnJvbSAnLi92cGMtdjItYmFzZSc7XG5cbi8qKlxuICogQWRkaXRpb25hbCBwcm9wcyBuZWVkZWQgZm9yIHNlY29uZGFyeSBBZGRyZXNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2Vjb25kYXJ5QWRkcmVzc1Byb3BzIHtcbiAgLyoqXG4gICAqIFJlcXVpcmVkIHRvIHNldCBTZWNvbmRhcnkgY2lkciBibG9jayByZXNvdXJjZSBuYW1lXG4gICAqIGluIG9yZGVyIHRvIGdlbmVyYXRlIHVuaXF1ZSBsb2dpY2FsIGlkIGZvciB0aGUgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBjaWRyQmxvY2tOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSXBBZGRyZXNzIG9wdGlvbnMgdG8gZGVmaW5lIFZQQyBWMlxuICovXG5leHBvcnQgY2xhc3MgSXBBZGRyZXNzZXMge1xuXG4gIC8qKlxuICAgKiBBbiBJUHY0IENJRFIgUmFuZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXB2NChpcHY0Q2lkcjogc3RyaW5nLCBwcm9wcz86IFNlY29uZGFyeUFkZHJlc3NQcm9wcyk6IElJcEFkZHJlc3NlcyB7XG4gICAgcmV0dXJuIG5ldyBpcHY0Q2lkckFsbG9jYXRpb24oaXB2NENpZHIsIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBJcHY0IElwYW0gUG9vbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpcHY0SXBhbShpcHY0SXBhbU9wdGlvbnM6IElwYW1PcHRpb25zKTogSUlwQWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IElwYW1JcHY0KGlwdjRJcGFtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQW4gSXB2NiBJcGFtIFBvb2xcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXB2NklwYW0oaXB2NklwYW1PcHRpb25zOiBJcGFtT3B0aW9ucyk6IElJcEFkZHJlc3NlcyB7XG4gICAgcmV0dXJuIG5ldyBJcGFtSXB2NihpcHY2SXBhbU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFtYXpvbiBQcm92aWRlZCBJcHY2IHJhbmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFtYXpvblByb3ZpZGVkSXB2Nihwcm9wczogU2Vjb25kYXJ5QWRkcmVzc1Byb3BzKSA6IElJcEFkZHJlc3NlcyB7XG4gICAgcmV0dXJuIG5ldyBBbWF6b25Qcm92aWRlZChwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25zb2xpZGF0ZWQgcmV0dXJuIHBhcmFtZXRlcnMgdG8gcGFzcyB0byBWUEMgY29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjQ2lkck9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBJUHY0IENJRFIgQmxvY2tcbiAgICogQGRlZmF1bHQgLSAnMTAuMC4wLjAvMTYnXG4gICAqL1xuICByZWFkb25seSBpcHY0Q2lkckJsb2NrPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDSURSIE1hc2sgZm9yIFZwY1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBJUEFNIElwdjRcbiAgICovXG4gIHJlYWRvbmx5IGlwdjROZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJcHY0IElQQU0gUG9vbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBJUEFNIElwdjRcbiAgICovXG4gIHJlYWRvbmx5IGlwdjRJcGFtUG9vbD86IElJcGFtUG9vbDtcblxuICAvKipcbiAgICogSW1wbGVtZW50aW5nIElwdjZcbiAgICogQGRlZmF1bHQgLSBObyBpcHY2IGFkZHJlc3NcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZDaWRyQmxvY2s/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENJRFIgTWFzayBmb3IgVnBjXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gT25seSByZXF1aXJlZCB3aGVuIHVzaW5nIEFXUyBJcGFtXG4gICAqL1xuICByZWFkb25seSBpcHY2TmV0bWFza0xlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogSXB2NiBJUEFNIHBvb2wgaWQgZm9yIFZQQyByYW5nZSwgY2FuIG9ubHkgYmUgZGVmaW5lZFxuICAgKiB1bmRlciBwdWJsaWMgc2NvcGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwb29sIGlkXG4gICAqL1xuICByZWFkb25seSBpcHY2SXBhbVBvb2w/OiBJSXBhbVBvb2w7XG5cbiAgLyoqXG4gICAqIFVzZSBhbWF6b24gcHJvdmlkZWQgSVAgcmFuZ2VcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFtYXpvblByb3ZpZGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVwZW5kZW5jeSB0byBhc3NvY2lhdGUgSXB2NiBDSURSIGJsb2NrXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVwZW5kZW5jeVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kZW5jaWVzPzogQ2ZuUmVzb3VyY2VbXTtcblxuICAvKipcbiAgICogUmVxdWlyZWQgdG8gc2V0IFNlY29uZGFyeSBjaWRyIGJsb2NrIHJlc291cmNlIG5hbWVcbiAgICogaW4gb3JkZXIgdG8gZ2VuZXJhdGUgdW5pcXVlIGxvZ2ljYWwgaWQgZm9yIHRoZSByZXNvdXJjZS5cbiAgICogQGRlZmF1bHQgOiBubyBuYW1lIGZvciBwcmltYXJ5IGFkZHJlc3Nlc1xuICAgKi9cbiAgcmVhZG9ubHkgY2lkckJsb2NrTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbXBsZW1lbnRzIGlwIGFkZHJlc3MgYWxsb2NhdGlvbiBhY2NvcmRpbmcgdG8gdGhlIElQQWRyZXNzIHR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSXBBZGRyZXNzZXMge1xuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gZGVmaW5lIHRoZSBpbXBsZW1lbnRhdGlvbiBsb2dpYyBvZlxuICAgKiBJUCBhZGRyZXNzIGFsbG9jYXRpb25cbiAgICovXG4gIGFsbG9jYXRlVnBjQ2lkcigpIDogVnBjQ2lkck9wdGlvbnM7XG5cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHRvIGRlZmluZSBWUENcbiAqIFtkaXNhYmxlLWF3c2xpbnQ6ZnJvbS1tZXRob2RdXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjVjJQcm9wcyB7XG5cbiAgLyoqIEEgbXVzdCBJUHY0IENJRFIgYmxvY2sgZm9yIHRoZSBWUENcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3ZwYy9sYXRlc3QvdXNlcmd1aWRlL3ZwYy1jaWRyLWJsb2Nrcy5odG1sXG4gICAqIEBkZWZhdWx0IC0gSXB2NCBDSURSIEJsb2NrICgnMTAuMC4wLjAvMTYnKVxuICAqL1xuICByZWFkb25seSBwcmltYXJ5QWRkcmVzc0Jsb2NrPzogSUlwQWRkcmVzc2VzO1xuXG4gIC8qKlxuICAgKiBUaGUgc2Vjb25kYXJ5IENJRFIgYmxvY2tzIGFzc29jaWF0ZWQgd2l0aCB0aGUgVlBDLlxuICAgKiBDYW4gYmUgIElQdjQgb3IgSVB2NiwgdHdvIElQdjQgcmFuZ2VzIG11c3QgZm9sbG93IFJGQyMxOTE4IGNvbnZlbnRpb25cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUge0BsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS92cGMvbGF0ZXN0L3VzZXJndWlkZS92cGMtY2lkci1ibG9ja3MuaHRtbCN2cGMtcmVzaXplfS5cbiAgICogQGRlZmF1bHQgLSBObyBzZWNvbmRhcnkgSVAgYWRkcmVzc1xuICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlBZGRyZXNzQmxvY2tzPzogSUlwQWRkcmVzc2VzW107XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpbnN0YW5jZXMgbGF1bmNoZWQgaW4gdGhlIFZQQyBnZXQgRE5TIGhvc3RuYW1lc1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVEbnNIb3N0bmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgRE5TIHJlc29sdXRpb24gaXMgc3VwcG9ydGVkIGZvciB0aGUgVlBDLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVEbnNTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdGVuYW5jeSBvZiBpbnN0YW5jZXMgbGF1bmNoZWQgaW50byB0aGUgVlBDLlxuICAgKlxuICAgKiBCeSBzZXR0aW5nIHRoaXMgdG8gZGVkaWNhdGVkIHRlbmFuY3ksIGluc3RhbmNlcyB3aWxsIGJlIGxhdW5jaGVkIG9uXG4gICAqIGhhcmR3YXJlIGRlZGljYXRlZCB0byBhIHNpbmdsZSBBV1MgY3VzdG9tZXIsIHVubGVzcyBzcGVjaWZpY2FsbHkgc3BlY2lmaWVkXG4gICAqIGF0IGluc3RhbmNlIGxhdW5jaCB0aW1lLiBQbGVhc2Ugbm90ZSwgbm90IGFsbCBpbnN0YW5jZSB0eXBlcyBhcmUgdXNhYmxlXG4gICAqIHdpdGggRGVkaWNhdGVkIHRlbmFuY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IERlZmF1bHRJbnN0YW5jZVRlbmFuY3kuRGVmYXVsdCAoc2hhcmVkKSB0ZW5hbmN5XG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0SW5zdGFuY2VUZW5hbmN5PzogRGVmYXVsdEluc3RhbmNlVGVuYW5jeTtcblxuICAvKipcbiAgICogUGh5c2ljYWwgbmFtZSBmb3IgdGhlIFZQQ1xuICAgKiBAZGVmYXVsdDogYXV0b2dlbmVyYXRlZCBieSBDREtcbiAgICovXG4gIHJlYWRvbmx5IHZwY05hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIGZvdW5kYXRpb24gZm9yIGNyZWF0aW5nIGFuZCBjb25maWd1cmluZyBhIFZQQyB3aXRoIGFkdmFuY2VkIGZlYXR1cmVzIHN1Y2ggYXMgSVBBTSAoSVAgQWRkcmVzcyBNYW5hZ2VtZW50KSBhbmQgSVB2NiBzdXBwb3J0LlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2FwaS92Mi9kb2NzL2F3cy1jZGstbGliLmF3c19lYzIuVnBjLmh0bWx8QVdTIENESyBEb2N1bWVudGF0aW9uIG9uIFZQQ3N9LlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VlBDXG4gKi9cbmV4cG9ydCBjbGFzcyBWcGNWMiBleHRlbmRzIFZwY1YyQmFzZSB7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRoaXMgVlBDXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjSWQ6IHN0cmluZztcblxuICAvKipcbiAgKiBAYXR0cmlidXRlXG4gICovXG4gIHB1YmxpYyByZWFkb25seSB2cGNBcm46IHN0cmluZztcblxuICAvKipcbiAgICogQGF0dHJpYnV0ZVxuICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjQ2lkckJsb2NrOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgSVB2NiBDSURSIGJsb2NrcyBmb3IgdGhlIFZQQy5cbiAgICpcbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItdnBjLmh0bWwjYXdzLXJlc291cmNlLWVjMi12cGMtcmV0dXJuLXZhbHVlc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwdjZDaWRyQmxvY2tzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHByb3ZpZGVyIG9mIGlwdjQgYWRkcmVzc2VzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBBZGRyZXNzZXM6IElJcEFkZHJlc3NlcztcblxuICAvKipcbiAgICogVGhlIEFXUyBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIFZQQy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogQ2ZuVlBDO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgaW5zdGFuY2VzIGxhdW5jaGVkIGluIHRoaXMgVlBDIHdpbGwgaGF2ZSBwdWJsaWMgRE5TIGhvc3RuYW1lcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkbnNIb3N0bmFtZXNFbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAqIEluZGljYXRlcyBpZiBETlMgc3VwcG9ydCBpcyBlbmFibGVkIGZvciB0aGlzIFZQQy5cbiAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRuc1N1cHBvcnRFbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJc29sYXRlZCBTdWJuZXRzIHRoYXQgYXJlIHBhcnQgb2YgdGhpcyBWUEMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXNvbGF0ZWRTdWJuZXRzOiBJU3VibmV0W107XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBTdWJuZXRzIHRoYXQgYXJlIHBhcnQgb2YgdGhpcyBWUEMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHVibGljU3VibmV0czogSVN1Ym5ldFtdO1xuXG4gIC8qKlxuICAgKiBQYnVsaWMgU3VibmV0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoaXMgVlBDLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByaXZhdGVTdWJuZXRzOiBJU3VibmV0W107XG5cbiAgLyoqXG4gICAqIFRvIGRlZmluZSBkZXBlbmRlbmN5IG9uIGludGVybmV0IGNvbm5lY3Rpdml0eVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQ6IElEZXBlbmRhYmxlO1xuXG4gIC8qKlxuICAgKiBUbyBkZWZpbmUgZGVwZW5kZW5jeSBvbiBpbnRlcm5ldCBjb25uZWN0aXZpdHlcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQgPSBuZXcgRGVwZW5kZW5jeUdyb3VwKCk7XG5cbiAgLyoqXG4gKiByZWZlcmVuY2UgdG8gYWxsIHNlY29uZGFyeSBibG9ja3MgYXR0YWNoZWRcbiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2Vjb25kYXJ5Q2lkckJsb2NrID0gbmV3IEFycmF5PENmblZQQ0NpZHJCbG9jaz47XG5cbiAgLyoqXG4gICAqIEZvciB2YWxpZGF0aW9uIHRvIGRlZmluZSBJUHY2IHN1Ym5ldHMsIHNldCB0byB0cnVlIGluIGNhc2Ugb2ZcbiAgICogQW1hem9uIFByb3ZpZGVkIElQdjYgY2lkciByYW5nZVxuICAgKiBJUHY2IGFkZHJlc3NlcyBjYW4gYmUgYXR0YWNoZWQgdG8gdGhlIHN1Ym5ldHNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VJcHY2OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBWcGNWMlByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMudnBjTmFtZSA/PyBMYXp5LnN0cmluZyh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4LCBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6ICdfJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5pcEFkZHJlc3NlcyA9IHByb3BzLnByaW1hcnlBZGRyZXNzQmxvY2sgPz8gSXBBZGRyZXNzZXMuaXB2NCgnMTAuMC4wLjAvMTYnKTtcbiAgICBjb25zdCB2cGNPcHRpb25zID0gdGhpcy5pcEFkZHJlc3Nlcy5hbGxvY2F0ZVZwY0NpZHIoKTtcblxuICAgIHRoaXMuZG5zSG9zdG5hbWVzRW5hYmxlZCA9IHByb3BzLmVuYWJsZURuc0hvc3RuYW1lcyA9PSBudWxsID8gdHJ1ZSA6IHByb3BzLmVuYWJsZURuc0hvc3RuYW1lcztcbiAgICB0aGlzLmRuc1N1cHBvcnRFbmFibGVkID0gcHJvcHMuZW5hYmxlRG5zU3VwcG9ydCA9PSBudWxsID8gdHJ1ZSA6IHByb3BzLmVuYWJsZURuc1N1cHBvcnQ7XG4gICAgY29uc3QgaW5zdGFuY2VUZW5hbmN5ID0gcHJvcHMuZGVmYXVsdEluc3RhbmNlVGVuYW5jeSB8fCAnZGVmYXVsdCc7XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5WUEModGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgY2lkckJsb2NrOiB2cGNPcHRpb25zLmlwdjRDaWRyQmxvY2ssIC8vZm9yIElwdjQgYWRkcmVzc2VzIENJRFIgYmxvY2tcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdGhpcy5kbnNIb3N0bmFtZXNFbmFibGVkLFxuICAgICAgZW5hYmxlRG5zU3VwcG9ydDogdGhpcy5kbnNTdXBwb3J0RW5hYmxlZCxcbiAgICAgIGlwdjRJcGFtUG9vbElkOiB2cGNPcHRpb25zLmlwdjRJcGFtUG9vbD8uaXBhbVBvb2xJZCwgLy8gZm9yIElwdjQgaXBhbSBvcHRpb25cbiAgICAgIGlwdjROZXRtYXNrTGVuZ3RoOiB2cGNPcHRpb25zLmlwdjROZXRtYXNrTGVuZ3RoLCAvLyBmb3IgSXB2NCBpcGFtIG9wdGlvblxuICAgICAgaW5zdGFuY2VUZW5hbmN5OiBpbnN0YW5jZVRlbmFuY3ksXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gdGhpcy5yZXNvdXJjZTtcbiAgICB0aGlzLnZwY0NpZHJCbG9jayA9IHRoaXMucmVzb3VyY2UuYXR0ckNpZHJCbG9jaztcbiAgICBpZiAodnBjT3B0aW9ucy5pcHY0Q2lkckJsb2NrKSB7XG4gICAgICB0aGlzLmlwdjRDaWRyQmxvY2sgPSB2cGNPcHRpb25zLmlwdjRDaWRyQmxvY2s7XG4gICAgfVxuICAgIHRoaXMuaXB2NkNpZHJCbG9ja3MgPSB0aGlzLnJlc291cmNlLmF0dHJJcHY2Q2lkckJsb2NrcztcbiAgICB0aGlzLnZwY0lkID0gdGhpcy5yZXNvdXJjZS5hdHRyVnBjSWQ7XG4gICAgdGhpcy52cGNBcm4gPSBBcm4uZm9ybWF0KHtcbiAgICAgIHNlcnZpY2U6ICdlYzInLFxuICAgICAgcmVzb3VyY2U6ICd2cGMnLFxuICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLnZwY0lkLFxuICAgIH0sIHRoaXMuc3RhY2spO1xuXG4gICAgaWYgKHByb3BzLnNlY29uZGFyeUFkZHJlc3NCbG9ja3MpIHtcbiAgICAgIGNvbnN0IHNlY29uZGFyeUFkZHJlc3NCbG9ja3M6IElJcEFkZHJlc3Nlc1tdID0gcHJvcHMuc2Vjb25kYXJ5QWRkcmVzc0Jsb2NrcztcblxuICAgICAgZm9yIChjb25zdCBzZWNvbmRhcnlBZGRyZXNzQmxvY2sgb2Ygc2Vjb25kYXJ5QWRkcmVzc0Jsb2Nrcykge1xuXG4gICAgICAgIGNvbnN0IHNlY29uZGFyeVZwY09wdGlvbnM6IFZwY0NpZHJPcHRpb25zID0gc2Vjb25kYXJ5QWRkcmVzc0Jsb2NrLmFsbG9jYXRlVnBjQ2lkcigpO1xuICAgICAgICBpZiAoIXNlY29uZGFyeVZwY09wdGlvbnMuY2lkckJsb2NrTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2lkciBCbG9jayBOYW1lIGlzIHJlcXVpcmVkIHRvIGNyZWF0ZSBzZWNvbmRhcnkgSVAgYWRkcmVzcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlY29uZGFyeVZwY09wdGlvbnMuYW1hem9uUHJvdmlkZWQgfHwgc2Vjb25kYXJ5VnBjT3B0aW9ucy5pcHY2SXBhbVBvb2wpIHtcbiAgICAgICAgICB0aGlzLnVzZUlwdjYgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vdmFsaWRhdGUgQ0lEUiByYW5nZXMgcGVyIFJGQyAxOTE4XG4gICAgICAgIGlmIChzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjRDaWRyQmxvY2shKSB7XG4gICAgICAgICAgY29uc3QgcmV0ID0gdmFsaWRhdGVJcHY0YWRkcmVzcyhzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjRDaWRyQmxvY2ssIHRoaXMucmVzb3VyY2UuY2lkckJsb2NrKTtcbiAgICAgICAgICBpZiAocmV0ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDSURSIGJsb2NrIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBSRkMgMTkxOCByYW5nZSBpbiB0aGUgVlBDJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNmblZwY0NpZHJCbG9jayA9IG5ldyBDZm5WUENDaWRyQmxvY2sodGhpcywgc2Vjb25kYXJ5VnBjT3B0aW9ucy5jaWRyQmxvY2tOYW1lLCB7XG4gICAgICAgICAgdnBjSWQ6IHRoaXMudnBjSWQsXG4gICAgICAgICAgY2lkckJsb2NrOiBzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjRDaWRyQmxvY2ssXG4gICAgICAgICAgaXB2NElwYW1Qb29sSWQ6IHNlY29uZGFyeVZwY09wdGlvbnMuaXB2NElwYW1Qb29sPy5pcGFtUG9vbElkLFxuICAgICAgICAgIGlwdjROZXRtYXNrTGVuZ3RoOiBzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjROZXRtYXNrTGVuZ3RoLFxuICAgICAgICAgIGlwdjZOZXRtYXNrTGVuZ3RoOiBzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjZOZXRtYXNrTGVuZ3RoLFxuICAgICAgICAgIGlwdjZJcGFtUG9vbElkOiBzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjZJcGFtUG9vbD8uaXBhbVBvb2xJZCxcbiAgICAgICAgICBhbWF6b25Qcm92aWRlZElwdjZDaWRyQmxvY2s6IHNlY29uZGFyeVZwY09wdGlvbnMuYW1hem9uUHJvdmlkZWQsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoc2Vjb25kYXJ5VnBjT3B0aW9ucy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBzZWNvbmRhcnlWcGNPcHRpb25zLmRlcGVuZGVuY2llcykge1xuICAgICAgICAgICAgY2ZuVnBjQ2lkckJsb2NrLmFkZERlcGVuZGVuY3koZGVwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy9DcmVhdGUgc2Vjb25kYXJ5IGJsb2NrcyBmb3IgSXB2NCBhbmQgSXB2NlxuICAgICAgICB0aGlzLnNlY29uZGFyeUNpZHJCbG9jay5wdXNoKGNmblZwY0NpZHJCbG9jayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1wdHkgYXJyYXkgZm9yIGlzb2xhdGVkIHN1Ym5ldHNcbiAgICAgKi9cbiAgICB0aGlzLmlzb2xhdGVkU3VibmV0cyA9IG5ldyBBcnJheTxJU3VibmV0PjtcblxuICAgIC8qKlxuICAgICAqIEVtcHR5IGFycmF5IGZvciBwdWJsaWMgc3VibmV0c1xuICAgICAqL1xuICAgIHRoaXMucHVibGljU3VibmV0cyA9IG5ldyBBcnJheTxJU3VibmV0PjtcblxuICAgIC8qKlxuICAgICAqIEVtcHR5IGFycmF5IGZvciBwcml2YXRlIHN1Ym5ldHNcbiAgICAgKi9cbiAgICB0aGlzLnByaXZhdGVTdWJuZXRzID0gbmV3IEFycmF5PElTdWJuZXQ+O1xuXG4gICAgLyoqXG4gICAgICogRGVwZW5kYWJsZSB0aGF0IGNhbiBiZSBkZXBlbmRlZCB1cG9uIHRvIGZvcmNlIGludGVybmV0IGNvbm5lY3Rpdml0eSBlc3RhYmxpc2hlZCBvbiB0aGUgVlBDXG4gICAgICogQWRkIGlndyB0byB0aGlzIGlmIGl0cyBhIHB1YmxpYyBzdWJuZXRcbiAgICAgKi9cbiAgICB0aGlzLmludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQgPSB0aGlzLl9pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkO1xuICB9XG59XG4vKipcbiAqIFN1cHBvcnRzIGFzc2lnbmluZyBJUHY0IGFkZHJlc3MgdG8gVlBDXG4gKi9cbmNsYXNzIGlwdjRDaWRyQWxsb2NhdGlvbiBpbXBsZW1lbnRzIElJcEFkZHJlc3NlcyB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjaWRyQmxvY2s6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBwcm9wcz86IHsgY2lkckJsb2NrTmFtZTogc3RyaW5nfSkge1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIENJRFIgYmxvY2sgcHJvdmlkZWQgYnkgdGhlIHVzZXIgdG8gc2V0IElQdjRcbiAgICovXG4gIGFsbG9jYXRlVnBjQ2lkcigpOiBWcGNDaWRyT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlwdjRDaWRyQmxvY2s6IHRoaXMuY2lkckJsb2NrLFxuICAgICAgY2lkckJsb2NrTmFtZTogdGhpcy5wcm9wcz8uY2lkckJsb2NrTmFtZSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogU3VwcG9ydHMgQW1hem9uIFByb3ZpZGVkIElwdjYgcmFuZ2VzXG4gKi9cbmNsYXNzIEFtYXpvblByb3ZpZGVkIGltcGxlbWVudHMgSUlwQWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgYW4gQW1hem9uLXByb3ZpZGVkIElQdjYgQ0lEUiByYW5nZSBmb3IgYSBWUEMuXG4gICAqXG4gICAqIFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgSUlwQWRkcmVzc2VzIGludGVyZmFjZSBhbmQgaXMgdXNlZCB0byBhbGxvY2F0ZSBhbiBBbWF6b24tcHJvdmlkZWRcbiAgICogSVB2NiBDSURSIHJhbmdlIGZvciBhIFZQQy4gV2hlbiBhbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzIGlzIHVzZWQgdG8gYWxsb2NhdGUgdGhlIFZQQyBDSURSLFxuICAgKiBBbWF6b24gd2lsbCBhdXRvbWF0aWNhbGx5IGFzc2lnbiBhbiBJUHY2IENJRFIgcmFuZ2UgZnJvbSBpdHMgcG9vbCBvZiBhdmFpbGFibGUgYWRkcmVzc2VzLlxuICAgKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiB7IGNpZHJCbG9ja05hbWU6IHN0cmluZ30pIHt9O1xuXG4gIGFsbG9jYXRlVnBjQ2lkcigpOiBWcGNDaWRyT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFtYXpvblByb3ZpZGVkOiB0cnVlLFxuICAgICAgY2lkckJsb2NrTmFtZTogdGhpcy5wcm9wcy5jaWRyQmxvY2tOYW1lLFxuICAgIH07XG4gIH1cblxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gSVB2NCBhZGRyZXNzIHJhbmdlIG1hbmFnZWQgYnkgQVdTIElQIEFkZHJlc3MgTWFuYWdlciAoSVBBTSkuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbS5odG1sXG4gKi9cbmNsYXNzIElwYW1JcHY2IGltcGxlbWVudHMgSUlwQWRkcmVzc2VzIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBJcGFtT3B0aW9ucykge1xuICB9XG5cbiAgYWxsb2NhdGVWcGNDaWRyKCk6IFZwY0NpZHJPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXB2Nk5ldG1hc2tMZW5ndGg6IHRoaXMucHJvcHMubmV0bWFza0xlbmd0aCxcbiAgICAgIGlwdjZJcGFtUG9vbDogdGhpcy5wcm9wcy5pcGFtUG9vbCxcbiAgICAgIGRlcGVuZGVuY2llczogdGhpcy5wcm9wcy5pcGFtUG9vbD8uaXBhbUNpZHJzLm1hcChjID0+IGMgYXMgQ2ZuUmVzb3VyY2UpLFxuICAgICAgY2lkckJsb2NrTmFtZTogdGhpcy5wcm9wcy5jaWRyQmxvY2tOYW1lLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIElQdjQgYWRkcmVzcyByYW5nZSBtYW5hZ2VkIGJ5IEFXUyBJUCBBZGRyZXNzIE1hbmFnZXIgKElQQU0pLlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW0uaHRtbFxuICovXG5jbGFzcyBJcGFtSXB2NCBpbXBsZW1lbnRzIElJcEFkZHJlc3NlcyB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogSXBhbU9wdGlvbnMpIHtcbiAgfVxuICBhbGxvY2F0ZVZwY0NpZHIoKTogVnBjQ2lkck9wdGlvbnMge1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlwdjROZXRtYXNrTGVuZ3RoOiB0aGlzLnByb3BzLm5ldG1hc2tMZW5ndGgsXG4gICAgICBpcHY0SXBhbVBvb2w6IHRoaXMucHJvcHMuaXBhbVBvb2wsXG4gICAgICBjaWRyQmxvY2tOYW1lOiB0aGlzLnByb3BzPy5jaWRyQmxvY2tOYW1lLFxuICAgIH07XG4gIH1cbn1cblxuLy9AaW50ZXJuYWwgRmlyc3QgdHdvIE9jdGV0IHRvIHZlcmlmeSBSRkMgMTkxOFxuaW50ZXJmYWNlIElQYWRkcmVzc0NvbmZpZyB7XG4gIG9jdGV0MTogbnVtYmVyO1xuICBvY3RldDI6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgd2hldGhlciBhIHNlY29uZGFyeSBJUHY0IGFkZHJlc3MgaXMgd2l0aGluIHRoZSBzYW1lIHByaXZhdGUgSVAgYWRkcmVzcyByYW5nZSBhcyB0aGUgcHJpbWFyeSBJUHY0IGFkZHJlc3MuXG4gKlxuICogQHBhcmFtIGNpZHIxIFRoZSBzZWNvbmRhcnkgSVB2NCBDSURSIGJsb2NrIHRvIGJlIHZhbGlkYXRlZC5cbiAqIEBwYXJhbSBjaWRyMiBUaGUgcHJpbWFyeSBJUHY0IENJRFIgYmxvY2sgdG8gdmFsaWRhdGUgYWdhaW5zdC5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlY29uZGFyeSBJUHY0IENJRFIgYmxvY2sgaXMgd2l0aGluIHRoZSBzYW1lIHByaXZhdGUgSVAgYWRkcmVzcyByYW5nZSBhcyB0aGUgcHJpbWFyeSBJUHY0IENJRFIgYmxvY2ssIGZhbHNlIG90aGVyd2lzZS5cbiAqIEBpbnRlcm5hbFxuICogVGhlIHByaXZhdGUgSVAgYWRkcmVzcyByYW5nZXMgYXJlIGRlZmluZWQgYnkgUkZDIDE5MTggYXMgMTAuMC4wLjAvOCwgMTcyLjE2LjAuMC8xMiwgYW5kIDE5Mi4xNjguMC4wLzE2LlxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUlwdjRhZGRyZXNzKGNpZHIxPzogc3RyaW5nLCBjaWRyMj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoIWNpZHIxIHx8ICFjaWRyMikge1xuICAgIHJldHVybiBmYWxzZTsgLy8gSGFuZGxlIGNhc2VzIHdoZXJlIENJRFIgcmFuZ2VzIGFyZSBub3QgcHJvdmlkZWRcbiAgfVxuXG4gIGNvbnN0IG9jdGV0c0NpZHIxOiBudW1iZXJbXSA9IGNpZHIxLnNwbGl0KCcuJykubWFwKG9jdGV0ID0+IHBhcnNlSW50KG9jdGV0LCAxMCkpO1xuICBjb25zdCBvY3RldHNDaWRyMjogbnVtYmVyW10gPSBjaWRyMi5zcGxpdCgnLicpLm1hcChvY3RldCA9PiBwYXJzZUludChvY3RldCwgMTApKTtcblxuICBpZiAob2N0ZXRzQ2lkcjEubGVuZ3RoICE9PSA0IHx8IG9jdGV0c0NpZHIyLmxlbmd0aCAhPT0gNCkge1xuICAgIHJldHVybiBmYWxzZTsgLy8gSGFuZGxlIGludmFsaWQgQ0lEUiByYW5nZXNcbiAgfVxuXG4gIGNvbnN0IGlwMTogSVBhZGRyZXNzQ29uZmlnID0ge1xuICAgIG9jdGV0MTogb2N0ZXRzQ2lkcjFbMF0sXG4gICAgb2N0ZXQyOiBvY3RldHNDaWRyMVsxXSxcbiAgfTtcblxuICBjb25zdCBpcDI6IElQYWRkcmVzc0NvbmZpZyA9IHtcbiAgICBvY3RldDE6IG9jdGV0c0NpZHIyWzBdLFxuICAgIG9jdGV0Mjogb2N0ZXRzQ2lkcjJbMV0sXG4gIH07XG5cbiAgcmV0dXJuIChpcDEub2N0ZXQxID09PSAxMCAmJiBpcDIub2N0ZXQxID09PSAxMCkgfHxcbiAgICAoaXAxLm9jdGV0MSA9PT0gMTkyICYmIGlwMS5vY3RldDIgPT09IDE2OCAmJiBpcDIub2N0ZXQxID09PSAxOTIgJiYgaXAyLm9jdGV0MiA9PT0gMTY4KSB8fFxuICAgIChpcDEub2N0ZXQxID09PSAxNzIgJiYgaXAxLm9jdGV0MiA9PT0gMTYgJiYgaXAyLm9jdGV0MSA9PT0gMTcyICYmIGlwMi5vY3RldDIgPT09IDE2KTsgLy8gQ0lEUiByYW5nZXMgYmVsb25nIHRvIHNhbWUgcHJpdmF0ZSBJUCBhZGRyZXNzIHJhbmdlc1xufSJdfQ==
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidnBjLXYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUErRjtBQUMvRiwyQ0FBaUU7QUFHakUsK0NBQTBDO0FBYTFDOztHQUVHO0FBQ0gsTUFBYSxXQUFXO0lBRXRCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFnQixFQUFFLEtBQTZCOzs7Ozs7Ozs7O1FBQ2hFLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDaEQ7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBNEI7Ozs7Ozs7Ozs7UUFDakQsT0FBTyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUN0QztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUE0Qjs7Ozs7Ozs7OztRQUNqRCxPQUFPLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ3RDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBNEI7Ozs7Ozs7Ozs7UUFDM0QsT0FBTyxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNsQzs7QUE1Qkgsa0NBNkJDOzs7QUF1SUQ7Ozs7OztHQU1HO0FBQ0gsTUFBYSxLQUFNLFNBQVEsdUJBQVM7SUErRWxDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBb0IsRUFBRTtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLFdBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLEVBQUUsQ0FBQzthQUNqRyxD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RSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0tBQ3ZCLENBQUM7SUFFRixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxFQUFFLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUM7UUFDN0MsQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQztRQUN0RixDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyx1REFBdUQ7QUFDakosQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblZQQywgQ2ZuVlBDQ2lkckJsb2NrLCBEZWZhdWx0SW5zdGFuY2VUZW5hbmN5LCBJU3VibmV0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBBcm4sIENmblJlc291cmNlLCBMYXp5LCBOYW1lcyB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBJRGVwZW5kYWJsZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSXBhbU9wdGlvbnMsIElJcGFtUG9vbCB9IGZyb20gJy4vaXBhbSc7XG5pbXBvcnQgeyBWcGNWMkJhc2UgfSBmcm9tICcuL3ZwYy12Mi1iYXNlJztcblxuLyoqXG4gKiBBZGRpdGlvbmFsIHByb3BzIG5lZWRlZCBmb3Igc2Vjb25kYXJ5IEFkZHJlc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWNvbmRhcnlBZGRyZXNzUHJvcHMge1xuICAvKipcbiAgICogUmVxdWlyZWQgdG8gc2V0IFNlY29uZGFyeSBjaWRyIGJsb2NrIHJlc291cmNlIG5hbWVcbiAgICogaW4gb3JkZXIgdG8gZ2VuZXJhdGUgdW5pcXVlIGxvZ2ljYWwgaWQgZm9yIHRoZSByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IGNpZHJCbG9ja05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJcEFkZHJlc3Mgb3B0aW9ucyB0byBkZWZpbmUgVlBDIFYyXG4gKi9cbmV4cG9ydCBjbGFzcyBJcEFkZHJlc3NlcyB7XG5cbiAgLyoqXG4gICAqIEFuIElQdjQgQ0lEUiBSYW5nZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpcHY0KGlwdjRDaWRyOiBzdHJpbmcsIHByb3BzPzogU2Vjb25kYXJ5QWRkcmVzc1Byb3BzKTogSUlwQWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IGlwdjRDaWRyQWxsb2NhdGlvbihpcHY0Q2lkciwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIElwdjQgSXBhbSBQb29sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlwdjRJcGFtKGlwdjRJcGFtT3B0aW9uczogSXBhbU9wdGlvbnMpOiBJSXBBZGRyZXNzZXMge1xuICAgIHJldHVybiBuZXcgSXBhbUlwdjQoaXB2NElwYW1PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBJcHY2IElwYW0gUG9vbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpcHY2SXBhbShpcHY2SXBhbU9wdGlvbnM6IElwYW1PcHRpb25zKTogSUlwQWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IElwYW1JcHY2KGlwdjZJcGFtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQW1hem9uIFByb3ZpZGVkIElwdjYgcmFuZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYW1hem9uUHJvdmlkZWRJcHY2KHByb3BzOiBTZWNvbmRhcnlBZGRyZXNzUHJvcHMpIDogSUlwQWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IEFtYXpvblByb3ZpZGVkKHByb3BzKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnNvbGlkYXRlZCByZXR1cm4gcGFyYW1ldGVycyB0byBwYXNzIHRvIFZQQyBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNDaWRyT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIElQdjQgQ0lEUiBCbG9ja1xuICAgKlxuICAgKiBAZGVmYXVsdCAnMTAuMC4wLjAvMTYnXG4gICAqL1xuICByZWFkb25seSBpcHY0Q2lkckJsb2NrPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDSURSIE1hc2sgZm9yIFZwY1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBJUEFNIElwdjRcbiAgICovXG4gIHJlYWRvbmx5IGlwdjROZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJcHY0IElQQU0gUG9vbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBJUEFNIElwdjRcbiAgICovXG4gIHJlYWRvbmx5IGlwdjRJcGFtUG9vbD86IElJcGFtUG9vbDtcblxuICAvKipcbiAgICogQ0lEUiBNYXNrIGZvciBWcGNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBPbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgQVdTIElwYW1cbiAgICovXG4gIHJlYWRvbmx5IGlwdjZOZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJcHY2IElQQU0gcG9vbCBpZCBmb3IgVlBDIHJhbmdlLCBjYW4gb25seSBiZSBkZWZpbmVkXG4gICAqIHVuZGVyIHB1YmxpYyBzY29wZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHBvb2wgaWRcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZJcGFtUG9vbD86IElJcGFtUG9vbDtcblxuICAvKipcbiAgICogVXNlIGFtYXpvbiBwcm92aWRlZCBJUCByYW5nZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYW1hem9uUHJvdmlkZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZXBlbmRlbmN5IHRvIGFzc29jaWF0ZSBJcHY2IENJRFIgYmxvY2tcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBkZXBlbmRlbmN5XG4gICAqL1xuICByZWFkb25seSBkZXBlbmRlbmNpZXM/OiBDZm5SZXNvdXJjZVtdO1xuXG4gIC8qKlxuICAgKiBSZXF1aXJlZCB0byBzZXQgU2Vjb25kYXJ5IGNpZHIgYmxvY2sgcmVzb3VyY2UgbmFtZVxuICAgKiBpbiBvcmRlciB0byBnZW5lcmF0ZSB1bmlxdWUgbG9naWNhbCBpZCBmb3IgdGhlIHJlc291cmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5hbWUgZm9yIHByaW1hcnkgYWRkcmVzc2VzXG4gICAqL1xuICByZWFkb25seSBjaWRyQmxvY2tOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEltcGxlbWVudHMgaXAgYWRkcmVzcyBhbGxvY2F0aW9uIGFjY29yZGluZyB0byB0aGUgSVBBZHJlc3MgdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElJcEFkZHJlc3NlcyB7XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBkZWZpbmUgdGhlIGltcGxlbWVudGF0aW9uIGxvZ2ljIG9mXG4gICAqIElQIGFkZHJlc3MgYWxsb2NhdGlvblxuICAgKi9cbiAgYWxsb2NhdGVWcGNDaWRyKCkgOiBWcGNDaWRyT3B0aW9ucztcblxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gZGVmaW5lIFZQQ1xuICogW2Rpc2FibGUtYXdzbGludDpmcm9tLW1ldGhvZF1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNWMlByb3BzIHtcblxuICAvKiogQSBtdXN0IElQdjQgQ0lEUiBibG9jayBmb3IgdGhlIFZQQ1xuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS92cGMvbGF0ZXN0L3VzZXJndWlkZS92cGMtY2lkci1ibG9ja3MuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIElwdjQgQ0lEUiBCbG9jayAoJzEwLjAuMC4wLzE2JylcbiAgICovXG4gIHJlYWRvbmx5IHByaW1hcnlBZGRyZXNzQmxvY2s/OiBJSXBBZGRyZXNzZXM7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWNvbmRhcnkgQ0lEUiBibG9ja3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBWUEMuXG4gICAqIENhbiBiZSAgSVB2NCBvciBJUHY2LCB0d28gSVB2NCByYW5nZXMgbXVzdCBmb2xsb3cgUkZDIzE5MTggY29udmVudGlvblxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdnBjL2xhdGVzdC91c2VyZ3VpZGUvdnBjLWNpZHItYmxvY2tzLmh0bWwjdnBjLXJlc2l6ZX0uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gc2Vjb25kYXJ5IElQIGFkZHJlc3NcbiAgICovXG4gIHJlYWRvbmx5IHNlY29uZGFyeUFkZHJlc3NCbG9ja3M/OiBJSXBBZGRyZXNzZXNbXTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGluc3RhbmNlcyBsYXVuY2hlZCBpbiB0aGUgVlBDIGdldCBETlMgaG9zdG5hbWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVEbnNIb3N0bmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgRE5TIHJlc29sdXRpb24gaXMgc3VwcG9ydGVkIGZvciB0aGUgVlBDLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVEbnNTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdGVuYW5jeSBvZiBpbnN0YW5jZXMgbGF1bmNoZWQgaW50byB0aGUgVlBDLlxuICAgKlxuICAgKiBCeSBzZXR0aW5nIHRoaXMgdG8gZGVkaWNhdGVkIHRlbmFuY3ksIGluc3RhbmNlcyB3aWxsIGJlIGxhdW5jaGVkIG9uXG4gICAqIGhhcmR3YXJlIGRlZGljYXRlZCB0byBhIHNpbmdsZSBBV1MgY3VzdG9tZXIsIHVubGVzcyBzcGVjaWZpY2FsbHkgc3BlY2lmaWVkXG4gICAqIGF0IGluc3RhbmNlIGxhdW5jaCB0aW1lLiBQbGVhc2Ugbm90ZSwgbm90IGFsbCBpbnN0YW5jZSB0eXBlcyBhcmUgdXNhYmxlXG4gICAqIHdpdGggRGVkaWNhdGVkIHRlbmFuY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IERlZmF1bHRJbnN0YW5jZVRlbmFuY3kuRGVmYXVsdCAoc2hhcmVkKSB0ZW5hbmN5XG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0SW5zdGFuY2VUZW5hbmN5PzogRGVmYXVsdEluc3RhbmNlVGVuYW5jeTtcblxuICAvKipcbiAgICogUGh5c2ljYWwgbmFtZSBmb3IgdGhlIFZQQ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGF1dG9nZW5lcmF0ZWQgYnkgQ0RLXG4gICAqL1xuICByZWFkb25seSB2cGNOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSBmb3VuZGF0aW9uIGZvciBjcmVhdGluZyBhbmQgY29uZmlndXJpbmcgYSBWUEMgd2l0aCBhZHZhbmNlZCBmZWF0dXJlcyBzdWNoIGFzIElQQU0gKElQIEFkZHJlc3MgTWFuYWdlbWVudCkgYW5kIElQdjYgc3VwcG9ydC5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfZWMyLlZwYy5odG1sfEFXUyBDREsgRG9jdW1lbnRhdGlvbiBvbiBWUENzfS5cbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OlZQQ1xuICovXG5leHBvcnQgY2xhc3MgVnBjVjIgZXh0ZW5kcyBWcGNWMkJhc2Uge1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGlzIFZQQ1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZwY0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICogQGF0dHJpYnV0ZVxuICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBhdHRyaWJ1dGVcbiAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZwY0NpZHJCbG9jazogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIElQdjYgQ0lEUiBibG9ja3MgZm9yIHRoZSBWUEMuXG4gICAqXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLXZwYy5odG1sI2F3cy1yZXNvdXJjZS1lYzItdnBjLXJldHVybi12YWx1ZXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcHY2Q2lkckJsb2Nrczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlciBvZiBpcHY0IGFkZHJlc3Nlc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwQWRkcmVzc2VzOiBJSXBBZGRyZXNzZXM7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBWUEMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IENmblZQQztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGluc3RhbmNlcyBsYXVuY2hlZCBpbiB0aGlzIFZQQyB3aWxsIGhhdmUgcHVibGljIEROUyBob3N0bmFtZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZG5zSG9zdG5hbWVzRW5hYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgKiBJbmRpY2F0ZXMgaWYgRE5TIHN1cHBvcnQgaXMgZW5hYmxlZCBmb3IgdGhpcyBWUEMuXG4gICovXG4gIHB1YmxpYyByZWFkb25seSBkbnNTdXBwb3J0RW5hYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSXNvbGF0ZWQgU3VibmV0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoaXMgVlBDLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzb2xhdGVkU3VibmV0czogSVN1Ym5ldFtdO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgU3VibmV0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoaXMgVlBDLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldHM6IElTdWJuZXRbXTtcblxuICAvKipcbiAgICogUGJ1bGljIFN1Ym5ldHMgdGhhdCBhcmUgcGFydCBvZiB0aGlzIFZQQy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcml2YXRlU3VibmV0czogSVN1Ym5ldFtdO1xuXG4gIC8qKlxuICAgKiBUbyBkZWZpbmUgZGVwZW5kZW5jeSBvbiBpbnRlcm5ldCBjb25uZWN0aXZpdHlcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkOiBJRGVwZW5kYWJsZTtcblxuICAvKipcbiAqIHJlZmVyZW5jZSB0byBhbGwgc2Vjb25kYXJ5IGJsb2NrcyBhdHRhY2hlZFxuICovXG4gIHB1YmxpYyByZWFkb25seSBzZWNvbmRhcnlDaWRyQmxvY2sgPSBuZXcgQXJyYXk8Q2ZuVlBDQ2lkckJsb2NrPjtcblxuICAvKipcbiAgICogRm9yIHZhbGlkYXRpb24gdG8gZGVmaW5lIElQdjYgc3VibmV0cywgc2V0IHRvIHRydWUgaW4gY2FzZSBvZlxuICAgKiBBbWF6b24gUHJvdmlkZWQgSVB2NiBjaWRyIHJhbmdlXG4gICAqIGlmIHRydWUsIElQdjYgYWRkcmVzc2VzIGNhbiBiZSBhdHRhY2hlZCB0byB0aGUgc3VibmV0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VJcHY2OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlwdjRDaWRyQmxvY2s6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBWcGNWMlByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMudnBjTmFtZSA/PyBMYXp5LnN0cmluZyh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4LCBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6ICdfJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5pcEFkZHJlc3NlcyA9IHByb3BzLnByaW1hcnlBZGRyZXNzQmxvY2sgPz8gSXBBZGRyZXNzZXMuaXB2NCgnMTAuMC4wLjAvMTYnKTtcbiAgICBjb25zdCB2cGNPcHRpb25zID0gdGhpcy5pcEFkZHJlc3Nlcy5hbGxvY2F0ZVZwY0NpZHIoKTtcblxuICAgIHRoaXMuZG5zSG9zdG5hbWVzRW5hYmxlZCA9IHByb3BzLmVuYWJsZURuc0hvc3RuYW1lcyA9PSBudWxsID8gdHJ1ZSA6IHByb3BzLmVuYWJsZURuc0hvc3RuYW1lcztcbiAgICB0aGlzLmRuc1N1cHBvcnRFbmFibGVkID0gcHJvcHMuZW5hYmxlRG5zU3VwcG9ydCA9PSBudWxsID8gdHJ1ZSA6IHByb3BzLmVuYWJsZURuc1N1cHBvcnQ7XG4gICAgY29uc3QgaW5zdGFuY2VUZW5hbmN5ID0gcHJvcHMuZGVmYXVsdEluc3RhbmNlVGVuYW5jeSB8fCAnZGVmYXVsdCc7XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5WUEModGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgY2lkckJsb2NrOiB2cGNPcHRpb25zLmlwdjRDaWRyQmxvY2ssIC8vZm9yIElwdjQgYWRkcmVzc2VzIENJRFIgYmxvY2tcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdGhpcy5kbnNIb3N0bmFtZXNFbmFibGVkLFxuICAgICAgZW5hYmxlRG5zU3VwcG9ydDogdGhpcy5kbnNTdXBwb3J0RW5hYmxlZCxcbiAgICAgIGlwdjRJcGFtUG9vbElkOiB2cGNPcHRpb25zLmlwdjRJcGFtUG9vbD8uaXBhbVBvb2xJZCwgLy8gZm9yIElwdjQgaXBhbSBvcHRpb25cbiAgICAgIGlwdjROZXRtYXNrTGVuZ3RoOiB2cGNPcHRpb25zLmlwdjROZXRtYXNrTGVuZ3RoLCAvLyBmb3IgSXB2NCBpcGFtIG9wdGlvblxuICAgICAgaW5zdGFuY2VUZW5hbmN5OiBpbnN0YW5jZVRlbmFuY3ksXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gdGhpcy5yZXNvdXJjZTtcbiAgICB0aGlzLnZwY0NpZHJCbG9jayA9IHRoaXMucmVzb3VyY2UuYXR0ckNpZHJCbG9jaztcbiAgICBpZiAodnBjT3B0aW9ucy5pcHY0Q2lkckJsb2NrKSB7XG4gICAgICB0aGlzLmlwdjRDaWRyQmxvY2sgPSB2cGNPcHRpb25zLmlwdjRDaWRyQmxvY2s7XG4gICAgfVxuICAgIHRoaXMuaXB2NkNpZHJCbG9ja3MgPSB0aGlzLnJlc291cmNlLmF0dHJJcHY2Q2lkckJsb2NrcztcbiAgICB0aGlzLnZwY0lkID0gdGhpcy5yZXNvdXJjZS5hdHRyVnBjSWQ7XG4gICAgdGhpcy52cGNBcm4gPSBBcm4uZm9ybWF0KHtcbiAgICAgIHNlcnZpY2U6ICdlYzInLFxuICAgICAgcmVzb3VyY2U6ICd2cGMnLFxuICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLnZwY0lkLFxuICAgIH0sIHRoaXMuc3RhY2spO1xuXG4gICAgaWYgKHByb3BzLnNlY29uZGFyeUFkZHJlc3NCbG9ja3MpIHtcbiAgICAgIGNvbnN0IHNlY29uZGFyeUFkZHJlc3NCbG9ja3M6IElJcEFkZHJlc3Nlc1tdID0gcHJvcHMuc2Vjb25kYXJ5QWRkcmVzc0Jsb2NrcztcblxuICAgICAgZm9yIChjb25zdCBzZWNvbmRhcnlBZGRyZXNzQmxvY2sgb2Ygc2Vjb25kYXJ5QWRkcmVzc0Jsb2Nrcykge1xuXG4gICAgICAgIGNvbnN0IHNlY29uZGFyeVZwY09wdGlvbnM6IFZwY0NpZHJPcHRpb25zID0gc2Vjb25kYXJ5QWRkcmVzc0Jsb2NrLmFsbG9jYXRlVnBjQ2lkcigpO1xuICAgICAgICBpZiAoIXNlY29uZGFyeVZwY09wdGlvbnMuY2lkckJsb2NrTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2lkciBCbG9jayBOYW1lIGlzIHJlcXVpcmVkIHRvIGNyZWF0ZSBzZWNvbmRhcnkgSVAgYWRkcmVzcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlY29uZGFyeVZwY09wdGlvbnMuYW1hem9uUHJvdmlkZWQgfHwgc2Vjb25kYXJ5VnBjT3B0aW9ucy5pcHY2SXBhbVBvb2wpIHtcbiAgICAgICAgICB0aGlzLnVzZUlwdjYgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vdmFsaWRhdGUgQ0lEUiByYW5nZXMgcGVyIFJGQyAxOTE4XG4gICAgICAgIGlmIChzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjRDaWRyQmxvY2shKSB7XG4gICAgICAgICAgY29uc3QgcmV0ID0gdmFsaWRhdGVJcHY0YWRkcmVzcyhzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjRDaWRyQmxvY2ssIHRoaXMucmVzb3VyY2UuY2lkckJsb2NrKTtcbiAgICAgICAgICBpZiAocmV0ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDSURSIGJsb2NrIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBSRkMgMTkxOCByYW5nZSBpbiB0aGUgVlBDJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNmblZwY0NpZHJCbG9jayA9IG5ldyBDZm5WUENDaWRyQmxvY2sodGhpcywgc2Vjb25kYXJ5VnBjT3B0aW9ucy5jaWRyQmxvY2tOYW1lLCB7XG4gICAgICAgICAgdnBjSWQ6IHRoaXMudnBjSWQsXG4gICAgICAgICAgY2lkckJsb2NrOiBzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjRDaWRyQmxvY2ssXG4gICAgICAgICAgaXB2NElwYW1Qb29sSWQ6IHNlY29uZGFyeVZwY09wdGlvbnMuaXB2NElwYW1Qb29sPy5pcGFtUG9vbElkLFxuICAgICAgICAgIGlwdjROZXRtYXNrTGVuZ3RoOiBzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjROZXRtYXNrTGVuZ3RoLFxuICAgICAgICAgIGlwdjZOZXRtYXNrTGVuZ3RoOiBzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjZOZXRtYXNrTGVuZ3RoLFxuICAgICAgICAgIGlwdjZJcGFtUG9vbElkOiBzZWNvbmRhcnlWcGNPcHRpb25zLmlwdjZJcGFtUG9vbD8uaXBhbVBvb2xJZCxcbiAgICAgICAgICBhbWF6b25Qcm92aWRlZElwdjZDaWRyQmxvY2s6IHNlY29uZGFyeVZwY09wdGlvbnMuYW1hem9uUHJvdmlkZWQsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoc2Vjb25kYXJ5VnBjT3B0aW9ucy5kZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBzZWNvbmRhcnlWcGNPcHRpb25zLmRlcGVuZGVuY2llcykge1xuICAgICAgICAgICAgY2ZuVnBjQ2lkckJsb2NrLmFkZERlcGVuZGVuY3koZGVwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy9DcmVhdGUgc2Vjb25kYXJ5IGJsb2NrcyBmb3IgSXB2NCBhbmQgSXB2NlxuICAgICAgICB0aGlzLnNlY29uZGFyeUNpZHJCbG9jay5wdXNoKGNmblZwY0NpZHJCbG9jayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1wdHkgYXJyYXkgZm9yIGlzb2xhdGVkIHN1Ym5ldHNcbiAgICAgKi9cbiAgICB0aGlzLmlzb2xhdGVkU3VibmV0cyA9IG5ldyBBcnJheTxJU3VibmV0PjtcblxuICAgIC8qKlxuICAgICAqIEVtcHR5IGFycmF5IGZvciBwdWJsaWMgc3VibmV0c1xuICAgICAqL1xuICAgIHRoaXMucHVibGljU3VibmV0cyA9IG5ldyBBcnJheTxJU3VibmV0PjtcblxuICAgIC8qKlxuICAgICAqIEVtcHR5IGFycmF5IGZvciBwcml2YXRlIHN1Ym5ldHNcbiAgICAgKi9cbiAgICB0aGlzLnByaXZhdGVTdWJuZXRzID0gbmV3IEFycmF5PElTdWJuZXQ+O1xuXG4gICAgLyoqXG4gICAgICogRGVwZW5kYWJsZSB0aGF0IGNhbiBiZSBkZXBlbmRlZCB1cG9uIHRvIGZvcmNlIGludGVybmV0IGNvbm5lY3Rpdml0eSBlc3RhYmxpc2hlZCBvbiB0aGUgVlBDXG4gICAgICogQWRkIGlndyB0byB0aGlzIGlmIGl0cyBhIHB1YmxpYyBzdWJuZXRcbiAgICAgKi9cbiAgICB0aGlzLmludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQgPSB0aGlzLl9pbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkO1xuICB9XG59XG4vKipcbiAqIFN1cHBvcnRzIGFzc2lnbmluZyBJUHY0IGFkZHJlc3MgdG8gVlBDXG4gKi9cbmNsYXNzIGlwdjRDaWRyQWxsb2NhdGlvbiBpbXBsZW1lbnRzIElJcEFkZHJlc3NlcyB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjaWRyQmxvY2s6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBwcm9wcz86IHsgY2lkckJsb2NrTmFtZTogc3RyaW5nfSkge1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIENJRFIgYmxvY2sgcHJvdmlkZWQgYnkgdGhlIHVzZXIgdG8gc2V0IElQdjRcbiAgICovXG4gIGFsbG9jYXRlVnBjQ2lkcigpOiBWcGNDaWRyT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlwdjRDaWRyQmxvY2s6IHRoaXMuY2lkckJsb2NrLFxuICAgICAgY2lkckJsb2NrTmFtZTogdGhpcy5wcm9wcz8uY2lkckJsb2NrTmFtZSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogU3VwcG9ydHMgQW1hem9uIFByb3ZpZGVkIElwdjYgcmFuZ2VzXG4gKi9cbmNsYXNzIEFtYXpvblByb3ZpZGVkIGltcGxlbWVudHMgSUlwQWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgYW4gQW1hem9uLXByb3ZpZGVkIElQdjYgQ0lEUiByYW5nZSBmb3IgYSBWUEMuXG4gICAqXG4gICAqIFRoaXMgY2xhc3MgaW1wbGVtZW50cyB0aGUgSUlwQWRkcmVzc2VzIGludGVyZmFjZSBhbmQgaXMgdXNlZCB0byBhbGxvY2F0ZSBhbiBBbWF6b24tcHJvdmlkZWRcbiAgICogSVB2NiBDSURSIHJhbmdlIGZvciBhIFZQQy4gV2hlbiBhbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzIGlzIHVzZWQgdG8gYWxsb2NhdGUgdGhlIFZQQyBDSURSLFxuICAgKiBBbWF6b24gd2lsbCBhdXRvbWF0aWNhbGx5IGFzc2lnbiBhbiBJUHY2IENJRFIgcmFuZ2UgZnJvbSBpdHMgcG9vbCBvZiBhdmFpbGFibGUgYWRkcmVzc2VzLlxuICAgKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiB7IGNpZHJCbG9ja05hbWU6IHN0cmluZ30pIHt9O1xuXG4gIGFsbG9jYXRlVnBjQ2lkcigpOiBWcGNDaWRyT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFtYXpvblByb3ZpZGVkOiB0cnVlLFxuICAgICAgY2lkckJsb2NrTmFtZTogdGhpcy5wcm9wcy5jaWRyQmxvY2tOYW1lLFxuICAgIH07XG4gIH1cblxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gSVB2NCBhZGRyZXNzIHJhbmdlIG1hbmFnZWQgYnkgQVdTIElQIEFkZHJlc3MgTWFuYWdlciAoSVBBTSkuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbS5odG1sXG4gKi9cbmNsYXNzIElwYW1JcHY2IGltcGxlbWVudHMgSUlwQWRkcmVzc2VzIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBJcGFtT3B0aW9ucykge1xuICB9XG5cbiAgYWxsb2NhdGVWcGNDaWRyKCk6IFZwY0NpZHJPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXB2Nk5ldG1hc2tMZW5ndGg6IHRoaXMucHJvcHMubmV0bWFza0xlbmd0aCxcbiAgICAgIGlwdjZJcGFtUG9vbDogdGhpcy5wcm9wcy5pcGFtUG9vbCxcbiAgICAgIGRlcGVuZGVuY2llczogdGhpcy5wcm9wcy5pcGFtUG9vbD8uaXBhbUNpZHJzLm1hcChjID0+IGMgYXMgQ2ZuUmVzb3VyY2UpLFxuICAgICAgY2lkckJsb2NrTmFtZTogdGhpcy5wcm9wcy5jaWRyQmxvY2tOYW1lLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIElQdjQgYWRkcmVzcyByYW5nZSBtYW5hZ2VkIGJ5IEFXUyBJUCBBZGRyZXNzIE1hbmFnZXIgKElQQU0pLlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW0uaHRtbFxuICovXG5jbGFzcyBJcGFtSXB2NCBpbXBsZW1lbnRzIElJcEFkZHJlc3NlcyB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogSXBhbU9wdGlvbnMpIHtcbiAgfVxuICBhbGxvY2F0ZVZwY0NpZHIoKTogVnBjQ2lkck9wdGlvbnMge1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlwdjROZXRtYXNrTGVuZ3RoOiB0aGlzLnByb3BzLm5ldG1hc2tMZW5ndGgsXG4gICAgICBpcHY0SXBhbVBvb2w6IHRoaXMucHJvcHMuaXBhbVBvb2wsXG4gICAgICBjaWRyQmxvY2tOYW1lOiB0aGlzLnByb3BzPy5jaWRyQmxvY2tOYW1lLFxuICAgIH07XG4gIH1cbn1cblxuLy9AaW50ZXJuYWwgRmlyc3QgdHdvIE9jdGV0IHRvIHZlcmlmeSBSRkMgMTkxOFxuaW50ZXJmYWNlIElQYWRkcmVzc0NvbmZpZyB7XG4gIG9jdGV0MTogbnVtYmVyO1xuICBvY3RldDI6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgd2hldGhlciBhIHNlY29uZGFyeSBJUHY0IGFkZHJlc3MgaXMgd2l0aGluIHRoZSBzYW1lIHByaXZhdGUgSVAgYWRkcmVzcyByYW5nZSBhcyB0aGUgcHJpbWFyeSBJUHY0IGFkZHJlc3MuXG4gKlxuICogQHBhcmFtIGNpZHIxIFRoZSBzZWNvbmRhcnkgSVB2NCBDSURSIGJsb2NrIHRvIGJlIHZhbGlkYXRlZC5cbiAqIEBwYXJhbSBjaWRyMiBUaGUgcHJpbWFyeSBJUHY0IENJRFIgYmxvY2sgdG8gdmFsaWRhdGUgYWdhaW5zdC5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlY29uZGFyeSBJUHY0IENJRFIgYmxvY2sgaXMgd2l0aGluIHRoZSBzYW1lIHByaXZhdGUgSVAgYWRkcmVzcyByYW5nZSBhcyB0aGUgcHJpbWFyeSBJUHY0IENJRFIgYmxvY2ssIGZhbHNlIG90aGVyd2lzZS5cbiAqIEBpbnRlcm5hbFxuICogVGhlIHByaXZhdGUgSVAgYWRkcmVzcyByYW5nZXMgYXJlIGRlZmluZWQgYnkgUkZDIDE5MTggYXMgMTAuMC4wLjAvOCwgMTcyLjE2LjAuMC8xMiwgYW5kIDE5Mi4xNjguMC4wLzE2LlxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUlwdjRhZGRyZXNzKGNpZHIxPzogc3RyaW5nLCBjaWRyMj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoIWNpZHIxIHx8ICFjaWRyMikge1xuICAgIHJldHVybiBmYWxzZTsgLy8gSGFuZGxlIGNhc2VzIHdoZXJlIENJRFIgcmFuZ2VzIGFyZSBub3QgcHJvdmlkZWRcbiAgfVxuXG4gIGNvbnN0IG9jdGV0c0NpZHIxOiBudW1iZXJbXSA9IGNpZHIxLnNwbGl0KCcuJykubWFwKG9jdGV0ID0+IHBhcnNlSW50KG9jdGV0LCAxMCkpO1xuICBjb25zdCBvY3RldHNDaWRyMjogbnVtYmVyW10gPSBjaWRyMi5zcGxpdCgnLicpLm1hcChvY3RldCA9PiBwYXJzZUludChvY3RldCwgMTApKTtcblxuICBpZiAob2N0ZXRzQ2lkcjEubGVuZ3RoICE9PSA0IHx8IG9jdGV0c0NpZHIyLmxlbmd0aCAhPT0gNCkge1xuICAgIHJldHVybiBmYWxzZTsgLy8gSGFuZGxlIGludmFsaWQgQ0lEUiByYW5nZXNcbiAgfVxuXG4gIGNvbnN0IGlwMTogSVBhZGRyZXNzQ29uZmlnID0ge1xuICAgIG9jdGV0MTogb2N0ZXRzQ2lkcjFbMF0sXG4gICAgb2N0ZXQyOiBvY3RldHNDaWRyMVsxXSxcbiAgfTtcblxuICBjb25zdCBpcDI6IElQYWRkcmVzc0NvbmZpZyA9IHtcbiAgICBvY3RldDE6IG9jdGV0c0NpZHIyWzBdLFxuICAgIG9jdGV0Mjogb2N0ZXRzQ2lkcjJbMV0sXG4gIH07XG5cbiAgcmV0dXJuIChpcDEub2N0ZXQxID09PSAxMCAmJiBpcDIub2N0ZXQxID09PSAxMCkgfHxcbiAgICAoaXAxLm9jdGV0MSA9PT0gMTkyICYmIGlwMS5vY3RldDIgPT09IDE2OCAmJiBpcDIub2N0ZXQxID09PSAxOTIgJiYgaXAyLm9jdGV0MiA9PT0gMTY4KSB8fFxuICAgIChpcDEub2N0ZXQxID09PSAxNzIgJiYgaXAxLm9jdGV0MiA9PT0gMTYgJiYgaXAyLm9jdGV0MSA9PT0gMTcyICYmIGlwMi5vY3RldDIgPT09IDE2KTsgLy8gQ0lEUiByYW5nZXMgYmVsb25nIHRvIHNhbWUgcHJpdmF0ZSBJUCBhZGRyZXNzIHJhbmdlc1xufSJdfQ==
|
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.159.1-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.159.1-alpha.0",
|
|
81
|
+
"@aws-cdk/integ-runner": "2.159.1-alpha.0",
|
|
82
|
+
"@aws-cdk/integ-tests-alpha": "^2.159.1-alpha.0",
|
|
83
|
+
"@aws-cdk/pkglint": "2.159.1-alpha.0",
|
|
84
84
|
"@types/jest": "^29.5.12",
|
|
85
|
-
"aws-cdk-lib": "2.
|
|
85
|
+
"aws-cdk-lib": "2.159.1",
|
|
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.159.1",
|
|
91
91
|
"constructs": "^10.0.0"
|
|
92
92
|
},
|
|
93
93
|
"separate-module": false,
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// Fixture with packages imported, but nothing else
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
3
|
import { Stack, App, Fn } from 'aws-cdk-lib';
|
|
4
|
-
import
|
|
5
|
-
import { Ipam, AwsServiceName, IpCidr } from '@aws-cdk/aws-ec2-alpha';
|
|
6
|
-
import { NatConnectivityType } from '@aws-cdk/aws-ec2-alpha'
|
|
4
|
+
import { VpcV2, SubnetV2, IpAddresses, IpamPoolPublicIpSource, RouteTable, InternetGateway, Route, NatGateway, EgressOnlyInternetGateway } from '@aws-cdk/aws-ec2-alpha';
|
|
5
|
+
import { Ipam, AwsServiceName, IpCidr, AddressFamily } from '@aws-cdk/aws-ec2-alpha';
|
|
6
|
+
import { NatConnectivityType } from '@aws-cdk/aws-ec2-alpha';
|
|
7
|
+
import { SubnetType, VpnConnectionType } from 'aws-cdk-lib/aws-ec2';
|
|
7
8
|
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
8
9
|
|
|
9
10
|
class Fixture extends Stack {
|