@trautonen/cdk-dns-validated-certificate 0.1.59 → 0.1.61
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 +5 -4
- package/lib/dns-validated-certificate.js +7 -4
- package/package.json +3 -3
package/.jsii
CHANGED
|
@@ -3465,7 +3465,7 @@
|
|
|
3465
3465
|
"stability": "stable"
|
|
3466
3466
|
},
|
|
3467
3467
|
"homepage": "https://github.com/trautonen/cdk-dns-validated-certificate.git",
|
|
3468
|
-
"jsiiVersion": "5.9.
|
|
3468
|
+
"jsiiVersion": "5.9.51 (build 95a1df0)",
|
|
3469
3469
|
"keywords": [
|
|
3470
3470
|
"aws",
|
|
3471
3471
|
"cdk",
|
|
@@ -3481,6 +3481,7 @@
|
|
|
3481
3481
|
"hasDefaultInterfaces": true
|
|
3482
3482
|
}
|
|
3483
3483
|
},
|
|
3484
|
+
"tscOutDir": "lib",
|
|
3484
3485
|
"tscRootDir": "src"
|
|
3485
3486
|
},
|
|
3486
3487
|
"name": "@trautonen/cdk-dns-validated-certificate",
|
|
@@ -3632,7 +3633,7 @@
|
|
|
3632
3633
|
"immutable": true,
|
|
3633
3634
|
"locationInModule": {
|
|
3634
3635
|
"filename": "src/dns-validated-certificate.ts",
|
|
3635
|
-
"line":
|
|
3636
|
+
"line": 368
|
|
3636
3637
|
},
|
|
3637
3638
|
"name": "certificateRef",
|
|
3638
3639
|
"type": {
|
|
@@ -3921,6 +3922,6 @@
|
|
|
3921
3922
|
"symbolId": "src/dns-validated-certificate:ValidationHostedZone"
|
|
3922
3923
|
}
|
|
3923
3924
|
},
|
|
3924
|
-
"version": "0.1.
|
|
3925
|
-
"fingerprint": "
|
|
3925
|
+
"version": "0.1.61",
|
|
3926
|
+
"fingerprint": "aYT0bLGcvv+E3BDMRxkMt4mRzqwsWjw4UQQnM4xbY4o="
|
|
3926
3927
|
}
|
|
@@ -111,7 +111,7 @@ const CERTTIFICATE_RESOURCE_TYPE = 'AWS::CertificateManager::Certificate';
|
|
|
111
111
|
* @resource AWS::CertificateManager::Certificate
|
|
112
112
|
*/
|
|
113
113
|
class DnsValidatedCertificate extends cdk.Resource {
|
|
114
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@trautonen/cdk-dns-validated-certificate.DnsValidatedCertificate", version: "0.1.
|
|
114
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@trautonen/cdk-dns-validated-certificate.DnsValidatedCertificate", version: "0.1.61" };
|
|
115
115
|
/** The certificate's ARN */
|
|
116
116
|
certificateArn;
|
|
117
117
|
/** The region where the certificate is deployed to */
|
|
@@ -242,12 +242,15 @@ class DnsValidatedCertificate extends cdk.Resource {
|
|
|
242
242
|
applyRemovalPolicy(policy) {
|
|
243
243
|
this.removalPolicy = policy;
|
|
244
244
|
}
|
|
245
|
-
//
|
|
246
|
-
//
|
|
245
|
+
// certificatemanager.ICertificate extends ICertificateRef since aws-cdk-lib 2.235.0. The reference property was
|
|
246
|
+
// certificateId until 2.264.0 renamed it to certificateArn. Both carry the ARN, which is what Ref returns for
|
|
247
|
+
// AWS::CertificateManager::Certificate in either version, so both are set to cover the whole peer range.
|
|
248
|
+
// The return type is any to also compile against CDK versions predating ICertificateRef.
|
|
247
249
|
/** A reference to a Certificate resource. */
|
|
248
250
|
get certificateRef() {
|
|
249
251
|
return {
|
|
250
252
|
certificateId: this.certificateArn,
|
|
253
|
+
certificateArn: this.certificateArn,
|
|
251
254
|
};
|
|
252
255
|
}
|
|
253
256
|
normalizeDomainName(domainName) {
|
|
@@ -283,4 +286,4 @@ class DnsValidatedCertificate extends cdk.Resource {
|
|
|
283
286
|
}
|
|
284
287
|
}
|
|
285
288
|
exports.DnsValidatedCertificate = DnsValidatedCertificate;
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLXZhbGlkYXRlZC1jZXJ0aWZpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kbnMtdmFsaWRhdGVkLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBa0M7QUFFbEMsdUVBQXdEO0FBQ3hELHlEQUEwQztBQUMxQywrREFBZ0Q7QUFFaEQsK0VBQWdFO0FBRWhFLHFGQUErRTtBQUUvRSxtQ0FBZ0c7QUFpSGhHLE1BQU0sOEJBQThCLEdBQUcsaUNBQWlDLENBQUE7QUFDeEUsTUFBTSwwQkFBMEIsR0FBRyxzQ0FBc0MsQ0FBQTtBQUV6RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRUc7QUFDSCxNQUFhLHVCQUF3QixTQUFRLEdBQUcsQ0FBQyxRQUFROztJQUN2RCw0QkFBNEI7SUFDWixjQUFjLENBQVE7SUFFdEMsc0RBQXNEO0lBQ3RDLGlCQUFpQixDQUFRO0lBRXpDLDBFQUEwRTtJQUMxRCxJQUFJLENBQWdCO0lBRXBDLDZDQUE2QztJQUNyQyxhQUFhLENBQW1CO0lBRXhDOzs7Ozs7T0FNRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBbUM7UUFDM0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzdELE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FDekYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLENBQ2hELENBQUE7UUFDRCxNQUFNLFVBQVUsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFH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RUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDM0YsQ0FBQztJQUVPLDRCQUE0QixDQUFDLFdBQXFCLEVBQUUsU0FBbUI7UUFDN0UsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFBO1FBQzNCLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2hFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1lBQzNGLElBQUksb0JBQW9CLElBQUksbUJBQW1CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEgsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLFVBQVUsaURBQWlELENBQUMsQ0FBQTtZQUNwRixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQzs7QUFwTkgsMERBcU5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJ1xuaW1wb3J0ICogYXMgY2VydGlmaWNhdGVtYW5hZ2VyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXInXG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJ1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSdcbmltcG9ydCAqIGFzIHJvdXRlNTMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMnXG5pbXBvcnQgKiBhcyBjdXN0b21fcmVzb3VyY2VzIGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJ1xuaW1wb3J0IHsgQ2VydGlmaWNhdGVSZXF1ZXN0b3JGdW5jdGlvbiB9IGZyb20gJy4vY2VydGlmaWNhdGUtcmVxdWVzdG9yLWZ1bmN0aW9uJ1xuaW1wb3J0IHsgUHJvcGVydGllcywgVmFsaWRhdGlvbkhvc3RlZFpvbmVQcm9wZXJ0aWVzIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1yZXF1ZXN0b3IubGFtYmRhJ1xuaW1wb3J0IHsgYm9vbGVhblRvU3RyaW5nLCBjbGVhbkRvbWFpbk5hbWUsIGNsZWFuSG9zdGVkWm9uZUlkLCBtYXRjaE5hbWVzVG9ab25lcyB9IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbkhvc3RlZFpvbmUge1xuICAvKipcbiAgICogSG9zdGVkIHpvbmUgdG8gdXNlIGZvciBETlMgdmFsaWRhdGlvbi4gVGhlIHpvbmUgbmFtZSBpcyBtYXRjaGVkIHRvIGRvbWFpbiBuYW1lIHRvIHVzZSB0aGUgcmlnaHRcbiAgICogaG9zdGVkIHpvbmUgZm9yIHZhbGlkYXRpb24uXG4gICAqXG4gICAqIElmIHRoZSBob3N0ZWQgem9uZSBpcyBub3QgbWFuYWdlZCBieSB0aGUgQ0RLIGFwcGxpY2F0aW9uLCBpdCBuZWVkcyB0byBiZSBwcm92aWRlZCB2aWFcbiAgICogYGBIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcygpYGAuXG4gICAqL1xuICByZWFkb25seSBob3N0ZWRab25lOiByb3V0ZTUzLklIb3N0ZWRab25lXG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgaXMgYXNzdW1lZCBmb3IgRE5TIHJlY29yZCBjaGFuZ2VzIGZvciBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uLlxuICAgKlxuICAgKiBUaGlzIHJvbGUgc2hvdWxkIGV4aXN0IGluIHRoZSBzYW1lIGFjY291bnQgYXMgdGhlIGhvc3RlZCB6b25lIGFuZCBpbmNsdWRlIHBlcm1pc3Npb25zIHRvIGNoYW5nZSB0aGUgRE5TIHJlY29yZHNcbiAgICogZm9yIHRoZSBnaXZlbiBgYGhvc3RlZFpvbmVgYC4gVGhlIGBgY3VzdG9tUmVzb3VyY2VSb2xlYGAgb3IgdGhlIGRlZmF1bHQgZXhlY3V0aW9uIHJvbGUgaXMgZ2l2ZW4gcGVybWlzc2lvbiB0b1xuICAgKiBhc3N1bWUgdGhpcyByb2xlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHNlcGFyYXRlIHJvbGUgZm9yIEROUyByZWNvcmQgY2hhbmdlcy4gVGhlIGdpdmVuIGN1c3RvbVJlc291cmNlUm9sZSBvciB0aGUgZGVmYXVsdCByb2xlIGlzIHVzZWRcbiAgICogZm9yIEROUyByZWNvcmQgY2hhbmdlcy5cbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRpb25Sb2xlPzogaWFtLklSb2xlXG5cbiAgLyoqXG4gICAqIEV4dGVybmFsIGlkIGZvciBgYHZhbGlkYXRpb25Sb2xlYGAgcm9sZSBhc3N1bWUgdmVyaWZpY2F0aW9uLlxuICAgKlxuICAgKiBUaGlzIHNob3VsZCBiZSB1c2VkIG9ubHkgd2hlbiBgYHZhbGlkYXRpb25Sb2xlYGAgaXMgZ2l2ZW4gYW5kIHRoZSByb2xlIGV4cGVjdHMgYW4gZXh0ZXJuYWwgaWQgcHJvdmlkZWQgb24gYXNzdW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGV4dGVybmFsIGlkIHByb3ZpZGVkIGR1cmluZyBhc3N1bWUuXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0aW9uRXh0ZXJuYWxJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERuc1ZhbGlkYXRlZENlcnRpZmljYXRlUHJvcHMge1xuICAvKipcbiAgICogRnVsbHktcXVhbGlmaWVkIGRvbWFpbiBuYW1lIHRvIHJlcXVlc3QgYSBjZXJ0aWZpY2F0ZSBmb3IuXG4gICAqXG4gICAqIE1heSBjb250YWluIHdpbGRjYXJkcywgc3VjaCBhcyBgYCouZG9tYWluLmNvbWBgLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEZ1bGx5LXF1YWxpZmllZCBhbHRlcm5hdGl2ZSBkb21haW4gbmFtZXMgdG8gcmVxdWVzdCBhIGNlcnRpZmljYXRlIGZvci5cbiAgICpcbiAgICogTWF5IGNvbnRhaW4gd2lsZGNhcmRzLCBzdWNoIGFzIGBgKi5vdGhlcmRvbWFpbi5jb21gYC5cbiAgICovXG4gIHJlYWRvbmx5IGFsdGVybmF0aXZlRG9tYWluTmFtZXM/OiBzdHJpbmdbXVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGhvc3RlZCB6b25lcyB0byB1c2UgZm9yIHZhbGlkYXRpb24uIEhvc3RlZCB6b25lcyBhcmUgbWFwcGVkIHRvIGRvbWFpbiBuYW1lcyBieSB0aGUgem9uZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvbkhvc3RlZFpvbmVzOiBWYWxpZGF0aW9uSG9zdGVkWm9uZVtdXG5cbiAgLyoqXG4gICAqIEFXUyByZWdpb24gd2hlcmUgdGhlIGNlcnRpZmljYXRlIGlzIGRlcGxveWVkLlxuICAgKlxuICAgKiBZb3Ugc2hvdWxkIHVzZSB0aGUgZGVmYXVsdCBgYENlcnRpZmljYXRlYGAgY29uc3RydWN0IGluc3RlYWQgaWYgdGhlIHJlZ2lvbiBpcyBzYW1lIGFzIHRoZSBzdGFjaydzIGFuZCB0aGUgaG9zdGVkXG4gICAqIHpvbmUgaXMgaW4gdGhlIHNhbWUgYWNjb3VudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBTYW1lIHJlZ2lvbiBhcyB0aGUgc3RhY2suXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZVJlZ2lvbj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSB0aGF0IGlzIHVzZWQgZm9yIHRoZSBjdXN0b20gcmVzb3VyY2UgTGFtYmRhIGV4ZWN1dGlvbi5cbiAgICpcbiAgICogVGhlIHJvbGUgaXMgZ2l2ZW4gcGVybWlzc2lvbnMgdG8gcmVxdWVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSBBQ00uIElmIHRoZXJlIGFyZSBhbnkgYGB2YWxpZGF0aW9uUm9sZWBgcyBwcm92aWRlZCxcbiAgICogdGhpcyByb2xlIGlzIGFsc28gZ2l2ZW4gcGVybWlzc2lvbiB0byBhc3N1bWUgdGhlIGBgdmFsaWRhdGlvblJvbGVgYC4gT3RoZXJ3aXNlIGl0IGlzIGFzc3VtZWQgdGhhdCB0aGUgaG9zdGVkIHpvbmVcbiAgICogaXMgaW4gc2FtZSBhY2NvdW50IGFuZCB0aGUgZXhlY3V0aW9uIHJvbGUgaXMgZ2l2ZW4gcGVybWlzc2lvbnMgdG8gY2hhbmdlIEROUyByZWNvcmRzIGZvciB0aGUgZ2l2ZW4gYGBkb21haW5OYW1lYGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTGFtYmRhIGNyZWF0ZXMgYSBkZWZhdWx0IGV4ZWN1dGlvbiByb2xlLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tUmVzb3VyY2VSb2xlPzogaWFtLklSb2xlXG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGNsZWFuaW5nIG9mIHZhbGlkYXRpb24gRE5TIHJlY29yZHMgZnJvbSB0aGUgaG9zdGVkIHpvbmUuXG4gICAqXG4gICAqIElmIHRoZXJlJ3MgbXVsdGlwbGUgY2VydGlmaWNhdGVzIGNyZWF0ZWQgZm9yIHNhbWUgZG9tYWluLCBpdCBpcyBwb3NzaWJsZSB0byBlbmNvdXRlciBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHNvbWVcbiAgICogY2VydGlmaWNhdGUgaXMgcmVtb3ZlZCBhbmQgYW5vdGhlciBjZXJ0aWZpY2F0ZSB3b3VsZCBuZWVkIHRoZSBzYW1lIHZhbGlkYXRpb24gcmVjb3JkLiBQcmVmZXIgc2luZ2xlIGNlcnRpZmljYXRlXG4gICAqIGZvciBhIGRvbWFpbiBvciBzZXQgdGhpcyB0byBmYWxzZSBhbmQgY2xlYW51cCByZWNvcmRzIG1hbnVhbGx5IHdoZW4gbm90IG5lZWRlZCBhbnltb3JlLiBJZiB5b3UgY2hhbmdlIHRoaXNcbiAgICogcHJvcGVydHkgYWZ0ZXIgY3JlYXRpb24sIGEgbmV3IGNlcnRpZmljYXRlIHdpbGwgYmUgcmVxdWVzdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjbGVhbnVwVmFsaWRhdGlvblJlY29yZHM/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHRyYW5zcGFyZW5jeSBsb2dnaW5nIGZvciB0aGlzIGNlcnRpZmljYXRlLlxuICAgKlxuICAgKiBPbmNlIGEgY2VydGlmaWNhdGUgaGFzIGJlZW4gbG9nZ2VkLCBpdCBjYW5ub3QgYmUgcmVtb3ZlZCBmcm9tIHRoZSBsb2cuIE9wdGluZyBvdXQgYXQgdGhhdCBwb2ludCB3aWxsIGhhdmUgbm9cbiAgICogZWZmZWN0LiBJZiB5b3UgY2hhbmdlIHRoaXMgcHJvcGVydHkgYWZ0ZXIgY3JlYXRpb24sIGEgbmV3IGNlcnRpZmljYXRlIHdpbGwgYmUgcmVxdWVzdGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L3VzZXJndWlkZS9hY20tYmVzdHByYWN0aWNlcy5odG1sI2Jlc3QtcHJhY3RpY2VzLXRyYW5zcGFyZW5jeVxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB0cmFuc3BhcmVuY3lMb2dnaW5nRW5hYmxlZD86IGJvb2xlYW5cblxuICAvKipcbiAgICogQXBwbHkgdGhlIGdpdmVuIHJlbW92YWwgcG9saWN5IHRvIHRoaXMgcmVzb3VyY2UuXG4gICAqXG4gICAqIFRoZSByZW1vdmFsIHBvbGljeSBjb250cm9scyB3aGF0IGhhcHBlbnMgdG8gdGhpcyByZXNvdXJjZSB3aGVuIGl0IHN0b3BzIGJlaW5nIG1hbmFnZWQgYnkgQ2xvdWRGb3JtYXRpb24sIGVpdGhlclxuICAgKiBiZWNhdXNlIHlvdSd2ZSByZW1vdmVkIGl0IGZyb20gdGhlIENESyBhcHBsaWNhdGlvbiBvciBiZWNhdXNlIHlvdSd2ZSBtYWRlIGEgY2hhbmdlIHRoYXQgcmVxdWlyZXMgdGhlIHJlc291cmNlIHRvXG4gICAqIGJlIHJlcGxhY2VkLiBUaGUgcmVzb3VyY2UgY2FuIGJlIGRlbGV0ZWQgKGBgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZYGApLCBvciBsZWZ0IGluIHlvdXIgQVdTIGFjY291bnQgZm9yIGRhdGFcbiAgICogcmVjb3ZlcnkgYW5kIGNsZWFudXAgbGF0ZXIgKGBgUmVtb3ZhbFBvbGljeS5SRVRBSU5gYCkuIElmIHlvdSBjaGFuZ2UgdGhpcyBwcm9wZXJ0eSBhZnRlciBjcmVhdGlvbiwgYSBuZXdcbiAgICogY2VydGlmaWNhdGUgd2lsbCBiZSByZXF1ZXN0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IGNkay5SZW1vdmFsUG9saWN5XG59XG5cbmNvbnN0IEROU19WQUxJREFURURfQ0VSVElGSUNBVEVfVFlQRSA9ICdDdXN0b206OkRuc1ZhbGlkYXRlZENlcnRpZmljYXRlJ1xuY29uc3QgQ0VSVFRJRklDQVRFX1JFU09VUkNFX1RZUEUgPSAnQVdTOjpDZXJ0aWZpY2F0ZU1hbmFnZXI6OkNlcnRpZmljYXRlJ1xuXG4vKipcbiAqIEEgY2VydGlmaWNhdGUgbWFuYWdlZCBieSBBV1MgQ2VydGlmaWNhdGUgTWFuYWdlci4gV2lsbCBiZSBhdXRvbWF0aWNhbGx5IHZhbGlkYXRlZCB1c2luZyBETlMgdmFsaWRhdGlvbiBhZ2FpbnN0IHRoZVxuICogc3BlY2lmaWVkIFJvdXRlIDUzIGhvc3RlZCB6b25lLiBUaGlzIGNvbnN0cnVjdCBzaG91bGQgYmUgdXNlZCBvbmx5IGZvciBjcm9zcy1yZWdpb24gb3IgY3Jvc3MtYWNjb3VudCBjZXJ0aWZpY2F0ZVxuICogdmFsaWRhdGlvbnMuIFRoZSBkZWZhdWx0IGBgQ2VydGlmaWNhdGVgYCBjb25zdHJ1Y3QgaXMgYmV0dGVyIGluIGNhc2VzIHdoZXJlIGV2ZXJ5dGhpbmcgaXMgbWFuYWdlZCBieSB0aGUgQ0RLXG4gKiBhcHBsaWNhdGlvbi5cbiAqXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgY29uc3RydWN0IGRvZXMgbm90IHN1cHBvcnQgYWx0ZXJuYXRpdmUgbmFtZXMgeWV0IGFzIGl0IHdvdWxkIHJlcXVpcmUgZG9tYWluIHRvIHJvbGUgbWFwcGluZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gIyMjIENyb3NzLXJlZ2lvbiBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uXG4gKiAvLyBob3N0ZWQgem9uZSBtYW5hZ2VkIGJ5IHRoZSBDREsgYXBwbGljYXRpb25cbiAqIGNvbnN0IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmUgPSAuLi5cbiAqIC8vIG5vIHNlcGFyYXRlIHZhbGlkYXRpb24gcm9sZSBpcyBuZWVkZWRcbiAqIGNvbnN0IGNlcnRpZmljYXRlID0gbmV3IERuc1ZhbGlkYXRlZENlcnRpZmljYXRlKHRoaXMsICdDcm9zc1JlZ2lvbkNlcnRpZmljYXRlJywge1xuICogICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLCAgICAgLy8gbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIGhvc3RlZCB6b25lXG4gKiAgIHZhbGlkYXRpb25Ib3N0ZWRab25lczogW3sgICAgICAvLyBob3N0ZWQgem9uZSB1c2VkIHdpdGggdGhlIGV4ZWN1dGlvbiByb2xlJ3MgcGVybWlzc2lvbnNcbiAqICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lXG4gKiAgIH1dLFxuICogICBjZXJ0aWZpY2F0ZVJlZ2lvbjogJ3VzLWVhc3QtMScgLy8gdXNlZCBieSBmb3IgZXhhbXBsZSBDbG91ZEZyb250XG4gKiB9KVxuICogLy8gIyMjIENyb3NzLWFjY291bnQgY2VydGlmaWNhdGUgdmFsaWRhdGlvblxuICogLy8gZXh0ZXJuYWwgaG9zdGVkIHpvbmVcbiAqIGNvbnN0IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmUgPVxuICogICByb3V0ZTUzLkhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKHRoaXMsICdIb3N0ZWRab25lJywge1xuICogICAgIGhvc3RlZFpvbmVJZDogJ1o1MzJER0RFREZTMTIzNDU2Nzg5JyxcbiAqICAgICB6b25lTmFtZTogJ2V4YW1wbGUuY29tJ1xuICogICB9KVxuICogLy8gdmFsaWRhdGlvbiByb2xlIGluIHRoZSBzYW1lIGFjY291bnQgYXMgdGhlIGhvc3RlZCB6b25lXG4gKiBjb25zdCByb2xlQXJuID0gJ2Fybjphd3M6aWFtOjoxMjM0NTY3ODk6cm9sZS9DaGFuZ2VEbnNSZWNvcmRzUm9sZSdcbiAqIGNvbnN0IGV4dGVybmFsSWQgPSAnZG9tYWluLWFzc3VtZSdcbiAqIGNvbnN0IHZhbGlkYXRpb25Sb2xlOiBpYW0uSVJvbGUgPVxuICogICBpYW0uUm9sZS5mcm9tUm9sZUFybih0aGlzLCAnVmFsaWRhdGlvblJvbGUnLCByb2xlQXJuKVxuICogY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0Nyb3NzQWNjb3VudENlcnRpZmljYXRlJywge1xuICogICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLFxuICogICB2YWxpZGF0aW9uSG9zdGVkWm9uZXM6IFt7XG4gKiAgICAgaG9zdGVkWm9uZTogaG9zdGVkWm9uZSxcbiAqICAgICB2YWxpZGF0aW9uUm9sZTogdmFsaWRhdGlvblJvbGUsXG4gKiAgICAgdmFsaWRhdGlvbkV4dGVybmFsSWQ6IGV4dGVybmFsSWRcbiAqICAgfV1cbiAqIH0pXG4gKiAvLyAjIyMgQ3Jvc3MtYWNjb3VudCBhbHRlcm5hdGl2ZSBuYW1lIHZhbGlkYXRpb25cbiAqIC8vIGV4YW1wbGUuY29tIGlzIHZhbGlkYXRlZCBvbiBzYW1lIGFjY291bnQgYWdhaW5zdCBtYW5hZ2VkIGhvc3RlZCB6b25lXG4gKiAvLyBhbmQgc2Vjb25kYXJ5LmNvbSBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBleHRlcm5hbCBob3N0ZWQgem9uZSBvbiBvdGhlciBhY2NvdW50XG4gKiBjb25zdCBob3N0ZWRab25lRm9yTWFpbjogcm91dGU1My5JSG9zdGVkWm9uZSA9IC4uLlxuICogY29uc3QgaG9zdGVkWm9uZUZvckFsdGVybmF0aXZlOiByb3V0ZTUzLklIb3N0ZWRab25lID1cbiAqICAgcm91dGU1My5Ib3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyh0aGlzLCAnU2Vjb25kYXJ5SG9zdGVkWm9uZScsIHtcbiAqICAgICBob3N0ZWRab25lSWQ6ICdaNTMyREdERURGUzEyMzQ1Njc4OScsXG4gKiAgICAgem9uZU5hbWU6ICdzZWNvbmRhcnkuY29tJ1xuICogICB9KVxuICogY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0Nyb3NzQWNjb3VudENlcnRpZmljYXRlJywge1xuICogICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLFxuICogICBhbHRlcm5hdGl2ZURvbWFpbk5hbWVzOiBbJ3NlY29uZGFyeS5jb20nXSxcbiAqICAgdmFsaWRhdGlvbkhvc3RlZFpvbmVzOiBbe1xuICogICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmVGb3JNYWluXG4gKiAgIH0se1xuICogICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmVGb3JBbHRlcm5hdGl2ZSxcbiAqICAgICB2YWxpZGF0aW9uUm9sZTogaWFtLlJvbGUuZnJvbVJvbGVBcm4oXG4gKiAgICAgICB0aGlzLCAnU2Vjb25kYXJ5VmFsaWRhdGlvblJvbGUnLCAnYXJuOmF3czppYW06OjEyMzQ1Njc4OTpyb2xlL0NoYW5nZURuc1JlY29yZHNSb2xlJ1xuICogICAgICksXG4gKiAgICAgdmFsaWRhdGlvbkV4dGVybmFsSWQ6ICdkb21haW4tYXNzdW1lJ1xuICogICB9XVxuICogfSlcbiAqXG4gKiBAcmVzb3VyY2UgQ3VzdG9tOjpEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZVxuICogQHJlc291cmNlIEFXUzo6Q2VydGlmaWNhdGVNYW5hZ2VyOjpDZXJ0aWZpY2F0ZVxuICovXG5leHBvcnQgY2xhc3MgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBjZXJ0aWZpY2F0ZW1hbmFnZXIuSUNlcnRpZmljYXRlLCBjZGsuSVRhZ2dhYmxlIHtcbiAgLyoqIFRoZSBjZXJ0aWZpY2F0ZSdzIEFSTiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2VydGlmaWNhdGVBcm46IHN0cmluZ1xuXG4gIC8qKiBUaGUgcmVnaW9uIHdoZXJlIHRoZSBjZXJ0aWZpY2F0ZSBpcyBkZXBsb3llZCB0byAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2VydGlmaWNhdGVSZWdpb246IHN0cmluZ1xuXG4gIC8qKiBUaGUgdGFnIG1hbmFnZXIgdG8gc2V0LCByZW1vdmUgYW5kIGZvcm1hdCB0YWdzIGZvciB0aGUgY2VydGlmaWNhdGUgICovXG4gIHB1YmxpYyByZWFkb25seSB0YWdzOiBjZGsuVGFnTWFuYWdlclxuXG4gIC8qKiBUaGUgcmVtb3ZhbCBwb2xpY3kgZm9yIHRoZSBjZXJ0aWZpY2F0ZSAqL1xuICBwcml2YXRlIHJlbW92YWxQb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUgY29uc3RydWN0LlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgY29uc3RydWN0IGhvc3RpbmcgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIGNvbnN0cnVjdCdzIGlkZW50aWZpZXJcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgZG9tYWluTmFtZSA9IHRoaXMubm9ybWFsaXplRG9tYWluTmFtZShwcm9wcy5kb21haW5OYW1lKVxuICAgIGNvbnN0IGFsdGVybmF0aXZlRG9tYWluTmFtZXMgPSBwcm9wcy5hbHRlcm5hdGl2ZURvbWFpbk5hbWVzPy5tYXAoKGFsdGVybmF0aXZlRG9tYWluTmFtZSkgPT5cbiAgICAgIHRoaXMubm9ybWFsaXplRG9tYWluTmFtZShhbHRlcm5hdGl2ZURvbWFpbk5hbWUpXG4gICAgKVxuICAgIGNvbnN0IGFsbERvbWFpbnMgPSBbZG9tYWluTmFtZSwgLi4uKGFsdGVybmF0aXZlRG9tYWluTmFtZXMgPz8gW10pXVxuXG4gICAgdGhpcy5jZXJ0aWZpY2F0ZVJlZ2lvbiA9IHByb3BzLmNlcnRpZmljYXRlUmVnaW9uID8/IHRoaXMuc3RhY2sucmVnaW9uXG4gICAgdGhpcy50YWdzID0gbmV3IGNkay5UYWdNYW5hZ2VyKGNkay5UYWdUeXBlLk1BUCwgQ0VSVFRJRklDQVRFX1JFU09VUkNFX1RZUEUpXG4gICAgdGhpcy5yZW1vdmFsUG9saWN5ID0gcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG5cbiAgICBjb25zdCByZXF1ZXN0b3JGdW5jdGlvbiA9IG5ldyBDZXJ0aWZpY2F0ZVJlcXVlc3RvckZ1bmN0aW9uKHRoaXMsICdSZXF1ZXN0b3JGdW5jdGlvbicsIHtcbiAgICAgIGFyY2hpdGVjdHVyZTogbGFtYmRhLkFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxNCksXG4gICAgICByb2xlOiBwcm9wcy5jdXN0b21SZXNvdXJjZVJvbGUsXG4gICAgfSlcblxuICAgIHJlcXVlc3RvckZ1bmN0aW9uLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ2FjbTpSZXF1ZXN0Q2VydGlmaWNhdGUnLFxuICAgICAgICAgICdhY206RGVzY3JpYmVDZXJ0aWZpY2F0ZScsXG4gICAgICAgICAgJ2FjbTpEZWxldGVDZXJ0aWZpY2F0ZScsXG4gICAgICAgICAgJ2FjbTpBZGRUYWdzVG9DZXJ0aWZpY2F0ZScsXG4gICAgICAgIF0sXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICB9KVxuICAgIClcblxuICAgIGNvbnN0IGRvbWFpbnNUb1pvbmVzID0gbWF0Y2hOYW1lc1RvWm9uZXMoXG4gICAgICBwcm9wcy52YWxpZGF0aW9uSG9zdGVkWm9uZXMubWFwKCh6b25lKSA9PiB6b25lLmhvc3RlZFpvbmUuem9uZU5hbWUpLFxuICAgICAgYWxsRG9tYWlucyxcbiAgICAgIChkb21haW4pID0+IGRvbWFpblxuICAgIClcbiAgICBjb25zdCBob3N0ZWRab25lc1dpdGhSb2xlID0gcHJvcHMudmFsaWRhdGlvbkhvc3RlZFpvbmVzLmZpbHRlcigoem9uZSkgPT4gem9uZS52YWxpZGF0aW9uUm9sZSAhPT0gdW5kZWZpbmVkKVxuICAgIGNvbnN0IGhvc3RlZFpvbmVzV2l0aG91dFJvbGUgPSBwcm9wcy52YWxpZGF0aW9uSG9zdGVkWm9uZXMuZmlsdGVyKCh6b25lKSA9PiB6b25lLnZhbGlkYXRpb25Sb2xlID09PSB1bmRlZmluZWQpXG5cbiAgICBob3N0ZWRab25lc1dpdGhSb2xlLmZvckVhY2goKHpvbmUpID0+IHtcbiAgICAgIHJlcXVlc3RvckZ1bmN0aW9uLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3N0czpBc3N1bWVSb2xlJ10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbem9uZS52YWxpZGF0aW9uUm9sZSEucm9sZUFybl0sXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSlcblxuICAgIGhvc3RlZFpvbmVzV2l0aG91dFJvbGUuZm9yRWFjaCgoem9uZSkgPT4ge1xuICAgICAgcmVxdWVzdG9yRnVuY3Rpb24uYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogWydyb3V0ZTUzOkdldENoYW5nZSddLFxuICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICBjb25zdCBkb21haW5OYW1lcyA9IGRvbWFpbnNUb1pvbmVzW3pvbmUuaG9zdGVkWm9uZS56b25lTmFtZV1cbiAgICAgIGlmIChkb21haW5OYW1lcyAmJiBkb21haW5OYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlcXVlc3RvckZ1bmN0aW9uLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbJ3JvdXRlNTM6Q2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzJ10sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpyb3V0ZTUzOjo6aG9zdGVkem9uZS8ke3RoaXMubm9ybWFsaXplSG9zdGVkWm9uZUlkKHpvbmUuaG9zdGVkWm9uZS5ob3N0ZWRab25lSWQpfWBdLFxuICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICAnRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFscyc6IHtcbiAgICAgICAgICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNSZWNvcmRUeXBlcyc6IFsnQ05BTUUnXSxcbiAgICAgICAgICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNBY3Rpb25zJzogWydVUFNFUlQnLCAnREVMRVRFJ10sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICdGb3JBbGxWYWx1ZXM6U3RyaW5nTGlrZSc6IHtcbiAgICAgICAgICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNOb3JtYWxpemVkUmVjb3JkTmFtZXMnOiBkb21haW5OYW1lcy5tYXAoKG5hbWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy53aWxkY2FyZERvbWFpbk5hbWUoYERvbWFpbldpbGRjYXJkJHt6b25lLmhvc3RlZFpvbmUubm9kZS5pZH0ke2luZGV4fWAsIG5hbWUpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY29uc3QgcmVxdWVzdG9yUHJvdmlkZXIgPSBuZXcgY3VzdG9tX3Jlc291cmNlcy5Qcm92aWRlcih0aGlzLCAnUmVxdWVzdG9yUHJvdmlkZXInLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcjogcmVxdWVzdG9yRnVuY3Rpb24sXG4gICAgfSlcblxuICAgIGNvbnN0IHZhbGlkYXRpb25Ib3N0ZWRab25lcyA9IHByb3BzLnZhbGlkYXRpb25Ib3N0ZWRab25lcy5tYXA8W3N0cmluZywgVmFsaWRhdGlvbkhvc3RlZFpvbmVQcm9wZXJ0aWVzXT4oKHpvbmUpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnRpZXM6IFZhbGlkYXRpb25Ib3N0ZWRab25lUHJvcGVydGllcyA9IHtcbiAgICAgICAgRG9tYWluTmFtZTogdGhpcy5ub3JtYWxpemVEb21haW5OYW1lKHpvbmUuaG9zdGVkWm9uZS56b25lTmFtZSksXG4gICAgICAgIEhvc3RlZFpvbmVJZDogdGhpcy5ub3JtYWxpemVIb3N0ZWRab25lSWQoem9uZS5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZCksXG4gICAgICAgIFZhbGlkYXRpb25Sb2xlQXJuOiB6b25lLnZhbGlkYXRpb25Sb2xlPy5yb2xlQXJuLFxuICAgICAgICBWYWxpZGF0aW9uRXh0ZXJuYWxJZDogem9uZS52YWxpZGF0aW9uRXh0ZXJuYWxJZCxcbiAgICAgIH1cbiAgICAgIHJldHVybiBbcHJvcGVydGllcy5Eb21haW5OYW1lLCBwcm9wZXJ0aWVzXVxuICAgIH0pXG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzID0ge1xuICAgICAgRG9tYWluTmFtZTogZG9tYWluTmFtZSxcbiAgICAgIEFsdGVybmF0aXZlRG9tYWluTmFtZXM6IGFsdGVybmF0aXZlRG9tYWluTmFtZXMsXG4gICAgICBWYWxpZGF0aW9uSG9zdGVkWm9uZXM6IE9iamVjdC5mcm9tRW50cmllcyh2YWxpZGF0aW9uSG9zdGVkWm9uZXMpLFxuICAgICAgQ2VydGlmaWNhdGVSZWdpb246IHRoaXMuY2VydGlmaWNhdGVSZWdpb24sXG4gICAgICBDbGVhbnVwVmFsaWRhdGlvblJlY29yZHM6IGJvb2xlYW5Ub1N0cmluZyhwcm9wcy5jbGVhbnVwVmFsaWRhdGlvblJlY29yZHMgPz8gdHJ1ZSksXG4gICAgICBUcmFuc3BhcmVuY3lMb2dnaW5nRW5hYmxlZDogYm9vbGVhblRvU3RyaW5nKHByb3BzLnRyYW5zcGFyZW5jeUxvZ2dpbmdFbmFibGVkID8/IHRydWUpLFxuICAgICAgVGFnczogY2RrLkxhenkuYW55KHsgcHJvZHVjZTogKCkgPT4gdGhpcy50YWdzLnJlbmRlclRhZ3MoKSB9KSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICBSZW1vdmFsUG9saWN5OiBjZGsuTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLnJlbW92YWxQb2xpY3kgfSksXG4gICAgfVxuXG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdSZXF1ZXN0b3JSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcmVxdWVzdG9yUHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiBETlNfVkFMSURBVEVEX0NFUlRJRklDQVRFX1RZUEUsXG4gICAgICBwcm9wZXJ0aWVzLFxuICAgIH0pXG5cbiAgICAvLyBFbnN1cmUgQ2xvdWRGb3JtYXRpb24gZGVsZXRlcyB0aGUgY3VzdG9tIHJlc291cmNlIGJlZm9yZSB0aGUgTGFtYmRhXG4gICAgLy8gZnVuY3Rpb24gYW5kIGl0cyBJQU0gcG9saWNpZXMuIENsb3VkRm9ybWF0aW9uIG1heSBkZWxldGUgdGhlbSBpblxuICAgIC8vIHBhcmFsbGVsIGR1cmluZyBzdGFjayBkZWxldGlvbiwgY2F1c2luZyB0aGUgREVMRVRFIGhhbmRsZXIgdG8gZmFpbFxuICAgIC8vIGJlY2F1c2UgdGhlIExhbWJkYSdzIEFDTSBwZXJtaXNzaW9ucyBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkLlxuICAgIGNlcnRpZmljYXRlLm5vZGUuYWRkRGVwZW5kZW5jeShyZXF1ZXN0b3JGdW5jdGlvbilcbiAgICBpZiAocmVxdWVzdG9yRnVuY3Rpb24ucm9sZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjZXJ0aWZpY2F0ZS5ub2RlLmFkZERlcGVuZGVuY3kocmVxdWVzdG9yRnVuY3Rpb24ucm9sZSlcbiAgICAgIGNvbnN0IHBvbGljeSA9IHJlcXVlc3RvckZ1bmN0aW9uLnJvbGUubm9kZS50cnlGaW5kQ2hpbGQoJ0RlZmF1bHRQb2xpY3knKVxuICAgICAgaWYgKHBvbGljeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNlcnRpZmljYXRlLm5vZGUuYWRkRGVwZW5kZW5jeShwb2xpY3kpXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jZXJ0aWZpY2F0ZUFybiA9IGNlcnRpZmljYXRlLmdldEF0dFN0cmluZygnQXJuJylcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKHtcbiAgICAgIHZhbGlkYXRlOiAoKSA9PlxuICAgICAgICB0aGlzLnZhbGlkYXRlRG9tYWluc1RvSG9zdGVkWm9uZXMoXG4gICAgICAgICAgYWxsRG9tYWlucyxcbiAgICAgICAgICB2YWxpZGF0aW9uSG9zdGVkWm9uZXMubWFwKChbem9uZU5hbWUsIF9dKSA9PiB6b25lTmFtZSlcbiAgICAgICAgKSxcbiAgICB9KVxuICB9XG5cbiAgbWV0cmljRGF5c1RvRXhwaXJ5KHByb3BzPzogY2RrLmF3c19jbG91ZHdhdGNoLk1ldHJpY09wdGlvbnMgfCB1bmRlZmluZWQpOiBjZGsuYXdzX2Nsb3Vkd2F0Y2guTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLmRheXMoMSksXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHsgQ2VydGlmaWNhdGVBcm46IHRoaXMuY2VydGlmaWNhdGVBcm4gfSxcbiAgICAgIG1ldHJpY05hbWU6ICdEYXlzVG9FeHBpcnknLFxuICAgICAgbmFtZXNwYWNlOiAnQVdTL0NlcnRpZmljYXRlTWFuYWdlcicsXG4gICAgICByZWdpb246IHRoaXMuY2VydGlmaWNhdGVSZWdpb24sXG4gICAgICBzdGF0aXN0aWM6IGNsb3Vkd2F0Y2guU3RhdHMuTUlOSU1VTSxcbiAgICB9KVxuICB9XG5cbiAgYXBwbHlSZW1vdmFsUG9saWN5KHBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92YWxQb2xpY3kgPSBwb2xpY3lcbiAgfVxuXG4gIC8vIGNlcnRpZmljYXRlUmVmIGlzIGEgcmVxdWlyZWQgcHJvcGVydHkgb2YgdHlwZSBjZXJ0aWZpY2F0ZW1hbmFnZXIuSUNlcnRpZmljYXRlUmVmIG9uIGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGUgc2luY2UgYXdzLWNkay1saWIgMi4zNS4wXG4gIC8vIFdlIHVzZSB0eXBlIGFueSBoZXJlIHRvIGtlZXAgY29tcGF0YWJpbGl0eSB3aXRoIG9sZGVyIENESyB2ZXJzaW9uc1xuICAvKiogQSByZWZlcmVuY2UgdG8gYSBDZXJ0aWZpY2F0ZSByZXNvdXJjZS4gKi9cbiAgcHVibGljIGdldCBjZXJ0aWZpY2F0ZVJlZigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjZXJ0aWZpY2F0ZUlkOiB0aGlzLmNlcnRpZmljYXRlQXJuLFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplRG9tYWluTmFtZShkb21haW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChjZGsuVG9rZW4uaXNVbnJlc29sdmVkKGRvbWFpbk5hbWUpKSB7XG4gICAgICByZXR1cm4gZG9tYWluTmFtZVxuICAgIH1cbiAgICByZXR1cm4gY2xlYW5Eb21haW5OYW1lKGRvbWFpbk5hbWUpXG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUhvc3RlZFpvbmVJZChob3N0ZWRab25lSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKGNkay5Ub2tlbi5pc1VucmVzb2x2ZWQoaG9zdGVkWm9uZUlkKSkge1xuICAgICAgcmV0dXJuIGhvc3RlZFpvbmVJZFxuICAgIH1cbiAgICByZXR1cm4gY2xlYW5Ib3N0ZWRab25lSWQoaG9zdGVkWm9uZUlkKVxuICB9XG5cbiAgcHJpdmF0ZSB3aWxkY2FyZERvbWFpbk5hbWUoaWQ6IHN0cmluZywgZG9tYWluTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJ0cyA9IGNkay5Gbi5zcGxpdCgnLicsIGRvbWFpbk5hbWUpXG4gICAgY29uc3QgZmlyc3QgPSBjZGsuRm4uc2VsZWN0KDAsIHBhcnRzKVxuICAgIGNvbnN0IGlzV2lsZGNhcmQgPSBuZXcgY2RrLkNmbkNvbmRpdGlvbih0aGlzLCBgSXMke2lkfWAsIHtcbiAgICAgIGV4cHJlc3Npb246IGNkay5Gbi5jb25kaXRpb25FcXVhbHMoZmlyc3QsICcqJyksXG4gICAgfSlcbiAgICByZXR1cm4gY2RrLkZuLmNvbmRpdGlvbklmKGlzV2lsZGNhcmQubG9naWNhbElkLCBkb21haW5OYW1lLCBgKi4ke2RvbWFpbk5hbWV9YCkudG9TdHJpbmcoKVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZURvbWFpbnNUb0hvc3RlZFpvbmVzKGRvbWFpbk5hbWVzOiBzdHJpbmdbXSwgem9uZU5hbWVzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW11cbiAgICBmb3IgKGNvbnN0IGRvbWFpbk5hbWUgb2YgZG9tYWluTmFtZXMpIHtcbiAgICAgIGNvbnN0IHJlc29sdmFibGVEb21haW5OYW1lID0gIWNkay5Ub2tlbi5pc1VucmVzb2x2ZWQoZG9tYWluTmFtZSlcbiAgICAgIGNvbnN0IHJlc29sdmFibGVab25lTmFtZXMgPSAhem9uZU5hbWVzLnNvbWUoKHpvbmVOYW1lKSA9PiBjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHpvbmVOYW1lKSlcbiAgICAgIGlmIChyZXNvbHZhYmxlRG9tYWluTmFtZSAmJiByZXNvbHZhYmxlWm9uZU5hbWVzICYmICF6b25lTmFtZXMuc29tZSgoem9uZU5hbWUpID0+IGRvbWFpbk5hbWUuZW5kc1dpdGgoem9uZU5hbWUpKSkge1xuICAgICAgICBlcnJvcnMucHVzaChgRG9tYWluICR7ZG9tYWluTmFtZX0gaXMgbm90IHByb3ZpZGVkIHdpdGggYXV0aG9yaXRhdGl2ZSBob3N0ZWQgem9uZWApXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlcnJvcnNcbiAgfVxufVxuIl19
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLXZhbGlkYXRlZC1jZXJ0aWZpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kbnMtdmFsaWRhdGVkLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBa0M7QUFFbEMsdUVBQXdEO0FBQ3hELHlEQUEwQztBQUMxQywrREFBZ0Q7QUFFaEQsK0VBQWdFO0FBRWhFLHFGQUErRTtBQUUvRSxtQ0FBZ0c7QUFpSGhHLE1BQU0sOEJBQThCLEdBQUcsaUNBQWlDLENBQUE7QUFDeEUsTUFBTSwwQkFBMEIsR0FBRyxzQ0FBc0MsQ0FBQTtBQUV6RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRUc7QUFDSCxNQUFhLHVCQUF3QixTQUFRLEdBQUcsQ0FBQyxRQUFROztJQUN2RCw0QkFBNEI7SUFDWixjQUFjLENBQVE7SUFFdEMsc0RBQXNEO0lBQ3RDLGlCQUFpQixDQUFRO0lBRXpDLDBFQUEwRTtJQUMxRCxJQUFJLENBQWdCO0lBRXBDLDZDQUE2QztJQUNyQyxhQUFhLENBQW1CO0lBRXhDOzs7Ozs7T0FNRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBbUM7UUFDM0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzdELE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FDekYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLENBQ2hELENBQUE7UUFDRCxNQUFNLFVBQVUsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFH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RSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDM0YsQ0FBQztJQUVPLDRCQUE0QixDQUFDLFdBQXFCLEVBQUUsU0FBbUI7UUFDN0UsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFBO1FBQzNCLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ2hFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1lBQzNGLElBQUksb0JBQW9CLElBQUksbUJBQW1CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEgsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLFVBQVUsaURBQWlELENBQUMsQ0FBQTtZQUNwRixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQzs7QUF2TkgsMERBd05DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJ1xuaW1wb3J0ICogYXMgY2VydGlmaWNhdGVtYW5hZ2VyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXInXG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJ1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSdcbmltcG9ydCAqIGFzIHJvdXRlNTMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMnXG5pbXBvcnQgKiBhcyBjdXN0b21fcmVzb3VyY2VzIGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJ1xuaW1wb3J0IHsgQ2VydGlmaWNhdGVSZXF1ZXN0b3JGdW5jdGlvbiB9IGZyb20gJy4vY2VydGlmaWNhdGUtcmVxdWVzdG9yLWZ1bmN0aW9uJ1xuaW1wb3J0IHsgUHJvcGVydGllcywgVmFsaWRhdGlvbkhvc3RlZFpvbmVQcm9wZXJ0aWVzIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1yZXF1ZXN0b3IubGFtYmRhJ1xuaW1wb3J0IHsgYm9vbGVhblRvU3RyaW5nLCBjbGVhbkRvbWFpbk5hbWUsIGNsZWFuSG9zdGVkWm9uZUlkLCBtYXRjaE5hbWVzVG9ab25lcyB9IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbkhvc3RlZFpvbmUge1xuICAvKipcbiAgICogSG9zdGVkIHpvbmUgdG8gdXNlIGZvciBETlMgdmFsaWRhdGlvbi4gVGhlIHpvbmUgbmFtZSBpcyBtYXRjaGVkIHRvIGRvbWFpbiBuYW1lIHRvIHVzZSB0aGUgcmlnaHRcbiAgICogaG9zdGVkIHpvbmUgZm9yIHZhbGlkYXRpb24uXG4gICAqXG4gICAqIElmIHRoZSBob3N0ZWQgem9uZSBpcyBub3QgbWFuYWdlZCBieSB0aGUgQ0RLIGFwcGxpY2F0aW9uLCBpdCBuZWVkcyB0byBiZSBwcm92aWRlZCB2aWFcbiAgICogYGBIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcygpYGAuXG4gICAqL1xuICByZWFkb25seSBob3N0ZWRab25lOiByb3V0ZTUzLklIb3N0ZWRab25lXG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgaXMgYXNzdW1lZCBmb3IgRE5TIHJlY29yZCBjaGFuZ2VzIGZvciBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uLlxuICAgKlxuICAgKiBUaGlzIHJvbGUgc2hvdWxkIGV4aXN0IGluIHRoZSBzYW1lIGFjY291bnQgYXMgdGhlIGhvc3RlZCB6b25lIGFuZCBpbmNsdWRlIHBlcm1pc3Npb25zIHRvIGNoYW5nZSB0aGUgRE5TIHJlY29yZHNcbiAgICogZm9yIHRoZSBnaXZlbiBgYGhvc3RlZFpvbmVgYC4gVGhlIGBgY3VzdG9tUmVzb3VyY2VSb2xlYGAgb3IgdGhlIGRlZmF1bHQgZXhlY3V0aW9uIHJvbGUgaXMgZ2l2ZW4gcGVybWlzc2lvbiB0b1xuICAgKiBhc3N1bWUgdGhpcyByb2xlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHNlcGFyYXRlIHJvbGUgZm9yIEROUyByZWNvcmQgY2hhbmdlcy4gVGhlIGdpdmVuIGN1c3RvbVJlc291cmNlUm9sZSBvciB0aGUgZGVmYXVsdCByb2xlIGlzIHVzZWRcbiAgICogZm9yIEROUyByZWNvcmQgY2hhbmdlcy5cbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRpb25Sb2xlPzogaWFtLklSb2xlXG5cbiAgLyoqXG4gICAqIEV4dGVybmFsIGlkIGZvciBgYHZhbGlkYXRpb25Sb2xlYGAgcm9sZSBhc3N1bWUgdmVyaWZpY2F0aW9uLlxuICAgKlxuICAgKiBUaGlzIHNob3VsZCBiZSB1c2VkIG9ubHkgd2hlbiBgYHZhbGlkYXRpb25Sb2xlYGAgaXMgZ2l2ZW4gYW5kIHRoZSByb2xlIGV4cGVjdHMgYW4gZXh0ZXJuYWwgaWQgcHJvdmlkZWQgb24gYXNzdW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGV4dGVybmFsIGlkIHByb3ZpZGVkIGR1cmluZyBhc3N1bWUuXG4gICAqL1xuICByZWFkb25seSB2YWxpZGF0aW9uRXh0ZXJuYWxJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERuc1ZhbGlkYXRlZENlcnRpZmljYXRlUHJvcHMge1xuICAvKipcbiAgICogRnVsbHktcXVhbGlmaWVkIGRvbWFpbiBuYW1lIHRvIHJlcXVlc3QgYSBjZXJ0aWZpY2F0ZSBmb3IuXG4gICAqXG4gICAqIE1heSBjb250YWluIHdpbGRjYXJkcywgc3VjaCBhcyBgYCouZG9tYWluLmNvbWBgLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEZ1bGx5LXF1YWxpZmllZCBhbHRlcm5hdGl2ZSBkb21haW4gbmFtZXMgdG8gcmVxdWVzdCBhIGNlcnRpZmljYXRlIGZvci5cbiAgICpcbiAgICogTWF5IGNvbnRhaW4gd2lsZGNhcmRzLCBzdWNoIGFzIGBgKi5vdGhlcmRvbWFpbi5jb21gYC5cbiAgICovXG4gIHJlYWRvbmx5IGFsdGVybmF0aXZlRG9tYWluTmFtZXM/OiBzdHJpbmdbXVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGhvc3RlZCB6b25lcyB0byB1c2UgZm9yIHZhbGlkYXRpb24uIEhvc3RlZCB6b25lcyBhcmUgbWFwcGVkIHRvIGRvbWFpbiBuYW1lcyBieSB0aGUgem9uZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvbkhvc3RlZFpvbmVzOiBWYWxpZGF0aW9uSG9zdGVkWm9uZVtdXG5cbiAgLyoqXG4gICAqIEFXUyByZWdpb24gd2hlcmUgdGhlIGNlcnRpZmljYXRlIGlzIGRlcGxveWVkLlxuICAgKlxuICAgKiBZb3Ugc2hvdWxkIHVzZSB0aGUgZGVmYXVsdCBgYENlcnRpZmljYXRlYGAgY29uc3RydWN0IGluc3RlYWQgaWYgdGhlIHJlZ2lvbiBpcyBzYW1lIGFzIHRoZSBzdGFjaydzIGFuZCB0aGUgaG9zdGVkXG4gICAqIHpvbmUgaXMgaW4gdGhlIHNhbWUgYWNjb3VudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBTYW1lIHJlZ2lvbiBhcyB0aGUgc3RhY2suXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZVJlZ2lvbj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSB0aGF0IGlzIHVzZWQgZm9yIHRoZSBjdXN0b20gcmVzb3VyY2UgTGFtYmRhIGV4ZWN1dGlvbi5cbiAgICpcbiAgICogVGhlIHJvbGUgaXMgZ2l2ZW4gcGVybWlzc2lvbnMgdG8gcmVxdWVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSBBQ00uIElmIHRoZXJlIGFyZSBhbnkgYGB2YWxpZGF0aW9uUm9sZWBgcyBwcm92aWRlZCxcbiAgICogdGhpcyByb2xlIGlzIGFsc28gZ2l2ZW4gcGVybWlzc2lvbiB0byBhc3N1bWUgdGhlIGBgdmFsaWRhdGlvblJvbGVgYC4gT3RoZXJ3aXNlIGl0IGlzIGFzc3VtZWQgdGhhdCB0aGUgaG9zdGVkIHpvbmVcbiAgICogaXMgaW4gc2FtZSBhY2NvdW50IGFuZCB0aGUgZXhlY3V0aW9uIHJvbGUgaXMgZ2l2ZW4gcGVybWlzc2lvbnMgdG8gY2hhbmdlIEROUyByZWNvcmRzIGZvciB0aGUgZ2l2ZW4gYGBkb21haW5OYW1lYGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTGFtYmRhIGNyZWF0ZXMgYSBkZWZhdWx0IGV4ZWN1dGlvbiByb2xlLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tUmVzb3VyY2VSb2xlPzogaWFtLklSb2xlXG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGNsZWFuaW5nIG9mIHZhbGlkYXRpb24gRE5TIHJlY29yZHMgZnJvbSB0aGUgaG9zdGVkIHpvbmUuXG4gICAqXG4gICAqIElmIHRoZXJlJ3MgbXVsdGlwbGUgY2VydGlmaWNhdGVzIGNyZWF0ZWQgZm9yIHNhbWUgZG9tYWluLCBpdCBpcyBwb3NzaWJsZSB0byBlbmNvdXRlciBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHNvbWVcbiAgICogY2VydGlmaWNhdGUgaXMgcmVtb3ZlZCBhbmQgYW5vdGhlciBjZXJ0aWZpY2F0ZSB3b3VsZCBuZWVkIHRoZSBzYW1lIHZhbGlkYXRpb24gcmVjb3JkLiBQcmVmZXIgc2luZ2xlIGNlcnRpZmljYXRlXG4gICAqIGZvciBhIGRvbWFpbiBvciBzZXQgdGhpcyB0byBmYWxzZSBhbmQgY2xlYW51cCByZWNvcmRzIG1hbnVhbGx5IHdoZW4gbm90IG5lZWRlZCBhbnltb3JlLiBJZiB5b3UgY2hhbmdlIHRoaXNcbiAgICogcHJvcGVydHkgYWZ0ZXIgY3JlYXRpb24sIGEgbmV3IGNlcnRpZmljYXRlIHdpbGwgYmUgcmVxdWVzdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjbGVhbnVwVmFsaWRhdGlvblJlY29yZHM/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHRyYW5zcGFyZW5jeSBsb2dnaW5nIGZvciB0aGlzIGNlcnRpZmljYXRlLlxuICAgKlxuICAgKiBPbmNlIGEgY2VydGlmaWNhdGUgaGFzIGJlZW4gbG9nZ2VkLCBpdCBjYW5ub3QgYmUgcmVtb3ZlZCBmcm9tIHRoZSBsb2cuIE9wdGluZyBvdXQgYXQgdGhhdCBwb2ludCB3aWxsIGhhdmUgbm9cbiAgICogZWZmZWN0LiBJZiB5b3UgY2hhbmdlIHRoaXMgcHJvcGVydHkgYWZ0ZXIgY3JlYXRpb24sIGEgbmV3IGNlcnRpZmljYXRlIHdpbGwgYmUgcmVxdWVzdGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY20vbGF0ZXN0L3VzZXJndWlkZS9hY20tYmVzdHByYWN0aWNlcy5odG1sI2Jlc3QtcHJhY3RpY2VzLXRyYW5zcGFyZW5jeVxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB0cmFuc3BhcmVuY3lMb2dnaW5nRW5hYmxlZD86IGJvb2xlYW5cblxuICAvKipcbiAgICogQXBwbHkgdGhlIGdpdmVuIHJlbW92YWwgcG9saWN5IHRvIHRoaXMgcmVzb3VyY2UuXG4gICAqXG4gICAqIFRoZSByZW1vdmFsIHBvbGljeSBjb250cm9scyB3aGF0IGhhcHBlbnMgdG8gdGhpcyByZXNvdXJjZSB3aGVuIGl0IHN0b3BzIGJlaW5nIG1hbmFnZWQgYnkgQ2xvdWRGb3JtYXRpb24sIGVpdGhlclxuICAgKiBiZWNhdXNlIHlvdSd2ZSByZW1vdmVkIGl0IGZyb20gdGhlIENESyBhcHBsaWNhdGlvbiBvciBiZWNhdXNlIHlvdSd2ZSBtYWRlIGEgY2hhbmdlIHRoYXQgcmVxdWlyZXMgdGhlIHJlc291cmNlIHRvXG4gICAqIGJlIHJlcGxhY2VkLiBUaGUgcmVzb3VyY2UgY2FuIGJlIGRlbGV0ZWQgKGBgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZYGApLCBvciBsZWZ0IGluIHlvdXIgQVdTIGFjY291bnQgZm9yIGRhdGFcbiAgICogcmVjb3ZlcnkgYW5kIGNsZWFudXAgbGF0ZXIgKGBgUmVtb3ZhbFBvbGljeS5SRVRBSU5gYCkuIElmIHlvdSBjaGFuZ2UgdGhpcyBwcm9wZXJ0eSBhZnRlciBjcmVhdGlvbiwgYSBuZXdcbiAgICogY2VydGlmaWNhdGUgd2lsbCBiZSByZXF1ZXN0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IGNkay5SZW1vdmFsUG9saWN5XG59XG5cbmNvbnN0IEROU19WQUxJREFURURfQ0VSVElGSUNBVEVfVFlQRSA9ICdDdXN0b206OkRuc1ZhbGlkYXRlZENlcnRpZmljYXRlJ1xuY29uc3QgQ0VSVFRJRklDQVRFX1JFU09VUkNFX1RZUEUgPSAnQVdTOjpDZXJ0aWZpY2F0ZU1hbmFnZXI6OkNlcnRpZmljYXRlJ1xuXG4vKipcbiAqIEEgY2VydGlmaWNhdGUgbWFuYWdlZCBieSBBV1MgQ2VydGlmaWNhdGUgTWFuYWdlci4gV2lsbCBiZSBhdXRvbWF0aWNhbGx5IHZhbGlkYXRlZCB1c2luZyBETlMgdmFsaWRhdGlvbiBhZ2FpbnN0IHRoZVxuICogc3BlY2lmaWVkIFJvdXRlIDUzIGhvc3RlZCB6b25lLiBUaGlzIGNvbnN0cnVjdCBzaG91bGQgYmUgdXNlZCBvbmx5IGZvciBjcm9zcy1yZWdpb24gb3IgY3Jvc3MtYWNjb3VudCBjZXJ0aWZpY2F0ZVxuICogdmFsaWRhdGlvbnMuIFRoZSBkZWZhdWx0IGBgQ2VydGlmaWNhdGVgYCBjb25zdHJ1Y3QgaXMgYmV0dGVyIGluIGNhc2VzIHdoZXJlIGV2ZXJ5dGhpbmcgaXMgbWFuYWdlZCBieSB0aGUgQ0RLXG4gKiBhcHBsaWNhdGlvbi5cbiAqXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgY29uc3RydWN0IGRvZXMgbm90IHN1cHBvcnQgYWx0ZXJuYXRpdmUgbmFtZXMgeWV0IGFzIGl0IHdvdWxkIHJlcXVpcmUgZG9tYWluIHRvIHJvbGUgbWFwcGluZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gIyMjIENyb3NzLXJlZ2lvbiBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uXG4gKiAvLyBob3N0ZWQgem9uZSBtYW5hZ2VkIGJ5IHRoZSBDREsgYXBwbGljYXRpb25cbiAqIGNvbnN0IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmUgPSAuLi5cbiAqIC8vIG5vIHNlcGFyYXRlIHZhbGlkYXRpb24gcm9sZSBpcyBuZWVkZWRcbiAqIGNvbnN0IGNlcnRpZmljYXRlID0gbmV3IERuc1ZhbGlkYXRlZENlcnRpZmljYXRlKHRoaXMsICdDcm9zc1JlZ2lvbkNlcnRpZmljYXRlJywge1xuICogICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLCAgICAgLy8gbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIGhvc3RlZCB6b25lXG4gKiAgIHZhbGlkYXRpb25Ib3N0ZWRab25lczogW3sgICAgICAvLyBob3N0ZWQgem9uZSB1c2VkIHdpdGggdGhlIGV4ZWN1dGlvbiByb2xlJ3MgcGVybWlzc2lvbnNcbiAqICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lXG4gKiAgIH1dLFxuICogICBjZXJ0aWZpY2F0ZVJlZ2lvbjogJ3VzLWVhc3QtMScgLy8gdXNlZCBieSBmb3IgZXhhbXBsZSBDbG91ZEZyb250XG4gKiB9KVxuICogLy8gIyMjIENyb3NzLWFjY291bnQgY2VydGlmaWNhdGUgdmFsaWRhdGlvblxuICogLy8gZXh0ZXJuYWwgaG9zdGVkIHpvbmVcbiAqIGNvbnN0IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmUgPVxuICogICByb3V0ZTUzLkhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKHRoaXMsICdIb3N0ZWRab25lJywge1xuICogICAgIGhvc3RlZFpvbmVJZDogJ1o1MzJER0RFREZTMTIzNDU2Nzg5JyxcbiAqICAgICB6b25lTmFtZTogJ2V4YW1wbGUuY29tJ1xuICogICB9KVxuICogLy8gdmFsaWRhdGlvbiByb2xlIGluIHRoZSBzYW1lIGFjY291bnQgYXMgdGhlIGhvc3RlZCB6b25lXG4gKiBjb25zdCByb2xlQXJuID0gJ2Fybjphd3M6aWFtOjoxMjM0NTY3ODk6cm9sZS9DaGFuZ2VEbnNSZWNvcmRzUm9sZSdcbiAqIGNvbnN0IGV4dGVybmFsSWQgPSAnZG9tYWluLWFzc3VtZSdcbiAqIGNvbnN0IHZhbGlkYXRpb25Sb2xlOiBpYW0uSVJvbGUgPVxuICogICBpYW0uUm9sZS5mcm9tUm9sZUFybih0aGlzLCAnVmFsaWRhdGlvblJvbGUnLCByb2xlQXJuKVxuICogY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0Nyb3NzQWNjb3VudENlcnRpZmljYXRlJywge1xuICogICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLFxuICogICB2YWxpZGF0aW9uSG9zdGVkWm9uZXM6IFt7XG4gKiAgICAgaG9zdGVkWm9uZTogaG9zdGVkWm9uZSxcbiAqICAgICB2YWxpZGF0aW9uUm9sZTogdmFsaWRhdGlvblJvbGUsXG4gKiAgICAgdmFsaWRhdGlvbkV4dGVybmFsSWQ6IGV4dGVybmFsSWRcbiAqICAgfV1cbiAqIH0pXG4gKiAvLyAjIyMgQ3Jvc3MtYWNjb3VudCBhbHRlcm5hdGl2ZSBuYW1lIHZhbGlkYXRpb25cbiAqIC8vIGV4YW1wbGUuY29tIGlzIHZhbGlkYXRlZCBvbiBzYW1lIGFjY291bnQgYWdhaW5zdCBtYW5hZ2VkIGhvc3RlZCB6b25lXG4gKiAvLyBhbmQgc2Vjb25kYXJ5LmNvbSBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBleHRlcm5hbCBob3N0ZWQgem9uZSBvbiBvdGhlciBhY2NvdW50XG4gKiBjb25zdCBob3N0ZWRab25lRm9yTWFpbjogcm91dGU1My5JSG9zdGVkWm9uZSA9IC4uLlxuICogY29uc3QgaG9zdGVkWm9uZUZvckFsdGVybmF0aXZlOiByb3V0ZTUzLklIb3N0ZWRab25lID1cbiAqICAgcm91dGU1My5Ib3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyh0aGlzLCAnU2Vjb25kYXJ5SG9zdGVkWm9uZScsIHtcbiAqICAgICBob3N0ZWRab25lSWQ6ICdaNTMyREdERURGUzEyMzQ1Njc4OScsXG4gKiAgICAgem9uZU5hbWU6ICdzZWNvbmRhcnkuY29tJ1xuICogICB9KVxuICogY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0Nyb3NzQWNjb3VudENlcnRpZmljYXRlJywge1xuICogICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLFxuICogICBhbHRlcm5hdGl2ZURvbWFpbk5hbWVzOiBbJ3NlY29uZGFyeS5jb20nXSxcbiAqICAgdmFsaWRhdGlvbkhvc3RlZFpvbmVzOiBbe1xuICogICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmVGb3JNYWluXG4gKiAgIH0se1xuICogICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmVGb3JBbHRlcm5hdGl2ZSxcbiAqICAgICB2YWxpZGF0aW9uUm9sZTogaWFtLlJvbGUuZnJvbVJvbGVBcm4oXG4gKiAgICAgICB0aGlzLCAnU2Vjb25kYXJ5VmFsaWRhdGlvblJvbGUnLCAnYXJuOmF3czppYW06OjEyMzQ1Njc4OTpyb2xlL0NoYW5nZURuc1JlY29yZHNSb2xlJ1xuICogICAgICksXG4gKiAgICAgdmFsaWRhdGlvbkV4dGVybmFsSWQ6ICdkb21haW4tYXNzdW1lJ1xuICogICB9XVxuICogfSlcbiAqXG4gKiBAcmVzb3VyY2UgQ3VzdG9tOjpEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZVxuICogQHJlc291cmNlIEFXUzo6Q2VydGlmaWNhdGVNYW5hZ2VyOjpDZXJ0aWZpY2F0ZVxuICovXG5leHBvcnQgY2xhc3MgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBjZXJ0aWZpY2F0ZW1hbmFnZXIuSUNlcnRpZmljYXRlLCBjZGsuSVRhZ2dhYmxlIHtcbiAgLyoqIFRoZSBjZXJ0aWZpY2F0ZSdzIEFSTiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2VydGlmaWNhdGVBcm46IHN0cmluZ1xuXG4gIC8qKiBUaGUgcmVnaW9uIHdoZXJlIHRoZSBjZXJ0aWZpY2F0ZSBpcyBkZXBsb3llZCB0byAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2VydGlmaWNhdGVSZWdpb246IHN0cmluZ1xuXG4gIC8qKiBUaGUgdGFnIG1hbmFnZXIgdG8gc2V0LCByZW1vdmUgYW5kIGZvcm1hdCB0YWdzIGZvciB0aGUgY2VydGlmaWNhdGUgICovXG4gIHB1YmxpYyByZWFkb25seSB0YWdzOiBjZGsuVGFnTWFuYWdlclxuXG4gIC8qKiBUaGUgcmVtb3ZhbCBwb2xpY3kgZm9yIHRoZSBjZXJ0aWZpY2F0ZSAqL1xuICBwcml2YXRlIHJlbW92YWxQb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUgY29uc3RydWN0LlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgY29uc3RydWN0IGhvc3RpbmcgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIGNvbnN0cnVjdCdzIGlkZW50aWZpZXJcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgZG9tYWluTmFtZSA9IHRoaXMubm9ybWFsaXplRG9tYWluTmFtZShwcm9wcy5kb21haW5OYW1lKVxuICAgIGNvbnN0IGFsdGVybmF0aXZlRG9tYWluTmFtZXMgPSBwcm9wcy5hbHRlcm5hdGl2ZURvbWFpbk5hbWVzPy5tYXAoKGFsdGVybmF0aXZlRG9tYWluTmFtZSkgPT5cbiAgICAgIHRoaXMubm9ybWFsaXplRG9tYWluTmFtZShhbHRlcm5hdGl2ZURvbWFpbk5hbWUpXG4gICAgKVxuICAgIGNvbnN0IGFsbERvbWFpbnMgPSBbZG9tYWluTmFtZSwgLi4uKGFsdGVybmF0aXZlRG9tYWluTmFtZXMgPz8gW10pXVxuXG4gICAgdGhpcy5jZXJ0aWZpY2F0ZVJlZ2lvbiA9IHByb3BzLmNlcnRpZmljYXRlUmVnaW9uID8/IHRoaXMuc3RhY2sucmVnaW9uXG4gICAgdGhpcy50YWdzID0gbmV3IGNkay5UYWdNYW5hZ2VyKGNkay5UYWdUeXBlLk1BUCwgQ0VSVFRJRklDQVRFX1JFU09VUkNFX1RZUEUpXG4gICAgdGhpcy5yZW1vdmFsUG9saWN5ID0gcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG5cbiAgICBjb25zdCByZXF1ZXN0b3JGdW5jdGlvbiA9IG5ldyBDZXJ0aWZpY2F0ZVJlcXVlc3RvckZ1bmN0aW9uKHRoaXMsICdSZXF1ZXN0b3JGdW5jdGlvbicsIHtcbiAgICAgIGFyY2hpdGVjdHVyZTogbGFtYmRhLkFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxNCksXG4gICAgICByb2xlOiBwcm9wcy5jdXN0b21SZXNvdXJjZVJvbGUsXG4gICAgfSlcblxuICAgIHJlcXVlc3RvckZ1bmN0aW9uLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ2FjbTpSZXF1ZXN0Q2VydGlmaWNhdGUnLFxuICAgICAgICAgICdhY206RGVzY3JpYmVDZXJ0aWZpY2F0ZScsXG4gICAgICAgICAgJ2FjbTpEZWxldGVDZXJ0aWZpY2F0ZScsXG4gICAgICAgICAgJ2FjbTpBZGRUYWdzVG9DZXJ0aWZpY2F0ZScsXG4gICAgICAgIF0sXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICB9KVxuICAgIClcblxuICAgIGNvbnN0IGRvbWFpbnNUb1pvbmVzID0gbWF0Y2hOYW1lc1RvWm9uZXMoXG4gICAgICBwcm9wcy52YWxpZGF0aW9uSG9zdGVkWm9uZXMubWFwKCh6b25lKSA9PiB6b25lLmhvc3RlZFpvbmUuem9uZU5hbWUpLFxuICAgICAgYWxsRG9tYWlucyxcbiAgICAgIChkb21haW4pID0+IGRvbWFpblxuICAgIClcbiAgICBjb25zdCBob3N0ZWRab25lc1dpdGhSb2xlID0gcHJvcHMudmFsaWRhdGlvbkhvc3RlZFpvbmVzLmZpbHRlcigoem9uZSkgPT4gem9uZS52YWxpZGF0aW9uUm9sZSAhPT0gdW5kZWZpbmVkKVxuICAgIGNvbnN0IGhvc3RlZFpvbmVzV2l0aG91dFJvbGUgPSBwcm9wcy52YWxpZGF0aW9uSG9zdGVkWm9uZXMuZmlsdGVyKCh6b25lKSA9PiB6b25lLnZhbGlkYXRpb25Sb2xlID09PSB1bmRlZmluZWQpXG5cbiAgICBob3N0ZWRab25lc1dpdGhSb2xlLmZvckVhY2goKHpvbmUpID0+IHtcbiAgICAgIHJlcXVlc3RvckZ1bmN0aW9uLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3N0czpBc3N1bWVSb2xlJ10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbem9uZS52YWxpZGF0aW9uUm9sZSEucm9sZUFybl0sXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSlcblxuICAgIGhvc3RlZFpvbmVzV2l0aG91dFJvbGUuZm9yRWFjaCgoem9uZSkgPT4ge1xuICAgICAgcmVxdWVzdG9yRnVuY3Rpb24uYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogWydyb3V0ZTUzOkdldENoYW5nZSddLFxuICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICBjb25zdCBkb21haW5OYW1lcyA9IGRvbWFpbnNUb1pvbmVzW3pvbmUuaG9zdGVkWm9uZS56b25lTmFtZV1cbiAgICAgIGlmIChkb21haW5OYW1lcyAmJiBkb21haW5OYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlcXVlc3RvckZ1bmN0aW9uLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbJ3JvdXRlNTM6Q2hhbmdlUmVzb3VyY2VSZWNvcmRTZXRzJ10sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpyb3V0ZTUzOjo6aG9zdGVkem9uZS8ke3RoaXMubm9ybWFsaXplSG9zdGVkWm9uZUlkKHpvbmUuaG9zdGVkWm9uZS5ob3N0ZWRab25lSWQpfWBdLFxuICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICAnRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFscyc6IHtcbiAgICAgICAgICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNSZWNvcmRUeXBlcyc6IFsnQ05BTUUnXSxcbiAgICAgICAgICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNBY3Rpb25zJzogWydVUFNFUlQnLCAnREVMRVRFJ10sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICdGb3JBbGxWYWx1ZXM6U3RyaW5nTGlrZSc6IHtcbiAgICAgICAgICAgICAgICAncm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNOb3JtYWxpemVkUmVjb3JkTmFtZXMnOiBkb21haW5OYW1lcy5tYXAoKG5hbWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy53aWxkY2FyZERvbWFpbk5hbWUoYERvbWFpbldpbGRjYXJkJHt6b25lLmhvc3RlZFpvbmUubm9kZS5pZH0ke2luZGV4fWAsIG5hbWUpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY29uc3QgcmVxdWVzdG9yUHJvdmlkZXIgPSBuZXcgY3VzdG9tX3Jlc291cmNlcy5Qcm92aWRlcih0aGlzLCAnUmVxdWVzdG9yUHJvdmlkZXInLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcjogcmVxdWVzdG9yRnVuY3Rpb24sXG4gICAgfSlcblxuICAgIGNvbnN0IHZhbGlkYXRpb25Ib3N0ZWRab25lcyA9IHByb3BzLnZhbGlkYXRpb25Ib3N0ZWRab25lcy5tYXA8W3N0cmluZywgVmFsaWRhdGlvbkhvc3RlZFpvbmVQcm9wZXJ0aWVzXT4oKHpvbmUpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnRpZXM6IFZhbGlkYXRpb25Ib3N0ZWRab25lUHJvcGVydGllcyA9IHtcbiAgICAgICAgRG9tYWluTmFtZTogdGhpcy5ub3JtYWxpemVEb21haW5OYW1lKHpvbmUuaG9zdGVkWm9uZS56b25lTmFtZSksXG4gICAgICAgIEhvc3RlZFpvbmVJZDogdGhpcy5ub3JtYWxpemVIb3N0ZWRab25lSWQoem9uZS5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZCksXG4gICAgICAgIFZhbGlkYXRpb25Sb2xlQXJuOiB6b25lLnZhbGlkYXRpb25Sb2xlPy5yb2xlQXJuLFxuICAgICAgICBWYWxpZGF0aW9uRXh0ZXJuYWxJZDogem9uZS52YWxpZGF0aW9uRXh0ZXJuYWxJZCxcbiAgICAgIH1cbiAgICAgIHJldHVybiBbcHJvcGVydGllcy5Eb21haW5OYW1lLCBwcm9wZXJ0aWVzXVxuICAgIH0pXG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzID0ge1xuICAgICAgRG9tYWluTmFtZTogZG9tYWluTmFtZSxcbiAgICAgIEFsdGVybmF0aXZlRG9tYWluTmFtZXM6IGFsdGVybmF0aXZlRG9tYWluTmFtZXMsXG4gICAgICBWYWxpZGF0aW9uSG9zdGVkWm9uZXM6IE9iamVjdC5mcm9tRW50cmllcyh2YWxpZGF0aW9uSG9zdGVkWm9uZXMpLFxuICAgICAgQ2VydGlmaWNhdGVSZWdpb246IHRoaXMuY2VydGlmaWNhdGVSZWdpb24sXG4gICAgICBDbGVhbnVwVmFsaWRhdGlvblJlY29yZHM6IGJvb2xlYW5Ub1N0cmluZyhwcm9wcy5jbGVhbnVwVmFsaWRhdGlvblJlY29yZHMgPz8gdHJ1ZSksXG4gICAgICBUcmFuc3BhcmVuY3lMb2dnaW5nRW5hYmxlZDogYm9vbGVhblRvU3RyaW5nKHByb3BzLnRyYW5zcGFyZW5jeUxvZ2dpbmdFbmFibGVkID8/IHRydWUpLFxuICAgICAgVGFnczogY2RrLkxhenkuYW55KHsgcHJvZHVjZTogKCkgPT4gdGhpcy50YWdzLnJlbmRlclRhZ3MoKSB9KSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICBSZW1vdmFsUG9saWN5OiBjZGsuTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLnJlbW92YWxQb2xpY3kgfSksXG4gICAgfVxuXG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdSZXF1ZXN0b3JSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcmVxdWVzdG9yUHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiBETlNfVkFMSURBVEVEX0NFUlRJRklDQVRFX1RZUEUsXG4gICAgICBwcm9wZXJ0aWVzLFxuICAgIH0pXG5cbiAgICAvLyBFbnN1cmUgQ2xvdWRGb3JtYXRpb24gZGVsZXRlcyB0aGUgY3VzdG9tIHJlc291cmNlIGJlZm9yZSB0aGUgTGFtYmRhXG4gICAgLy8gZnVuY3Rpb24gYW5kIGl0cyBJQU0gcG9saWNpZXMuIENsb3VkRm9ybWF0aW9uIG1heSBkZWxldGUgdGhlbSBpblxuICAgIC8vIHBhcmFsbGVsIGR1cmluZyBzdGFjayBkZWxldGlvbiwgY2F1c2luZyB0aGUgREVMRVRFIGhhbmRsZXIgdG8gZmFpbFxuICAgIC8vIGJlY2F1c2UgdGhlIExhbWJkYSdzIEFDTSBwZXJtaXNzaW9ucyBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkLlxuICAgIGNlcnRpZmljYXRlLm5vZGUuYWRkRGVwZW5kZW5jeShyZXF1ZXN0b3JGdW5jdGlvbilcbiAgICBpZiAocmVxdWVzdG9yRnVuY3Rpb24ucm9sZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjZXJ0aWZpY2F0ZS5ub2RlLmFkZERlcGVuZGVuY3kocmVxdWVzdG9yRnVuY3Rpb24ucm9sZSlcbiAgICAgIGNvbnN0IHBvbGljeSA9IHJlcXVlc3RvckZ1bmN0aW9uLnJvbGUubm9kZS50cnlGaW5kQ2hpbGQoJ0RlZmF1bHRQb2xpY3knKVxuICAgICAgaWYgKHBvbGljeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNlcnRpZmljYXRlLm5vZGUuYWRkRGVwZW5kZW5jeShwb2xpY3kpXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jZXJ0aWZpY2F0ZUFybiA9IGNlcnRpZmljYXRlLmdldEF0dFN0cmluZygnQXJuJylcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKHtcbiAgICAgIHZhbGlkYXRlOiAoKSA9PlxuICAgICAgICB0aGlzLnZhbGlkYXRlRG9tYWluc1RvSG9zdGVkWm9uZXMoXG4gICAgICAgICAgYWxsRG9tYWlucyxcbiAgICAgICAgICB2YWxpZGF0aW9uSG9zdGVkWm9uZXMubWFwKChbem9uZU5hbWUsIF9dKSA9PiB6b25lTmFtZSlcbiAgICAgICAgKSxcbiAgICB9KVxuICB9XG5cbiAgbWV0cmljRGF5c1RvRXhwaXJ5KHByb3BzPzogY2RrLmF3c19jbG91ZHdhdGNoLk1ldHJpY09wdGlvbnMgfCB1bmRlZmluZWQpOiBjZGsuYXdzX2Nsb3Vkd2F0Y2guTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLmRheXMoMSksXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHsgQ2VydGlmaWNhdGVBcm46IHRoaXMuY2VydGlmaWNhdGVBcm4gfSxcbiAgICAgIG1ldHJpY05hbWU6ICdEYXlzVG9FeHBpcnknLFxuICAgICAgbmFtZXNwYWNlOiAnQVdTL0NlcnRpZmljYXRlTWFuYWdlcicsXG4gICAgICByZWdpb246IHRoaXMuY2VydGlmaWNhdGVSZWdpb24sXG4gICAgICBzdGF0aXN0aWM6IGNsb3Vkd2F0Y2guU3RhdHMuTUlOSU1VTSxcbiAgICB9KVxuICB9XG5cbiAgYXBwbHlSZW1vdmFsUG9saWN5KHBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92YWxQb2xpY3kgPSBwb2xpY3lcbiAgfVxuXG4gIC8vIGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGUgZXh0ZW5kcyBJQ2VydGlmaWNhdGVSZWYgc2luY2UgYXdzLWNkay1saWIgMi4yMzUuMC4gVGhlIHJlZmVyZW5jZSBwcm9wZXJ0eSB3YXNcbiAgLy8gY2VydGlmaWNhdGVJZCB1bnRpbCAyLjI2NC4wIHJlbmFtZWQgaXQgdG8gY2VydGlmaWNhdGVBcm4uIEJvdGggY2FycnkgdGhlIEFSTiwgd2hpY2ggaXMgd2hhdCBSZWYgcmV0dXJucyBmb3JcbiAgLy8gQVdTOjpDZXJ0aWZpY2F0ZU1hbmFnZXI6OkNlcnRpZmljYXRlIGluIGVpdGhlciB2ZXJzaW9uLCBzbyBib3RoIGFyZSBzZXQgdG8gY292ZXIgdGhlIHdob2xlIHBlZXIgcmFuZ2UuXG4gIC8vIFRoZSByZXR1cm4gdHlwZSBpcyBhbnkgdG8gYWxzbyBjb21waWxlIGFnYWluc3QgQ0RLIHZlcnNpb25zIHByZWRhdGluZyBJQ2VydGlmaWNhdGVSZWYuXG4gIC8qKiBBIHJlZmVyZW5jZSB0byBhIENlcnRpZmljYXRlIHJlc291cmNlLiAqL1xuICBwdWJsaWMgZ2V0IGNlcnRpZmljYXRlUmVmKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNlcnRpZmljYXRlSWQ6IHRoaXMuY2VydGlmaWNhdGVBcm4sXG4gICAgICBjZXJ0aWZpY2F0ZUFybjogdGhpcy5jZXJ0aWZpY2F0ZUFybixcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZURvbWFpbk5hbWUoZG9tYWluTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChkb21haW5OYW1lKSkge1xuICAgICAgcmV0dXJuIGRvbWFpbk5hbWVcbiAgICB9XG4gICAgcmV0dXJuIGNsZWFuRG9tYWluTmFtZShkb21haW5OYW1lKVxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVIb3N0ZWRab25lSWQoaG9zdGVkWm9uZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChjZGsuVG9rZW4uaXNVbnJlc29sdmVkKGhvc3RlZFpvbmVJZCkpIHtcbiAgICAgIHJldHVybiBob3N0ZWRab25lSWRcbiAgICB9XG4gICAgcmV0dXJuIGNsZWFuSG9zdGVkWm9uZUlkKGhvc3RlZFpvbmVJZClcbiAgfVxuXG4gIHByaXZhdGUgd2lsZGNhcmREb21haW5OYW1lKGlkOiBzdHJpbmcsIGRvbWFpbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHMgPSBjZGsuRm4uc3BsaXQoJy4nLCBkb21haW5OYW1lKVxuICAgIGNvbnN0IGZpcnN0ID0gY2RrLkZuLnNlbGVjdCgwLCBwYXJ0cylcbiAgICBjb25zdCBpc1dpbGRjYXJkID0gbmV3IGNkay5DZm5Db25kaXRpb24odGhpcywgYElzJHtpZH1gLCB7XG4gICAgICBleHByZXNzaW9uOiBjZGsuRm4uY29uZGl0aW9uRXF1YWxzKGZpcnN0LCAnKicpLFxuICAgIH0pXG4gICAgcmV0dXJuIGNkay5Gbi5jb25kaXRpb25JZihpc1dpbGRjYXJkLmxvZ2ljYWxJZCwgZG9tYWluTmFtZSwgYCouJHtkb21haW5OYW1lfWApLnRvU3RyaW5nKClcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVEb21haW5zVG9Ib3N0ZWRab25lcyhkb21haW5OYW1lczogc3RyaW5nW10sIHpvbmVOYW1lczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdXG4gICAgZm9yIChjb25zdCBkb21haW5OYW1lIG9mIGRvbWFpbk5hbWVzKSB7XG4gICAgICBjb25zdCByZXNvbHZhYmxlRG9tYWluTmFtZSA9ICFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKGRvbWFpbk5hbWUpXG4gICAgICBjb25zdCByZXNvbHZhYmxlWm9uZU5hbWVzID0gIXpvbmVOYW1lcy5zb21lKCh6b25lTmFtZSkgPT4gY2RrLlRva2VuLmlzVW5yZXNvbHZlZCh6b25lTmFtZSkpXG4gICAgICBpZiAocmVzb2x2YWJsZURvbWFpbk5hbWUgJiYgcmVzb2x2YWJsZVpvbmVOYW1lcyAmJiAhem9uZU5hbWVzLnNvbWUoKHpvbmVOYW1lKSA9PiBkb21haW5OYW1lLmVuZHNXaXRoKHpvbmVOYW1lKSkpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goYERvbWFpbiAke2RvbWFpbk5hbWV9IGlzIG5vdCBwcm92aWRlZCB3aXRoIGF1dGhvcml0YXRpdmUgaG9zdGVkIHpvbmVgKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyb3JzXG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"aws-lambda": "^1.0.7",
|
|
53
53
|
"commit-and-tag-version": "^12",
|
|
54
54
|
"constructs": "10.5.1",
|
|
55
|
-
"esbuild": "^0.28.
|
|
55
|
+
"esbuild": "^0.28.2",
|
|
56
56
|
"eslint": "^9",
|
|
57
57
|
"eslint-config-prettier": "^8.10.2",
|
|
58
58
|
"eslint-import-resolver-typescript": "^3.10.1",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"jsii-pacmak": "^1.139.0",
|
|
67
67
|
"jsii-rosetta": "~5.9.0",
|
|
68
68
|
"prettier": "^2.8.8",
|
|
69
|
-
"projen": "^0.101.
|
|
69
|
+
"projen": "^0.101.31",
|
|
70
70
|
"ts-jest": "^29.4.12",
|
|
71
71
|
"ts-node": "^10.9.2",
|
|
72
72
|
"typescript": "5.8.3"
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"publishConfig": {
|
|
96
96
|
"access": "public"
|
|
97
97
|
},
|
|
98
|
-
"version": "0.1.
|
|
98
|
+
"version": "0.1.61",
|
|
99
99
|
"jest": {
|
|
100
100
|
"coverageProvider": "v8",
|
|
101
101
|
"testMatch": [
|