truemark-cdk-lib 1.2.4-alpha.13 → 1.2.4-alpha.15

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.
@@ -3,6 +3,7 @@ import * as tmroute53 from "../../aws-route53";
3
3
  import { ICertificate } from "aws-cdk-lib/aws-certificatemanager";
4
4
  import { DomainName, SecurityPolicy } from "@aws-cdk/aws-apigatewayv2-alpha";
5
5
  import { ARecord, RecordTarget } from "aws-cdk-lib/aws-route53";
6
+ import { ARecordOptions } from "../../aws-route53";
6
7
  export interface StandardDomainNameProps extends tmroute53.DomainNameProps {
7
8
  /**
8
9
  * The optional ACM certificate for this domain name.
@@ -35,21 +36,26 @@ export declare class StandardDomainName extends Construct {
35
36
  toRecordTarget(evaluateTargetHealth?: boolean): RecordTarget;
36
37
  /**
37
38
  * Creates a route53 ARecord pointing to this domain name.
39
+ *
40
+ * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
41
+ * @param options additional options for creating the record
38
42
  */
39
- createARecord(evaluateTargetHealth?: boolean): ARecord;
43
+ createARecord(evaluateTargetHealth?: boolean, options?: ARecordOptions): ARecord;
40
44
  /**
41
45
  * Creates a route53 weighted record pointing to this domain name.
42
46
  *
43
47
  * @param weight the initial weight; defaults to 0
44
48
  * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
49
+ * @param options additional options for creating the record
45
50
  */
46
- createWeightedARecord(weight?: number, evaluateTargetHealth?: boolean): ARecord;
51
+ createWeightedARecord(weight: number, evaluateTargetHealth?: boolean, options?: ARecordOptions): ARecord;
47
52
  /**
48
53
  * Creates a route53 latency record pointing to this domain name.
49
54
  *
50
55
  * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
56
+ * @param options additional options for creating the record
51
57
  */
52
- createLatencyARecord(evaluateTargetHealth?: boolean): ARecord;
58
+ createLatencyARecord(evaluateTargetHealth?: boolean, options?: ARecordOptions): ARecord;
53
59
  /**
54
60
  * Returns the FQDN of this domain name.
55
61
  */
@@ -38,26 +38,31 @@ class StandardDomainName extends constructs_1.Construct {
38
38
  }
39
39
  /**
40
40
  * Creates a route53 ARecord pointing to this domain name.
41
+ *
42
+ * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
43
+ * @param options additional options for creating the record
41
44
  */
42
- createARecord(evaluateTargetHealth) {
43
- return this.domainName.createARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true));
45
+ createARecord(evaluateTargetHealth, options) {
46
+ return this.domainName.createARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true), options);
44
47
  }
45
48
  /**
46
49
  * Creates a route53 weighted record pointing to this domain name.
47
50
  *
48
51
  * @param weight the initial weight; defaults to 0
49
52
  * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
53
+ * @param options additional options for creating the record
50
54
  */
51
- createWeightedARecord(weight, evaluateTargetHealth) {
52
- return this.domainName.createWeightedARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true), weight);
55
+ createWeightedARecord(weight, evaluateTargetHealth, options) {
56
+ return this.domainName.createWeightedARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true), weight, options);
53
57
  }
54
58
  /**
55
59
  * Creates a route53 latency record pointing to this domain name.
56
60
  *
57
61
  * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
62
+ * @param options additional options for creating the record
58
63
  */
59
- createLatencyARecord(evaluateTargetHealth) {
60
- return this.domainName.createLatencyARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true));
64
+ createLatencyARecord(evaluateTargetHealth, options) {
65
+ return this.domainName.createLatencyARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true), options);
61
66
  }
62
67
  /**
63
68
  * Returns the FQDN of this domain name.
@@ -67,4 +72,4 @@ class StandardDomainName extends constructs_1.Construct {
67
72
  }
68
73
  }
69
74
  exports.StandardDomainName = StandardDomainName;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1kb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsK0NBQStDO0FBQy9DLDJEQUEyRDtBQUUzRCw0RUFBMkU7QUFDM0UseURBQThEO0FBQzlELDJDQUF3RDtBQUN4RCwyQ0FBMkM7QUFDM0MsbURBQXVEO0FBMkJ2RDs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFNL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4Qjs7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxTQUFHLEtBQUssQ0FBQyxXQUFXLG1DQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksbUNBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3ZELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1NBQ3JDLENBQUMsQ0FBQztRQUVILElBQUksc0JBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsUUFBUSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO1NBQ2pDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztZQUM1QixHQUFHLEVBQUUsdUJBQWE7WUFDbEIsTUFBTSxFQUFFLG9CQUFVO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsb0JBQThCO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLENBQUMsNEJBQTRCLENBQy9ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxRixPQUFPLG9CQUFvQjtZQUN6QixDQUFDLENBQUMsa0NBQW9CLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDO1lBQ3hFLENBQUMsQ0FBQywwQkFBWSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxvQkFBOEI7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsYUFBcEIsb0JBQW9CLGNBQXBCLG9CQUFvQixHQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsTUFBZSxFQUFFLG9CQUE4QjtRQUNuRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLGFBQXBCLG9CQUFvQixjQUFwQixvQkFBb0IsR0FBSSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLG9CQUE4QjtRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLGFBQXBCLG9CQUFvQixjQUFwQixvQkFBb0IsR0FBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBaEVELGdEQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgdG1yb3V0ZTUzIGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHtJQ2VydGlmaWNhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0RvbWFpbk5hbWUsIFNlY3VyaXR5UG9saWN5fSBmcm9tIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1hbHBoYVwiO1xuaW1wb3J0IHtBUmVjb3JkLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtDREtfTlBNSlNfVVJMLCBDREtfVkVORE9SfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuaW1wb3J0IHtTdGFuZGFyZFRhZ3N9IGZyb20gXCIuLi8uLi9hd3MtY2RrXCI7XG5pbXBvcnQge0V4dGVuZGVkUmVjb3JkVGFyZ2V0fSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZERvbWFpbk5hbWVQcm9wcyBleHRlbmRzIHRtcm91dGU1My5Eb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uYWwgQUNNIGNlcnRpZmljYXRlIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG9uZSBpcyBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlPzogSUNlcnRpZmljYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IChUTFMpIHZlcnNpb24gKyBjaXBoZXIgc3VpdGUgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gU2VjdXJpdHlQb2xpY3kuVExTXzFfMlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlQb2xpY3k/OiBTZWN1cml0eVBvbGljeTtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN0YW5kYXJkIGNvbnN0cnVjdCB1c2VkIHRvIGNyZWF0ZSBhbiBBUEkgR2F0ZXdheSBWMiBEb21haW4gTmFtZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkRG9tYWluTmFtZSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogdG1yb3V0ZTUzLkRvbWFpbk5hbWU7XG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGU7XG4gIHJlYWRvbmx5IGdhdGV3YXlEb21haW5OYW1lOiBEb21haW5OYW1lO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZERvbWFpbk5hbWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5kb21haW5OYW1lID0gbmV3IHRtcm91dGU1My5Eb21haW5OYW1lKHByb3BzKTtcbiAgICB0aGlzLmNlcnRpZmljYXRlID0gcHJvcHMuY2VydGlmaWNhdGUgPz8gdGhpcy5kb21haW5OYW1lLmNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlKTtcbiAgICB0aGlzLmdhdGV3YXlEb21haW5OYW1lID0gbmV3IERvbWFpbk5hbWUodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMuZG9tYWluTmFtZS50b1N0cmluZygpLFxuICAgICAgY2VydGlmaWNhdGU6IHRoaXMuY2VydGlmaWNhdGUsXG4gICAgICBzZWN1cml0eVBvbGljeTogcHJvcHMuc2VjdXJpdHlQb2xpY3lcbiAgICB9KTtcblxuICAgIG5ldyBTdGFuZGFyZFRhZ3ModGhpcywge1xuICAgICAgc3VwcHJlc3M6IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmdcbiAgICB9KS5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyh7XG4gICAgICB1cmw6IENES19OUE1KU19VUkwsXG4gICAgICB2ZW5kb3I6IENES19WRU5ET1JcbiAgICB9KTtcbiAgfVxuXG4gIHRvUmVjb3JkVGFyZ2V0KGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbik6IFJlY29yZFRhcmdldCB7XG4gICAgY29uc3QgZG9tYWluUHJvcGVydGllcyA9IG5ldyB0YXJnZXRzLkFwaUdhdGV3YXl2MkRvbWFpblByb3BlcnRpZXMoXG4gICAgICB0aGlzLmdhdGV3YXlEb21haW5OYW1lLnJlZ2lvbmFsRG9tYWluTmFtZSwgdGhpcy5nYXRld2F5RG9tYWluTmFtZS5yZWdpb25hbEhvc3RlZFpvbmVJZCk7XG4gICAgcmV0dXJuIGV2YWx1YXRlVGFyZ2V0SGVhbHRoXG4gICAgICA/IEV4dGVuZGVkUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhkb21haW5Qcm9wZXJ0aWVzLCBldmFsdWF0ZVRhcmdldEhlYWx0aClcbiAgICAgIDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhkb21haW5Qcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyBBUmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBjcmVhdGVBUmVjb3JkKGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbik6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlQVJlY29yZCh0aGlzLCB0aGlzLnRvUmVjb3JkVGFyZ2V0KGV2YWx1YXRlVGFyZ2V0SGVhbHRoID8/IHRydWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyB3ZWlnaHRlZCByZWNvcmQgcG9pbnRpbmcgdG8gdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHdlaWdodCB0aGUgaW5pdGlhbCB3ZWlnaHQ7IGRlZmF1bHRzIHRvIDBcbiAgICogQHBhcmFtIGV2YWx1YXRlVGFyZ2V0SGVhbHRoIERldGVybWluZXMgaWYgcm91dGU1MyBldmFsdWF0ZXMgdGhlIHRhcmdldCdzIGhlYWx0aC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIGNyZWF0ZVdlaWdodGVkQVJlY29yZCh3ZWlnaHQ/OiBudW1iZXIsIGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbik6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHRoaXMsIHRoaXMudG9SZWNvcmRUYXJnZXQoZXZhbHVhdGVUYXJnZXRIZWFsdGggPz8gdHJ1ZSksIHdlaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJvdXRlNTMgbGF0ZW5jeSByZWNvcmQgcG9pbnRpbmcgdG8gdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIGV2YWx1YXRlVGFyZ2V0SGVhbHRoIERldGVybWluZXMgaWYgcm91dGU1MyBldmFsdWF0ZXMgdGhlIHRhcmdldCdzIGhlYWx0aC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIGNyZWF0ZUxhdGVuY3lBUmVjb3JkKGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbik6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlTGF0ZW5jeUFSZWNvcmQodGhpcywgdGhpcy50b1JlY29yZFRhcmdldChldmFsdWF0ZVRhcmdldEhlYWx0aCA/PyB0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgRlFETiBvZiB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb21haW5OYW1lLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1kb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsK0NBQStDO0FBQy9DLDJEQUEyRDtBQUUzRCw0RUFBMkU7QUFDM0UseURBQThEO0FBQzlELDJDQUF3RDtBQUN4RCwyQ0FBMkM7QUFDM0MsbURBQXVFO0FBMkJ2RTs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFNL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4Qjs7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxTQUFHLEtBQUssQ0FBQyxXQUFXLG1DQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksbUNBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3ZELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1NBQ3JDLENBQUMsQ0FBQztRQUVILElBQUksc0JBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsUUFBUSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO1NBQ2pDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztZQUM1QixHQUFHLEVBQUUsdUJBQWE7WUFDbEIsTUFBTSxFQUFFLG9CQUFVO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsb0JBQThCO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLENBQUMsNEJBQTRCLENBQy9ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxRixPQUFPLG9CQUFvQjtZQUN6QixDQUFDLENBQUMsa0NBQW9CLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDO1lBQ3hFLENBQUMsQ0FBQywwQkFBWSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxvQkFBOEIsRUFBRSxPQUF3QjtRQUNwRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixhQUFwQixvQkFBb0IsY0FBcEIsb0JBQW9CLEdBQUksSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHFCQUFxQixDQUFDLE1BQWMsRUFBRSxvQkFBOEIsRUFBRSxPQUF3QjtRQUM1RixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLGFBQXBCLG9CQUFvQixjQUFwQixvQkFBb0IsR0FBSSxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekgsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsb0JBQThCLEVBQUUsT0FBd0I7UUFDM0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixhQUFwQixvQkFBb0IsY0FBcEIsb0JBQW9CLEdBQUksSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUFyRUQsZ0RBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyB0bXJvdXRlNTMgZnJvbSBcIi4uLy4uL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQge0lDZXJ0aWZpY2F0ZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7RG9tYWluTmFtZSwgU2VjdXJpdHlQb2xpY3l9IGZyb20gXCJAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheXYyLWFscGhhXCI7XG5pbXBvcnQge0FSZWNvcmQsIFJlY29yZFRhcmdldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcbmltcG9ydCB7QVJlY29yZE9wdGlvbnMsIEV4dGVuZGVkUmVjb3JkVGFyZ2V0fSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZERvbWFpbk5hbWVQcm9wcyBleHRlbmRzIHRtcm91dGU1My5Eb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uYWwgQUNNIGNlcnRpZmljYXRlIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG9uZSBpcyBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlPzogSUNlcnRpZmljYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IChUTFMpIHZlcnNpb24gKyBjaXBoZXIgc3VpdGUgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gU2VjdXJpdHlQb2xpY3kuVExTXzFfMlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlQb2xpY3k/OiBTZWN1cml0eVBvbGljeTtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN0YW5kYXJkIGNvbnN0cnVjdCB1c2VkIHRvIGNyZWF0ZSBhbiBBUEkgR2F0ZXdheSBWMiBEb21haW4gTmFtZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkRG9tYWluTmFtZSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogdG1yb3V0ZTUzLkRvbWFpbk5hbWU7XG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGU7XG4gIHJlYWRvbmx5IGdhdGV3YXlEb21haW5OYW1lOiBEb21haW5OYW1lO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZERvbWFpbk5hbWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5kb21haW5OYW1lID0gbmV3IHRtcm91dGU1My5Eb21haW5OYW1lKHByb3BzKTtcbiAgICB0aGlzLmNlcnRpZmljYXRlID0gcHJvcHMuY2VydGlmaWNhdGUgPz8gdGhpcy5kb21haW5OYW1lLmNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlKTtcbiAgICB0aGlzLmdhdGV3YXlEb21haW5OYW1lID0gbmV3IERvbWFpbk5hbWUodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMuZG9tYWluTmFtZS50b1N0cmluZygpLFxuICAgICAgY2VydGlmaWNhdGU6IHRoaXMuY2VydGlmaWNhdGUsXG4gICAgICBzZWN1cml0eVBvbGljeTogcHJvcHMuc2VjdXJpdHlQb2xpY3lcbiAgICB9KTtcblxuICAgIG5ldyBTdGFuZGFyZFRhZ3ModGhpcywge1xuICAgICAgc3VwcHJlc3M6IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmdcbiAgICB9KS5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyh7XG4gICAgICB1cmw6IENES19OUE1KU19VUkwsXG4gICAgICB2ZW5kb3I6IENES19WRU5ET1JcbiAgICB9KTtcbiAgfVxuXG4gIHRvUmVjb3JkVGFyZ2V0KGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbik6IFJlY29yZFRhcmdldCB7XG4gICAgY29uc3QgZG9tYWluUHJvcGVydGllcyA9IG5ldyB0YXJnZXRzLkFwaUdhdGV3YXl2MkRvbWFpblByb3BlcnRpZXMoXG4gICAgICB0aGlzLmdhdGV3YXlEb21haW5OYW1lLnJlZ2lvbmFsRG9tYWluTmFtZSwgdGhpcy5nYXRld2F5RG9tYWluTmFtZS5yZWdpb25hbEhvc3RlZFpvbmVJZCk7XG4gICAgcmV0dXJuIGV2YWx1YXRlVGFyZ2V0SGVhbHRoXG4gICAgICA/IEV4dGVuZGVkUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhkb21haW5Qcm9wZXJ0aWVzLCBldmFsdWF0ZVRhcmdldEhlYWx0aClcbiAgICAgIDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhkb21haW5Qcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyBBUmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBldmFsdWF0ZVRhcmdldEhlYWx0aCBEZXRlcm1pbmVzIGlmIHJvdXRlNTMgZXZhbHVhdGVzIHRoZSB0YXJnZXQncyBoZWFsdGguIERlZmF1bHRzIHRvIHRydWUuXG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlQVJlY29yZChldmFsdWF0ZVRhcmdldEhlYWx0aD86IGJvb2xlYW4sIG9wdGlvbnM/OiBBUmVjb3JkT3B0aW9ucyk6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlQVJlY29yZCh0aGlzLCB0aGlzLnRvUmVjb3JkVGFyZ2V0KGV2YWx1YXRlVGFyZ2V0SGVhbHRoID8/IHRydWUpLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyB3ZWlnaHRlZCByZWNvcmQgcG9pbnRpbmcgdG8gdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHdlaWdodCB0aGUgaW5pdGlhbCB3ZWlnaHQ7IGRlZmF1bHRzIHRvIDBcbiAgICogQHBhcmFtIGV2YWx1YXRlVGFyZ2V0SGVhbHRoIERldGVybWluZXMgaWYgcm91dGU1MyBldmFsdWF0ZXMgdGhlIHRhcmdldCdzIGhlYWx0aC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgYWRkaXRpb25hbCBvcHRpb25zIGZvciBjcmVhdGluZyB0aGUgcmVjb3JkXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZEFSZWNvcmQod2VpZ2h0OiBudW1iZXIsIGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbiwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluTmFtZS5jcmVhdGVXZWlnaHRlZEFSZWNvcmQodGhpcywgdGhpcy50b1JlY29yZFRhcmdldChldmFsdWF0ZVRhcmdldEhlYWx0aCA/PyB0cnVlKSwgd2VpZ2h0LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyBsYXRlbmN5IHJlY29yZCBwb2ludGluZyB0byB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gZXZhbHVhdGVUYXJnZXRIZWFsdGggRGV0ZXJtaW5lcyBpZiByb3V0ZTUzIGV2YWx1YXRlcyB0aGUgdGFyZ2V0J3MgaGVhbHRoLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoZSByZWNvcmRcbiAgICovXG4gIGNyZWF0ZUxhdGVuY3lBUmVjb3JkKGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbiwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluTmFtZS5jcmVhdGVMYXRlbmN5QVJlY29yZCh0aGlzLCB0aGlzLnRvUmVjb3JkVGFyZ2V0KGV2YWx1YXRlVGFyZ2V0SGVhbHRoID8/IHRydWUpLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBGUUROIG9mIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -103,7 +103,7 @@ export declare class DomainName {
103
103
  */
104
104
  toString(): string;
105
105
  /**
106
- * Returns a friendly identifier for this domain name.
106
+ * Returns a friendly identifier for this domain name. This function replaces wildcards with _ and periods with -
107
107
  */
108
108
  toIdentifier(): string;
109
109
  /**
@@ -131,16 +131,18 @@ export declare class DomainName {
131
131
  *
132
132
  * @param scope the scope to create the record in
133
133
  * @param target the target of the record
134
- * @param weight the initial weight; defaults to 0
134
+ * @param weight the initial weight
135
+ * @param options additional options for creating the record
135
136
  */
136
- createWeightedARecord(scope: Construct, target: RecordTarget, weight?: number): WeightedARecord;
137
+ createWeightedARecord(scope: Construct, target: RecordTarget, weight: number, options?: ARecordOptions): WeightedARecord;
137
138
  /**
138
139
  * Creates a latency Route53 record for this domain name.
139
140
  *
140
141
  * @param scope the scope to create the record in
141
142
  * @param target the target of the record
143
+ * @param options additional options for creating the record
142
144
  */
143
- createLatencyARecord(scope: Construct, target: RecordTarget): LatencyARecord;
145
+ createLatencyARecord(scope: Construct, target: RecordTarget, options?: ARecordOptions): LatencyARecord;
144
146
  /**
145
147
  * Creates an ACM certificate for the domain name.
146
148
  *
@@ -5,6 +5,7 @@ const aws_route53_1 = require("aws-cdk-lib/aws-route53");
5
5
  const weighted_a_record_1 = require("./weighted-a-record");
6
6
  const latency_a_record_1 = require("./latency-a-record");
7
7
  const aws_certificatemanager_1 = require("aws-cdk-lib/aws-certificatemanager");
8
+ const helpers_1 = require("../../helpers");
8
9
  /**
9
10
  * Utility class for holding domain name information and
10
11
  * doing useful things with it.
@@ -66,10 +67,12 @@ class DomainName {
66
67
  return (this.prefix == "" ? "" : this.prefix + ".") + this.zone;
67
68
  }
68
69
  /**
69
- * Returns a friendly identifier for this domain name.
70
+ * Returns a friendly identifier for this domain name. This function replaces wildcards with _ and periods with -
70
71
  */
71
72
  toIdentifier() {
72
- return this.toString().replace(/\./, "-").replace(/\*/, "wildcard");
73
+ return helpers_1.StringHelper.toPascalCase(this.toString().toLowerCase()
74
+ .replace(/\*/g, "wildcard")
75
+ .replace(/\./g, "-"));
73
76
  }
74
77
  /**
75
78
  * Returns the zone associated with this domain name.
@@ -106,8 +109,10 @@ class DomainName {
106
109
  return new aws_route53_1.ARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}-arecord`, {
107
110
  zone: this.getHostedZone(scope),
108
111
  recordName: this.toString(),
112
+ target,
109
113
  ttl: options === null || options === void 0 ? void 0 : options.ttl,
110
- target
114
+ comment: options === null || options === void 0 ? void 0 : options.comment,
115
+ deleteExisting: options === null || options === void 0 ? void 0 : options.deleteExisting
111
116
  });
112
117
  }
113
118
  /**
@@ -115,14 +120,19 @@ class DomainName {
115
120
  *
116
121
  * @param scope the scope to create the record in
117
122
  * @param target the target of the record
118
- * @param weight the initial weight; defaults to 0
123
+ * @param weight the initial weight
124
+ * @param options additional options for creating the record
119
125
  */
120
- createWeightedARecord(scope, target, weight) {
121
- return new weighted_a_record_1.WeightedARecord(scope, `${this.toIdentifier()}-arecord`, {
126
+ createWeightedARecord(scope, target, weight, options) {
127
+ var _a;
128
+ return new weighted_a_record_1.WeightedARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}-arecord`, {
122
129
  zone: this.getHostedZone(scope),
123
130
  recordName: this.toString(),
124
131
  target,
125
- weight
132
+ weight,
133
+ ttl: options === null || options === void 0 ? void 0 : options.ttl,
134
+ comment: options === null || options === void 0 ? void 0 : options.comment,
135
+ deleteExisting: options === null || options === void 0 ? void 0 : options.deleteExisting
126
136
  });
127
137
  }
128
138
  /**
@@ -130,12 +140,17 @@ class DomainName {
130
140
  *
131
141
  * @param scope the scope to create the record in
132
142
  * @param target the target of the record
143
+ * @param options additional options for creating the record
133
144
  */
134
- createLatencyARecord(scope, target) {
135
- return new latency_a_record_1.LatencyARecord(scope, `${this.toIdentifier()}-arecord`, {
145
+ createLatencyARecord(scope, target, options) {
146
+ var _a;
147
+ return new latency_a_record_1.LatencyARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}-arecord`, {
136
148
  zone: this.getHostedZone(scope),
137
149
  recordName: this.toString(),
138
- target
150
+ target,
151
+ ttl: options === null || options === void 0 ? void 0 : options.ttl,
152
+ comment: options === null || options === void 0 ? void 0 : options.comment,
153
+ deleteExisting: options === null || options === void 0 ? void 0 : options.deleteExisting
139
154
  });
140
155
  }
141
156
  /**
@@ -251,4 +266,4 @@ class DomainName {
251
266
  }
252
267
  }
253
268
  exports.DomainName = DomainName;
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwrRUFBc0Y7QUE0RXRGOzs7R0FHRztBQUNILE1BQWEsVUFBVTtJQVFyQjs7OztPQUlHO0lBQ0gsWUFBWSxLQUFzQjs7UUFDaEMsSUFBSSxDQUFDLE1BQU0sU0FBRyxLQUFLLENBQUMsTUFBTSxtQ0FBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsV0FBVyxTQUFHLEtBQUssQ0FBQyxXQUFXLG1DQUFJLEtBQUssQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsS0FBc0I7O1FBQy9CLElBQUksV0FBVyxHQUFHLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFDLEtBQUssQ0FBQyxNQUFNLG1DQUFJLEVBQUUsQ0FBQztlQUN0QyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVc7ZUFDekIsSUFBSSxDQUFDLFdBQVcsS0FBSyxPQUFDLEtBQUssQ0FBQyxXQUFXLG1DQUFJLEtBQUssQ0FBQztlQUNqRCxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUE7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxhQUFhLENBQUMsS0FBZ0IsRUFBRSxFQUFXO1FBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyx3QkFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxhQUFGLEVBQUUsY0FBRixFQUFFLEdBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRTtnQkFDbEYsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNyQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQixDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUFDLEtBQWdCLEVBQUUsTUFBb0IsRUFBRSxPQUF3Qjs7UUFDNUUsT0FBTyxJQUFJLHFCQUFPLENBQUMsS0FBSyxRQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxFQUFFLG1DQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUU7WUFDekUsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzNCLEdBQUcsRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsR0FBRztZQUNqQixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHFCQUFxQixDQUFDLEtBQWdCLEVBQUUsTUFBb0IsRUFBRSxNQUFlO1FBQzNFLE9BQU8sSUFBSSxtQ0FBZSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFO1lBQ2xFLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUMvQixVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzQixNQUFNO1lBQ04sTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFDLEtBQWdCLEVBQUUsTUFBb0I7UUFDekQsT0FBTyxJQUFJLGlDQUFjLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUU7WUFDakUsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzNCLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBQyxLQUFnQixFQUFFLElBQXlCOztRQUMzRCxPQUFPLElBQUksb0NBQVcsQ0FBQyxLQUFLLFFBQUUsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLEVBQUUsbUNBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRTtZQUN2RSxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzQixVQUFVLEVBQUUsOENBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEUsdUJBQXVCLEVBQUUsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHVCQUF1QjtTQUN2RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQW1DO1FBQ2xELE9BQU8sZUFBZSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVksRUFBRSxJQUEwQixFQUFFLFdBQXFCLEVBQUUsS0FBYztRQUM3RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQzthQUM3RSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxVQUFVLENBQUM7WUFDcEIsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSztTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQTBCO1FBQ3pDLE9BQU8sV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGVBQW1DO1FBQzNELE9BQU8sZUFBZSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBZ0IsRUFBRSxXQUEwQjtRQUMzRCxNQUFNLEdBQUcsR0FBaUMsRUFBRSxDQUFBO1FBQzVDLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRTtZQUM3QixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM1QyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFnQixFQUFFLGVBQWtDO1FBQzVFLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXNCLEVBQUUsV0FBMEI7UUFDdEUsS0FBSyxJQUFJLFVBQVUsSUFBSSxXQUFXLGFBQVgsV0FBVyxjQUFYLFdBQVcsR0FBSSxFQUFFLEVBQUU7WUFDeEMsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxPQUFPLFVBQVUsQ0FBQzthQUNuQjtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxXQUF5QjtRQUM5RSxPQUFPLElBQUksb0NBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3JDLHVCQUF1QixFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFFLFVBQVUsRUFBRSw4Q0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztTQUM3RixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF0UUQsZ0NBc1FDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUmVjb3JkLCBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtXZWlnaHRlZEFSZWNvcmR9IGZyb20gXCIuL3dlaWdodGVkLWEtcmVjb3JkXCI7XG5pbXBvcnQge0xhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi9sYXRlbmN5LWEtcmVjb3JkXCI7XG5pbXBvcnQge0NlcnRpZmljYXRlLCBDZXJ0aWZpY2F0ZVZhbGlkYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBEb21haW5OYW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluTmFtZVByb3BzIHtcblxuICAvKipcbiAgICogRG9tYWluIG5hbWUgcHJlZml4LlxuICAgKlxuICAgKiBAZGVmYXVsdCBlbXB0eSBzdHJpbmdcbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogWm9uZSBmb3IgdGhlIGRvbWFpbiBuYW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgem9uZTogc3RyaW5nIHwgSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gbWFyayB6b25lIGFzIHByaXZhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZQQyB0aGUgem9uZSBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFDTSBjZXJ0aWZpY2F0ZSBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2VydGlmaWNhdGVPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgdG8gdXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAke3RoaXMudG9JZGVudGlmaWVyKCl9LWNlcnRcbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBkb21haW4gbmFtZXMgb24gdGhlIGNlcnRpZmljYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUmVjb3JkT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIHRvIHVzZS4gT25lIGlzIGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlIHJlY29yZCBjYWNoZSB0aW1lIHRvIGxpdmUgKFRUTCkuXG4gICAqL1xuICByZWFkb25seSB0dGw/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogQSBjb21tZW50IHRvIGFkZCBvbiB0aGUgcmVjb3JkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBkZWxldGUgdGhlIHNhbWUgcmVjb3JkIHNldCBpbiB0aGUgaG9zdGVkIHpvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG4gICAqL1xuICByZWFkb25seSBkZWxldGVFeGlzdGluZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVXRpbGl0eSBjbGFzcyBmb3IgaG9sZGluZyBkb21haW4gbmFtZSBpbmZvcm1hdGlvbiBhbmRcbiAqIGRvaW5nIHVzZWZ1bCB0aGluZ3Mgd2l0aCBpdC5cbiAqL1xuZXhwb3J0IGNsYXNzIERvbWFpbk5hbWUge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHpvbmU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGhvc3RlZFpvbmU/OiBJSG9zdGVkWm9uZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByaXZhdGVab25lOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgRG9tYWluTmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkb21haW4gbmFtZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IERvbWFpbk5hbWVQcm9wcykge1xuICAgIHRoaXMucHJlZml4ID0gcHJvcHMucHJlZml4ID8/IFwiXCI7XG4gICAgaWYgKHR5cGVvZiBwcm9wcy56b25lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICB0aGlzLnpvbmUgPSBwcm9wcy56b25lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RlZFpvbmUgPSBwcm9wcy56b25lO1xuICAgICAgdGhpcy56b25lID0gdGhpcy5ob3N0ZWRab25lLnpvbmVOYW1lO1xuICAgIH1cbiAgICB0aGlzLnByaXZhdGVab25lID0gcHJvcHMucHJpdmF0ZVpvbmUgPz8gZmFsc2U7XG4gICAgdGhpcy52cGNJZCA9IHByb3BzLnZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHByZWZpeCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGdldFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByZWZpeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHpvbmUgaXMgcHJpdmF0ZS4gRmFsc2UgaWYgb3RoZXJ3aXNlLlxuICAgKi9cbiAgaW5Qcml2YXRlWm9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcml2YXRlWm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2cGMgSUQgZm9yIHRoaXMgem9uZSBvciB1bmRlZmluZWQgaWYgb25lIGRvZXMgbm90IGV4aXN0XG4gICAqL1xuICBnZXRWcGNJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZwY0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvcHMgbWF0Y2ggdGhlIGRvbWFpbiBuYW1lLiBGYWxzZSBpZiBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcHMgdG8gY29tcGFyZVxuICAgKi9cbiAgcHJvcHNNYXRjaChwcm9wczogRG9tYWluTmFtZVByb3BzKTogYm9vbGVhbiB7XG4gICAgbGV0IHByb3Bab25lU3RyID0gdHlwZW9mIHByb3BzLnpvbmUgPT09IFwic3RyaW5nXCIgPyBwcm9wcy56b25lIDogcHJvcHMuem9uZS56b25lTmFtZTtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXggPT09IChwcm9wcy5wcmVmaXggPz8gXCJcIilcbiAgICAgICYmIHRoaXMuem9uZSA9PT0gcHJvcFpvbmVTdHJcbiAgICAgICYmIHRoaXMucHJpdmF0ZVpvbmUgPT09IChwcm9wcy5wcml2YXRlWm9uZSA/PyBmYWxzZSlcbiAgICAgICYmIHRoaXMudnBjSWQgPT09IHByb3BzLnZwY0lkXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc3RyaW5nIHZlcnNpb24gb2YgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnByZWZpeCA9PSBcIlwiID8gXCJcIiA6IHRoaXMucHJlZml4ICsgXCIuXCIpICsgdGhpcy56b25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmcmllbmRseSBpZGVudGlmaWVyIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9JZGVudGlmaWVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoKS5yZXBsYWNlKC9cXC4vLCBcIi1cIikucmVwbGFjZSgvXFwqLywgXCJ3aWxkY2FyZFwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgZ2V0Wm9uZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm91dGU1MyBob3N0ZWQgem9uZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4gbmFtZS5cbiAgICogVGhpcyBtZXRob2QgaXMgc2FmZSB0byBjYWxsIHJlcGVhdGVkbHksIHRoZSBsb29rdXAgd2lsbCBvbmx5IGJlIGRvbmUgb25jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byB1c2UgaWYgYSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGlkIGFuIG9wdGlvbmFsIElEIGlmIGEgbG9va3VwIGlzIHJlcXVpcmVkOyBvbmUgaXMgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZFxuICAgKi9cbiAgZ2V0SG9zdGVkWm9uZShzY29wZTogQ29uc3RydWN0LCBpZD86IHN0cmluZykgOiBJSG9zdGVkWm9uZSB7XG4gICAgaWYgKHRoaXMuaG9zdGVkWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmhvc3RlZFpvbmUgPSBIb3N0ZWRab25lLmZyb21Mb29rdXAoc2NvcGUsIGlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LXpvbmVgLCB7XG4gICAgICAgIGRvbWFpbk5hbWU6IHRoaXMuem9uZSxcbiAgICAgICAgcHJpdmF0ZVpvbmU6IHRoaXMucHJpdmF0ZVpvbmUsXG4gICAgICAgIHZwY0lkOiB0aGlzLnZwY0lkXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaG9zdGVkWm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUm91dGU1MyBBUmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBBUmVjb3JkKHNjb3BlLCBvcHRpb25zPy5pZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHR0bDogb3B0aW9ucz8udHRsLFxuICAgICAgdGFyZ2V0XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHdlaWdodGVkIFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0OyBkZWZhdWx0cyB0byAwXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZEFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQsIHdlaWdodD86IG51bWJlcik6IFdlaWdodGVkQVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBXZWlnaHRlZEFSZWNvcmQoc2NvcGUsIGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWFyZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgd2VpZ2h0XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGxhdGVuY3kgUm91dGU1MyByZWNvcmQgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IG9mIHRoZSByZWNvcmRcbiAgICovXG4gIGNyZWF0ZUxhdGVuY3lBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0KTogTGF0ZW5jeUFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgTGF0ZW5jeUFSZWNvcmQoc2NvcGUsIGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWFyZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBQ00gY2VydGlmaWNhdGUgZm9yIHRoZSBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gb3B0cyBhZGRpdGlvbmFsIG9wdGlvbnNcbiAgICovXG4gIGNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIG9wdHM/OiBDZXJ0aWZpY2F0ZU9wdGlvbnMpOiBDZXJ0aWZpY2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgb3B0cz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tY2VydGAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSkpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IG9wdHM/LnN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIHRvIERvbWFpbk5hbWUuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZW1wdHkgYXJyYXlcbiAgICogaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIGZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHM/OiBEb21haW5OYW1lUHJvcHNbXSkgOiBEb21haW5OYW1lW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZVByb3BzLm1hcChwID0+IG5ldyBEb21haW5OYW1lKHApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERvbWFpbk5hbWUgZnJvbSBhIGZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZSBhbmQgYSB6b25lLlxuICAgKlxuICAgKiBAcGFyYW0gZnFkbiB0aGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lXG4gICAqIEBwYXJhbSB6b25lIHRoZSB6b25lXG4gICAqL1xuICBzdGF0aWMgZnJvbUZxZG4oZnFkbjogc3RyaW5nLCB6b25lOiBJSG9zdGVkWm9uZSB8IHN0cmluZywgcHJpdmF0ZVpvbmU/OiBib29sZWFuLCB2cGNJZD86IHN0cmluZyk6IERvbWFpbk5hbWUge1xuICAgIGNvbnN0IHByZWZpeCA9IGZxZG4ucmVwbGFjZSh0eXBlb2Ygem9uZSA9PT0gXCJzdHJpbmdcIiA/IHpvbmUgOiB6b25lLnpvbmVOYW1lLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoL1xcLiQvLCBcIlwiKTtcbiAgICByZXR1cm4gbmV3IERvbWFpbk5hbWUoe1xuICAgICAgcHJlZml4LCB6b25lLCBwcml2YXRlWm9uZSwgdnBjSWRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBhblxuICAgKiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3MoZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lcyA9PT0gdW5kZWZpbmVkID8gW10gOiBkb21haW5OYW1lcy5tYXAoZCA9PiBkLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBhbiBhcnJheSBvZiBzdHJpbmdzLiBUaGlzIGZ1bmN0aW9uIHdpbGxcbiAgICogcmV0dXJuIGFuIGVtcHR5IGFycmF5IGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3NGcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogRG9tYWluTmFtZS50b1N0cmluZ3MoRG9tYWluTmFtZS5mcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlIHZhbHVlXG4gICAqIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLiBUaGlzIGZ1bmN0aW9uXG4gICAqIGlzIHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgbGlrZSBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB1c2VkIGlmIGEgem9uZSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBEb21haW5OYW1lIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvWm9uZU1hcChzY29wZTogQ29uc3RydWN0LCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICBjb25zdCBtYXA6IHtba2V5OiBzdHJpbmddOiBJSG9zdGVkWm9uZX0gPSB7fVxuICAgIGlmIChkb21haW5OYW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb21haW5OYW1lcy5mb3JFYWNoKGQgPT4ge1xuICAgICAgICBtYXBbZC50b1N0cmluZygpXSA9IGQuZ2V0SG9zdGVkWm9uZShzY29wZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlXG4gICAqIHZhbHVlIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC4gVGhpc1xuICAgKiBmdW5jdGlvbiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXBGcm9tUHJvcHMoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZVByb3BzOiBEb21haW5OYW1lUHJvcHNbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICByZXR1cm4gRG9tYWluTmFtZS50b1pvbmVNYXAoc2NvcGUsIERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBkb21haW4gbmFtZSBtYXRjaGluZyB0aGUgZ2l2ZW4gcHJvcGVydGllcyBpbiBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyB0byBjb21wYXJlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHNlYXJjaFxuICAgKiBAcmV0dXJuIHRoZSBtYXRjaGluZyBkb21haW4gbmFtZSBvciB1bmRlZmluZWRcbiAgICovXG4gIHN0YXRpYyBmaW5kRG9tYWluTmFtZShwcm9wczogRG9tYWluTmFtZVByb3BzLCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSk6IERvbWFpbk5hbWUgfCB1bmRlZmluZWQge1xuICAgIGZvciAobGV0IGRvbWFpbk5hbWUgb2YgZG9tYWluTmFtZXMgPz8gW10pIHtcbiAgICAgIGlmIChkb21haW5OYW1lLnByb3BzTWF0Y2gocHJvcHMpKSB7XG4gICAgICAgIHJldHVybiBkb21haW5OYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNlcnRpZmljYXRlIGZyb20gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkZW50aWZpZXIgdG8gdXNlIGluIHRoZSBzY29wZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHVzZSBpbiB0aGUgY2VydGlmaWNhdGVcbiAgICovXG4gIHN0YXRpYyBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkb21haW5OYW1lczogRG9tYWluTmFtZVtdKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIGlkLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lc1swXS50b1N0cmluZygpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IGRvbWFpbk5hbWVzLnNsaWNlKDEpLm1hcChuYW1lID0+IG5hbWUudG9TdHJpbmcoKSksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZShEb21haW5OYW1lLnRvWm9uZU1hcChzY29wZSwgZG9tYWluTmFtZXMpKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwrRUFBc0Y7QUFFdEYsMkNBQTJDO0FBMkUzQzs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxL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QUMsUUFBUSxFQUFFO1lBQ3JDLHVCQUF1QixFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFFLFVBQVUsRUFBRSw4Q0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztTQUM3RixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFsUkQsZ0NBa1JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUmVjb3JkLCBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtXZWlnaHRlZEFSZWNvcmR9IGZyb20gXCIuL3dlaWdodGVkLWEtcmVjb3JkXCI7XG5pbXBvcnQge0xhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi9sYXRlbmN5LWEtcmVjb3JkXCI7XG5pbXBvcnQge0NlcnRpZmljYXRlLCBDZXJ0aWZpY2F0ZVZhbGlkYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7U3RyaW5nSGVscGVyfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIERvbWFpbk5hbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBwcmVmaXguXG4gICAqXG4gICAqIEBkZWZhdWx0IGVtcHR5IHN0cmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBab25lIGZvciB0aGUgZG9tYWluIG5hbmUuXG4gICAqL1xuICByZWFkb25seSB6b25lOiBzdHJpbmcgfCBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogRmxhZyB0byBtYXJrIHpvbmUgYXMgcHJpdmF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVlBDIHRoZSB6b25lIGJlbG9uZ3MgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQUNNIGNlcnRpZmljYXRlIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZXJ0aWZpY2F0ZU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciB0byB1c2UuXG4gICAqXG4gICAqIEBkZWZhdWx0ICR7dGhpcy50b0lkZW50aWZpZXIoKX0tY2VydFxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIGRvbWFpbiBuYW1lcyBvbiB0aGUgY2VydGlmaWNhdGUuXG4gICAqL1xuICByZWFkb25seSBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFSZWNvcmRPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgdG8gdXNlLiBPbmUgaXMgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgcmVjb3JkIGNhY2hlIHRpbWUgdG8gbGl2ZSAoVFRMKS5cbiAgICovXG4gIHJlYWRvbmx5IHR0bD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBIGNvbW1lbnQgdG8gYWRkIG9uIHRoZSByZWNvcmQuXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRlbGV0ZSB0aGUgc2FtZSByZWNvcmQgc2V0IGluIHRoZSBob3N0ZWQgem9uZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUV4aXN0aW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIGZvciBob2xkaW5nIGRvbWFpbiBuYW1lIGluZm9ybWF0aW9uIGFuZFxuICogZG9pbmcgdXNlZnVsIHRoaW5ncyB3aXRoIGl0LlxuICovXG5leHBvcnQgY2xhc3MgRG9tYWluTmFtZSB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgem9uZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgaG9zdGVkWm9uZT86IElIb3N0ZWRab25lO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJpdmF0ZVpvbmU6IGJvb2xlYW47XG4gIHByb3RlY3RlZCByZWFkb25seSB2cGNJZD86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBEb21haW5OYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGRvbWFpbiBuYW1lXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRG9tYWluTmFtZVByb3BzKSB7XG4gICAgdGhpcy5wcmVmaXggPSBwcm9wcy5wcmVmaXggPz8gXCJcIjtcbiAgICBpZiAodHlwZW9mIHByb3BzLnpvbmUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRoaXMuem9uZSA9IHByb3BzLnpvbmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZSA9IHByb3BzLnpvbmU7XG4gICAgICB0aGlzLnpvbmUgPSB0aGlzLmhvc3RlZFpvbmUuem9uZU5hbWU7XG4gICAgfVxuICAgIHRoaXMucHJpdmF0ZVpvbmUgPSBwcm9wcy5wcml2YXRlWm9uZSA/PyBmYWxzZTtcbiAgICB0aGlzLnZwY0lkID0gcHJvcHMudnBjSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcHJlZml4IGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgZ2V0UHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJlZml4O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgem9uZSBpcyBwcml2YXRlLiBGYWxzZSBpZiBvdGhlcndpc2UuXG4gICAqL1xuICBpblByaXZhdGVab25lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByaXZhdGVab25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZwYyBJRCBmb3IgdGhpcyB6b25lIG9yIHVuZGVmaW5lZCBpZiBvbmUgZG9lcyBub3QgZXhpc3RcbiAgICovXG4gIGdldFZwY0lkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudnBjSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wcyBtYXRjaCB0aGUgZG9tYWluIG5hbWUuIEZhbHNlIGlmIG90aGVyd2lzZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wcyB0byBjb21wYXJlXG4gICAqL1xuICBwcm9wc01hdGNoKHByb3BzOiBEb21haW5OYW1lUHJvcHMpOiBib29sZWFuIHtcbiAgICBsZXQgcHJvcFpvbmVTdHIgPSB0eXBlb2YgcHJvcHMuem9uZSA9PT0gXCJzdHJpbmdcIiA/IHByb3BzLnpvbmUgOiBwcm9wcy56b25lLnpvbmVOYW1lO1xuICAgIHJldHVybiB0aGlzLnByZWZpeCA9PT0gKHByb3BzLnByZWZpeCA/PyBcIlwiKVxuICAgICAgJiYgdGhpcy56b25lID09PSBwcm9wWm9uZVN0clxuICAgICAgJiYgdGhpcy5wcml2YXRlWm9uZSA9PT0gKHByb3BzLnByaXZhdGVab25lID8/IGZhbHNlKVxuICAgICAgJiYgdGhpcy52cGNJZCA9PT0gcHJvcHMudnBjSWRcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdHJpbmcgdmVyc2lvbiBvZiB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMucHJlZml4ID09IFwiXCIgPyBcIlwiIDogdGhpcy5wcmVmaXggKyBcIi5cIikgKyB0aGlzLnpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZyaWVuZGx5IGlkZW50aWZpZXIgZm9yIHRoaXMgZG9tYWluIG5hbWUuIFRoaXMgZnVuY3Rpb24gcmVwbGFjZXMgd2lsZGNhcmRzIHdpdGggXyBhbmQgcGVyaW9kcyB3aXRoIC1cbiAgICovXG4gIHRvSWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmdIZWxwZXIudG9QYXNjYWxDYXNlKHRoaXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG4gICAgICAucmVwbGFjZSgvXFwqL2csIFwid2lsZGNhcmRcIilcbiAgICAgIC5yZXBsYWNlKC9cXC4vZywgXCItXCIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgZ2V0Wm9uZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm91dGU1MyBob3N0ZWQgem9uZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4gbmFtZS5cbiAgICogVGhpcyBtZXRob2QgaXMgc2FmZSB0byBjYWxsIHJlcGVhdGVkbHksIHRoZSBsb29rdXAgd2lsbCBvbmx5IGJlIGRvbmUgb25jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byB1c2UgaWYgYSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGlkIGFuIG9wdGlvbmFsIElEIGlmIGEgbG9va3VwIGlzIHJlcXVpcmVkOyBvbmUgaXMgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZFxuICAgKi9cbiAgZ2V0SG9zdGVkWm9uZShzY29wZTogQ29uc3RydWN0LCBpZD86IHN0cmluZykgOiBJSG9zdGVkWm9uZSB7XG4gICAgaWYgKHRoaXMuaG9zdGVkWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmhvc3RlZFpvbmUgPSBIb3N0ZWRab25lLmZyb21Mb29rdXAoc2NvcGUsIGlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LXpvbmVgLCB7XG4gICAgICAgIGRvbWFpbk5hbWU6IHRoaXMuem9uZSxcbiAgICAgICAgcHJpdmF0ZVpvbmU6IHRoaXMucHJpdmF0ZVpvbmUsXG4gICAgICAgIHZwY0lkOiB0aGlzLnZwY0lkXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaG9zdGVkWm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUm91dGU1MyBBUmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBBUmVjb3JkKHNjb3BlLCBvcHRpb25zPy5pZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldCxcbiAgICAgIHR0bDogb3B0aW9ucz8udHRsLFxuICAgICAgY29tbWVudDogb3B0aW9ucz8uY29tbWVudCxcbiAgICAgIGRlbGV0ZUV4aXN0aW5nOiBvcHRpb25zPy5kZWxldGVFeGlzdGluZ1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB3ZWlnaHRlZCBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gd2VpZ2h0IHRoZSBpbml0aWFsIHdlaWdodFxuICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoZSByZWNvcmRcbiAgICovXG4gIGNyZWF0ZVdlaWdodGVkQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgd2VpZ2h0OiBudW1iZXIsIG9wdGlvbnM/OiBBUmVjb3JkT3B0aW9ucyk6IFdlaWdodGVkQVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBXZWlnaHRlZEFSZWNvcmQoc2NvcGUsIG9wdGlvbnM/LmlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWFyZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgd2VpZ2h0LFxuICAgICAgdHRsOiBvcHRpb25zPy50dGwsXG4gICAgICBjb21tZW50OiBvcHRpb25zPy5jb21tZW50LFxuICAgICAgZGVsZXRlRXhpc3Rpbmc6IG9wdGlvbnM/LmRlbGV0ZUV4aXN0aW5nXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGxhdGVuY3kgUm91dGU1MyByZWNvcmQgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IG9mIHRoZSByZWNvcmRcbiAgICogQHBhcmFtIG9wdGlvbnMgYWRkaXRpb25hbCBvcHRpb25zIGZvciBjcmVhdGluZyB0aGUgcmVjb3JkXG4gICAqL1xuICBjcmVhdGVMYXRlbmN5QVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogTGF0ZW5jeUFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgTGF0ZW5jeUFSZWNvcmQoc2NvcGUsIG9wdGlvbnM/LmlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWFyZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdHRsOiBvcHRpb25zPy50dGwsXG4gICAgICBjb21tZW50OiBvcHRpb25zPy5jb21tZW50LFxuICAgICAgZGVsZXRlRXhpc3Rpbmc6IG9wdGlvbnM/LmRlbGV0ZUV4aXN0aW5nXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBQ00gY2VydGlmaWNhdGUgZm9yIHRoZSBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gb3B0cyBhZGRpdGlvbmFsIG9wdGlvbnNcbiAgICovXG4gIGNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIG9wdHM/OiBDZXJ0aWZpY2F0ZU9wdGlvbnMpOiBDZXJ0aWZpY2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgb3B0cz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tY2VydGAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSkpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IG9wdHM/LnN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIHRvIERvbWFpbk5hbWUuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZW1wdHkgYXJyYXlcbiAgICogaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIGZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHM/OiBEb21haW5OYW1lUHJvcHNbXSkgOiBEb21haW5OYW1lW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZVByb3BzLm1hcChwID0+IG5ldyBEb21haW5OYW1lKHApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERvbWFpbk5hbWUgZnJvbSBhIGZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZSBhbmQgYSB6b25lLlxuICAgKlxuICAgKiBAcGFyYW0gZnFkbiB0aGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lXG4gICAqIEBwYXJhbSB6b25lIHRoZSB6b25lXG4gICAqL1xuICBzdGF0aWMgZnJvbUZxZG4oZnFkbjogc3RyaW5nLCB6b25lOiBJSG9zdGVkWm9uZSB8IHN0cmluZywgcHJpdmF0ZVpvbmU/OiBib29sZWFuLCB2cGNJZD86IHN0cmluZyk6IERvbWFpbk5hbWUge1xuICAgIGNvbnN0IHByZWZpeCA9IGZxZG4ucmVwbGFjZSh0eXBlb2Ygem9uZSA9PT0gXCJzdHJpbmdcIiA/IHpvbmUgOiB6b25lLnpvbmVOYW1lLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoL1xcLiQvLCBcIlwiKTtcbiAgICByZXR1cm4gbmV3IERvbWFpbk5hbWUoe1xuICAgICAgcHJlZml4LCB6b25lLCBwcml2YXRlWm9uZSwgdnBjSWRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBhblxuICAgKiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3MoZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lcyA9PT0gdW5kZWZpbmVkID8gW10gOiBkb21haW5OYW1lcy5tYXAoZCA9PiBkLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBhbiBhcnJheSBvZiBzdHJpbmdzLiBUaGlzIGZ1bmN0aW9uIHdpbGxcbiAgICogcmV0dXJuIGFuIGVtcHR5IGFycmF5IGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3NGcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogRG9tYWluTmFtZS50b1N0cmluZ3MoRG9tYWluTmFtZS5mcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlIHZhbHVlXG4gICAqIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLiBUaGlzIGZ1bmN0aW9uXG4gICAqIGlzIHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgbGlrZSBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB1c2VkIGlmIGEgem9uZSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBEb21haW5OYW1lIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvWm9uZU1hcChzY29wZTogQ29uc3RydWN0LCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICBjb25zdCBtYXA6IHtba2V5OiBzdHJpbmddOiBJSG9zdGVkWm9uZX0gPSB7fVxuICAgIGlmIChkb21haW5OYW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb21haW5OYW1lcy5mb3JFYWNoKGQgPT4ge1xuICAgICAgICBtYXBbZC50b1N0cmluZygpXSA9IGQuZ2V0SG9zdGVkWm9uZShzY29wZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlXG4gICAqIHZhbHVlIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC4gVGhpc1xuICAgKiBmdW5jdGlvbiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXBGcm9tUHJvcHMoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZVByb3BzOiBEb21haW5OYW1lUHJvcHNbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICByZXR1cm4gRG9tYWluTmFtZS50b1pvbmVNYXAoc2NvcGUsIERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBkb21haW4gbmFtZSBtYXRjaGluZyB0aGUgZ2l2ZW4gcHJvcGVydGllcyBpbiBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyB0byBjb21wYXJlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHNlYXJjaFxuICAgKiBAcmV0dXJuIHRoZSBtYXRjaGluZyBkb21haW4gbmFtZSBvciB1bmRlZmluZWRcbiAgICovXG4gIHN0YXRpYyBmaW5kRG9tYWluTmFtZShwcm9wczogRG9tYWluTmFtZVByb3BzLCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSk6IERvbWFpbk5hbWUgfCB1bmRlZmluZWQge1xuICAgIGZvciAobGV0IGRvbWFpbk5hbWUgb2YgZG9tYWluTmFtZXMgPz8gW10pIHtcbiAgICAgIGlmIChkb21haW5OYW1lLnByb3BzTWF0Y2gocHJvcHMpKSB7XG4gICAgICAgIHJldHVybiBkb21haW5OYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNlcnRpZmljYXRlIGZyb20gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkZW50aWZpZXIgdG8gdXNlIGluIHRoZSBzY29wZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHVzZSBpbiB0aGUgY2VydGlmaWNhdGVcbiAgICovXG4gIHN0YXRpYyBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkb21haW5OYW1lczogRG9tYWluTmFtZVtdKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIGlkLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lc1swXS50b1N0cmluZygpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IGRvbWFpbk5hbWVzLnNsaWNlKDEpLm1hcChuYW1lID0+IG5hbWUudG9TdHJpbmcoKSksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZShEb21haW5OYW1lLnRvWm9uZU1hcChzY29wZSwgZG9tYWluTmFtZXMpKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truemark-cdk-lib",
3
- "version": "1.2.4-alpha.13+15eb9ce",
3
+ "version": "1.2.4-alpha.15+46ba827",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "scripts": {
@@ -62,5 +62,5 @@
62
62
  "publishConfig": {
63
63
  "access": "public"
64
64
  },
65
- "gitHead": "15eb9ce057468ed06f2d81b2726ffb0dd6d28d06"
65
+ "gitHead": "46ba827ba09609e02aa3965d08e124a16be72c34"
66
66
  }