truemark-cdk-lib 1.0.1 → 1.0.2-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -145,6 +145,13 @@ export declare class DomainName {
145
145
  * @param domainNameProps the DomainNameProps objects to convert
146
146
  */
147
147
  static fromProps(domainNameProps?: DomainNameProps[]): DomainName[];
148
+ /**
149
+ * Creates an instance of DomainName from a fully qualified domain name and a zone.
150
+ *
151
+ * @param fqdn the fully qualified domain name
152
+ * @param zone the zone
153
+ */
154
+ static fromFqdn(fqdn: string, zone: IHostedZone | string, privateZone?: boolean, vpcId?: string): DomainName;
148
155
  /**
149
156
  * Converts an array of DomainName objects to an array of strings. This function will return an
150
157
  * empty array if domainNames is undefined.
@@ -175,6 +175,19 @@ class DomainName {
175
175
  static fromProps(domainNameProps) {
176
176
  return domainNameProps === undefined ? [] : domainNameProps.map(p => new DomainName(p));
177
177
  }
178
+ /**
179
+ * Creates an instance of DomainName from a fully qualified domain name and a zone.
180
+ *
181
+ * @param fqdn the fully qualified domain name
182
+ * @param zone the zone
183
+ */
184
+ static fromFqdn(fqdn, zone, privateZone, vpcId) {
185
+ const prefix = fqdn.replace(typeof zone === "string" ? zone : zone.zoneName, "")
186
+ .replace(/\.$/, "");
187
+ return new DomainName({
188
+ prefix, zone, privateZone, vpcId
189
+ });
190
+ }
178
191
  /**
179
192
  * Converts an array of DomainName objects to an array of strings. This function will return an
180
193
  * empty array if domainNames is undefined.
@@ -238,4 +251,4 @@ class DomainName {
238
251
  }
239
252
  }
240
253
  exports.DomainName = DomainName;
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwyRUFBbUU7QUFDbkUsK0VBQXNGO0FBb0R0Rjs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxL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Q0FDRjtBQXhQRCxnQ0F3UEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FSZWNvcmQsIEhvc3RlZFpvbmUsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1dlaWdodGVkQVJlY29yZH0gZnJvbSBcIi4vd2VpZ2h0ZWQtYS1yZWNvcmRcIjtcbmltcG9ydCB7TGF0ZW5jeUFSZWNvcmR9IGZyb20gXCIuL2xhdGVuY3ktYS1yZWNvcmRcIjtcbmltcG9ydCB7V2VpZ2h0ZWRMYXRlbmN5QVJlY29yZH0gZnJvbSBcIi4vd2VpZ2h0ZWQtbGF0ZW5jeS1hLXJlY29yZFwiO1xuaW1wb3J0IHtDZXJ0aWZpY2F0ZSwgQ2VydGlmaWNhdGVWYWxpZGF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIERvbWFpbk5hbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBwcmVmaXguXG4gICAqXG4gICAqIEBkZWZhdWx0IGVtcHR5IHN0cmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBab25lIGZvciB0aGUgZG9tYWluIG5hbmUuXG4gICAqL1xuICByZWFkb25seSB6b25lOiBzdHJpbmcgfCBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogRmxhZyB0byBtYXJrIHpvbmUgYXMgcHJpdmF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVlBDIHRoZSB6b25lIGJlbG9uZ3MgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQUNNIGNlcnRpZmljYXRlIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZXJ0aWZpY2F0ZU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciB0byB1c2UuXG4gICAqXG4gICAqIEBkZWZhdWx0ICR7dGhpcy50b0lkZW50aWZpZXIoKX0tY2VydFxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIGRvbWFpbiBuYW1lcyBvbiB0aGUgY2VydGlmaWNhdGUuXG4gICAqL1xuICByZWFkb25seSBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIGhvbGRpbmcgZG9tYWluIG5hbWUgaW5mb3JtYXRpb24gYW5kXG4gKiBkb2luZyB1c2VmdWwgdGhpbmdzIHdpdGggaXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb21haW5OYW1lIHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZWFkb25seSB6b25lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBob3N0ZWRab25lPzogSUhvc3RlZFpvbmU7XG4gIHByb3RlY3RlZCByZWFkb25seSBwcml2YXRlWm9uZTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IERvbWFpbk5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyBvZiB0aGUgZG9tYWluIG5hbWVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBEb21haW5OYW1lUHJvcHMpIHtcbiAgICB0aGlzLnByZWZpeCA9IHByb3BzLnByZWZpeCA/PyBcIlwiO1xuICAgIGlmICh0eXBlb2YgcHJvcHMuem9uZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgdGhpcy56b25lID0gcHJvcHMuem9uZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gcHJvcHMuem9uZTtcbiAgICAgIHRoaXMuem9uZSA9IHRoaXMuaG9zdGVkWm9uZS56b25lTmFtZTtcbiAgICB9XG4gICAgdGhpcy5wcml2YXRlWm9uZSA9IHByb3BzLnByaXZhdGVab25lID8/IGZhbHNlO1xuICAgIHRoaXMudnBjSWQgPSBwcm9wcy52cGNJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwcmVmaXggZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBnZXRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB6b25lIGlzIHByaXZhdGUuIEZhbHNlIGlmIG90aGVyd2lzZS5cbiAgICovXG4gIGluUHJpdmF0ZVpvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJpdmF0ZVpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdnBjIElEIGZvciB0aGlzIHpvbmUgb3IgdW5kZWZpbmVkIGlmIG9uZSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0VnBjSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52cGNJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3BzIG1hdGNoIHRoZSBkb21haW4gbmFtZS4gRmFsc2UgaWYgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BzIHRvIGNvbXBhcmVcbiAgICovXG4gIHByb3BzTWF0Y2gocHJvcHM6IERvbWFpbk5hbWVQcm9wcyk6IGJvb2xlYW4ge1xuICAgIGxldCBwcm9wWm9uZVN0ciA9IHR5cGVvZiBwcm9wcy56b25lID09PSBcInN0cmluZ1wiID8gcHJvcHMuem9uZSA6IHByb3BzLnpvbmUuem9uZU5hbWU7XG4gICAgcmV0dXJuIHRoaXMucHJlZml4ID09PSAocHJvcHMucHJlZml4ID8/IFwiXCIpXG4gICAgICAmJiB0aGlzLnpvbmUgPT09IHByb3Bab25lU3RyXG4gICAgICAmJiB0aGlzLnByaXZhdGVab25lID09PSAocHJvcHMucHJpdmF0ZVpvbmUgPz8gZmFsc2UpXG4gICAgICAmJiB0aGlzLnZwY0lkID09PSBwcm9wcy52cGNJZFxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHN0cmluZyB2ZXJzaW9uIG9mIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5wcmVmaXggPT0gXCJcIiA/IFwiXCIgOiB0aGlzLnByZWZpeCArIFwiLlwiKSArIHRoaXMuem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZnJpZW5kbHkgaWRlbnRpZmllciBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIHRvSWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCkucmVwbGFjZShcIi5cIiwgXCItXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBnZXRab25lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByb3V0ZTUzIGhvc3RlZCB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKiBUaGlzIG1ldGhvZCBpcyBzYWZlIHRvIGNhbGwgcmVwZWF0ZWRseSwgdGhlIGxvb2t1cCB3aWxsIG9ubHkgYmUgZG9uZSBvbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZSBpZiBhIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gaWQgYW4gb3B0aW9uYWwgSUQgaWYgYSBsb29rdXAgaXMgcmVxdWlyZWQ7IG9uZSBpcyBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkXG4gICAqL1xuICBnZXRIb3N0ZWRab25lKHNjb3BlOiBDb25zdHJ1Y3QsIGlkPzogc3RyaW5nKSA6IElIb3N0ZWRab25lIHtcbiAgICBpZiAodGhpcy5ob3N0ZWRab25lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUxvb2t1cChzY29wZSwgaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tem9uZWAsIHtcbiAgICAgICAgZG9tYWluTmFtZTogdGhpcy56b25lLFxuICAgICAgICBwcml2YXRlWm9uZTogdGhpcy5wcml2YXRlWm9uZSxcbiAgICAgICAgdnBjSWQ6IHRoaXMudnBjSWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ob3N0ZWRab25lO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBSb3V0ZTUzIEFSZWNvcmQgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IG9mIHRoZSByZWNvcmRcbiAgICogQHBhcmFtIGlkIHRoZSBvcHRpb25hbCBpZCBmb3IgdGhlIHJlY29yZDsgaWYgbm90IHByb3ZpZGVkLCBvbmUgaXMgZ2VuZXJhdGVkXG4gICAqL1xuICBjcmVhdGVBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCBpZD86IHN0cmluZyk6IEFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgQVJlY29yZChzY29wZSwgaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgd2VpZ2h0ZWQgUm91dGU1MyByZWNvcmQgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IG9mIHRoZSByZWNvcmRcbiAgICogQHBhcmFtIHdlaWdodCB0aGUgaW5pdGlhbCB3ZWlnaHQ7IGRlZmF1bHRzIHRvIDBcbiAgICovXG4gIGNyZWF0ZVdlaWdodGVkQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgd2VpZ2h0PzogbnVtYmVyKTogV2VpZ2h0ZWRBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IFdlaWdodGVkQVJlY29yZChzY29wZSwgYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXQsXG4gICAgICB3ZWlnaHRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbGF0ZW5jeSBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlTGF0ZW5jeUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQpOiBMYXRlbmN5QVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBMYXRlbmN5QVJlY29yZChzY29wZSwgYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgd2VpZ2h0ZWQgbGF0ZW5jeSBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gd2VpZ2h0IHRoZSBpbml0aWFsIHdlaWdodDsgZGVmYXVsdHMgdG8gMFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgd2VpZ2h0PzogbnVtYmVyKTogV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBXZWlnaHRlZExhdGVuY3lBUmVjb3JkKHNjb3BlLCBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldCxcbiAgICAgIHdlaWdodFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gQUNNIGNlcnRpZmljYXRlIGZvciB0aGUgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIG9wdHMgYWRkaXRpb25hbCBvcHRpb25zXG4gICAqL1xuICBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBvcHRzPzogQ2VydGlmaWNhdGVPcHRpb25zKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIG9wdHM/LmlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWNlcnRgLCB7XG4gICAgICBkb21haW5OYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyh0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpKSxcbiAgICAgIHN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzOiBvcHRzPy5zdWJqZWN0QWx0ZXJuYXRpdmVOYW1lc1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBEb21haW5OYW1lLiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFuIGVtcHR5IGFycmF5XG4gICAqIGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyBmcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogRG9tYWluTmFtZVtdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZVByb3BzID09PSB1bmRlZmluZWQgPyBbXSA6IGRvbWFpbk5hbWVQcm9wcy5tYXAocCA9PiBuZXcgRG9tYWluTmFtZShwKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGFuIGFycmF5IG9mIHN0cmluZ3MuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW5cbiAgICogZW1wdHkgYXJyYXkgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIERvbWFpbk5hbWUgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9TdHJpbmdzKGRvbWFpbk5hbWVzPzogRG9tYWluTmFtZVtdKSA6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZXMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZXMubWFwKGQgPT4gZC50b1N0cmluZygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lUHJvcHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsXG4gICAqIHJldHVybiBhbiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lUHJvcHMgaXMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9TdHJpbmdzRnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcz86IERvbWFpbk5hbWVQcm9wc1tdKSA6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZVByb3BzID09PSB1bmRlZmluZWQgPyBbXSA6IERvbWFpbk5hbWUudG9TdHJpbmdzKERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWUgb2JqZWN0cyB0byBhIG1hcCB3aGVyZSB0aGUga2V5IGlzIHRoZSBkb21haW4gbmFtZSBzdHJpbmcgYW5kIHRoZSB2YWx1ZVxuICAgKiBpcyBhbiBJSG9zdGVkWm9uZS4gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gZW1wdHkgbWFwIGlmIGRvbWFpbk5hbWVzIGlzIHVuZGVmaW5lZC4gVGhpcyBmdW5jdGlvblxuICAgKiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXAoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogeyBbZG9tYWluTmFtZTogc3RyaW5nXTogSUhvc3RlZFpvbmUgfSB7XG4gICAgY29uc3QgbWFwOiB7W2tleTogc3RyaW5nXTogSUhvc3RlZFpvbmV9ID0ge31cbiAgICBpZiAoZG9tYWluTmFtZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9tYWluTmFtZXMuZm9yRWFjaChkID0+IHtcbiAgICAgICAgbWFwW2QudG9TdHJpbmcoKV0gPSBkLmdldEhvc3RlZFpvbmUoc2NvcGUpXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBhIG1hcCB3aGVyZSB0aGUga2V5IGlzIHRoZSBkb21haW4gbmFtZSBzdHJpbmcgYW5kIHRoZVxuICAgKiB2YWx1ZSBpcyBhbiBJSG9zdGVkWm9uZS4gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gZW1wdHkgbWFwIGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuIFRoaXNcbiAgICogZnVuY3Rpb24gaXMgdXNlZnVsIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGZ1bmN0aW9ucyBsaWtlIENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHVzZWQgaWYgYSB6b25lIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9ab25lTWFwRnJvbVByb3BzKHNjb3BlOiBDb25zdHJ1Y3QsIGRvbWFpbk5hbWVQcm9wczogRG9tYWluTmFtZVByb3BzW10pIDogeyBbZG9tYWluTmFtZTogc3RyaW5nXTogSUhvc3RlZFpvbmUgfSB7XG4gICAgcmV0dXJuIERvbWFpbk5hbWUudG9ab25lTWFwKHNjb3BlLCBEb21haW5OYW1lLmZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgZG9tYWluIG5hbWUgbWF0Y2hpbmcgdGhlIGdpdmVuIHByb3BlcnRpZXMgaW4gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXMgdG8gY29tcGFyZVxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIGRvbWFpbiBuYW1lcyB0byBzZWFyY2hcbiAgICogQHJldHVybiB0aGUgbWF0Y2hpbmcgZG9tYWluIG5hbWUgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBzdGF0aWMgZmluZERvbWFpbk5hbWUocHJvcHM6IERvbWFpbk5hbWVQcm9wcywgZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pOiBEb21haW5OYW1lIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBkb21haW5OYW1lIG9mIGRvbWFpbk5hbWVzID8/IFtdKSB7XG4gICAgICBpZiAoZG9tYWluTmFtZS5wcm9wc01hdGNoKHByb3BzKSkge1xuICAgICAgICByZXR1cm4gZG9tYWluTmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwyRUFBbUU7QUFDbkUsK0VBQXNGO0FBb0R0Rjs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxL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RUFBRSxlQUFrQztRQUM1RSxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFzQixFQUFFLFdBQTBCO1FBQ3RFLEtBQUssSUFBSSxVQUFVLElBQUksV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLEdBQUksRUFBRSxFQUFFO1lBQ3hDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsT0FBTyxVQUFVLENBQUM7YUFDbkI7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQXRRRCxnQ0FzUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FSZWNvcmQsIEhvc3RlZFpvbmUsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1dlaWdodGVkQVJlY29yZH0gZnJvbSBcIi4vd2VpZ2h0ZWQtYS1yZWNvcmRcIjtcbmltcG9ydCB7TGF0ZW5jeUFSZWNvcmR9IGZyb20gXCIuL2xhdGVuY3ktYS1yZWNvcmRcIjtcbmltcG9ydCB7V2VpZ2h0ZWRMYXRlbmN5QVJlY29yZH0gZnJvbSBcIi4vd2VpZ2h0ZWQtbGF0ZW5jeS1hLXJlY29yZFwiO1xuaW1wb3J0IHtDZXJ0aWZpY2F0ZSwgQ2VydGlmaWNhdGVWYWxpZGF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIERvbWFpbk5hbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBwcmVmaXguXG4gICAqXG4gICAqIEBkZWZhdWx0IGVtcHR5IHN0cmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBab25lIGZvciB0aGUgZG9tYWluIG5hbmUuXG4gICAqL1xuICByZWFkb25seSB6b25lOiBzdHJpbmcgfCBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogRmxhZyB0byBtYXJrIHpvbmUgYXMgcHJpdmF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVlBDIHRoZSB6b25lIGJlbG9uZ3MgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQUNNIGNlcnRpZmljYXRlIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZXJ0aWZpY2F0ZU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciB0byB1c2UuXG4gICAqXG4gICAqIEBkZWZhdWx0ICR7dGhpcy50b0lkZW50aWZpZXIoKX0tY2VydFxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIGRvbWFpbiBuYW1lcyBvbiB0aGUgY2VydGlmaWNhdGUuXG4gICAqL1xuICByZWFkb25seSBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIGhvbGRpbmcgZG9tYWluIG5hbWUgaW5mb3JtYXRpb24gYW5kXG4gKiBkb2luZyB1c2VmdWwgdGhpbmdzIHdpdGggaXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb21haW5OYW1lIHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZWFkb25seSB6b25lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBob3N0ZWRab25lPzogSUhvc3RlZFpvbmU7XG4gIHByb3RlY3RlZCByZWFkb25seSBwcml2YXRlWm9uZTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IERvbWFpbk5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyBvZiB0aGUgZG9tYWluIG5hbWVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBEb21haW5OYW1lUHJvcHMpIHtcbiAgICB0aGlzLnByZWZpeCA9IHByb3BzLnByZWZpeCA/PyBcIlwiO1xuICAgIGlmICh0eXBlb2YgcHJvcHMuem9uZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgdGhpcy56b25lID0gcHJvcHMuem9uZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gcHJvcHMuem9uZTtcbiAgICAgIHRoaXMuem9uZSA9IHRoaXMuaG9zdGVkWm9uZS56b25lTmFtZTtcbiAgICB9XG4gICAgdGhpcy5wcml2YXRlWm9uZSA9IHByb3BzLnByaXZhdGVab25lID8/IGZhbHNlO1xuICAgIHRoaXMudnBjSWQgPSBwcm9wcy52cGNJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwcmVmaXggZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBnZXRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB6b25lIGlzIHByaXZhdGUuIEZhbHNlIGlmIG90aGVyd2lzZS5cbiAgICovXG4gIGluUHJpdmF0ZVpvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJpdmF0ZVpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdnBjIElEIGZvciB0aGlzIHpvbmUgb3IgdW5kZWZpbmVkIGlmIG9uZSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0VnBjSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52cGNJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3BzIG1hdGNoIHRoZSBkb21haW4gbmFtZS4gRmFsc2UgaWYgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BzIHRvIGNvbXBhcmVcbiAgICovXG4gIHByb3BzTWF0Y2gocHJvcHM6IERvbWFpbk5hbWVQcm9wcyk6IGJvb2xlYW4ge1xuICAgIGxldCBwcm9wWm9uZVN0ciA9IHR5cGVvZiBwcm9wcy56b25lID09PSBcInN0cmluZ1wiID8gcHJvcHMuem9uZSA6IHByb3BzLnpvbmUuem9uZU5hbWU7XG4gICAgcmV0dXJuIHRoaXMucHJlZml4ID09PSAocHJvcHMucHJlZml4ID8/IFwiXCIpXG4gICAgICAmJiB0aGlzLnpvbmUgPT09IHByb3Bab25lU3RyXG4gICAgICAmJiB0aGlzLnByaXZhdGVab25lID09PSAocHJvcHMucHJpdmF0ZVpvbmUgPz8gZmFsc2UpXG4gICAgICAmJiB0aGlzLnZwY0lkID09PSBwcm9wcy52cGNJZFxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHN0cmluZyB2ZXJzaW9uIG9mIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5wcmVmaXggPT0gXCJcIiA/IFwiXCIgOiB0aGlzLnByZWZpeCArIFwiLlwiKSArIHRoaXMuem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZnJpZW5kbHkgaWRlbnRpZmllciBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIHRvSWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCkucmVwbGFjZShcIi5cIiwgXCItXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBnZXRab25lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByb3V0ZTUzIGhvc3RlZCB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKiBUaGlzIG1ldGhvZCBpcyBzYWZlIHRvIGNhbGwgcmVwZWF0ZWRseSwgdGhlIGxvb2t1cCB3aWxsIG9ubHkgYmUgZG9uZSBvbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZSBpZiBhIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gaWQgYW4gb3B0aW9uYWwgSUQgaWYgYSBsb29rdXAgaXMgcmVxdWlyZWQ7IG9uZSBpcyBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkXG4gICAqL1xuICBnZXRIb3N0ZWRab25lKHNjb3BlOiBDb25zdHJ1Y3QsIGlkPzogc3RyaW5nKSA6IElIb3N0ZWRab25lIHtcbiAgICBpZiAodGhpcy5ob3N0ZWRab25lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUxvb2t1cChzY29wZSwgaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tem9uZWAsIHtcbiAgICAgICAgZG9tYWluTmFtZTogdGhpcy56b25lLFxuICAgICAgICBwcml2YXRlWm9uZTogdGhpcy5wcml2YXRlWm9uZSxcbiAgICAgICAgdnBjSWQ6IHRoaXMudnBjSWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ob3N0ZWRab25lO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBSb3V0ZTUzIEFSZWNvcmQgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IG9mIHRoZSByZWNvcmRcbiAgICogQHBhcmFtIGlkIHRoZSBvcHRpb25hbCBpZCBmb3IgdGhlIHJlY29yZDsgaWYgbm90IHByb3ZpZGVkLCBvbmUgaXMgZ2VuZXJhdGVkXG4gICAqL1xuICBjcmVhdGVBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCBpZD86IHN0cmluZyk6IEFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgQVJlY29yZChzY29wZSwgaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgd2VpZ2h0ZWQgUm91dGU1MyByZWNvcmQgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IG9mIHRoZSByZWNvcmRcbiAgICogQHBhcmFtIHdlaWdodCB0aGUgaW5pdGlhbCB3ZWlnaHQ7IGRlZmF1bHRzIHRvIDBcbiAgICovXG4gIGNyZWF0ZVdlaWdodGVkQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgd2VpZ2h0PzogbnVtYmVyKTogV2VpZ2h0ZWRBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IFdlaWdodGVkQVJlY29yZChzY29wZSwgYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXQsXG4gICAgICB3ZWlnaHRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbGF0ZW5jeSBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlTGF0ZW5jeUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQpOiBMYXRlbmN5QVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBMYXRlbmN5QVJlY29yZChzY29wZSwgYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgd2VpZ2h0ZWQgbGF0ZW5jeSBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gd2VpZ2h0IHRoZSBpbml0aWFsIHdlaWdodDsgZGVmYXVsdHMgdG8gMFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgd2VpZ2h0PzogbnVtYmVyKTogV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBXZWlnaHRlZExhdGVuY3lBUmVjb3JkKHNjb3BlLCBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS1hcmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldCxcbiAgICAgIHdlaWdodFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gQUNNIGNlcnRpZmljYXRlIGZvciB0aGUgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIG9wdHMgYWRkaXRpb25hbCBvcHRpb25zXG4gICAqL1xuICBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBvcHRzPzogQ2VydGlmaWNhdGVPcHRpb25zKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIG9wdHM/LmlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LWNlcnRgLCB7XG4gICAgICBkb21haW5OYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyh0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpKSxcbiAgICAgIHN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzOiBvcHRzPy5zdWJqZWN0QWx0ZXJuYXRpdmVOYW1lc1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBEb21haW5OYW1lLiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFuIGVtcHR5IGFycmF5XG4gICAqIGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyBmcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogRG9tYWluTmFtZVtdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZVByb3BzID09PSB1bmRlZmluZWQgPyBbXSA6IGRvbWFpbk5hbWVQcm9wcy5tYXAocCA9PiBuZXcgRG9tYWluTmFtZShwKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBEb21haW5OYW1lIGZyb20gYSBmdWxseSBxdWFsaWZpZWQgZG9tYWluIG5hbWUgYW5kIGEgem9uZS5cbiAgICpcbiAgICogQHBhcmFtIGZxZG4gdGhlIGZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZVxuICAgKiBAcGFyYW0gem9uZSB0aGUgem9uZVxuICAgKi9cbiAgc3RhdGljIGZyb21GcWRuKGZxZG46IHN0cmluZywgem9uZTogSUhvc3RlZFpvbmUgfCBzdHJpbmcsIHByaXZhdGVab25lPzogYm9vbGVhbiwgdnBjSWQ/OiBzdHJpbmcpOiBEb21haW5OYW1lIHtcbiAgICBjb25zdCBwcmVmaXggPSBmcWRuLnJlcGxhY2UodHlwZW9mIHpvbmUgPT09IFwic3RyaW5nXCIgPyB6b25lIDogem9uZS56b25lTmFtZSwgXCJcIilcbiAgICAgIC5yZXBsYWNlKC9cXC4kLywgXCJcIik7XG4gICAgcmV0dXJuIG5ldyBEb21haW5OYW1lKHtcbiAgICAgIHByZWZpeCwgem9uZSwgcHJpdmF0ZVpvbmUsIHZwY0lkXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGFuIGFycmF5IG9mIHN0cmluZ3MuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW5cbiAgICogZW1wdHkgYXJyYXkgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIERvbWFpbk5hbWUgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9TdHJpbmdzKGRvbWFpbk5hbWVzPzogRG9tYWluTmFtZVtdKSA6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZXMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZXMubWFwKGQgPT4gZC50b1N0cmluZygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lUHJvcHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsXG4gICAqIHJldHVybiBhbiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lUHJvcHMgaXMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9TdHJpbmdzRnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcz86IERvbWFpbk5hbWVQcm9wc1tdKSA6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZG9tYWluTmFtZVByb3BzID09PSB1bmRlZmluZWQgPyBbXSA6IERvbWFpbk5hbWUudG9TdHJpbmdzKERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWUgb2JqZWN0cyB0byBhIG1hcCB3aGVyZSB0aGUga2V5IGlzIHRoZSBkb21haW4gbmFtZSBzdHJpbmcgYW5kIHRoZSB2YWx1ZVxuICAgKiBpcyBhbiBJSG9zdGVkWm9uZS4gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gZW1wdHkgbWFwIGlmIGRvbWFpbk5hbWVzIGlzIHVuZGVmaW5lZC4gVGhpcyBmdW5jdGlvblxuICAgKiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXAoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogeyBbZG9tYWluTmFtZTogc3RyaW5nXTogSUhvc3RlZFpvbmUgfSB7XG4gICAgY29uc3QgbWFwOiB7W2tleTogc3RyaW5nXTogSUhvc3RlZFpvbmV9ID0ge31cbiAgICBpZiAoZG9tYWluTmFtZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9tYWluTmFtZXMuZm9yRWFjaChkID0+IHtcbiAgICAgICAgbWFwW2QudG9TdHJpbmcoKV0gPSBkLmdldEhvc3RlZFpvbmUoc2NvcGUpXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBhIG1hcCB3aGVyZSB0aGUga2V5IGlzIHRoZSBkb21haW4gbmFtZSBzdHJpbmcgYW5kIHRoZVxuICAgKiB2YWx1ZSBpcyBhbiBJSG9zdGVkWm9uZS4gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gZW1wdHkgbWFwIGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuIFRoaXNcbiAgICogZnVuY3Rpb24gaXMgdXNlZnVsIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGZ1bmN0aW9ucyBsaWtlIENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHVzZWQgaWYgYSB6b25lIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9ab25lTWFwRnJvbVByb3BzKHNjb3BlOiBDb25zdHJ1Y3QsIGRvbWFpbk5hbWVQcm9wczogRG9tYWluTmFtZVByb3BzW10pIDogeyBbZG9tYWluTmFtZTogc3RyaW5nXTogSUhvc3RlZFpvbmUgfSB7XG4gICAgcmV0dXJuIERvbWFpbk5hbWUudG9ab25lTWFwKHNjb3BlLCBEb21haW5OYW1lLmZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgZG9tYWluIG5hbWUgbWF0Y2hpbmcgdGhlIGdpdmVuIHByb3BlcnRpZXMgaW4gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXMgdG8gY29tcGFyZVxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIGRvbWFpbiBuYW1lcyB0byBzZWFyY2hcbiAgICogQHJldHVybiB0aGUgbWF0Y2hpbmcgZG9tYWluIG5hbWUgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBzdGF0aWMgZmluZERvbWFpbk5hbWUocHJvcHM6IERvbWFpbk5hbWVQcm9wcywgZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pOiBEb21haW5OYW1lIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBkb21haW5OYW1lIG9mIGRvbWFpbk5hbWVzID8/IFtdKSB7XG4gICAgICBpZiAoZG9tYWluTmFtZS5wcm9wc01hdGNoKHByb3BzKSkge1xuICAgICAgICByZXR1cm4gZG9tYWluTmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Queue, QueueProps } from "aws-cdk-lib/aws-sqs";
1
+ import { IQueue, Queue, QueueProps } from "aws-cdk-lib/aws-sqs";
2
2
  import { Construct } from "constructs";
3
3
  import { QueueAlarms, QueueAlarmsOptions } from "./queue-alarms";
4
4
  /**
@@ -12,4 +12,12 @@ export interface ExtendedQueueProps extends QueueProps, QueueAlarmsOptions {
12
12
  export declare class ExtendedQueue extends Queue {
13
13
  readonly queueAlarms: QueueAlarms;
14
14
  constructor(scope: Construct, id: string, props: ExtendedQueueProps);
15
+ /**
16
+ * Helper method to find a queue by name. This method assumes the queue is in the same account and region as the stack.
17
+ *
18
+ * @param scope the scope
19
+ * @param id the identifier to use
20
+ * @param queueName the name of the queue
21
+ */
22
+ static fromQueueName(scope: Construct, id: string, queueName: string): IQueue;
15
23
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExtendedQueue = void 0;
4
4
  const aws_sqs_1 = require("aws-cdk-lib/aws-sqs");
5
5
  const queue_alarms_1 = require("./queue-alarms");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
6
7
  /**
7
8
  * Queue with CloudWatch alarms.
8
9
  */
@@ -14,6 +15,19 @@ class ExtendedQueue extends aws_sqs_1.Queue {
14
15
  ...props
15
16
  });
16
17
  }
18
+ /**
19
+ * Helper method to find a queue by name. This method assumes the queue is in the same account and region as the stack.
20
+ *
21
+ * @param scope the scope
22
+ * @param id the identifier to use
23
+ * @param queueName the name of the queue
24
+ */
25
+ static fromQueueName(scope, id, queueName) {
26
+ return aws_sqs_1.Queue.fromQueueArn(scope, id, aws_cdk_lib_1.Arn.format({
27
+ service: "sqs",
28
+ resource: queueName
29
+ }));
30
+ }
17
31
  }
18
32
  exports.ExtendedQueue = ExtendedQueue;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtcXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZC1xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBc0Q7QUFFdEQsaURBQStEO0FBTy9EOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsZUFBSztJQUl0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSwwQkFBVyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDakQsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFaRCxzQ0FZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UXVldWUsIFF1ZXVlUHJvcHN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3FzXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7UXVldWVBbGFybXMsIFF1ZXVlQWxhcm1zT3B0aW9uc30gZnJvbSBcIi4vcXVldWUtYWxhcm1zXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgT2JzZXJ2ZWRRdWV1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFF1ZXVlUHJvcHMgZXh0ZW5kcyBRdWV1ZVByb3BzLCBRdWV1ZUFsYXJtc09wdGlvbnMge31cblxuLyoqXG4gKiBRdWV1ZSB3aXRoIENsb3VkV2F0Y2ggYWxhcm1zLlxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5kZWRRdWV1ZSBleHRlbmRzIFF1ZXVlIHtcblxuICByZWFkb25seSBxdWV1ZUFsYXJtczogUXVldWVBbGFybXM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV4dGVuZGVkUXVldWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5xdWV1ZUFsYXJtcyA9IG5ldyBRdWV1ZUFsYXJtcyh0aGlzLCBcIkFsYXJtc1wiLCB7XG4gICAgICBxdWV1ZTogdGhpcyxcbiAgICAgIC4uLnByb3BzXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtcXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZC1xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBOEQ7QUFFOUQsaURBQStEO0FBQy9ELDZDQUFnQztBQU9oQzs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLGVBQUs7SUFJdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksMEJBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2pELEtBQUssRUFBRSxJQUFJO1lBQ1gsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBaUI7UUFDaEUsT0FBTyxlQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsaUJBQUcsQ0FBQyxNQUFNLENBQUM7WUFDOUMsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsU0FBUztTQUNwQixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Q0FDRjtBQTFCRCxzQ0EwQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lRdWV1ZSwgUXVldWUsIFF1ZXVlUHJvcHN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3FzXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7UXVldWVBbGFybXMsIFF1ZXVlQWxhcm1zT3B0aW9uc30gZnJvbSBcIi4vcXVldWUtYWxhcm1zXCI7XG5pbXBvcnQge0Fybn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgT2JzZXJ2ZWRRdWV1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFF1ZXVlUHJvcHMgZXh0ZW5kcyBRdWV1ZVByb3BzLCBRdWV1ZUFsYXJtc09wdGlvbnMge31cblxuLyoqXG4gKiBRdWV1ZSB3aXRoIENsb3VkV2F0Y2ggYWxhcm1zLlxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5kZWRRdWV1ZSBleHRlbmRzIFF1ZXVlIHtcblxuICByZWFkb25seSBxdWV1ZUFsYXJtczogUXVldWVBbGFybXM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV4dGVuZGVkUXVldWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5xdWV1ZUFsYXJtcyA9IG5ldyBRdWV1ZUFsYXJtcyh0aGlzLCBcIkFsYXJtc1wiLCB7XG4gICAgICBxdWV1ZTogdGhpcyxcbiAgICAgIC4uLnByb3BzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBmaW5kIGEgcXVldWUgYnkgbmFtZS4gVGhpcyBtZXRob2QgYXNzdW1lcyB0aGUgcXVldWUgaXMgaW4gdGhlIHNhbWUgYWNjb3VudCBhbmQgcmVnaW9uIGFzIHRoZSBzdGFjay5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkZW50aWZpZXIgdG8gdXNlXG4gICAqIEBwYXJhbSBxdWV1ZU5hbWUgdGhlIG5hbWUgb2YgdGhlIHF1ZXVlXG4gICAqL1xuICBzdGF0aWMgZnJvbVF1ZXVlTmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBxdWV1ZU5hbWU6IHN0cmluZyk6IElRdWV1ZSB7XG4gICAgICByZXR1cm4gUXVldWUuZnJvbVF1ZXVlQXJuKHNjb3BlLCBpZCwgQXJuLmZvcm1hdCh7XG4gICAgICAgIHNlcnZpY2U6IFwic3FzXCIsXG4gICAgICAgIHJlc291cmNlOiBxdWV1ZU5hbWVcbiAgICAgIH0pKTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truemark-cdk-lib",
3
- "version": "1.0.1",
3
+ "version": "1.0.2-alpha.2+e328cb1",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "scripts": {
@@ -56,5 +56,5 @@
56
56
  "publishConfig": {
57
57
  "access": "public"
58
58
  },
59
- "gitHead": "debdd0da076a97939b857db9688f4af1ed6f3c55"
59
+ "gitHead": "e328cb15ec21c1d12115e154ce08d413baf33e8b"
60
60
  }
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_helper_1 = require("../test-helper");
4
3
  const aws_route53_1 = require("../../aws-route53");
5
4
  test("Test propsMatch", () => {
6
5
  const domainName = new aws_route53_1.DomainName({
@@ -31,7 +30,6 @@ test("Test propsMatch", () => {
31
30
  expect(match).toBe(false);
32
31
  });
33
32
  test("Test findDomainName", () => {
34
- const stack = test_helper_1.TestHelper.stack();
35
33
  const domainName1 = new aws_route53_1.DomainName({
36
34
  prefix: "test1",
37
35
  zone: "example.com"
@@ -50,4 +48,9 @@ test("Test findDomainName", () => {
50
48
  expect(foundDomainName === null || foundDomainName === void 0 ? void 0 : foundDomainName.getPrefix()).toEqual("test2");
51
49
  expect(foundDomainName === null || foundDomainName === void 0 ? void 0 : foundDomainName.getZone()).toEqual("example.com");
52
50
  });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRvbWFpbi1uYW1lLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnREFBMEM7QUFDMUMsbURBQTZDO0FBRTdDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7SUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSx3QkFBVSxDQUFDO1FBQ2hDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUNoQyxNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxhQUFhO0tBQ3BCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDNUIsTUFBTSxFQUFFLE9BQU87UUFDZixJQUFJLEVBQUUsYUFBYTtRQUNuQixXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLEtBQUssR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQzVCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7UUFDbkIsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixLQUFLLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUM1QixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxhQUFhO0tBQ3BCLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsTUFBTSxXQUFXLEdBQUcsSUFBSSx3QkFBVSxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSx3QkFBVSxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSx3QkFBVSxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7UUFDbkIsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxlQUFlLEdBQUcsd0JBQVUsQ0FBQyxjQUFjLENBQy9DLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLEVBQ3RDLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxNQUFNLENBQUMsZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLFNBQVMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxNQUFNLENBQUMsZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGVzdEhlbHBlcn0gZnJvbSBcIi4uL3Rlc3QtaGVscGVyXCI7XG5pbXBvcnQge0RvbWFpbk5hbWV9IGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuXG50ZXN0KFwiVGVzdCBwcm9wc01hdGNoXCIsICgpID0+IHtcbiAgY29uc3QgZG9tYWluTmFtZSA9IG5ldyBEb21haW5OYW1lKHtcbiAgICBwcmVmaXg6IFwidGVzdDFcIixcbiAgICB6b25lOiBcImV4YW1wbGUuY29tXCJcbiAgfSk7XG4gIGxldCBtYXRjaCA9IGRvbWFpbk5hbWUucHJvcHNNYXRjaCh7XG4gICAgcHJlZml4OiBcInRlc3QxXCIsXG4gICAgem9uZTogXCJleGFtcGxlLmNvbVwiXG4gIH0pO1xuICBleHBlY3QobWF0Y2gpLnRvQmUodHJ1ZSk7XG4gIG1hdGNoID0gZG9tYWluTmFtZS5wcm9wc01hdGNoKHtcbiAgICBwcmVmaXg6IFwidGVzdDFcIixcbiAgICB6b25lOiBcImV4YW1wbGUuY29tXCIsXG4gICAgcHJpdmF0ZVpvbmU6IGZhbHNlXG4gIH0pO1xuICBleHBlY3QobWF0Y2gpLnRvQmUodHJ1ZSk7XG4gIG1hdGNoID0gZG9tYWluTmFtZS5wcm9wc01hdGNoKHtcbiAgICBwcmVmaXg6IFwidGVzdDFcIixcbiAgICB6b25lOiBcImV4YW1wbGUuY29tXCIsXG4gICAgcHJpdmF0ZVpvbmU6IHRydWVcbiAgfSk7XG4gIGV4cGVjdChtYXRjaCkudG9CZShmYWxzZSk7XG4gIG1hdGNoID0gZG9tYWluTmFtZS5wcm9wc01hdGNoKHtcbiAgICBwcmVmaXg6IFwidGVzdDJcIixcbiAgICB6b25lOiBcImV4YW1wbGUuY29tXCJcbiAgfSk7XG4gIGV4cGVjdChtYXRjaCkudG9CZShmYWxzZSk7XG59KTtcblxudGVzdChcIlRlc3QgZmluZERvbWFpbk5hbWVcIiwgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IFRlc3RIZWxwZXIuc3RhY2soKTtcbiAgY29uc3QgZG9tYWluTmFtZTEgPSBuZXcgRG9tYWluTmFtZSh7XG4gICAgcHJlZml4OiBcInRlc3QxXCIsXG4gICAgem9uZTogXCJleGFtcGxlLmNvbVwiXG4gIH0pO1xuICBjb25zdCBkb21haW5OYW1lMiA9IG5ldyBEb21haW5OYW1lKHtcbiAgICBwcmVmaXg6IFwidGVzdDJcIixcbiAgICB6b25lOiBcImV4YW1wbGUuY29tXCJcbiAgfSk7XG4gIGNvbnN0IGRvbWFpbk5hbWUzID0gbmV3IERvbWFpbk5hbWUoe1xuICAgIHByZWZpeDogXCJ0ZXN0M1wiLFxuICAgIHpvbmU6IFwiZXhhbXBsZS5jb21cIixcbiAgICBwcml2YXRlWm9uZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgZm91bmREb21haW5OYW1lID0gRG9tYWluTmFtZS5maW5kRG9tYWluTmFtZShcbiAgICB7cHJlZml4OiBcInRlc3QyXCIsIHpvbmU6IFwiZXhhbXBsZS5jb21cIn0sXG4gICAgW2RvbWFpbk5hbWUxLCBkb21haW5OYW1lMiwgZG9tYWluTmFtZTNdKTtcbiAgZXhwZWN0KGZvdW5kRG9tYWluTmFtZSkudG9CZURlZmluZWQoKTtcbiAgZXhwZWN0KGZvdW5kRG9tYWluTmFtZT8uZ2V0UHJlZml4KCkpLnRvRXF1YWwoXCJ0ZXN0MlwiKTtcbiAgZXhwZWN0KGZvdW5kRG9tYWluTmFtZT8uZ2V0Wm9uZSgpKS50b0VxdWFsKFwiZXhhbXBsZS5jb21cIik7XG59KTtcbiJdfQ==
51
+ test("Test fromFqdn", () => {
52
+ const domainName1 = aws_route53_1.DomainName.fromFqdn("www.example.com", "example.com");
53
+ expect(domainName1.getPrefix()).toEqual("www");
54
+ expect(domainName1.getZone()).toEqual("example.com");
55
+ });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRvbWFpbi1uYW1lLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBNkM7QUFFN0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLHdCQUFVLENBQUM7UUFDaEMsTUFBTSxFQUFFLE9BQU87UUFDZixJQUFJLEVBQUUsYUFBYTtLQUNwQixDQUFDLENBQUM7SUFDSCxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQ2hDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixLQUFLLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUM1QixNQUFNLEVBQUUsT0FBTztRQUNmLElBQUksRUFBRSxhQUFhO1FBQ25CLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDNUIsTUFBTSxFQUFFLE9BQU87UUFDZixJQUFJLEVBQUUsYUFBYTtRQUNuQixXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLEtBQUssR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQzVCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7SUFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSx3QkFBVSxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSx3QkFBVSxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSx3QkFBVSxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLGFBQWE7UUFDbkIsV0FBVyxFQUFFLElBQUk7S0FDbEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxlQUFlLEdBQUcsd0JBQVUsQ0FBQyxjQUFjLENBQy9DLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLEVBQ3RDLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxNQUFNLENBQUMsZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLFNBQVMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxNQUFNLENBQUMsZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQ3pCLE1BQU0sV0FBVyxHQUFHLHdCQUFVLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RG9tYWluTmFtZX0gZnJvbSBcIi4uLy4uL2F3cy1yb3V0ZTUzXCI7XG5cbnRlc3QoXCJUZXN0IHByb3BzTWF0Y2hcIiwgKCkgPT4ge1xuICBjb25zdCBkb21haW5OYW1lID0gbmV3IERvbWFpbk5hbWUoe1xuICAgIHByZWZpeDogXCJ0ZXN0MVwiLFxuICAgIHpvbmU6IFwiZXhhbXBsZS5jb21cIlxuICB9KTtcbiAgbGV0IG1hdGNoID0gZG9tYWluTmFtZS5wcm9wc01hdGNoKHtcbiAgICBwcmVmaXg6IFwidGVzdDFcIixcbiAgICB6b25lOiBcImV4YW1wbGUuY29tXCJcbiAgfSk7XG4gIGV4cGVjdChtYXRjaCkudG9CZSh0cnVlKTtcbiAgbWF0Y2ggPSBkb21haW5OYW1lLnByb3BzTWF0Y2goe1xuICAgIHByZWZpeDogXCJ0ZXN0MVwiLFxuICAgIHpvbmU6IFwiZXhhbXBsZS5jb21cIixcbiAgICBwcml2YXRlWm9uZTogZmFsc2VcbiAgfSk7XG4gIGV4cGVjdChtYXRjaCkudG9CZSh0cnVlKTtcbiAgbWF0Y2ggPSBkb21haW5OYW1lLnByb3BzTWF0Y2goe1xuICAgIHByZWZpeDogXCJ0ZXN0MVwiLFxuICAgIHpvbmU6IFwiZXhhbXBsZS5jb21cIixcbiAgICBwcml2YXRlWm9uZTogdHJ1ZVxuICB9KTtcbiAgZXhwZWN0KG1hdGNoKS50b0JlKGZhbHNlKTtcbiAgbWF0Y2ggPSBkb21haW5OYW1lLnByb3BzTWF0Y2goe1xuICAgIHByZWZpeDogXCJ0ZXN0MlwiLFxuICAgIHpvbmU6IFwiZXhhbXBsZS5jb21cIlxuICB9KTtcbiAgZXhwZWN0KG1hdGNoKS50b0JlKGZhbHNlKTtcbn0pO1xuXG50ZXN0KFwiVGVzdCBmaW5kRG9tYWluTmFtZVwiLCAoKSA9PiB7XG4gIGNvbnN0IGRvbWFpbk5hbWUxID0gbmV3IERvbWFpbk5hbWUoe1xuICAgIHByZWZpeDogXCJ0ZXN0MVwiLFxuICAgIHpvbmU6IFwiZXhhbXBsZS5jb21cIlxuICB9KTtcbiAgY29uc3QgZG9tYWluTmFtZTIgPSBuZXcgRG9tYWluTmFtZSh7XG4gICAgcHJlZml4OiBcInRlc3QyXCIsXG4gICAgem9uZTogXCJleGFtcGxlLmNvbVwiXG4gIH0pO1xuICBjb25zdCBkb21haW5OYW1lMyA9IG5ldyBEb21haW5OYW1lKHtcbiAgICBwcmVmaXg6IFwidGVzdDNcIixcbiAgICB6b25lOiBcImV4YW1wbGUuY29tXCIsXG4gICAgcHJpdmF0ZVpvbmU6IHRydWVcbiAgfSk7XG4gIGNvbnN0IGZvdW5kRG9tYWluTmFtZSA9IERvbWFpbk5hbWUuZmluZERvbWFpbk5hbWUoXG4gICAge3ByZWZpeDogXCJ0ZXN0MlwiLCB6b25lOiBcImV4YW1wbGUuY29tXCJ9LFxuICAgIFtkb21haW5OYW1lMSwgZG9tYWluTmFtZTIsIGRvbWFpbk5hbWUzXSk7XG4gIGV4cGVjdChmb3VuZERvbWFpbk5hbWUpLnRvQmVEZWZpbmVkKCk7XG4gIGV4cGVjdChmb3VuZERvbWFpbk5hbWU/LmdldFByZWZpeCgpKS50b0VxdWFsKFwidGVzdDJcIik7XG4gIGV4cGVjdChmb3VuZERvbWFpbk5hbWU/LmdldFpvbmUoKSkudG9FcXVhbChcImV4YW1wbGUuY29tXCIpO1xufSk7XG5cbnRlc3QoXCJUZXN0IGZyb21GcWRuXCIsICgpID0+IHtcbiAgY29uc3QgZG9tYWluTmFtZTEgPSBEb21haW5OYW1lLmZyb21GcWRuKFwid3d3LmV4YW1wbGUuY29tXCIsIFwiZXhhbXBsZS5jb21cIik7XG4gIGV4cGVjdChkb21haW5OYW1lMS5nZXRQcmVmaXgoKSkudG9FcXVhbChcInd3d1wiKTtcbiAgZXhwZWN0KGRvbWFpbk5hbWUxLmdldFpvbmUoKSkudG9FcXVhbChcImV4YW1wbGUuY29tXCIpO1xufSk7XG4iXX0=