truemark-cdk-lib 1.7.4 → 1.7.6

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.
@@ -223,6 +223,10 @@ export interface StandardTagsProps {
223
223
  * Team tags to apply to created resources.
224
224
  */
225
225
  readonly teamTags?: TeamTagsProps;
226
+ /**
227
+ * The map migrated tag value.
228
+ */
229
+ readonly mapMigrated?: string;
226
230
  /**
227
231
  * Setting this to true will suppress the creation of tags this resource creates.
228
232
  * Default value is false.
@@ -73,6 +73,9 @@ class StandardTags {
73
73
  this.addCostCenterTags(standardTagsProps.costCenterTags);
74
74
  this.addSecurityTags(standardTagsProps.securityTags);
75
75
  this.addTeamTags(standardTagsProps.teamTags);
76
+ if (standardTagsProps === null || standardTagsProps === void 0 ? void 0 : standardTagsProps.mapMigrated) {
77
+ this.tags.add("map-migrated", standardTagsProps.mapMigrated);
78
+ }
76
79
  }
77
80
  /**
78
81
  * Adds automation component tags. These are meant to be used in individual constructs to identify
@@ -233,7 +236,7 @@ class StandardTags {
233
236
  * @param to properties to source to
234
237
  */
235
238
  static merge(from, to) {
236
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
239
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
237
240
  let automationComponentTags = undefined;
238
241
  if ((from === null || from === void 0 ? void 0 : from.automationComponentTags) || (to === null || to === void 0 ? void 0 : to.automationComponentTags)) {
239
242
  automationComponentTags = {
@@ -276,6 +279,7 @@ class StandardTags {
276
279
  };
277
280
  }
278
281
  return {
282
+ mapMigrated: (_0 = to === null || to === void 0 ? void 0 : to.mapMigrated) !== null && _0 !== void 0 ? _0 : from === null || from === void 0 ? void 0 : from.mapMigrated,
279
283
  automationComponentTags,
280
284
  automationTags,
281
285
  costCenterTags,
@@ -285,4 +289,4 @@ class StandardTags {
285
289
  }
286
290
  }
287
291
  exports.StandardTags = StandardTags;
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YW5kYXJkLXRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQXlEO0FBK0d6RDs7R0FFRztBQUNILElBQVksa0JBeUJYO0FBekJELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILDREQUFzQyxDQUFBO0lBRXRDOzs7O09BSUc7SUFDSCwrQ0FBeUIsQ0FBQTtJQUV6Qjs7OztPQUlHO0lBQ0gsK0NBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCx1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBekJXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBeUI3QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxlQXNCWDtBQXRCRCxXQUFZLGVBQWU7SUFFekI7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7OztPQUdHO0lBQ0gsOEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsZ0NBQWEsQ0FBQTtBQUNmLENBQUMsRUF0QlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFzQjFCO0FBMEhEOztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBaUJ2Qjs7Ozs7T0FLRztJQUNILFlBQVksS0FBZ0IsRUFBRSxLQUF5Qjs7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLEtBQUssQ0FBQztRQUNsRCxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxDQUFDLENB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WUFDdkIsY0FBYztZQUNkLGNBQWM7WUFDZCxZQUFZO1lBQ1osUUFBUTtTQUNULENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUF2UEQsb0NBdVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1N0YWNrLCBTdGFnZSwgVGFnUHJvcHMsIFRhZ3N9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVuZG9yIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSB2ZW5kb3I/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYXV0b21hdGlvbiB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tYXRpb25UYWdzUHJvcHMgZXh0ZW5kcyBUYWdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgc3RhY2suIElmIG9uZSBpZiBub3QgcHJvdmlkZWQsIHRoZSBuYW1lIG9mIHRoZSBzdGFjayBpcyB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgdG8gd2hlcmUgdGhlIGF1dG9tYXRpb24gaXMgc3RvcmVkIG9yIHB1Ymxpc2hlZC4gVGhpcyBmaWVsZCBpcyByZXF1aXJlZFxuICAgKiB3aGVuIGFwcGx5aW5nIGF1dG9tYXRpb24gdGFncy5cbiAgICovXG4gIHJlYWRvbmx5IHVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjb3N0IGNlbnRlciB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvc3RDZW50ZXJUYWdzUHJvcHMgZXh0ZW5kcyBUYWdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHByb2plY3QgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZSBjb3N0cy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3ROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgcHJvamVjdCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIGNvc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBlbnZpcm9ubWVudCBpbmN1cnJpbmcgdGhlIGNvc3RzLiBFeGFtcGxlIFwic3RhZ2VcIiBvciBcInByb2RcIlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGNvbnRhY3QgcmVzcG9uc2libGUgZm9yIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICogSWYgbm90IHNldCwgdGhlIHRhZyBpcyBub3QgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3ROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWFpbCBvZiB0aGUgY29udGFjdCByZXNwb25zaWJsZSBmb3IgdGhlIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICogSWYgbm90IHNldCwgdGhlIHRhZyBpcyBub3QgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RFbWFpbD86IHN0cmluZztcblxuICAvKipcbiAgICogUGhvbmUgbnVtYmVyIG9mIHRoZSBjb250YWN0IHJlc3BvbnNpYmxlIGZvciBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0UGhvbmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJ1c2luZXNzIHVuaXQgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBidXNpbmVzc1VuaXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgYnVzaW5lc3MgdW5pdCByZXNwb25zaWJsZSBmb3IgdGhlIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGJ1c2luZXNzVW5pdElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBidXNpbmVzcyBkaXZpc2lvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRpdmlzaW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIGJ1c2luZXNzIGRpdmlzaW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGl2aXNpb25JZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGVwYXJ0bWVudCByZXNwb25zaWJsZSBmb3IgdGhlIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGFydG1lbnROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgZGVwYXJ0bWVudCByZXNwb25zaWJsZSBmb3IgdGhlIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGFydG1lbnRJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBIb2xkcyB2YWx1ZXMgdGhhdCBtYXkgYmUgYXBwbGllZCB0byB0aGUgZGF0YS1jbGFzc2lmaWNhdGlvbiBzZWN1cml0eSB0YWcuXG4gKi9cbmV4cG9ydCBlbnVtIERhdGFDbGFzc2lmaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gZGF0YSBtYXkgbm90IGxlYXZlIHRoZSBnZW9ncmFwaGljIHJlZ2lvbiBpbiB3aGljaCBpdCBpcyBzdG9yZWQuXG4gICAqIFRoaXMgaXMgdXN1YWxseSByZWxhdGVkIHRvIGdvdmVybm1lbnQgcmVzdHJpY3Rpb25zIGFwcGxpZWQgdG8gdGhlIGRhdGEuXG4gICAqL1xuICBFeHBvcnRSZXN0cmljdGVkID0gXCJleHBvcnQtcmVzdHJpY3RlZFwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gdW5hdXRob3JpemVkIGRpc2Nsb3N1cmUsIGFsdGVyYXRpb24gb3IgZGVzdHJ1Y3Rpb24gb2YgZGF0YSB3b3VsZFxuICAgKiByZXN1bHQgaW4gYSBzaWduaWZpY2FudCByaXNrIHRvIHRoZSBvcmdhbml6YXRpb24uIFRoaXMgaW5jbHVkZXMgUElJLCBQSElcbiAgICogYW5kIFBDSSBkYXRhLlxuICAgKi9cbiAgUmVzdHJpY3RlZCA9IFwicmVzdHJpY3RlZFwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gdW5hdXRob3JpemVkIGRpc2Nsb3N1cmUsIGFsdGVyYXRpb24gb3IgZGVzdHJ1Y3Rpb24gb2YgdGhlIGRhdGEgd291bGRcbiAgICogcmVzdWx0IGluIG1vZGVyYXRlIHJpc2suIFRoaXMgaW5jbHVkZXMgYWxsIGRhdGEgdGhhdCBpcyBub3QgaW4gb25lIG9mIHRoZSBvdGhlclxuICAgKiBjbGFzc2lmaWNhdGlvbnMuXG4gICAqL1xuICBDb250cm9sbGVkID0gXCJjb250cm9sbGVkXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiBoYW5kbGVkIG9yIHN0b3JlZCBkYXRhIHJlYWRpbHkgYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMuXG4gICAqL1xuICBQdWJsaWMgPSBcInB1YmxpY1wiXG59XG5cbi8qKlxuICogSG9sZHMgdmFsdWVzIHRoYXQgbWF5IGJlIGFwcGxpZWQgdG8gdGhlIGRhdGEtc2Vuc2l0aXZpdHkgc2VjdXJpdHkgdGFnLlxuICovXG5leHBvcnQgZW51bSBEYXRhU2Vuc2l0aXZpdHkge1xuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gcmVzb3VyY2VzIGFyZSBpbiBQQ0kgc2NvcGUuXG4gICAqL1xuICBQQ0kgPSBcInBjaVwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gcmVzb3VyY2VzIGhhbmRsZSBvciBzdG9yZSBwZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbi5cbiAgICovXG4gIFBJSSA9IFwicGlpXCIsXG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiByZXNvdXJjZXMgaGFuZGxlIG9yIHN0b3JlIHBlcnNvbmFsIGhlYWx0aCBpbmZvcm1hdGlvbiBhbmQgYXJlXG4gICAqIHN1YmplY3QgdG8gSElQUEEgcnVsZXMuXG4gICAqL1xuICBQSEkgPSBcInBoaVwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gdGhlcmUgaXMgbm8gZGF0YSBzZW5zaXRpdml0eS5cbiAgICovXG4gIE5PTkUgPSBcIm5vbmVcIlxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHNlY3VyaXR5IHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlUYWdzUHJvcHMgZXh0ZW5kcyBUYWdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIERhdGEgY2xhc3NpZmljYXRpb24gdmFsdWUuIFNlZSB0aGUgVHJ1ZU1hcmsgQVdTIHRhZ2dpbmcgc3RyYXRlZ3kgZG9jdW1lbnRhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFDbGFzc2lmaWNhdGlvbj86IERhdGFDbGFzc2lmaWNhdGlvbjtcblxuICAvKipcbiAgICogRGF0YSBzZW5zaXRpdml0eS4gU2VlIHRoZSBUcnVlTWFyayBBV1MgdGFnZ2luZyBzdHJhdGVneSBkb2N1bWVudGF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVNlbnNpdGl2aXR5PzogRGF0YVNlbnNpdGl2aXR5O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRlYW0gdGFncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZWFtVGFnc1Byb3BzIGV4dGVuZHMgVGFnUHJvcHMge1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB0ZWFtLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBpZiBkaWZmZXJlbnQgdGhhbiB0aGUgdGVhbSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHRlYW0gbGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3ROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWFpbCBvZiB0aGUgdGVhbSBsZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdEVtYWlsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQaG9uZSBudW1iZXIgZm9yIHRoZSB0ZWFtIGxlYWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0UGhvbmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJ1c2luZXNzIHVuaXQgcmVzcG9uc2libGUgZm9yIHRoZSB0ZWFtIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGJ1c2luZXNzVW5pdE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRoZSBidXNpbmVzcyB1bml0IHJlc3BvbnNpYmxlIGZvciB0aGUgdGVhbSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBidXNpbmVzc1VuaXRJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYnVzaW5lc3MgZGl2aXNpb24gcmVzcG9uc2libGUgZm9yIHRoZSB0ZWFtIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRpdmlzaW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIGJ1c2luZXNzIGRpdmlzaW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgdGVhbSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBkaXZpc2lvbklkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBkZXBhcnRtZW50IHJlc3BvbnNpYmxlIGZvciB0aGUgdGVhbSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBkZXBhcnRtZW50TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIGRlcGFydG1lbnQgcmVzcG9uc2libGUgZm9yIHRoZSB0ZWFtIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGFydG1lbnRJZD86IHN0cmluZztcbn1cblxuLy8gVE9ETyBOZWVkIHRvIHN1cHBvcnQgYnVzaW5lc3MgdW5pdCwgZGl2aXNpb24gYW5kIGRlcGFydG1lbnRcbi8vIFRPRE8gTmVlZCB0byBtYWtlIHRhZ3MgY29uc2lzdGVudCBiZXR3ZWVuIGVsZW1lbnRzXG4vLyBUT0RPIE5lZWQgdG8gYWRkIHRpdGxlIGZvciBwZW9wbGVcbi8vIFRPRE8gSSBoYXRlIGhvdyB3ZSBoYXZlIHRvIG92ZXJyaWRlIHRoZSBlbnZpcm9ubWVudCB0YWdcbi8qKlxuICogQ29udGFpbnMgc3RhbmRhcmQgdGFnZ2luZyBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkVGFnc1Byb3BzIHtcblxuICAvKipcbiAgICogQXV0b21hdGlvbiBjb21wb25lbnQgdGFncy5cbiAgICovXG4gIHJlYWRvbmx5IGF1dG9tYXRpb25Db21wb25lbnRUYWdzPzogQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcztcblxuICAvKipcbiAgICogQXV0b21hdGlvbiB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b21hdGlvblRhZ3M/OiBBdXRvbWF0aW9uVGFnc1Byb3BzO1xuXG4gIC8qKlxuICAgKiBDb3N0IGNlbnRlciB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29zdENlbnRlclRhZ3M/OiBDb3N0Q2VudGVyVGFnc1Byb3BzO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSB0YWdzIHRvIGFwcGx5IHRvIGNyZWF0ZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlUYWdzPzogU2VjdXJpdHlUYWdzUHJvcHM7XG5cbiAgLyoqXG4gICAqIFRlYW0gdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHRlYW1UYWdzPzogVGVhbVRhZ3NQcm9wcztcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgdGFncyB0aGlzIHJlc291cmNlIGNyZWF0ZXMuXG4gICAqIERlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJvdmlkZXMgY29udmVuaWVuY2UgbWV0aG9kcyB0byB0YWcgcmVzb3VyY2VzIGZvbGxvd2luZyBUcnVlTWFyaydzIHRhZ2dpbmcgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZFRhZ3Mge1xuXG4gIC8qKlxuICAgKiBUaGUgc2NvcGUgYmVpbmcgdGFnZ2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAvKipcbiAgICogVGhlIHRhZ3MuXG4gICAqL1xuICByZWFkb25seSB0YWdzOiBUYWdzO1xuXG4gIC8qKlxuICAgKiBJZiB0YWdzIHdlcmUgc3VwcHJlc3NlZC5cbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU3RhbmRhcmRUYWdzIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHRhZ1xuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzPzogU3RhbmRhcmRUYWdzUHJvcHMpIHtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy50YWdzID0gVGFncy5vZihzY29wZSk7XG4gICAgdGhpcy5zdXBwcmVzc2VkID0gcHJvcHM/LnN1cHByZXNzVGFnZ2luZyA/PyBmYWxzZTtcbiAgICBjb25zdCBzdGFuZGFyZFRhZ3NQcm9wcyA9IFN0YW5kYXJkVGFncy5tZXJnZShzY29wZS5ub2RlLnRyeUdldENvbnRleHQoXCJzdGFuZGFyZFRhZ3NcIiksIHByb3BzKTtcbiAgICB0aGlzLmFkZEF1dG9tYXRpb25Db21wb25lbnRUYWdzKHN0YW5kYXJkVGFnc1Byb3BzLmF1dG9tYXRpb25Db21wb25lbnRUYWdzKTtcbiAgICB0aGlzLmFkZEF1dG9tYXRpb25UYWdzKHN0YW5kYXJkVGFnc1Byb3BzLmF1dG9tYXRpb25UYWdzKTtcbiAgICB0aGlzLmFkZENvc3RDZW50ZXJUYWdzKHN0YW5kYXJkVGFnc1Byb3BzLmNvc3RDZW50ZXJUYWdzKTtcbiAgICB0aGlzLmFkZFNlY3VyaXR5VGFncyhzdGFuZGFyZFRhZ3NQcm9wcy5zZWN1cml0eVRhZ3MpO1xuICAgIHRoaXMuYWRkVGVhbVRhZ3Moc3RhbmRhcmRUYWdzUHJvcHMudGVhbVRhZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYXV0b21hdGlvbiBjb21wb25lbnQgdGFncy4gVGhlc2UgYXJlIG1lYW50IHRvIGJlIHVzZWQgaW4gaW5kaXZpZHVhbCBjb25zdHJ1Y3RzIHRvIGlkZW50aWZ5XG4gICAqIHdoYXQgcmVzb3VyY2VzIHdlcmUgc3Rvb2QgdXAgYnkgc3BlY2lmaWMgY29uc3RydWN0cy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIG9wdGlvbmFsIHByb3BlcnRpZXMgZm9yIHRoZSB0YWdzXG4gICAqL1xuICBhZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyhwcm9wcz86IEF1dG9tYXRpb25Db21wb25lbnRUYWdzUHJvcHMpOiBTdGFuZGFyZFRhZ3Mge1xuICAgIGlmIChwcm9wcyAmJiAhdGhpcy5zdXBwcmVzc2VkKSB7XG4gICAgICBpZiAocHJvcHMuaWQgPT09IFwie3tUTUNES319XCIpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LWlkXCIsIHRoaXMuc2NvcGUuY29uc3RydWN0b3IubmFtZSwgcHJvcHMpO1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdXJsXCIsIFwiaHR0cHM6Ly9naXRodWIuY29tL3RydWVtYXJrL2Nka1wiLCBwcm9wcyk7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOmNvbXBvbmVudC12ZW5kb3JcIiwgXCJUcnVlTWFya1wiLCBwcm9wcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocHJvcHMuaWQpIHtcbiAgICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtaWRcIiwgcHJvcHMuaWQsIHByb3BzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMudXJsKSB7XG4gICAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LXVybFwiLCBwcm9wcy51cmwsIHByb3BzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMudmVuZG9yKSB7XG4gICAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LXZlbmRvclwiLCBwcm9wcy52ZW5kb3IsIHByb3BzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGF1dG9tYXRpb24gdGFncy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHRoZSB0YWdzXG4gICAqL1xuICBhZGRBdXRvbWF0aW9uVGFncyhwcm9wcz86IEF1dG9tYXRpb25UYWdzUHJvcHMpOiBTdGFuZGFyZFRhZ3Mge1xuICAgIGlmICghdGhpcy5zdXBwcmVzc2VkKSB7XG4gICAgICBsZXQgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHByb3BzPy5pZFxuICAgICAgaWYgKCFTdGFnZS5pc1N0YWdlKHRoaXMuc2NvcGUpICYmICFpZCkge1xuICAgICAgICBpZCA9IFN0YWNrLm9mKHRoaXMuc2NvcGUpLnN0YWNrTmFtZVxuICAgICAgfVxuICAgICAgaWYgKGlkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOmlkXCIsIGlkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHM/LnVybCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjp1cmxcIiwgcHJvcHMudXJsLCBwcm9wcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgY29zdCBjZW50ZXIgdGFncy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHRoZSB0YWdzXG4gICAqL1xuICBhZGRDb3N0Q2VudGVyVGFncyhwcm9wcz86IENvc3RDZW50ZXJUYWdzUHJvcHMpOiBTdGFuZGFyZFRhZ3Mge1xuICAgIGlmIChwcm9wcyAmJiAhdGhpcy5zdXBwcmVzc2VkKSB7XG4gICAgICBpZiAocHJvcHMucHJvamVjdE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOnByb2plY3QtbmFtZVwiLCBwcm9wcy5wcm9qZWN0TmFtZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnByb2plY3RJZCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6cHJvamVjdC1pZFwiLCBwcm9wcy5wcm9qZWN0SWQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5lbnZpcm9ubWVudCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6ZW52aXJvbm1lbnRcIiwgcHJvcHMuZW52aXJvbm1lbnQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0TmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6Y29udGFjdC1uYW1lXCIsIHByb3BzLmNvbnRhY3ROYW1lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdEVtYWlsKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpjb250YWN0LWVtYWlsXCIsIHByb3BzLmNvbnRhY3RFbWFpbCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmNvbnRhY3RQaG9uZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6Y29udGFjdC1waG9uZVwiLCBwcm9wcy5jb250YWN0UGhvbmUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5idXNpbmVzc1VuaXROYW1lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpidXNpbmVzcy11bml0LW5hbWVcIiwgcHJvcHMuYnVzaW5lc3NVbml0TmFtZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmJ1c2luZXNzVW5pdElkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpidXNpbmVzcy11bml0LWlkXCIsIHByb3BzLmJ1c2luZXNzVW5pdElkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGl2aXNpb25OYW1lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpkaXZpc2lvbi1uYW1lXCIsIHByb3BzLmRpdmlzaW9uTmFtZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmRpdmlzaW9uSWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmRpdmlzaW9uLWlkXCIsIHByb3BzLmRpdmlzaW9uSWQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kZXBhcnRtZW50TmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6ZGVwYXJ0bWVudC1uYW1lXCIsIHByb3BzLmRlcGFydG1lbnROYW1lLCBwcm9wcylcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kZXBhcnRtZW50SWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmRlcGFydG1lbnQtaWRcIiwgcHJvcHMuZGVwYXJ0bWVudElkLCBwcm9wcylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBzZWN1cml0eSB0YWdzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3Igc2VjdXJpdHkgdGFnc1xuICAgKi9cbiAgYWRkU2VjdXJpdHlUYWdzKHByb3BzPzogU2VjdXJpdHlUYWdzUHJvcHMpOiBTdGFuZGFyZFRhZ3Mge1xuICAgIGlmIChwcm9wcyAmJiAhdGhpcy5zdXBwcmVzc2VkKSB7XG4gICAgICBpZiAocHJvcHMuZGF0YUNsYXNzaWZpY2F0aW9uKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJzZWN1cml0eTpkYXRhLWNsYXNzaWZpY2F0aW9uXCIsIHByb3BzLmRhdGFDbGFzc2lmaWNhdGlvbiwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmRhdGFTZW5zaXRpdml0eSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwic2VjdXJpdHk6ZGF0YS1zZW5zaXRpdml0eVwiLCBwcm9wcy5kYXRhU2Vuc2l0aXZpdHksIHByb3BzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0ZWFtIHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciB0ZWFtIHRhZ3NcbiAgICovXG4gIGFkZFRlYW1UYWdzKHByb3BzPzogVGVhbVRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFncyB7XG4gICAgaWYgKHByb3BzICYmICF0aGlzLnN1cHByZXNzZWQpIHtcbiAgICAgIGlmIChwcm9wcy5uYW1lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOm5hbWVcIiwgcHJvcHMubmFtZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmlkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmlkXCIsIHByb3BzLmlkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06Y29udGFjdC1uYW1lXCIsIHByb3BzLmNvbnRhY3ROYW1lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdEVtYWlsKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmNvbnRhY3QtZW1haWxcIiwgcHJvcHMuY29udGFjdEVtYWlsLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdFBob25lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmNvbnRhY3QtcGhvbmVcIiwgcHJvcHMuY29udGFjdFBob25lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYnVzaW5lc3NVbml0TmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpidXNpbmVzcy11bml0LW5hbWVcIiwgcHJvcHMuYnVzaW5lc3NVbml0TmFtZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmJ1c2luZXNzVW5pdElkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmJ1c2luZXNzLXVuaXQtaWRcIiwgcHJvcHMuYnVzaW5lc3NVbml0SWQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kaXZpc2lvbk5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06ZGl2aXNpb24tbmFtZVwiLCBwcm9wcy5kaXZpc2lvbk5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kaXZpc2lvbklkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmRpdmlzaW9uLWlkXCIsIHByb3BzLmRpdmlzaW9uSWQsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kZXBhcnRtZW50TmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpkZXBhcnRtZW50LW5hbWVcIiwgcHJvcHMuZGVwYXJ0bWVudE5hbWUsIHByb3BzKVxuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmRlcGFydG1lbnRJZCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpkZXBhcnRtZW50LWlkXCIsIHByb3BzLmRlcGFydG1lbnRJZCwgcHJvcHMpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBtZXJnZWQgU3RhbmRhcmRUYWdzUHJvcHMuXG4gICAqXG4gICAqIEBwYXJhbSBmcm9tIHByb3BlcnRpZXMgdG8gc291cmNlIGZyb21cbiAgICogQHBhcmFtIHRvIHByb3BlcnRpZXMgdG8gc291cmNlIHRvXG4gICAqL1xuICBzdGF0aWMgbWVyZ2UoZnJvbT86IFN0YW5kYXJkVGFnc1Byb3BzLCB0bz86IFN0YW5kYXJkVGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzUHJvcHMge1xuICAgIGxldCBhdXRvbWF0aW9uQ29tcG9uZW50VGFnczogQXV0b21hdGlvbkNvbXBvbmVudFRhZ3NQcm9wcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZnJvbT8uYXV0b21hdGlvbkNvbXBvbmVudFRhZ3MgfHwgdG8/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzKSB7XG4gICAgICBhdXRvbWF0aW9uQ29tcG9uZW50VGFncyA9IHtcbiAgICAgICAgaWQ6IHRvPy5hdXRvbWF0aW9uQ29tcG9uZW50VGFncz8uaWQgPz8gZnJvbT8uYXV0b21hdGlvbkNvbXBvbmVudFRhZ3M/LmlkID8/IFwiXCIsXG4gICAgICAgIC4uLmZyb20/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzLFxuICAgICAgICAuLi50bz8uYXV0b21hdGlvbkNvbXBvbmVudFRhZ3NcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IGF1dG9tYXRpb25UYWdzOiBBdXRvbWF0aW9uVGFnc1Byb3BzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChmcm9tPy5hdXRvbWF0aW9uVGFncyB8fCB0bz8uYXV0b21hdGlvblRhZ3MpIHtcbiAgICAgIGF1dG9tYXRpb25UYWdzID0ge1xuICAgICAgICBpZDogdG8/LmF1dG9tYXRpb25UYWdzPy5pZCA/PyBmcm9tPy5hdXRvbWF0aW9uVGFncz8uaWQgPz8gXCJcIixcbiAgICAgICAgLi4uZnJvbT8uYXV0b21hdGlvblRhZ3MsXG4gICAgICAgIC4uLnRvPy5hdXRvbWF0aW9uVGFnc1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgY29zdENlbnRlclRhZ3M6IENvc3RDZW50ZXJUYWdzUHJvcHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZyb20/LmNvc3RDZW50ZXJUYWdzIHx8IHRvPy5jb3N0Q2VudGVyVGFncykge1xuICAgICAgY29zdENlbnRlclRhZ3MgPSB7XG4gICAgICAgIGJ1c2luZXNzVW5pdE5hbWU6IHRvPy5jb3N0Q2VudGVyVGFncz8uYnVzaW5lc3NVbml0TmFtZSA/PyBmcm9tPy5jb3N0Q2VudGVyVGFncz8uYnVzaW5lc3NVbml0TmFtZSA/PyBcIlwiLFxuICAgICAgICBwcm9qZWN0TmFtZTogdG8/LmNvc3RDZW50ZXJUYWdzPy5wcm9qZWN0TmFtZSA/PyBmcm9tPy5jb3N0Q2VudGVyVGFncz8ucHJvamVjdE5hbWUgPz8gXCJcIixcbiAgICAgICAgLi4uZnJvbT8uY29zdENlbnRlclRhZ3MsXG4gICAgICAgIC4uLnRvPy5jb3N0Q2VudGVyVGFnc1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgc2VjdXJpdHlUYWdzOiBTZWN1cml0eVRhZ3NQcm9wcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZnJvbT8uc2VjdXJpdHlUYWdzIHx8IHRvPy5zZWN1cml0eVRhZ3MpIHtcbiAgICAgIHNlY3VyaXR5VGFncyA9IHtcbiAgICAgICAgZGF0YUNsYXNzaWZpY2F0aW9uOiB0bz8uc2VjdXJpdHlUYWdzPy5kYXRhQ2xhc3NpZmljYXRpb24gPz8gZnJvbT8uc2VjdXJpdHlUYWdzPy5kYXRhQ2xhc3NpZmljYXRpb24gPz8gRGF0YUNsYXNzaWZpY2F0aW9uLkNvbnRyb2xsZWQsXG4gICAgICAgIC4uLmZyb20/LnNlY3VyaXR5VGFncyxcbiAgICAgICAgLi4udG8/LnNlY3VyaXR5VGFnc1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgdGVhbVRhZ3M6IFRlYW1UYWdzUHJvcHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZyb20/LnRlYW1UYWdzIHx8IHRvPy50ZWFtVGFncykge1xuICAgICAgdGVhbVRhZ3MgPSB7XG4gICAgICAgIG5hbWU6IHRvPy50ZWFtVGFncz8ubmFtZSA/PyBmcm9tPy50ZWFtVGFncz8ubmFtZSA/PyBcIlwiLFxuICAgICAgICAuLi5mcm9tPy50ZWFtVGFncyxcbiAgICAgICAgLi4udG8/LnRlYW1UYWdzXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBhdXRvbWF0aW9uQ29tcG9uZW50VGFncyxcbiAgICAgIGF1dG9tYXRpb25UYWdzLFxuICAgICAgY29zdENlbnRlclRhZ3MsXG4gICAgICBzZWN1cml0eVRhZ3MsXG4gICAgICB0ZWFtVGFnc1xuICAgIH1cbiAgfVxufVxuIl19
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YW5kYXJkLXRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQXlEO0FBK0d6RDs7R0FFRztBQUNILElBQVksa0JBeUJYO0FBekJELFdBQVksa0JBQWtCO0lBQzVCOzs7T0FHRztJQUNILDREQUFzQyxDQUFBO0lBRXRDOzs7O09BSUc7SUFDSCwrQ0FBeUIsQ0FBQTtJQUV6Qjs7OztPQUlHO0lBQ0gsK0NBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCx1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBekJXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBeUI3QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxlQXNCWDtBQXRCRCxXQUFZLGVBQWU7SUFFekI7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7OztPQUdHO0lBQ0gsOEJBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsZ0NBQWEsQ0FBQTtBQUNmLENBQUMsRUF0QlcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFzQjFCO0FBK0hEOztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBaUJ2Qjs7Ozs7T0FLRztJQUNILFlBQVksS0FBZ0IsRUFBRSxLQUF5Qjs7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLEtBQUssQ0FBQztRQUNsRCxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxDQUFDLENB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QUFFO2dCQUN0RCxHQUFHLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxRQUFRO2dCQUNqQixHQUFHLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUsQ0FBRSxRQUFRO2FBQ2hCLENBQUE7U0FDRjtRQUNELE9BQU87WUFDTCxXQUFXLFFBQUUsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFdBQVcsbUNBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVc7WUFDakQsdUJBQXVCO1lBQ3ZCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsWUFBWTtZQUNaLFFBQVE7U0FDVCxDQUFBO0lBQ0gsQ0FBQztDQUNGO0FBM1BELG9DQTJQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtTdGFjaywgU3RhZ2UsIFRhZ1Byb3BzLCBUYWdzfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhdXRvbWF0aW9uIGNvbXBvbmVudCB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tYXRpb25Db21wb25lbnRUYWdzUHJvcHMgZXh0ZW5kcyBUYWdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHJlYWRvbmx5IHVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlbmRvciBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVuZG9yPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGF1dG9tYXRpb24gdGFncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvbWF0aW9uVGFnc1Byb3BzIGV4dGVuZHMgVGFnUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHN0YWNrLiBJZiBvbmUgaWYgbm90IHByb3ZpZGVkLCB0aGUgbmFtZSBvZiB0aGUgc3RhY2sgaXMgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBTdGFjay5vZih0aGlzKS5zdGFja05hbWVcbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVVJMIHRvIHdoZXJlIHRoZSBhdXRvbWF0aW9uIGlzIHN0b3JlZCBvciBwdWJsaXNoZWQuIFRoaXMgZmllbGQgaXMgcmVxdWlyZWRcbiAgICogd2hlbiBhcHBseWluZyBhdXRvbWF0aW9uIHRhZ3MuXG4gICAqL1xuICByZWFkb25seSB1cmw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY29zdCBjZW50ZXIgdGFncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb3N0Q2VudGVyVGFnc1Byb3BzIGV4dGVuZHMgVGFnUHJvcHMge1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBwcm9qZWN0IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGUgY29zdHMuXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIHByb2plY3QgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZSBjb3N0cy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3RJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgaW5jdXJyaW5nIHRoZSBjb3N0cy4gRXhhbXBsZSBcInN0YWdlXCIgb3IgXCJwcm9kXCJcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBjb250YWN0IHJlc3BvbnNpYmxlIGZvciBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgb2YgdGhlIGNvbnRhY3QgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqIElmIG5vdCBzZXQsIHRoZSB0YWcgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0RW1haWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBob25lIG51bWJlciBvZiB0aGUgY29udGFjdCByZXNwb25zaWJsZSBmb3IgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKiBJZiBub3Qgc2V0LCB0aGUgdGFnIGlzIG5vdCBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdFBob25lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBidXNpbmVzcyB1bml0IHJlc3BvbnNpYmxlIGZvciB0aGUgY29zdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVzaW5lc3NVbml0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIGJ1c2luZXNzIHVuaXQgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBidXNpbmVzc1VuaXRJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYnVzaW5lc3MgZGl2aXNpb24gcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBkaXZpc2lvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRoZSBidXNpbmVzcyBkaXZpc2lvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFnZ2VkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRpdmlzaW9uSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGRlcGFydG1lbnQgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBkZXBhcnRtZW50TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWRlbnRpZmllciBmb3IgdGhlIGRlcGFydG1lbnQgcmVzcG9uc2libGUgZm9yIHRoZSBjb3N0cyBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBkZXBhcnRtZW50SWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSG9sZHMgdmFsdWVzIHRoYXQgbWF5IGJlIGFwcGxpZWQgdG8gdGhlIGRhdGEtY2xhc3NpZmljYXRpb24gc2VjdXJpdHkgdGFnLlxuICovXG5leHBvcnQgZW51bSBEYXRhQ2xhc3NpZmljYXRpb24ge1xuICAvKipcbiAgICogVXNlZCB3aGVuIGRhdGEgbWF5IG5vdCBsZWF2ZSB0aGUgZ2VvZ3JhcGhpYyByZWdpb24gaW4gd2hpY2ggaXQgaXMgc3RvcmVkLlxuICAgKiBUaGlzIGlzIHVzdWFsbHkgcmVsYXRlZCB0byBnb3Zlcm5tZW50IHJlc3RyaWN0aW9ucyBhcHBsaWVkIHRvIHRoZSBkYXRhLlxuICAgKi9cbiAgRXhwb3J0UmVzdHJpY3RlZCA9IFwiZXhwb3J0LXJlc3RyaWN0ZWRcIixcblxuICAvKipcbiAgICogVXNlZCB3aGVuIHVuYXV0aG9yaXplZCBkaXNjbG9zdXJlLCBhbHRlcmF0aW9uIG9yIGRlc3RydWN0aW9uIG9mIGRhdGEgd291bGRcbiAgICogcmVzdWx0IGluIGEgc2lnbmlmaWNhbnQgcmlzayB0byB0aGUgb3JnYW5pemF0aW9uLiBUaGlzIGluY2x1ZGVzIFBJSSwgUEhJXG4gICAqIGFuZCBQQ0kgZGF0YS5cbiAgICovXG4gIFJlc3RyaWN0ZWQgPSBcInJlc3RyaWN0ZWRcIixcblxuICAvKipcbiAgICogVXNlZCB3aGVuIHVuYXV0aG9yaXplZCBkaXNjbG9zdXJlLCBhbHRlcmF0aW9uIG9yIGRlc3RydWN0aW9uIG9mIHRoZSBkYXRhIHdvdWxkXG4gICAqIHJlc3VsdCBpbiBtb2RlcmF0ZSByaXNrLiBUaGlzIGluY2x1ZGVzIGFsbCBkYXRhIHRoYXQgaXMgbm90IGluIG9uZSBvZiB0aGUgb3RoZXJcbiAgICogY2xhc3NpZmljYXRpb25zLlxuICAgKi9cbiAgQ29udHJvbGxlZCA9IFwiY29udHJvbGxlZFwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gaGFuZGxlZCBvciBzdG9yZWQgZGF0YSByZWFkaWx5IGF2YWlsYWJsZSB0byB0aGUgcHVibGljLlxuICAgKi9cbiAgUHVibGljID0gXCJwdWJsaWNcIlxufVxuXG4vKipcbiAqIEhvbGRzIHZhbHVlcyB0aGF0IG1heSBiZSBhcHBsaWVkIHRvIHRoZSBkYXRhLXNlbnNpdGl2aXR5IHNlY3VyaXR5IHRhZy5cbiAqL1xuZXhwb3J0IGVudW0gRGF0YVNlbnNpdGl2aXR5IHtcblxuICAvKipcbiAgICogVXNlZCB3aGVuIHJlc291cmNlcyBhcmUgaW4gUENJIHNjb3BlLlxuICAgKi9cbiAgUENJID0gXCJwY2lcIixcblxuICAvKipcbiAgICogVXNlZCB3aGVuIHJlc291cmNlcyBoYW5kbGUgb3Igc3RvcmUgcGVyc29uYWxseSBpZGVudGlmaWFibGUgaW5mb3JtYXRpb24uXG4gICAqL1xuICBQSUkgPSBcInBpaVwiLFxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gcmVzb3VyY2VzIGhhbmRsZSBvciBzdG9yZSBwZXJzb25hbCBoZWFsdGggaW5mb3JtYXRpb24gYW5kIGFyZVxuICAgKiBzdWJqZWN0IHRvIEhJUFBBIHJ1bGVzLlxuICAgKi9cbiAgUEhJID0gXCJwaGlcIixcblxuICAvKipcbiAgICogVXNlZCB3aGVuIHRoZXJlIGlzIG5vIGRhdGEgc2Vuc2l0aXZpdHkuXG4gICAqL1xuICBOT05FID0gXCJub25lXCJcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBzZWN1cml0eSB0YWdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5VGFnc1Byb3BzIGV4dGVuZHMgVGFnUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEYXRhIGNsYXNzaWZpY2F0aW9uIHZhbHVlLiBTZWUgdGhlIFRydWVNYXJrIEFXUyB0YWdnaW5nIHN0cmF0ZWd5IGRvY3VtZW50YXRpb24uXG4gICAqL1xuICByZWFkb25seSBkYXRhQ2xhc3NpZmljYXRpb24/OiBEYXRhQ2xhc3NpZmljYXRpb247XG5cbiAgLyoqXG4gICAqIERhdGEgc2Vuc2l0aXZpdHkuIFNlZSB0aGUgVHJ1ZU1hcmsgQVdTIHRhZ2dpbmcgc3RyYXRlZ3kgZG9jdW1lbnRhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTZW5zaXRpdml0eT86IERhdGFTZW5zaXRpdml0eTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0ZWFtIHRhZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVhbVRhZ3NQcm9wcyBleHRlbmRzIFRhZ1Byb3BzIHtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgdGVhbS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgaWYgZGlmZmVyZW50IHRoYW4gdGhlIHRlYW0gbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB0ZWFtIGxlYWQuXG4gICAqL1xuICByZWFkb25seSBjb250YWN0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW1haWwgb2YgdGhlIHRlYW0gbGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RFbWFpbD86IHN0cmluZztcblxuICAvKipcbiAgICogUGhvbmUgbnVtYmVyIGZvciB0aGUgdGVhbSBsZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFjdFBob25lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBidXNpbmVzcyB1bml0IHJlc3BvbnNpYmxlIGZvciB0aGUgdGVhbSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBidXNpbmVzc1VuaXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgYnVzaW5lc3MgdW5pdCByZXNwb25zaWJsZSBmb3IgdGhlIHRlYW0gYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVzaW5lc3NVbml0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJ1c2luZXNzIGRpdmlzaW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgdGVhbSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBkaXZpc2lvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRoZSBidXNpbmVzcyBkaXZpc2lvbiByZXNwb25zaWJsZSBmb3IgdGhlIHRlYW0gYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGl2aXNpb25JZD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGVwYXJ0bWVudCByZXNwb25zaWJsZSBmb3IgdGhlIHRlYW0gYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWdnZWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVwYXJ0bWVudE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRoZSBkZXBhcnRtZW50IHJlc3BvbnNpYmxlIGZvciB0aGUgdGVhbSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhZ2dlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBkZXBhcnRtZW50SWQ/OiBzdHJpbmc7XG59XG5cbi8vIFRPRE8gTmVlZCB0byBzdXBwb3J0IGJ1c2luZXNzIHVuaXQsIGRpdmlzaW9uIGFuZCBkZXBhcnRtZW50XG4vLyBUT0RPIE5lZWQgdG8gbWFrZSB0YWdzIGNvbnNpc3RlbnQgYmV0d2VlbiBlbGVtZW50c1xuLy8gVE9ETyBOZWVkIHRvIGFkZCB0aXRsZSBmb3IgcGVvcGxlXG4vLyBUT0RPIEkgaGF0ZSBob3cgd2UgaGF2ZSB0byBvdmVycmlkZSB0aGUgZW52aXJvbm1lbnQgdGFnXG4vKipcbiAqIENvbnRhaW5zIHN0YW5kYXJkIHRhZ2dpbmcgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZFRhZ3NQcm9wcyB7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuXG4gICAqL1xuICByZWFkb25seSBhdXRvbWF0aW9uQ29tcG9uZW50VGFncz86IEF1dG9tYXRpb25Db21wb25lbnRUYWdzUHJvcHM7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpb24gdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGF1dG9tYXRpb25UYWdzPzogQXV0b21hdGlvblRhZ3NQcm9wcztcblxuICAvKipcbiAgICogQ29zdCBjZW50ZXIgdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvc3RDZW50ZXJUYWdzPzogQ29zdENlbnRlclRhZ3NQcm9wcztcblxuICAvKipcbiAgICogU2VjdXJpdHkgdGFncyB0byBhcHBseSB0byBjcmVhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5VGFncz86IFNlY3VyaXR5VGFnc1Byb3BzO1xuXG4gIC8qKlxuICAgKiBUZWFtIHRhZ3MgdG8gYXBwbHkgdG8gY3JlYXRlZCByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSB0ZWFtVGFncz86IFRlYW1UYWdzUHJvcHM7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXAgbWlncmF0ZWQgdGFnIHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFwTWlncmF0ZWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIHRhZ3MgdGhpcyByZXNvdXJjZSBjcmVhdGVzLlxuICAgKiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGNvbnZlbmllbmNlIG1ldGhvZHMgdG8gdGFnIHJlc291cmNlcyBmb2xsb3dpbmcgVHJ1ZU1hcmsncyB0YWdnaW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUYWdzIHtcblxuICAvKipcbiAgICogVGhlIHNjb3BlIGJlaW5nIHRhZ2dlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWdzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFnczogVGFncztcblxuICAvKipcbiAgICogSWYgdGFncyB3ZXJlIHN1cHByZXNzZWQuXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc2VkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFN0YW5kYXJkVGFncyBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byB0YWdcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBwcm9wcz86IFN0YW5kYXJkVGFnc1Byb3BzKSB7XG4gICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgIHRoaXMudGFncyA9IFRhZ3Mub2Yoc2NvcGUpO1xuICAgIHRoaXMuc3VwcHJlc3NlZCA9IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmcgPz8gZmFsc2U7XG4gICAgY29uc3Qgc3RhbmRhcmRUYWdzUHJvcHMgPSBTdGFuZGFyZFRhZ3MubWVyZ2Uoc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KFwic3RhbmRhcmRUYWdzXCIpLCBwcm9wcyk7XG4gICAgdGhpcy5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyhzdGFuZGFyZFRhZ3NQcm9wcy5hdXRvbWF0aW9uQ29tcG9uZW50VGFncyk7XG4gICAgdGhpcy5hZGRBdXRvbWF0aW9uVGFncyhzdGFuZGFyZFRhZ3NQcm9wcy5hdXRvbWF0aW9uVGFncyk7XG4gICAgdGhpcy5hZGRDb3N0Q2VudGVyVGFncyhzdGFuZGFyZFRhZ3NQcm9wcy5jb3N0Q2VudGVyVGFncyk7XG4gICAgdGhpcy5hZGRTZWN1cml0eVRhZ3Moc3RhbmRhcmRUYWdzUHJvcHMuc2VjdXJpdHlUYWdzKTtcbiAgICB0aGlzLmFkZFRlYW1UYWdzKHN0YW5kYXJkVGFnc1Byb3BzLnRlYW1UYWdzKTtcbiAgICBpZiAoc3RhbmRhcmRUYWdzUHJvcHM/Lm1hcE1pZ3JhdGVkKSB7XG4gICAgICB0aGlzLnRhZ3MuYWRkKFwibWFwLW1pZ3JhdGVkXCIsIHN0YW5kYXJkVGFnc1Byb3BzLm1hcE1pZ3JhdGVkKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGF1dG9tYXRpb24gY29tcG9uZW50IHRhZ3MuIFRoZXNlIGFyZSBtZWFudCB0byBiZSB1c2VkIGluIGluZGl2aWR1YWwgY29uc3RydWN0cyB0byBpZGVudGlmeVxuICAgKiB3aGF0IHJlc291cmNlcyB3ZXJlIHN0b29kIHVwIGJ5IHNwZWNpZmljIGNvbnN0cnVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBvcHRpb25hbCBwcm9wZXJ0aWVzIGZvciB0aGUgdGFnc1xuICAgKi9cbiAgYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3MocHJvcHM/OiBBdXRvbWF0aW9uQ29tcG9uZW50VGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgaWYgKHByb3BzLmlkID09PSBcInt7VE1DREt9fVwiKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOmNvbXBvbmVudC1pZFwiLCB0aGlzLnNjb3BlLmNvbnN0cnVjdG9yLm5hbWUsIHByb3BzKTtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LXVybFwiLCBcImh0dHBzOi8vZ2l0aHViLmNvbS90cnVlbWFyay9jZGtcIiwgcHJvcHMpO1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjpjb21wb25lbnQtdmVuZG9yXCIsIFwiVHJ1ZU1hcmtcIiwgcHJvcHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb3BzLmlkKSB7XG4gICAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246Y29tcG9uZW50LWlkXCIsIHByb3BzLmlkLCBwcm9wcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLnVybCkge1xuICAgICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOmNvbXBvbmVudC11cmxcIiwgcHJvcHMudXJsLCBwcm9wcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLnZlbmRvcikge1xuICAgICAgICAgIHRoaXMudGFncy5hZGQoXCJhdXRvbWF0aW9uOmNvbXBvbmVudC12ZW5kb3JcIiwgcHJvcHMudmVuZG9yLCBwcm9wcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhdXRvbWF0aW9uIHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciB0aGUgdGFnc1xuICAgKi9cbiAgYWRkQXV0b21hdGlvblRhZ3MocHJvcHM/OiBBdXRvbWF0aW9uVGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAoIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgbGV0IGlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBwcm9wcz8uaWRcbiAgICAgIGlmICghU3RhZ2UuaXNTdGFnZSh0aGlzLnNjb3BlKSAmJiAhaWQpIHtcbiAgICAgICAgaWQgPSBTdGFjay5vZih0aGlzLnNjb3BlKS5zdGFja05hbWVcbiAgICAgIH1cbiAgICAgIGlmIChpZCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiYXV0b21hdGlvbjppZFwiLCBpZCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzPy51cmwpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImF1dG9tYXRpb246dXJsXCIsIHByb3BzLnVybCwgcHJvcHMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGNvc3QgY2VudGVyIHRhZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBwcm9wZXJ0aWVzIGZvciB0aGUgdGFnc1xuICAgKi9cbiAgYWRkQ29zdENlbnRlclRhZ3MocHJvcHM/OiBDb3N0Q2VudGVyVGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgaWYgKHByb3BzLnByb2plY3ROYW1lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpwcm9qZWN0LW5hbWVcIiwgcHJvcHMucHJvamVjdE5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcm9qZWN0SWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOnByb2plY3QtaWRcIiwgcHJvcHMucHJvamVjdElkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZW52aXJvbm1lbnQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmVudmlyb25tZW50XCIsIHByb3BzLmVudmlyb25tZW50LCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY29udGFjdE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmNvbnRhY3QtbmFtZVwiLCBwcm9wcy5jb250YWN0TmFtZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmNvbnRhY3RFbWFpbCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6Y29udGFjdC1lbWFpbFwiLCBwcm9wcy5jb250YWN0RW1haWwsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jb250YWN0UGhvbmUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmNvbnRhY3QtcGhvbmVcIiwgcHJvcHMuY29udGFjdFBob25lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYnVzaW5lc3NVbml0TmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6YnVzaW5lc3MtdW5pdC1uYW1lXCIsIHByb3BzLmJ1c2luZXNzVW5pdE5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5idXNpbmVzc1VuaXRJZCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6YnVzaW5lc3MtdW5pdC1pZFwiLCBwcm9wcy5idXNpbmVzc1VuaXRJZCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmRpdmlzaW9uTmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwiY29zdC1jZW50ZXI6ZGl2aXNpb24tbmFtZVwiLCBwcm9wcy5kaXZpc2lvbk5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kaXZpc2lvbklkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpkaXZpc2lvbi1pZFwiLCBwcm9wcy5kaXZpc2lvbklkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGVwYXJ0bWVudE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcImNvc3QtY2VudGVyOmRlcGFydG1lbnQtbmFtZVwiLCBwcm9wcy5kZXBhcnRtZW50TmFtZSwgcHJvcHMpXG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGVwYXJ0bWVudElkKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJjb3N0LWNlbnRlcjpkZXBhcnRtZW50LWlkXCIsIHByb3BzLmRlcGFydG1lbnRJZCwgcHJvcHMpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgc2VjdXJpdHkgdGFncy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHNlY3VyaXR5IHRhZ3NcbiAgICovXG4gIGFkZFNlY3VyaXR5VGFncyhwcm9wcz86IFNlY3VyaXR5VGFnc1Byb3BzKTogU3RhbmRhcmRUYWdzIHtcbiAgICBpZiAocHJvcHMgJiYgIXRoaXMuc3VwcHJlc3NlZCkge1xuICAgICAgaWYgKHByb3BzLmRhdGFDbGFzc2lmaWNhdGlvbikge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwic2VjdXJpdHk6ZGF0YS1jbGFzc2lmaWNhdGlvblwiLCBwcm9wcy5kYXRhQ2xhc3NpZmljYXRpb24sIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kYXRhU2Vuc2l0aXZpdHkpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInNlY3VyaXR5OmRhdGEtc2Vuc2l0aXZpdHlcIiwgcHJvcHMuZGF0YVNlbnNpdGl2aXR5LCBwcm9wcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGVhbSB0YWdzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3IgdGVhbSB0YWdzXG4gICAqL1xuICBhZGRUZWFtVGFncyhwcm9wcz86IFRlYW1UYWdzUHJvcHMpOiBTdGFuZGFyZFRhZ3Mge1xuICAgIGlmIChwcm9wcyAmJiAhdGhpcy5zdXBwcmVzc2VkKSB7XG4gICAgICBpZiAocHJvcHMubmFtZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpuYW1lXCIsIHByb3BzLm5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5pZCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTppZFwiLCBwcm9wcy5pZCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmNvbnRhY3ROYW1lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmNvbnRhY3QtbmFtZVwiLCBwcm9wcy5jb250YWN0TmFtZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmNvbnRhY3RFbWFpbCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpjb250YWN0LWVtYWlsXCIsIHByb3BzLmNvbnRhY3RFbWFpbCwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmNvbnRhY3RQaG9uZSkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpjb250YWN0LXBob25lXCIsIHByb3BzLmNvbnRhY3RQaG9uZSwgcHJvcHMpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmJ1c2luZXNzVW5pdE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06YnVzaW5lc3MtdW5pdC1uYW1lXCIsIHByb3BzLmJ1c2luZXNzVW5pdE5hbWUsIHByb3BzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5idXNpbmVzc1VuaXRJZCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpidXNpbmVzcy11bml0LWlkXCIsIHByb3BzLmJ1c2luZXNzVW5pdElkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGl2aXNpb25OYW1lKSB7XG4gICAgICAgIHRoaXMudGFncy5hZGQoXCJ0ZWFtOmRpdmlzaW9uLW5hbWVcIiwgcHJvcHMuZGl2aXNpb25OYW1lLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGl2aXNpb25JZCkge1xuICAgICAgICB0aGlzLnRhZ3MuYWRkKFwidGVhbTpkaXZpc2lvbi1pZFwiLCBwcm9wcy5kaXZpc2lvbklkLCBwcm9wcyk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGVwYXJ0bWVudE5hbWUpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06ZGVwYXJ0bWVudC1uYW1lXCIsIHByb3BzLmRlcGFydG1lbnROYW1lLCBwcm9wcylcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5kZXBhcnRtZW50SWQpIHtcbiAgICAgICAgdGhpcy50YWdzLmFkZChcInRlYW06ZGVwYXJ0bWVudC1pZFwiLCBwcm9wcy5kZXBhcnRtZW50SWQsIHByb3BzKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbWVyZ2VkIFN0YW5kYXJkVGFnc1Byb3BzLlxuICAgKlxuICAgKiBAcGFyYW0gZnJvbSBwcm9wZXJ0aWVzIHRvIHNvdXJjZSBmcm9tXG4gICAqIEBwYXJhbSB0byBwcm9wZXJ0aWVzIHRvIHNvdXJjZSB0b1xuICAgKi9cbiAgc3RhdGljIG1lcmdlKGZyb20/OiBTdGFuZGFyZFRhZ3NQcm9wcywgdG8/OiBTdGFuZGFyZFRhZ3NQcm9wcyk6IFN0YW5kYXJkVGFnc1Byb3BzIHtcbiAgICBsZXQgYXV0b21hdGlvbkNvbXBvbmVudFRhZ3M6IEF1dG9tYXRpb25Db21wb25lbnRUYWdzUHJvcHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZyb20/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzIHx8IHRvPy5hdXRvbWF0aW9uQ29tcG9uZW50VGFncykge1xuICAgICAgYXV0b21hdGlvbkNvbXBvbmVudFRhZ3MgPSB7XG4gICAgICAgIGlkOiB0bz8uYXV0b21hdGlvbkNvbXBvbmVudFRhZ3M/LmlkID8/IGZyb20/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzPy5pZCA/PyBcIlwiLFxuICAgICAgICAuLi5mcm9tPy5hdXRvbWF0aW9uQ29tcG9uZW50VGFncyxcbiAgICAgICAgLi4udG8/LmF1dG9tYXRpb25Db21wb25lbnRUYWdzXG4gICAgICB9XG4gICAgfVxuICAgIGxldCBhdXRvbWF0aW9uVGFnczogQXV0b21hdGlvblRhZ3NQcm9wcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZnJvbT8uYXV0b21hdGlvblRhZ3MgfHwgdG8/LmF1dG9tYXRpb25UYWdzKSB7XG4gICAgICBhdXRvbWF0aW9uVGFncyA9IHtcbiAgICAgICAgaWQ6IHRvPy5hdXRvbWF0aW9uVGFncz8uaWQgPz8gZnJvbT8uYXV0b21hdGlvblRhZ3M/LmlkID8/IFwiXCIsXG4gICAgICAgIC4uLmZyb20/LmF1dG9tYXRpb25UYWdzLFxuICAgICAgICAuLi50bz8uYXV0b21hdGlvblRhZ3NcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IGNvc3RDZW50ZXJUYWdzOiBDb3N0Q2VudGVyVGFnc1Byb3BzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChmcm9tPy5jb3N0Q2VudGVyVGFncyB8fCB0bz8uY29zdENlbnRlclRhZ3MpIHtcbiAgICAgIGNvc3RDZW50ZXJUYWdzID0ge1xuICAgICAgICBidXNpbmVzc1VuaXROYW1lOiB0bz8uY29zdENlbnRlclRhZ3M/LmJ1c2luZXNzVW5pdE5hbWUgPz8gZnJvbT8uY29zdENlbnRlclRhZ3M/LmJ1c2luZXNzVW5pdE5hbWUgPz8gXCJcIixcbiAgICAgICAgcHJvamVjdE5hbWU6IHRvPy5jb3N0Q2VudGVyVGFncz8ucHJvamVjdE5hbWUgPz8gZnJvbT8uY29zdENlbnRlclRhZ3M/LnByb2plY3ROYW1lID8/IFwiXCIsXG4gICAgICAgIC4uLmZyb20/LmNvc3RDZW50ZXJUYWdzLFxuICAgICAgICAuLi50bz8uY29zdENlbnRlclRhZ3NcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHNlY3VyaXR5VGFnczogU2VjdXJpdHlUYWdzUHJvcHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGZyb20/LnNlY3VyaXR5VGFncyB8fCB0bz8uc2VjdXJpdHlUYWdzKSB7XG4gICAgICBzZWN1cml0eVRhZ3MgPSB7XG4gICAgICAgIGRhdGFDbGFzc2lmaWNhdGlvbjogdG8/LnNlY3VyaXR5VGFncz8uZGF0YUNsYXNzaWZpY2F0aW9uID8/IGZyb20/LnNlY3VyaXR5VGFncz8uZGF0YUNsYXNzaWZpY2F0aW9uID8/IERhdGFDbGFzc2lmaWNhdGlvbi5Db250cm9sbGVkLFxuICAgICAgICAuLi5mcm9tPy5zZWN1cml0eVRhZ3MsXG4gICAgICAgIC4uLnRvPy5zZWN1cml0eVRhZ3NcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHRlYW1UYWdzOiBUZWFtVGFnc1Byb3BzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChmcm9tPy50ZWFtVGFncyB8fCB0bz8udGVhbVRhZ3MpIHtcbiAgICAgIHRlYW1UYWdzID0ge1xuICAgICAgICBuYW1lOiB0bz8udGVhbVRhZ3M/Lm5hbWUgPz8gZnJvbT8udGVhbVRhZ3M/Lm5hbWUgPz8gXCJcIixcbiAgICAgICAgLi4uZnJvbT8udGVhbVRhZ3MsXG4gICAgICAgIC4uLnRvPy50ZWFtVGFnc1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbWFwTWlncmF0ZWQ6IHRvPy5tYXBNaWdyYXRlZCA/PyBmcm9tPy5tYXBNaWdyYXRlZCxcbiAgICAgIGF1dG9tYXRpb25Db21wb25lbnRUYWdzLFxuICAgICAgYXV0b21hdGlvblRhZ3MsXG4gICAgICBjb3N0Q2VudGVyVGFncyxcbiAgICAgIHNlY3VyaXR5VGFncyxcbiAgICAgIHRlYW1UYWdzXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -63,6 +63,7 @@ class TestApp extends index_1.ExtendedApp {
63
63
  account: test_helper_1.TestHelper.DEFAULT_ACCOUNT,
64
64
  region: test_helper_1.TestHelper.DEFAULT_REGION,
65
65
  standardTags: {
66
+ mapMigrated: "mig12345",
66
67
  automationTags: {
67
68
  id: "TestApp",
68
69
  url: "https://testapp.com"
@@ -114,10 +115,14 @@ test("Test StandardTags", () => {
114
115
  const prodTemplate = assertions_1.Template.fromStack(prodStage.stack);
115
116
  // TestHelper.logTemplate(testTemplate);
116
117
  // TestHelper.logTemplate(prodTemplate);
117
- // const stack = TestHelper.stack();
118
- // const testConstruct = new TestConstruct(stack, "TestConstruct");
119
- // const template = Template.fromStack(stack);
120
- // TestHelper.logTemplate(template);
121
- // const standardTags = new StandardTags(stack);
118
+ testTemplate.resourceCountIs(test_helper_1.ResourceType.S3_BUCKET, 2);
119
+ testTemplate.hasResourceProperties(test_helper_1.ResourceType.S3_BUCKET, {
120
+ Tags: assertions_1.Match.arrayWith([
121
+ {
122
+ Key: "map-migrated",
123
+ Value: "mig12345"
124
+ }
125
+ ])
126
+ });
122
127
  });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtdGFncy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQTZDO0FBQzdDLG9DQU9rQjtBQUVsQix1REFBZ0Q7QUFDaEQsK0NBQTBDO0FBRTFDLE1BQU0sZ0JBQWlCLFNBQVEseUJBQWlCO0lBRTlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFO2dCQUNaLHVCQUF1QixFQUFFO29CQUN2QixFQUFFLEVBQUUsa0JBQWtCO29CQUN0QixHQUFHLEVBQUUsOEJBQThCO2lCQUNwQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQUVELE1BQU0sYUFBYyxTQUFRLHlCQUFpQjtJQUMzQyxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRTtnQkFDWix1QkFBdUIsRUFBRTtvQkFDdkIsRUFBRSxFQUFFLGVBQWU7b0JBQ25CLEdBQUcsRUFBRSwyQkFBMkI7aUJBQ2pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDL0IsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxxQ0FBcUM7SUFDdkMsQ0FBQztDQUNGO0FBRUQsTUFBTSxTQUFVLFNBQVEscUJBQWE7SUFDbkMsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUU7Z0JBQ1osdUJBQXVCLEVBQUU7b0JBQ3ZCLEVBQUUsRUFBRSxXQUFXO29C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dCB7VGVzdEhlbHBlcn0gZnJvbSBcIi4uLy4uL3Rlc3QtaGVscGVyXCI7XG5pbXBvcnQge1xuICBEYXRhQ2xhc3NpZmljYXRpb24sXG4gIERhdGFTZW5zaXRpdml0eSxcbiAgRXh0ZW5kZWRBcHAsXG4gIEV4dGVuZGVkQ29uc3RydWN0LFxuICBFeHRlbmRlZFN0YWNrLFxuICBFeHRlbmRlZFN0YWdlLFxufSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtUZW1wbGF0ZX0gZnJvbSBcImF3cy1jZGstbGliL2Fzc2VydGlvbnNcIjtcbmltcG9ydCB7QnVja2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5cbmNsYXNzIFRlc3RTdWJDb25zdHJ1Y3QgZXh0ZW5kcyBFeHRlbmRlZENvbnN0cnVjdCB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiB7XG4gICAgICAgIGF1dG9tYXRpb25Db21wb25lbnRUYWdzOiB7XG4gICAgICAgICAgaWQ6IFwiVGVzdFN1YkNvbnN0cnVjdFwiLFxuICAgICAgICAgIHVybDogXCJodHRwczovL3Rlc3RzdWJjb25zdHJ1Y3QuY29tXCJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIG5ldyBCdWNrZXQodGhpcywgXCJUZXN0U3ViQnVja2V0XCIpO1xuICB9XG59XG5cbmNsYXNzIFRlc3RDb25zdHJ1Y3QgZXh0ZW5kcyBFeHRlbmRlZENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHN0YW5kYXJkVGFnczoge1xuICAgICAgICBhdXRvbWF0aW9uQ29tcG9uZW50VGFnczoge1xuICAgICAgICAgIGlkOiBcIlRlc3RDb25zdHJ1Y3RcIixcbiAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly90ZXN0Y29uc3RydWN0LmNvbVwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBuZXcgQnVja2V0KHRoaXMsIFwiVGVzdEJ1Y2tldFwiKTtcbiAgICBuZXcgVGVzdFN1YkNvbnN0cnVjdCh0aGlzLCBcIlRlc3RTdWJDb25zdHJ1Y3RcIik7XG4gICAgLy8gVGFncy5vZih0aGlzKS5hZGQoXCJiYXJrXCIsIFwibWVvd1wiKTtcbiAgfVxufVxuXG5jbGFzcyBUZXN0U3RhY2sgZXh0ZW5kcyBFeHRlbmRlZFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiB7XG4gICAgICAgIGF1dG9tYXRpb25Db21wb25lbnRUYWdzOiB7XG4gICAgICAgICAgaWQ6IFwiVGVzdFN0YWNrXCIsXG4gICAgICAgICAgdXJsOiBcImh0dHBzOi8vdGVzdHN0YWNrLmNvbVwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBuZXcgVGVzdENvbnN0cnVjdCh0aGlzLCBcIlRlc3RDb25zdHJ1Y3RcIik7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFRlc3RTdGFnZVByb3BzIHtcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IHN0cmluZztcbn1cblxuY2xhc3MgVGVzdFN0YWdlIGV4dGVuZHMgRXh0ZW5kZWRTdGFnZSB7XG4gIHJlYWRvbmx5IHN0YWNrOiBUZXN0U3RhY2s7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUZXN0U3RhZ2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiB7XG4gICAgICAgIGNvc3RDZW50ZXJUYWdzOiB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN0YWNrID0gbmV3IFRlc3RTdGFjayh0aGlzLCBcIlRlc3RTdGFja1wiKTtcbiAgfVxufVxuXG5jbGFzcyBUZXN0QXBwIGV4dGVuZHMgRXh0ZW5kZWRBcHAge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICBhY2NvdW50OiBUZXN0SGVscGVyLkRFRkFVTFRfQUNDT1VOVCxcbiAgICAgIHJlZ2lvbjogVGVzdEhlbHBlci5ERUZBVUxUX1JFR0lPTixcbiAgICAgIHN0YW5kYXJkVGFnczoge1xuICAgICAgICBhdXRvbWF0aW9uVGFnczoge1xuICAgICAgICAgIGlkOiBcIlRlc3RBcHBcIixcbiAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly90ZXN0YXBwLmNvbVwiXG4gICAgICAgIH0sXG4gICAgICAgIGNvc3RDZW50ZXJUYWdzOiB7XG4gICAgICAgICAgcHJvamVjdE5hbWU6IFwiVGVzdEFwcFwiLFxuICAgICAgICAgIHByb2plY3RJZDogXCJ0ZXN0LWFwcFwiLFxuICAgICAgICAgIGVudmlyb25tZW50OiBcInRlc3RcIixcbiAgICAgICAgICBjb250YWN0TmFtZTogXCJKb2huIERvZVwiLFxuICAgICAgICAgIGNvbnRhY3RFbWFpbDogXCJqZG9lQGV4YW1wbGUuY29tXCIsXG4gICAgICAgICAgY29udGFjdFBob25lOiBcIisxIDU1NS01NTUtNTU1NVwiLFxuICAgICAgICAgIGJ1c2luZXNzVW5pdE5hbWU6IFwiVGVzdCBVbml0XCIsXG4gICAgICAgICAgYnVzaW5lc3NVbml0SWQ6IFwidGVzdC11bml0XCIsXG4gICAgICAgICAgZGl2aXNpb25OYW1lOiBcIlRlc3QgRGl2aXNpb25cIixcbiAgICAgICAgICBkaXZpc2lvbklkOiBcInRlc3QtZGl2aXNpb25cIixcbiAgICAgICAgICBkZXBhcnRtZW50TmFtZTogXCJUZXN0IERlcGFydG1lbnRcIixcbiAgICAgICAgICBkZXBhcnRtZW50SWQ6IFwidGVzdC1kZXBhcnRtZW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgc2VjdXJpdHlUYWdzOiB7XG4gICAgICAgICAgZGF0YUNsYXNzaWZpY2F0aW9uOiBEYXRhQ2xhc3NpZmljYXRpb24uUmVzdHJpY3RlZCxcbiAgICAgICAgICBkYXRhU2Vuc2l0aXZpdHk6IERhdGFTZW5zaXRpdml0eS5QSUlcbiAgICAgICAgfSxcbiAgICAgICAgdGVhbVRhZ3M6IHtcbiAgICAgICAgICBuYW1lOiBcIlRlc3QgVGVhbVwiLFxuICAgICAgICAgIGlkOiBcInRlc3QtdGVhbVwiLFxuICAgICAgICAgIGNvbnRhY3ROYW1lOiBcIkpvaG4gRG9lXCIsXG4gICAgICAgICAgY29udGFjdEVtYWlsOiBcImpkb2VAZXhhbXBsZS5jb21cIixcbiAgICAgICAgICBjb250YWN0UGhvbmU6IFwiKzEgNTU1LTU1NS01NTU1XCIsXG4gICAgICAgICAgYnVzaW5lc3NVbml0TmFtZTogXCJUZXN0IFVuaXRcIixcbiAgICAgICAgICBidXNpbmVzc1VuaXRJZDogXCJ0ZXN0LXVuaXRcIixcbiAgICAgICAgICBkaXZpc2lvbk5hbWU6IFwiVGVzdCBEaXZpc2lvblwiLFxuICAgICAgICAgIGRpdmlzaW9uSWQ6IFwidGVzdC1kaXZpc2lvblwiLFxuICAgICAgICAgIGRlcGFydG1lbnROYW1lOiBcIlRlc3QgRGVwYXJ0bWVudFwiLFxuICAgICAgICAgIGRlcGFydG1lbnRJZDogXCJ0ZXN0LWRlcGFydG1lbnRcIlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxudGVzdChcIlRlc3QgU3RhbmRhcmRUYWdzXCIsICgpID0+IHtcbiAgY29uc3QgYXBwID0gbmV3IFRlc3RBcHAoKTtcbiAgY29uc3QgdGVzdFN0YWdlID0gbmV3IFRlc3RTdGFnZShhcHAsIFwiVGVzdFN0YWdlXCIsIHtcbiAgICBlbnZpcm9ubWVudDogXCJ0ZXN0XCJcbiAgfSk7XG4gIGNvbnN0IHByb2RTdGFnZSA9IG5ldyBUZXN0U3RhZ2UoYXBwLCBcIlByb2RTdGFnZVwiLCB7XG4gICAgZW52aXJvbm1lbnQ6IFwicHJvZFwiXG4gIH0pXG4gIGNvbnN0IHRlc3RUZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayh0ZXN0U3RhZ2Uuc3RhY2spO1xuICBjb25zdCBwcm9kVGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2socHJvZFN0YWdlLnN0YWNrKTtcbiAgLy8gVGVzdEhlbHBlci5sb2dUZW1wbGF0ZSh0ZXN0VGVtcGxhdGUpO1xuICAvLyBUZXN0SGVscGVyLmxvZ1RlbXBsYXRlKHByb2RUZW1wbGF0ZSk7XG4gIC8vIGNvbnN0IHN0YWNrID0gVGVzdEhlbHBlci5zdGFjaygpO1xuICAvLyBjb25zdCB0ZXN0Q29uc3RydWN0ID0gbmV3IFRlc3RDb25zdHJ1Y3Qoc3RhY2ssIFwiVGVzdENvbnN0cnVjdFwiKTtcbiAgLy8gY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICAvLyBUZXN0SGVscGVyLmxvZ1RlbXBsYXRlKHRlbXBsYXRlKTtcbiAgLy8gY29uc3Qgc3RhbmRhcmRUYWdzID0gbmV3IFN0YW5kYXJkVGFncyhzdGFjayk7XG59KTtcbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtdGFncy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQTJEO0FBQzNELG9DQU9rQjtBQUVsQix1REFBdUQ7QUFDdkQsK0NBQTBDO0FBRzFDLE1BQU0sZ0JBQWlCLFNBQVEseUJBQWlCO0lBRTlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFO2dCQUNaLHVCQUF1QixFQUFFO29CQUN2QixFQUFFLEVBQUUsa0JBQWtCO29CQUN0QixHQUFHLEVBQUUsOEJBQThCO2lCQUNwQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQUVELE1BQU0sYUFBYyxTQUFRLHlCQUFpQjtJQUMzQyxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRTtnQkFDWix1QkFBdUIsRUFBRTtvQkFDdkIsRUFBRSxFQUFFLGVBQWU7b0JBQ25CLEdBQUcsRUFBRSwyQkFBMkI7aUJBQ2pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDL0IsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxxQ0FBcUM7SUFDdkMsQ0FBQztDQUNGO0FBRUQsTUFBTSxTQUFVLFNBQVEscUJBQWE7SUFDbkMsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUU7Z0JBQ1osdUJBQXVCLEVBQUU7b0JBQ3ZCLEVBQUUsRUFBRSxXQUFXO29C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LDBCQUFZLENBQUMsU0FBUyxFQUFFO1FBQ3pELElBQUksRUFBRSxrQkFBSyxDQUFDLFNBQVMsQ0FBQztZQUNwQjtnQkFDRSxHQUFHLEVBQUUsY0FBYztnQkFDbkIsS0FBSyxFQUFFLFVBQVU7YUFDbEI7U0FDRixDQUFDO0tBQ0gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Jlc291cmNlVHlwZSwgVGVzdEhlbHBlcn0gZnJvbSBcIi4uLy4uL3Rlc3QtaGVscGVyXCI7XG5pbXBvcnQge1xuICBEYXRhQ2xhc3NpZmljYXRpb24sXG4gIERhdGFTZW5zaXRpdml0eSxcbiAgRXh0ZW5kZWRBcHAsXG4gIEV4dGVuZGVkQ29uc3RydWN0LFxuICBFeHRlbmRlZFN0YWNrLFxuICBFeHRlbmRlZFN0YWdlLFxufSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtNYXRjaCwgVGVtcGxhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5pbXBvcnQge0J1Y2tldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHtLZXl9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCI7XG5cbmNsYXNzIFRlc3RTdWJDb25zdHJ1Y3QgZXh0ZW5kcyBFeHRlbmRlZENvbnN0cnVjdCB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiB7XG4gICAgICAgIGF1dG9tYXRpb25Db21wb25lbnRUYWdzOiB7XG4gICAgICAgICAgaWQ6IFwiVGVzdFN1YkNvbnN0cnVjdFwiLFxuICAgICAgICAgIHVybDogXCJodHRwczovL3Rlc3RzdWJjb25zdHJ1Y3QuY29tXCJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIG5ldyBCdWNrZXQodGhpcywgXCJUZXN0U3ViQnVja2V0XCIpO1xuICB9XG59XG5cbmNsYXNzIFRlc3RDb25zdHJ1Y3QgZXh0ZW5kcyBFeHRlbmRlZENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHN0YW5kYXJkVGFnczoge1xuICAgICAgICBhdXRvbWF0aW9uQ29tcG9uZW50VGFnczoge1xuICAgICAgICAgIGlkOiBcIlRlc3RDb25zdHJ1Y3RcIixcbiAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly90ZXN0Y29uc3RydWN0LmNvbVwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBuZXcgQnVja2V0KHRoaXMsIFwiVGVzdEJ1Y2tldFwiKTtcbiAgICBuZXcgVGVzdFN1YkNvbnN0cnVjdCh0aGlzLCBcIlRlc3RTdWJDb25zdHJ1Y3RcIik7XG4gICAgLy8gVGFncy5vZih0aGlzKS5hZGQoXCJiYXJrXCIsIFwibWVvd1wiKTtcbiAgfVxufVxuXG5jbGFzcyBUZXN0U3RhY2sgZXh0ZW5kcyBFeHRlbmRlZFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiB7XG4gICAgICAgIGF1dG9tYXRpb25Db21wb25lbnRUYWdzOiB7XG4gICAgICAgICAgaWQ6IFwiVGVzdFN0YWNrXCIsXG4gICAgICAgICAgdXJsOiBcImh0dHBzOi8vdGVzdHN0YWNrLmNvbVwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBuZXcgVGVzdENvbnN0cnVjdCh0aGlzLCBcIlRlc3RDb25zdHJ1Y3RcIik7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFRlc3RTdGFnZVByb3BzIHtcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IHN0cmluZztcbn1cblxuY2xhc3MgVGVzdFN0YWdlIGV4dGVuZHMgRXh0ZW5kZWRTdGFnZSB7XG4gIHJlYWRvbmx5IHN0YWNrOiBUZXN0U3RhY2s7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUZXN0U3RhZ2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiB7XG4gICAgICAgIGNvc3RDZW50ZXJUYWdzOiB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN0YWNrID0gbmV3IFRlc3RTdGFjayh0aGlzLCBcIlRlc3RTdGFja1wiKTtcbiAgfVxufVxuXG5jbGFzcyBUZXN0QXBwIGV4dGVuZHMgRXh0ZW5kZWRBcHAge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICBhY2NvdW50OiBUZXN0SGVscGVyLkRFRkFVTFRfQUNDT1VOVCxcbiAgICAgIHJlZ2lvbjogVGVzdEhlbHBlci5ERUZBVUxUX1JFR0lPTixcbiAgICAgIHN0YW5kYXJkVGFnczoge1xuICAgICAgICBtYXBNaWdyYXRlZDogXCJtaWcxMjM0NVwiLFxuICAgICAgICBhdXRvbWF0aW9uVGFnczoge1xuICAgICAgICAgIGlkOiBcIlRlc3RBcHBcIixcbiAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly90ZXN0YXBwLmNvbVwiXG4gICAgICAgIH0sXG4gICAgICAgIGNvc3RDZW50ZXJUYWdzOiB7XG4gICAgICAgICAgcHJvamVjdE5hbWU6IFwiVGVzdEFwcFwiLFxuICAgICAgICAgIHByb2plY3RJZDogXCJ0ZXN0LWFwcFwiLFxuICAgICAgICAgIGVudmlyb25tZW50OiBcInRlc3RcIixcbiAgICAgICAgICBjb250YWN0TmFtZTogXCJKb2huIERvZVwiLFxuICAgICAgICAgIGNvbnRhY3RFbWFpbDogXCJqZG9lQGV4YW1wbGUuY29tXCIsXG4gICAgICAgICAgY29udGFjdFBob25lOiBcIisxIDU1NS01NTUtNTU1NVwiLFxuICAgICAgICAgIGJ1c2luZXNzVW5pdE5hbWU6IFwiVGVzdCBVbml0XCIsXG4gICAgICAgICAgYnVzaW5lc3NVbml0SWQ6IFwidGVzdC11bml0XCIsXG4gICAgICAgICAgZGl2aXNpb25OYW1lOiBcIlRlc3QgRGl2aXNpb25cIixcbiAgICAgICAgICBkaXZpc2lvbklkOiBcInRlc3QtZGl2aXNpb25cIixcbiAgICAgICAgICBkZXBhcnRtZW50TmFtZTogXCJUZXN0IERlcGFydG1lbnRcIixcbiAgICAgICAgICBkZXBhcnRtZW50SWQ6IFwidGVzdC1kZXBhcnRtZW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgc2VjdXJpdHlUYWdzOiB7XG4gICAgICAgICAgZGF0YUNsYXNzaWZpY2F0aW9uOiBEYXRhQ2xhc3NpZmljYXRpb24uUmVzdHJpY3RlZCxcbiAgICAgICAgICBkYXRhU2Vuc2l0aXZpdHk6IERhdGFTZW5zaXRpdml0eS5QSUlcbiAgICAgICAgfSxcbiAgICAgICAgdGVhbVRhZ3M6IHtcbiAgICAgICAgICBuYW1lOiBcIlRlc3QgVGVhbVwiLFxuICAgICAgICAgIGlkOiBcInRlc3QtdGVhbVwiLFxuICAgICAgICAgIGNvbnRhY3ROYW1lOiBcIkpvaG4gRG9lXCIsXG4gICAgICAgICAgY29udGFjdEVtYWlsOiBcImpkb2VAZXhhbXBsZS5jb21cIixcbiAgICAgICAgICBjb250YWN0UGhvbmU6IFwiKzEgNTU1LTU1NS01NTU1XCIsXG4gICAgICAgICAgYnVzaW5lc3NVbml0TmFtZTogXCJUZXN0IFVuaXRcIixcbiAgICAgICAgICBidXNpbmVzc1VuaXRJZDogXCJ0ZXN0LXVuaXRcIixcbiAgICAgICAgICBkaXZpc2lvbk5hbWU6IFwiVGVzdCBEaXZpc2lvblwiLFxuICAgICAgICAgIGRpdmlzaW9uSWQ6IFwidGVzdC1kaXZpc2lvblwiLFxuICAgICAgICAgIGRlcGFydG1lbnROYW1lOiBcIlRlc3QgRGVwYXJ0bWVudFwiLFxuICAgICAgICAgIGRlcGFydG1lbnRJZDogXCJ0ZXN0LWRlcGFydG1lbnRcIlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxudGVzdChcIlRlc3QgU3RhbmRhcmRUYWdzXCIsICgpID0+IHtcbiAgY29uc3QgYXBwID0gbmV3IFRlc3RBcHAoKTtcbiAgY29uc3QgdGVzdFN0YWdlID0gbmV3IFRlc3RTdGFnZShhcHAsIFwiVGVzdFN0YWdlXCIsIHtcbiAgICBlbnZpcm9ubWVudDogXCJ0ZXN0XCJcbiAgfSk7XG4gIGNvbnN0IHByb2RTdGFnZSA9IG5ldyBUZXN0U3RhZ2UoYXBwLCBcIlByb2RTdGFnZVwiLCB7XG4gICAgZW52aXJvbm1lbnQ6IFwicHJvZFwiXG4gIH0pO1xuICBjb25zdCB0ZXN0VGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2sodGVzdFN0YWdlLnN0YWNrKTtcbiAgY29uc3QgcHJvZFRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHByb2RTdGFnZS5zdGFjayk7XG4gIC8vIFRlc3RIZWxwZXIubG9nVGVtcGxhdGUodGVzdFRlbXBsYXRlKTtcbiAgLy8gVGVzdEhlbHBlci5sb2dUZW1wbGF0ZShwcm9kVGVtcGxhdGUpO1xuICB0ZXN0VGVtcGxhdGUucmVzb3VyY2VDb3VudElzKFJlc291cmNlVHlwZS5TM19CVUNLRVQsIDIpO1xuICB0ZXN0VGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFJlc291cmNlVHlwZS5TM19CVUNLRVQsIHtcbiAgICBUYWdzOiBNYXRjaC5hcnJheVdpdGgoW1xuICAgICAge1xuICAgICAgICBLZXk6IFwibWFwLW1pZ3JhdGVkXCIsXG4gICAgICAgIFZhbHVlOiBcIm1pZzEyMzQ1XCJcbiAgICAgIH1cbiAgICBdKVxuICB9KTtcbn0pO1xuIl19
@@ -8,6 +8,9 @@ test("Test DistributionBuilder", () => {
8
8
  const bucket = new aws_s3_1.Bucket(stack, "TestBucket");
9
9
  new distribution_builder_1.DistributionBuilder(stack, "TestDistribution")
10
10
  .behaviorFromBucket(bucket)
11
+ .s3Defaults()
12
+ .behaviorFromDomainName("test.example.com", "/api/*")
13
+ .apiDefaults()
11
14
  .toDistribution();
12
15
  });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLWJ1aWxkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRpc3RyaWJ1dGlvbi1idWlsZGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBNkM7QUFDN0MsaUVBQTJEO0FBQzNELCtDQUEwQztBQUUxQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBQ3BDLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQy9DLElBQUksMENBQW1CLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDO1NBQy9DLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztTQUMxQixjQUFjLEVBQUUsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGVzdEhlbHBlcn0gZnJvbSBcIi4uLy4uL3Rlc3QtaGVscGVyXCI7XG5pbXBvcnQge0Rpc3RyaWJ1dGlvbkJ1aWxkZXJ9IGZyb20gXCIuL2Rpc3RyaWJ1dGlvbi1idWlsZGVyXCI7XG5pbXBvcnQge0J1Y2tldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuXG50ZXN0KFwiVGVzdCBEaXN0cmlidXRpb25CdWlsZGVyXCIsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBUZXN0SGVscGVyLnN0YWNrKCk7XG4gIGNvbnN0IGJ1Y2tldCA9IG5ldyBCdWNrZXQoc3RhY2ssIFwiVGVzdEJ1Y2tldFwiKTtcbiAgbmV3IERpc3RyaWJ1dGlvbkJ1aWxkZXIoc3RhY2ssIFwiVGVzdERpc3RyaWJ1dGlvblwiKVxuICAgIC5iZWhhdmlvckZyb21CdWNrZXQoYnVja2V0KVxuICAgIC50b0Rpc3RyaWJ1dGlvbigpO1xufSk7XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0aW9uLWJ1aWxkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRpc3RyaWJ1dGlvbi1idWlsZGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBNkM7QUFDN0MsaUVBQTJEO0FBQzNELCtDQUEwQztBQUUxQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBQ3BDLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQy9DLElBQUksMENBQW1CLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDO1NBQy9DLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztTQUMxQixVQUFVLEVBQUU7U0FDWixzQkFBc0IsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUM7U0FDcEQsV0FBVyxFQUFFO1NBQ2IsY0FBYyxFQUFFLENBQUM7QUFDdEIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Rlc3RIZWxwZXJ9IGZyb20gXCIuLi8uLi90ZXN0LWhlbHBlclwiO1xuaW1wb3J0IHtEaXN0cmlidXRpb25CdWlsZGVyfSBmcm9tIFwiLi9kaXN0cmlidXRpb24tYnVpbGRlclwiO1xuaW1wb3J0IHtCdWNrZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcblxudGVzdChcIlRlc3QgRGlzdHJpYnV0aW9uQnVpbGRlclwiLCAoKSA9PiB7XG4gIGNvbnN0IHN0YWNrID0gVGVzdEhlbHBlci5zdGFjaygpO1xuICBjb25zdCBidWNrZXQgPSBuZXcgQnVja2V0KHN0YWNrLCBcIlRlc3RCdWNrZXRcIik7XG4gIG5ldyBEaXN0cmlidXRpb25CdWlsZGVyKHN0YWNrLCBcIlRlc3REaXN0cmlidXRpb25cIilcbiAgICAuYmVoYXZpb3JGcm9tQnVja2V0KGJ1Y2tldClcbiAgICAuczNEZWZhdWx0cygpXG4gICAgLmJlaGF2aW9yRnJvbURvbWFpbk5hbWUoXCJ0ZXN0LmV4YW1wbGUuY29tXCIsIFwiL2FwaS8qXCIpXG4gICAgLmFwaURlZmF1bHRzKClcbiAgICAudG9EaXN0cmlidXRpb24oKTtcbn0pO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truemark-cdk-lib",
3
- "version": "1.7.4",
3
+ "version": "1.7.6",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "scripts": {
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "3e815474b0de0d9ca51ae18f61344187a3e5ce30"
75
+ "gitHead": "6a0e1e777aa3b1c004f83d49bcb6cb96691cf9cc"
76
76
  }
package/test-helper.d.ts CHANGED
@@ -6,7 +6,8 @@ export declare enum ResourceType {
6
6
  CLOUDWATCH_ALARM = "AWS::CloudWatch::Alarm",
7
7
  LAMBDA_FUNCTION = "AWS::Lambda::Function",
8
8
  DYNAMODB_TABLE = "AWS::DynamoDB::Table",
9
- SSM_PARAMETER = "AWS::SSM::Parameter"
9
+ SSM_PARAMETER = "AWS::SSM::Parameter",
10
+ S3_BUCKET = "AWS::S3::Bucket"
10
11
  }
11
12
  export declare class TestHelper {
12
13
  static readonly DEFAULT_REGION = "us-east-2";
package/test-helper.js CHANGED
@@ -10,6 +10,7 @@ var ResourceType;
10
10
  ResourceType["LAMBDA_FUNCTION"] = "AWS::Lambda::Function";
11
11
  ResourceType["DYNAMODB_TABLE"] = "AWS::DynamoDB::Table";
12
12
  ResourceType["SSM_PARAMETER"] = "AWS::SSM::Parameter";
13
+ ResourceType["S3_BUCKET"] = "AWS::S3::Bucket";
13
14
  })(ResourceType = exports.ResourceType || (exports.ResourceType = {}));
14
15
  class TestHelper {
15
16
  static app() {
@@ -41,4 +42,4 @@ class TestHelper {
41
42
  exports.TestHelper = TestHelper;
42
43
  TestHelper.DEFAULT_REGION = "us-east-2";
43
44
  TestHelper.DEFAULT_ACCOUNT = "100000000000";
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFHN0IsMkNBQTBFO0FBRTFFLElBQVksWUFNWDtBQU5ELFdBQVksWUFBWTtJQUN0Qiw0REFBNEMsQ0FBQTtJQUM1QywyREFBMkMsQ0FBQTtJQUMzQyx5REFBeUMsQ0FBQTtJQUN6Qyx1REFBdUMsQ0FBQTtJQUN2QyxxREFBcUMsQ0FBQTtBQUN2QyxDQUFDLEVBTlcsWUFBWSxHQUFaLG9CQUFZLEtBQVosb0JBQVksUUFNdkI7QUFFRCxNQUFhLFVBQVU7SUFLckIsTUFBTSxDQUFDLEdBQUc7UUFDUixPQUFPLElBQUksbUJBQVcsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFTLEVBQUUsRUFBVztRQUNqQyxPQUFPLElBQUkscUJBQWEsQ0FBQyxHQUFHLGFBQUgsR0FBRyxjQUFILEdBQUcsR0FBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxhQUFGLEVBQUUsY0FBRixFQUFFLEdBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBbUIsRUFBRSxFQUFXO1FBQzNDLE9BQU8sSUFBSSxxQkFBYSxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLGFBQUYsRUFBRSxjQUFGLEVBQUUsR0FBSSxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQWtCO1FBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFrQixFQUFFLElBQTJCLEVBQUUsS0FBVztRQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixPQUFPO1lBQ04sT0FBTyxFQUFFLFVBQVUsQ0FBQyxlQUFlO1lBQ25DLE1BQU0sRUFBRSxVQUFVLENBQUMsY0FBYztTQUNqQyxDQUFBO0lBQ0gsQ0FBQzs7QUFuQ0gsZ0NBb0NDO0FBbENpQix5QkFBYyxHQUFHLFdBQVcsQ0FBQztBQUM3QiwwQkFBZSxHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7VGVtcGxhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5pbXBvcnQge0FwcCwgUmVzb3VyY2VFbnZpcm9ubWVudCwgU3RhY2ssIFN0YWdlfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7RXh0ZW5kZWRBcHAsIEV4dGVuZGVkU3RhY2ssIEV4dGVuZGVkU3RhZ2V9IGZyb20gXCIuL2F3cy1jZGsvaW5kZXhcIjtcblxuZXhwb3J0IGVudW0gUmVzb3VyY2VUeXBlIHtcbiAgQ09ERVBJUEVMSU5FID0gXCJBV1M6OkNvZGVQaXBlbGluZTo6UGlwZWxpbmVcIixcbiAgQ0xPVURXQVRDSF9BTEFSTSA9IFwiQVdTOjpDbG91ZFdhdGNoOjpBbGFybVwiLFxuICBMQU1CREFfRlVOQ1RJT04gPSBcIkFXUzo6TGFtYmRhOjpGdW5jdGlvblwiLFxuICBEWU5BTU9EQl9UQUJMRSA9IFwiQVdTOjpEeW5hbW9EQjo6VGFibGVcIixcbiAgU1NNX1BBUkFNRVRFUiA9IFwiQVdTOjpTU006OlBhcmFtZXRlclwiXG59XG5cbmV4cG9ydCBjbGFzcyBUZXN0SGVscGVyIHtcblxuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9SRUdJT04gPSBcInVzLWVhc3QtMlwiO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9BQ0NPVU5UID0gXCIxMDAwMDAwMDAwMDBcIjtcblxuICBzdGF0aWMgYXBwKCkge1xuICAgIHJldHVybiBuZXcgRXh0ZW5kZWRBcHAoe2FjY291bnQ6IHRoaXMuREVGQVVMVF9BQ0NPVU5ULCByZWdpb246IHRoaXMuREVGQVVMVF9SRUdJT059KTtcbiAgfVxuXG4gIHN0YXRpYyBzdGFnZShhcHA/OiBBcHAsIGlkPzogc3RyaW5nKTogU3RhZ2Uge1xuICAgIHJldHVybiBuZXcgRXh0ZW5kZWRTdGFnZShhcHAgPz8gdGhpcy5hcHAoKSwgaWQ/P1wiVGVzdFN0YWdlXCIpO1xuICB9XG5cbiAgc3RhdGljIHN0YWNrKHNjb3BlPzogQXBwIHwgU3RhZ2UsIGlkPzogc3RyaW5nKTogU3RhY2sge1xuICAgIHJldHVybiBuZXcgRXh0ZW5kZWRTdGFjayhzY29wZSA/PyB0aGlzLmFwcCgpLCBpZCA/PyBcIlRlc3RTdGFja1wiKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNvbHZlVGVzdEZpbGVzKGNoaWxkUGF0aD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwidGVzdC1maWxlc1wiKTtcbiAgICByZXR1cm4gcGF0aC5yZXNvbHZlKGNoaWxkUGF0aCA9PSB1bmRlZmluZWQgPyBkaXIgOiBwYXRoLmpvaW4oZGlyLCBjaGlsZFBhdGgpKTtcbiAgfVxuXG4gIHN0YXRpYyBsb2dSZXNvdXJjZXModGVtcGxhdGU6IFRlbXBsYXRlLCB0eXBlOiBzdHJpbmcgfCBSZXNvdXJjZVR5cGUsIHByb3BzPzogYW55KSB7XG4gICAgY29uc29sZS5sb2codGVtcGxhdGUuZmluZFJlc291cmNlcyh0eXBlLCBwcm9wcykpO1xuICB9XG5cbiAgc3RhdGljIGxvZ1RlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZSkge1xuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHRlbXBsYXRlLCBudWxsLCBcIiAgXCIpKTtcbiAgfVxuXG4gIHN0YXRpYyBlbnYoKTogUmVzb3VyY2VFbnZpcm9ubWVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgYWNjb3VudDogVGVzdEhlbHBlci5ERUZBVUxUX0FDQ09VTlQsXG4gICAgIHJlZ2lvbjogVGVzdEhlbHBlci5ERUZBVUxUX1JFR0lPTlxuICAgIH1cbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFHN0IsMkNBQTBFO0FBRTFFLElBQVksWUFPWDtBQVBELFdBQVksWUFBWTtJQUN0Qiw0REFBNEMsQ0FBQTtJQUM1QywyREFBMkMsQ0FBQTtJQUMzQyx5REFBeUMsQ0FBQTtJQUN6Qyx1REFBdUMsQ0FBQTtJQUN2QyxxREFBcUMsQ0FBQTtJQUNyQyw2Q0FBNkIsQ0FBQTtBQUMvQixDQUFDLEVBUFcsWUFBWSxHQUFaLG9CQUFZLEtBQVosb0JBQVksUUFPdkI7QUFFRCxNQUFhLFVBQVU7SUFLckIsTUFBTSxDQUFDLEdBQUc7UUFDUixPQUFPLElBQUksbUJBQVcsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFTLEVBQUUsRUFBVztRQUNqQyxPQUFPLElBQUkscUJBQWEsQ0FBQyxHQUFHLGFBQUgsR0FBRyxjQUFILEdBQUcsR0FBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxhQUFGLEVBQUUsY0FBRixFQUFFLEdBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBbUIsRUFBRSxFQUFXO1FBQzNDLE9BQU8sSUFBSSxxQkFBYSxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLGFBQUYsRUFBRSxjQUFGLEVBQUUsR0FBSSxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQWtCO1FBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFrQixFQUFFLElBQTJCLEVBQUUsS0FBVztRQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixPQUFPO1lBQ04sT0FBTyxFQUFFLFVBQVUsQ0FBQyxlQUFlO1lBQ25DLE1BQU0sRUFBRSxVQUFVLENBQUMsY0FBYztTQUNqQyxDQUFBO0lBQ0gsQ0FBQzs7QUFuQ0gsZ0NBb0NDO0FBbENpQix5QkFBYyxHQUFHLFdBQVcsQ0FBQztBQUM3QiwwQkFBZSxHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7VGVtcGxhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5pbXBvcnQge0FwcCwgUmVzb3VyY2VFbnZpcm9ubWVudCwgU3RhY2ssIFN0YWdlfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7RXh0ZW5kZWRBcHAsIEV4dGVuZGVkU3RhY2ssIEV4dGVuZGVkU3RhZ2V9IGZyb20gXCIuL2F3cy1jZGsvaW5kZXhcIjtcblxuZXhwb3J0IGVudW0gUmVzb3VyY2VUeXBlIHtcbiAgQ09ERVBJUEVMSU5FID0gXCJBV1M6OkNvZGVQaXBlbGluZTo6UGlwZWxpbmVcIixcbiAgQ0xPVURXQVRDSF9BTEFSTSA9IFwiQVdTOjpDbG91ZFdhdGNoOjpBbGFybVwiLFxuICBMQU1CREFfRlVOQ1RJT04gPSBcIkFXUzo6TGFtYmRhOjpGdW5jdGlvblwiLFxuICBEWU5BTU9EQl9UQUJMRSA9IFwiQVdTOjpEeW5hbW9EQjo6VGFibGVcIixcbiAgU1NNX1BBUkFNRVRFUiA9IFwiQVdTOjpTU006OlBhcmFtZXRlclwiLFxuICBTM19CVUNLRVQgPSBcIkFXUzo6UzM6OkJ1Y2tldFwiXG59XG5cbmV4cG9ydCBjbGFzcyBUZXN0SGVscGVyIHtcblxuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9SRUdJT04gPSBcInVzLWVhc3QtMlwiO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9BQ0NPVU5UID0gXCIxMDAwMDAwMDAwMDBcIjtcblxuICBzdGF0aWMgYXBwKCkge1xuICAgIHJldHVybiBuZXcgRXh0ZW5kZWRBcHAoe2FjY291bnQ6IHRoaXMuREVGQVVMVF9BQ0NPVU5ULCByZWdpb246IHRoaXMuREVGQVVMVF9SRUdJT059KTtcbiAgfVxuXG4gIHN0YXRpYyBzdGFnZShhcHA/OiBBcHAsIGlkPzogc3RyaW5nKTogU3RhZ2Uge1xuICAgIHJldHVybiBuZXcgRXh0ZW5kZWRTdGFnZShhcHAgPz8gdGhpcy5hcHAoKSwgaWQ/P1wiVGVzdFN0YWdlXCIpO1xuICB9XG5cbiAgc3RhdGljIHN0YWNrKHNjb3BlPzogQXBwIHwgU3RhZ2UsIGlkPzogc3RyaW5nKTogU3RhY2sge1xuICAgIHJldHVybiBuZXcgRXh0ZW5kZWRTdGFjayhzY29wZSA/PyB0aGlzLmFwcCgpLCBpZCA/PyBcIlRlc3RTdGFja1wiKTtcbiAgfVxuXG4gIHN0YXRpYyByZXNvbHZlVGVzdEZpbGVzKGNoaWxkUGF0aD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwidGVzdC1maWxlc1wiKTtcbiAgICByZXR1cm4gcGF0aC5yZXNvbHZlKGNoaWxkUGF0aCA9PSB1bmRlZmluZWQgPyBkaXIgOiBwYXRoLmpvaW4oZGlyLCBjaGlsZFBhdGgpKTtcbiAgfVxuXG4gIHN0YXRpYyBsb2dSZXNvdXJjZXModGVtcGxhdGU6IFRlbXBsYXRlLCB0eXBlOiBzdHJpbmcgfCBSZXNvdXJjZVR5cGUsIHByb3BzPzogYW55KSB7XG4gICAgY29uc29sZS5sb2codGVtcGxhdGUuZmluZFJlc291cmNlcyh0eXBlLCBwcm9wcykpO1xuICB9XG5cbiAgc3RhdGljIGxvZ1RlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZSkge1xuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHRlbXBsYXRlLCBudWxsLCBcIiAgXCIpKTtcbiAgfVxuXG4gIHN0YXRpYyBlbnYoKTogUmVzb3VyY2VFbnZpcm9ubWVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgYWNjb3VudDogVGVzdEhlbHBlci5ERUZBVUxUX0FDQ09VTlQsXG4gICAgIHJlZ2lvbjogVGVzdEhlbHBlci5ERUZBVUxUX1JFR0lPTlxuICAgIH1cbiAgfVxufVxuIl19