@sumaris-net/ngx-components 18.1.6 → 18.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/doc/changelog.md CHANGED
@@ -972,5 +972,5 @@ enh: Environment: add useHash property to configure Angular router to use hash U
972
972
  - fix(tab) Keep default tab label style (e.g. min-width) when stretch tabs is enabled
973
973
  - fix(tab) Reduce tab label padding, on small screen
974
974
 
975
- # 18.1.6
975
+ # 18.1.7
976
976
  - enh(AppFormArray) Add `clone()` function
@@ -308,7 +308,7 @@ export class AppFormArray extends UntypedFormArray {
308
308
  }
309
309
  }
310
310
  clone() {
311
- return new AppFormArray(this.createControl, this.equals, this.isEmpty, this.options);
311
+ return new AppFormArray(this.createControl, this.equals, this.isEmpty, { ...this.options });
312
312
  }
313
313
  /* -- internal -- */
314
314
  setAllowEmptyArray(value) {
@@ -325,4 +325,4 @@ export class AppFormArray extends UntypedFormArray {
325
325
  }
326
326
  }
327
327
  }
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hcnJheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL2FycmF5L2Zvcm0tYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEyQyxnQkFBZ0IsRUFBc0IsZ0JBQWdCLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0gsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFTakYsTUFBTSxPQUFPLGVBQWU7SUFtRFA7SUFDVDtJQUNBO0lBQ0E7SUFyRFYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQStCLEVBQUUsSUFBc0IsRUFBRSxTQUFpQjtRQUNoRyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFxQixDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixZQUFZLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVyQyxnRUFBZ0U7WUFDaEUsK0VBQStFO1lBQy9FLElBQUksUUFBUSxJQUFJLFlBQVksQ0FBQyxPQUFPO2dCQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUVqRixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLGdCQUFnQixDQUFVO0lBQzFCLG9CQUFvQixDQUFVO0lBQzlCLHNCQUFzQixDQUFVO0lBRXZCLFdBQVcsQ0FBZ0I7SUFFNUMsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksbUJBQW1CLENBQUMsS0FBYztRQUNwQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxxQkFBcUIsQ0FBQyxLQUFjO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFDbUIsVUFBNEIsRUFDckMsYUFBK0IsRUFDL0IsTUFBaUMsRUFDakMsT0FBOEIsRUFDdEMsT0FBZ0M7UUFKZixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFHdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUVqRCxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxLQUFTLEVBQUUsT0FBbUQ7UUFDaEUsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDNUYsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtZQUM3QyxtQkFBbUIsRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQy9DLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWMsRUFBRSxPQUFpQztRQUN0RCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYTtRQUNuQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVELEVBQUUsQ0FBQyxLQUFhO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQU0sQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQ04sTUFBVyxFQUNYLE9BR0M7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FDUixNQUFXLEVBQ1gsT0FHQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFrRDtRQUN4RCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWtEO1FBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxPQUFPLENBQUMsR0FBeUI7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQU0sQ0FBQztZQUMzQyxJQUFJLE9BQU87Z0JBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsNEJBQTRCO0lBRWxCLGtCQUFrQixDQUFDLEtBQWM7UUFDekMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssS0FBSztZQUFFLE9BQU8sQ0FBQyxlQUFlO1FBRTVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFOUIsK0NBQStDO1FBQy9DLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMxRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFTRCxNQUFNLE9BQU8sWUFBMkUsU0FBUSxnQkFBZ0I7SUE0QnJHO0lBQ0M7SUFDQTtJQTdCTyxPQUFPLENBQXNCO0lBRTlDLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxLQUFjO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLG1CQUFtQixDQUFDLEtBQWM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUNTLGFBQStCLEVBQzlCLE1BQWlDLEVBQ2pDLE9BQThCLEVBQ3RDLE9BQWdEO1FBRWhELEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFMWixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFJdEMsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLEdBQUcsT0FBTztTQUNYLENBQUM7UUFDRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQ04sTUFBYSxFQUNiLE9BR0M7UUFFRCxJQUFJLE1BQU0sS0FBSyxTQUFTO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpR0FBaUcsQ0FBQyxDQUFDO1FBRTdJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBRS9CLFlBQVk7WUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUVsRCw4Q0FBOEM7WUFDOUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTFDLGdFQUFnRTtnQkFDaEUsMkhBQTJIO2dCQUMzSCxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsT0FBTztvQkFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7cUJBQ2xFLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFFBQVE7b0JBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUU3RSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUNSLE1BQWdDLEVBQ2hDLE9BR0M7UUFFRCxrRUFBa0U7UUFDbEUsMkZBQTJGO1FBQzNGLGlHQUFpRztRQUNqRyw0RkFBNEY7UUFDNUYsNEJBQTRCO1FBQzVCLE1BQU07UUFDTixJQUFJLE1BQU0sSUFBSSxJQUFJO1lBQUUsT0FBTyxDQUFDLFNBQVM7UUFFckMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFFL0IsWUFBWTtZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBRWxELDhDQUE4QztZQUM5QyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFMUMsZ0VBQWdFO2dCQUNoRSwySEFBMkg7Z0JBQzNILElBQUksUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPO29CQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztxQkFDbEUsSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUTtvQkFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBRTdFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDdkQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsTUFBYyxFQUFFLE9BQWlDO1FBQ3RELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWtEO1FBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWtEO1FBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQXlCO1FBQy9CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFNLENBQUM7WUFDaEMsSUFBSSxPQUFPO2dCQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxLQUFTLEVBQUUsT0FBbUQ7UUFDaEUsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYSxFQUFFLE9BQWdDO1FBQ3RELGtDQUFrQztRQUNsQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQzthQUFNLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWEsRUFBRSxPQUFnQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxDQUFDLDJCQUEyQjtRQUVwRSxJQUFJLE9BQU8sWUFBWSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUFJLE9BQU8sWUFBWSxnQkFBZ0IsRUFBRSxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxZQUFZLENBQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxvQkFBb0I7SUFFVixrQkFBa0IsQ0FBQyxLQUFjO1FBQ3pDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssS0FBSztZQUFFLE9BQU8sQ0FBQyxlQUFlO1FBRW5FLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUVyQywrQ0FBK0M7UUFDL0MsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUksQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFic3RyYWN0Q29udHJvbE9wdGlvbnMsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0b0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IGFkZFZhbHVlSW5BcnJheSwgY2xlYXJWYWx1ZUluQXJyYXksIGNvcHlFbnRpdHkyRm9ybSwgcmVtb3ZlVmFsdWVJbkFycmF5LCByZXNpemVBcnJheSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3Jtcyc7XG5pbXBvcnQgeyBTaGFyZWRGb3JtQXJyYXlWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3ZhbGlkYXRvci92YWxpZGF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtQXJyYXlIZWxwZXJPcHRpb25zIHtcbiAgYWxsb3dFbXB0eUFycmF5OiBib29sZWFuOyAvLyBmYWxzZSBieSBkZWZhdWx0IC8hXFwgVFJVRSBpbiB0aGUgQXBwRm9ybUFycmF5XG4gIGFsbG93TWFueU51bGxWYWx1ZXM/OiBib29sZWFuOyAvLyBmYWxzZSBieSBkZWZhdWx0XG4gIGFsbG93RHVwbGljYXRlZFZhbHVlcz86IGJvb2xlYW47IC8vIGZhbHNlIGJ5IGRlZmF1bHRcbiAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuW107XG59XG5cbmV4cG9ydCBjbGFzcyBGb3JtQXJyYXlIZWxwZXI8VCA9IEVudGl0eTxhbnk+LCBDIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sID0gQWJzdHJhY3RDb250cm9sPiB7XG4gIHN0YXRpYyBnZXRPckNyZWF0ZUFycmF5KGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIGFycmF5TmFtZTogc3RyaW5nKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBmb3JtLmRpc2FibGVkO1xuICAgIGxldCBhcnJheUNvbnRyb2wgPSBmb3JtLmdldChhcnJheU5hbWUpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gICAgaWYgKCFhcnJheUNvbnRyb2wpIHtcbiAgICAgIGFycmF5Q29udHJvbCA9IGZvcm1CdWlsZGVyLmFycmF5KFtdKTtcblxuICAgICAgLy8gQXBwbHkgcGFyZW50IGRpc2FibGVkIHN0YXRlLCBiZWZvcmUgdG8gcHVzaCBpdCBpbnRvIHRoZSBhcnJheVxuICAgICAgLy8gVGhpcyBpcyBuZWVkIHRvIGF2b2lkIHBhcmVudCBmb3JtIHRvIGJlIGVuYWJsZWQsIGFmdGVyIGNhbGxpbmcgcmVzaXplQXJyYXkoKVxuICAgICAgaWYgKGRpc2FibGVkICYmIGFycmF5Q29udHJvbC5lbmFibGVkKSBhcnJheUNvbnRyb2wuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICAgIGZvcm0uYWRkQ29udHJvbChhcnJheU5hbWUsIGFycmF5Q29udHJvbCk7XG4gICAgfVxuICAgIHJldHVybiBhcnJheUNvbnRyb2w7XG4gIH1cblxuICBwcml2YXRlIF9hbGxvd0VtcHR5QXJyYXk6IGJvb2xlYW47XG4gIHByaXZhdGUgX2FsbG93TWFueU51bGxWYWx1ZXM6IGJvb2xlYW47XG4gIHByaXZhdGUgX2FsbG93RHVwbGljYXRlZFZhbHVlczogYm9vbGVhbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF92YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdO1xuXG4gIGdldCBhbGxvd0VtcHR5QXJyYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93RW1wdHlBcnJheTtcbiAgfVxuXG4gIHNldCBhbGxvd0VtcHR5QXJyYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldEFsbG93RW1wdHlBcnJheSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgYWxsb3dNYW55TnVsbFZhbHVlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dNYW55TnVsbFZhbHVlcztcbiAgfVxuXG4gIHNldCBhbGxvd01hbnlOdWxsVmFsdWVzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWxsb3dNYW55TnVsbFZhbHVlcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGFsbG93RHVwbGljYXRlZFZhbHVlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dEdXBsaWNhdGVkVmFsdWVzO1xuICB9XG5cbiAgc2V0IGFsbG93RHVwbGljYXRlZFZhbHVlcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FsbG93RHVwbGljYXRlZFZhbHVlcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGZvcm1BcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUFycmF5O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUFycmF5OiBVbnR5cGVkRm9ybUFycmF5LFxuICAgIHByaXZhdGUgY3JlYXRlQ29udHJvbDogKHZhbHVlPzogVCkgPT4gQyxcbiAgICBwcml2YXRlIGVxdWFsczogKHYxOiBULCB2MjogVCkgPT4gYm9vbGVhbixcbiAgICBwcml2YXRlIGlzRW1wdHk6ICh2YWx1ZTogVCkgPT4gYm9vbGVhbixcbiAgICBvcHRpb25zPzogRm9ybUFycmF5SGVscGVyT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLl92YWxpZGF0b3JzID0gb3B0aW9ucyAmJiBvcHRpb25zLnZhbGlkYXRvcnM7XG5cbiAgICAvLyBlbXB0eSBhcnJheSBub3QgYWxsb3cgYnkgZGVmYXVsdFxuICAgIHRoaXMuc2V0QWxsb3dFbXB0eUFycmF5KHRvQm9vbGVhbihvcHRpb25zPy5hbGxvd0VtcHR5QXJyYXksIGZhbHNlKSk7XG4gICAgdGhpcy5fYWxsb3dNYW55TnVsbFZhbHVlcyA9IHRvQm9vbGVhbihvcHRpb25zPy5hbGxvd01hbnlOdWxsVmFsdWVzLCBmYWxzZSk7XG4gICAgdGhpcy5fYWxsb3dEdXBsaWNhdGVkVmFsdWVzID0gdG9Cb29sZWFuKG9wdGlvbnM/LmFsbG93RHVwbGljYXRlZFZhbHVlcywgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgYWRkKHZhbHVlPzogVCwgb3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuOyBpbnNlcnRBdD86IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFkZFZhbHVlSW5BcnJheSh0aGlzLl9mb3JtQXJyYXksIHRoaXMuY3JlYXRlQ29udHJvbCwgdGhpcy5lcXVhbHMsIHRoaXMuaXNFbXB0eSwgdmFsdWUsIHtcbiAgICAgIGFsbG93TWFueU51bGxWYWx1ZXM6IHRoaXMuYWxsb3dNYW55TnVsbFZhbHVlcyxcbiAgICAgIGFsbG93RHVwbGljYXRlVmFsdWU6IHRoaXMuYWxsb3dEdXBsaWNhdGVkVmFsdWVzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZUF0KGluZGV4OiBudW1iZXIpIHtcbiAgICAvLyBEbyBub3QgcmVtb3ZlIGlmIGxhc3QgY3JpdGVyaW9uXG4gICAgaWYgKCF0aGlzLl9hbGxvd0VtcHR5QXJyYXkgJiYgdGhpcy5fZm9ybUFycmF5Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIGNsZWFyVmFsdWVJbkFycmF5KHRoaXMuX2Zvcm1BcnJheSwgdGhpcy5pc0VtcHR5LCBpbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZW1vdmVWYWx1ZUluQXJyYXkodGhpcy5fZm9ybUFycmF5LCB0aGlzLmlzRW1wdHksIGluZGV4KTtcbiAgICB9XG4gIH1cblxuICByZXNpemUobGVuZ3RoOiBudW1iZXIsIG9wdGlvbnM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXNpemVBcnJheSh0aGlzLl9mb3JtQXJyYXksIHRoaXMuY3JlYXRlQ29udHJvbCwgbGVuZ3RoLCBvcHRpb25zKTtcbiAgfVxuXG4gIGNsZWFyQXQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjbGVhclZhbHVlSW5BcnJheSh0aGlzLl9mb3JtQXJyYXksIHRoaXMuaXNFbXB0eSwgaW5kZXgpO1xuICB9XG5cbiAgaXNMYXN0KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUFycmF5Lmxlbmd0aCAtIDEgPT09IGluZGV4O1xuICB9XG5cbiAgcmVtb3ZlQWxsRW1wdHkoKSB7XG4gICAgbGV0IGluZGV4ID0gdGhpcy5fZm9ybUFycmF5LmNvbnRyb2xzLmZpbmRJbmRleCgoYykgPT4gdGhpcy5pc0VtcHR5KGMudmFsdWUpKTtcbiAgICB3aGlsZSAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnJlbW92ZUF0KGluZGV4KTtcbiAgICAgIGluZGV4ID0gdGhpcy5fZm9ybUFycmF5LmNvbnRyb2xzLmZpbmRJbmRleCgoYykgPT4gdGhpcy5pc0VtcHR5KGMudmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1BcnJheS5sZW5ndGg7XG4gIH1cblxuICBhdChpbmRleDogbnVtYmVyKTogQyB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1BcnJheS5hdChpbmRleCkgYXMgQztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNpemUgdGhlIEZvcm1BcnJheSwgdGhlbiBzZXQgdmFsdWVzXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZXNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHNldFZhbHVlKFxuICAgIHZhbHVlczogVFtdLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBvbmx5U2VsZj86IGJvb2xlYW47XG4gICAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICAgIH1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5yZXNpemUodmFsdWVzPy5sZW5ndGggfHwgMCk7XG4gICAgdGhpcy5fZm9ybUFycmF5LnNldFZhbHVlKHZhbHVlcywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmVzaXplIHRoZSBGb3JtQXJyYXksIHRoZW4gcGF0Y2ggdmFsdWVzXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZXNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHBhdGNoVmFsdWUoXG4gICAgdmFsdWVzOiBUW10sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIG9ubHlTZWxmPzogYm9vbGVhbjtcbiAgICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gICAgfVxuICApOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZSh2YWx1ZXM/Lmxlbmd0aCB8fCAwKTtcbiAgICB0aGlzLl9mb3JtQXJyYXkucGF0Y2hWYWx1ZSh2YWx1ZXMsIG9wdGlvbnMpO1xuICB9XG5cbiAgZGlzYWJsZShvcHRzPzogeyBvbmx5U2VsZj86IGJvb2xlYW47IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIHRoaXMuX2Zvcm1BcnJheS5jb250cm9scy5mb3JFYWNoKChjKSA9PiBjLmRpc2FibGUob3B0cykpO1xuICB9XG5cbiAgZW5hYmxlKG9wdHM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KSB7XG4gICAgdGhpcy5fZm9ybUFycmF5LmNvbnRyb2xzLmZvckVhY2goKGMpID0+IGMuZW5hYmxlKG9wdHMpKTtcbiAgfVxuXG4gIGZvckVhY2goaXRlOiAoY29udHJvbDogQykgPT4gdm9pZCkge1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLnNpemUoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuX2Zvcm1BcnJheS5hdChpKSBhcyBDO1xuICAgICAgaWYgKGNvbnRyb2wpIGl0ZShjb250cm9sKTtcbiAgICB9XG4gIH1cblxuICAvKiAtLSBpbnRlcm5hbCBtZXRob2RzIC0tICovXG5cbiAgcHJvdGVjdGVkIHNldEFsbG93RW1wdHlBcnJheSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9hbGxvd0VtcHR5QXJyYXkgPT09IHZhbHVlKSByZXR1cm47IC8vIFNraXAgaWYgc2FtZVxuXG4gICAgdGhpcy5fYWxsb3dFbXB0eUFycmF5ID0gdmFsdWU7XG5cbiAgICAvLyBTZXQgcmVxdWlyZWQgKG9yIHJlc3RlKSBtaW4gbGVuZ3RoIHZhbGlkYXRvclxuICAgIGlmICh0aGlzLl9hbGxvd0VtcHR5QXJyYXkpIHtcbiAgICAgIHRoaXMuX2Zvcm1BcnJheS5zZXRWYWxpZGF0b3JzKHRoaXMuX3ZhbGlkYXRvcnMgfHwgbnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2Zvcm1BcnJheS5zZXRWYWxpZGF0b3JzKCh0aGlzLl92YWxpZGF0b3JzIHx8IFtdKS5jb25jYXQoU2hhcmVkRm9ybUFycmF5VmFsaWRhdG9ycy5yZXF1aXJlZEFycmF5TWluTGVuZ3RoKDEpKSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBcHBGb3JtQXJyYXlPcHRpb25zIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB7XG4gIGFsbG93RW1wdHlBcnJheT86IGJvb2xlYW47IC8vIHRydWUgYnkgZGVmYXVsdFxuICBhbGxvd1JldXNlQ29udHJvbHM/OiBib29sZWFuOyAvLyB0cnVlIGJ5IGRlZmF1bHRcbiAgYWxsb3dNYW55TnVsbFZhbHVlcz86IGJvb2xlYW47IC8vIGZhbHNlIGJ5IGRlZmF1bHRcbiAgYWxsb3dEdXBsaWNhdGVWYWx1ZT86IGJvb2xlYW47IC8vIGZhbHNlIGJ5IGRlZmF1bHRcbn1cblxuZXhwb3J0IGNsYXNzIEFwcEZvcm1BcnJheTxUID0gRW50aXR5PGFueT4sIEMgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2wgPSBBYnN0cmFjdENvbnRyb2w+IGV4dGVuZHMgVW50eXBlZEZvcm1BcnJheSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQXBwRm9ybUFycmF5T3B0aW9ucztcblxuICBnZXQgYWxsb3dFbXB0eUFycmF5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWxsb3dFbXB0eUFycmF5O1xuICB9XG5cbiAgc2V0IGFsbG93RW1wdHlBcnJheSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0QWxsb3dFbXB0eUFycmF5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBhbGxvd01hbnlOdWxsVmFsdWVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWxsb3dNYW55TnVsbFZhbHVlcztcbiAgfVxuXG4gIHNldCBhbGxvd01hbnlOdWxsVmFsdWVzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zLmFsbG93TWFueU51bGxWYWx1ZXMgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBhbGxvd0R1cGxpY2F0ZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWxsb3dEdXBsaWNhdGVWYWx1ZTtcbiAgfVxuXG4gIHNldCBhbGxvd0R1cGxpY2F0ZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zLmFsbG93RHVwbGljYXRlVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjcmVhdGVDb250cm9sOiAodmFsdWU/OiBUKSA9PiBDLFxuICAgIHByaXZhdGUgZXF1YWxzOiAodjE6IFQsIHYyOiBUKSA9PiBib29sZWFuLFxuICAgIHByaXZhdGUgaXNFbXB0eTogKHZhbHVlOiBUKSA9PiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiBBcHBGb3JtQXJyYXlPcHRpb25zIHwgdW5kZWZpbmVkIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihbXSwgb3B0aW9ucyk7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgYWxsb3dFbXB0eUFycmF5OiB0cnVlLFxuICAgICAgYWxsb3dSZXVzZUNvbnRyb2xzOiB0cnVlLFxuICAgICAgYWxsb3dNYW55TnVsbFZhbHVlczogZmFsc2UsXG4gICAgICBhbGxvd0R1cGxpY2F0ZVZhbHVlOiBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgICB0aGlzLnNldEFsbG93RW1wdHlBcnJheSh0aGlzLm9wdGlvbnMuYWxsb3dFbXB0eUFycmF5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXSWxsIHJlYnVpbGQgdGhlIGFycmF5LCB1c2luZyB0aGUgZ2l2ZW4gdmFsdWVzXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZXNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHNldFZhbHVlKFxuICAgIHZhbHVlczogYW55W10sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIG9ubHlTZWxmPzogYm9vbGVhbjtcbiAgICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gICAgfVxuICApOiB2b2lkIHtcbiAgICBpZiAodmFsdWVzID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcihcIid1bmRlZmluZWQnIHZhbHVlIG5vdCBhbGxvd2VkIGluIEFwcEZvcm1BcnJheS5zZXRWYWx1ZSgpLiBVc2UgJ251bGwnIG9yICdbXScgdG8gY2xlYXIgdGhlIGFycmF5XCIpO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd1JldXNlQ29udHJvbHMgPT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG5cbiAgICAgIC8vIENsZWFuIGFsbFxuICAgICAgdGhpcy5yZXNpemUoMCwgeyBlbWl0RXZlbnQ6IG9wdGlvbnM/LmVtaXRFdmVudCB9KTtcblxuICAgICAgLy8gUmVjcmVhdGUgZWFjaCBjb250cm9sLCB3aXRoIGEgZGVmYXVsdCB2YWx1ZVxuICAgICAgKHZhbHVlcyB8fCBbXSkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY3JlYXRlQ29udHJvbCh2YWx1ZSk7XG5cbiAgICAgICAgLy8gQXBwbHkgcGFyZW50IGRpc2FibGVkIHN0YXRlLCBiZWZvcmUgdG8gcHVzaCBpdCBpbnRvIHRoZSBhcnJheVxuICAgICAgICAvLyBUaGlzIGlzIG5lZWQgdG8gYXZvaWQgcGFyZW50IGZvcm0gdG8gYmUgZW5hYmxlZCwgYWZ0ZXIgY2FsbGluZyBBcHBGb3JtQXJyYXkucGF0Y2hWYWx1ZSgpIChlLmcuIGluIHRhYmxlJ3Mgcm93IHZhbGlkYXRvcilcbiAgICAgICAgaWYgKGRpc2FibGVkICYmIGNvbnRyb2wuZW5hYmxlZCkgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgZWxzZSBpZiAoIWRpc2FibGVkICYmIGNvbnRyb2wuZGlzYWJsZWQpIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblxuICAgICAgICB0aGlzLnB1c2goY29udHJvbCwgb3B0aW9ucyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNpemUodmFsdWVzPy5sZW5ndGggfHwgMCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgc3VwZXIuc2V0VmFsdWUodmFsdWVzLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBwYXRjaFZhbHVlKFxuICAgIHZhbHVlczogYW55W10gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBvbmx5U2VsZj86IGJvb2xlYW47XG4gICAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICAgIH1cbiAgKTogdm9pZCB7XG4gICAgLy8gLS0tIC8hXFwgRnJvbSBvZmZpY2lhbCBBbmd1bGFyIGRvYyBvZiAnRm9ybUdyb3VwLnBhdGNoVmFsdWUoKScgOlxuICAgIC8vICAgRXZlbiB0aG91Z2ggdGhlIGB2YWx1ZWAgYXJndW1lbnQgdHlwZSBkb2Vzbid0IGFsbG93IGBudWxsYCBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzLCB0aGVcbiAgICAvLyAgIGBwYXRjaFZhbHVlYCBjYW4gYmUgY2FsbGVkIHJlY3Vyc2l2ZWx5IGFuZCBpbm5lciBkYXRhIHN0cnVjdHVyZXMgbWlnaHQgaGF2ZSB0aGVzZSB2YWx1ZXMsIHNvXG4gICAgLy8gICB3ZSBqdXN0IGlnbm9yZSBzdWNoIGNhc2VzIHdoZW4gYSBmaWVsZCBjb250YWluaW5nIEZvcm1Hcm91cCBpbnN0YW5jZSByZWNlaXZlcyBgbnVsbGAgb3JcbiAgICAvLyAgIGB1bmRlZmluZWRgIGFzIGEgdmFsdWUuXG4gICAgLy8gLS0tXG4gICAgaWYgKHZhbHVlcyA9PSBudWxsKSByZXR1cm47IC8vIElnbm9yZVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd1JldXNlQ29udHJvbHMgPT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG5cbiAgICAgIC8vIENsZWFuIGFsbFxuICAgICAgdGhpcy5yZXNpemUoMCwgeyBlbWl0RXZlbnQ6IG9wdGlvbnM/LmVtaXRFdmVudCB9KTtcblxuICAgICAgLy8gUmVjcmVhdGUgZWFjaCBjb250cm9sLCB3aXRoIGEgZGVmYXVsdCB2YWx1ZVxuICAgICAgKHZhbHVlcyB8fCBbXSkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY3JlYXRlQ29udHJvbCh2YWx1ZSk7XG5cbiAgICAgICAgLy8gQXBwbHkgcGFyZW50IGRpc2FibGVkIHN0YXRlLCBiZWZvcmUgdG8gcHVzaCBpdCBpbnRvIHRoZSBhcnJheVxuICAgICAgICAvLyBUaGlzIGlzIG5lZWQgdG8gYXZvaWQgcGFyZW50IGZvcm0gdG8gYmUgZW5hYmxlZCwgYWZ0ZXIgY2FsbGluZyBBcHBGb3JtQXJyYXkucGF0Y2hWYWx1ZSgpIChlLmcuIGluIHRhYmxlJ3Mgcm93IHZhbGlkYXRvcilcbiAgICAgICAgaWYgKGRpc2FibGVkICYmIGNvbnRyb2wuZW5hYmxlZCkgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgZWxzZSBpZiAoIWRpc2FibGVkICYmIGNvbnRyb2wuZGlzYWJsZWQpIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblxuICAgICAgICB0aGlzLnB1c2goY29udHJvbCwgb3B0aW9ucyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNpemUodmFsdWVzPy5sZW5ndGggfHwgMCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZXMsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZShsZW5ndGg6IG51bWJlciwgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJlc2l6ZUFycmF5KHRoaXMsIHRoaXMuY3JlYXRlQ29udHJvbCwgbGVuZ3RoLCBvcHRpb25zKTtcbiAgfVxuXG4gIGRpc2FibGUob3B0cz86IHsgb25seVNlbGY/OiBib29sZWFuOyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pIHtcbiAgICBzdXBlci5kaXNhYmxlKG9wdHMpO1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaCgoYykgPT4gYy5kaXNhYmxlKG9wdHMpKTtcbiAgfVxuXG4gIGVuYWJsZShvcHRzPzogeyBvbmx5U2VsZj86IGJvb2xlYW47IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIHN1cGVyLmVuYWJsZShvcHRzKTtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goKGMpID0+IGMuZW5hYmxlKG9wdHMpKTtcbiAgfVxuXG4gIGZvckVhY2goaXRlOiAoY29udHJvbDogQykgPT4gdm9pZCkge1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuYXQoaSkgYXMgQztcbiAgICAgIGlmIChjb250cm9sKSBpdGUoY29udHJvbCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgYWRkKHZhbHVlPzogVCwgb3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuOyBpbnNlcnRBdD86IG51bWJlciB9KSB7XG4gICAgYWRkVmFsdWVJbkFycmF5KHRoaXMsIHRoaXMuY3JlYXRlQ29udHJvbCwgdGhpcy5lcXVhbHMsIHRoaXMuaXNFbXB0eSwgdmFsdWUsIHsgLi4udGhpcy5vcHRpb25zLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcmVtb3ZlQXQoaW5kZXg6IG51bWJlciwgb3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuIH0pIHtcbiAgICAvLyBEbyBub3QgcmVtb3ZlIGlmIGxhc3QgY3JpdGVyaW9uXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd0VtcHR5QXJyYXkgPT09IGZhbHNlICYmIHRoaXMubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLmNsZWFyQXQoaW5kZXgsIG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCkge1xuICAgICAgc3VwZXIucmVtb3ZlQXQoaW5kZXgsIG9wdGlvbnMpO1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNsZWFyQXQoaW5kZXg6IG51bWJlciwgb3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuIH0pIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5hdChpbmRleCk7XG4gICAgaWYgKHRoaXMuaXNFbXB0eShjb250cm9sLnZhbHVlKSkgcmV0dXJuOyAvLyBza2lwIChub3QgbmVlZCB0byBjbGVhcilcblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Hcm91cCkge1xuICAgICAgY29weUVudGl0eTJGb3JtKHt9LCBjb250cm9sLCBvcHRpb25zKTtcbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUFycmF5KSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKFtdLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udHJvbC5zZXRWYWx1ZShudWxsLCBvcHRpb25zKTtcbiAgICB9XG4gICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgaXNMYXN0KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGggLSAxID09PSBpbmRleDtcbiAgfVxuXG4gIHJlbW92ZUFsbEVtcHR5KCkge1xuICAgIGxldCBpbmRleCA9IHRoaXMuY29udHJvbHMuZmluZEluZGV4KChjKSA9PiB0aGlzLmlzRW1wdHkoYy52YWx1ZSkpO1xuICAgIHdoaWxlIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgaW5kZXggPSB0aGlzLmNvbnRyb2xzLmZpbmRJbmRleCgoYykgPT4gdGhpcy5pc0VtcHR5KGMudmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBjbG9uZSgpOiBBcHBGb3JtQXJyYXk8VCwgQz4ge1xuICAgIHJldHVybiBuZXcgQXBwRm9ybUFycmF5PFQsIEM+KHRoaXMuY3JlYXRlQ29udHJvbCwgdGhpcy5lcXVhbHMsIHRoaXMuaXNFbXB0eSwgdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIC8qIC0tIGludGVybmFsIC0tICovXG5cbiAgcHJvdGVjdGVkIHNldEFsbG93RW1wdHlBcnJheSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dFbXB0eUFycmF5ID09PSB2YWx1ZSkgcmV0dXJuOyAvLyBTa2lwIGlmIHNhbWVcblxuICAgIHRoaXMub3B0aW9ucy5hbGxvd0VtcHR5QXJyYXkgPSB2YWx1ZTtcblxuICAgIC8vIFNldCByZXF1aXJlZCAob3IgcmVzZXQpIG1pbiBsZW5ndGggdmFsaWRhdG9yXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd0VtcHR5QXJyYXkpIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRhdG9ycyh0aGlzLm9wdGlvbnMudmFsaWRhdG9ycyB8fCBudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMub3B0aW9ucz8udmFsaWRhdG9ycyB8fCBbXTtcbiAgICAgIHRoaXMuc2V0VmFsaWRhdG9ycygoQXJyYXkuaXNBcnJheSh2YWxpZGF0b3JzKSA/IHZhbGlkYXRvcnMgOiBbdmFsaWRhdG9yc10pLmNvbmNhdChTaGFyZWRGb3JtQXJyYXlWYWxpZGF0b3JzLnJlcXVpcmVkQXJyYXlNaW5MZW5ndGgoMSkpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
328
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hcnJheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL2FycmF5L2Zvcm0tYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEyQyxnQkFBZ0IsRUFBc0IsZ0JBQWdCLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0gsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFTakYsTUFBTSxPQUFPLGVBQWU7SUFtRFA7SUFDVDtJQUNBO0lBQ0E7SUFyRFYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQStCLEVBQUUsSUFBc0IsRUFBRSxTQUFpQjtRQUNoRyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFxQixDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixZQUFZLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVyQyxnRUFBZ0U7WUFDaEUsK0VBQStFO1lBQy9FLElBQUksUUFBUSxJQUFJLFlBQVksQ0FBQyxPQUFPO2dCQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUVqRixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLGdCQUFnQixDQUFVO0lBQzFCLG9C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O1FBQ3pDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssS0FBSztZQUFFLE9BQU8sQ0FBQyxlQUFlO1FBRW5FLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUVyQywrQ0FBK0M7UUFDL0MsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUksQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFic3RyYWN0Q29udHJvbE9wdGlvbnMsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0b0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IGFkZFZhbHVlSW5BcnJheSwgY2xlYXJWYWx1ZUluQXJyYXksIGNvcHlFbnRpdHkyRm9ybSwgcmVtb3ZlVmFsdWVJbkFycmF5LCByZXNpemVBcnJheSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3Jtcyc7XG5pbXBvcnQgeyBTaGFyZWRGb3JtQXJyYXlWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3ZhbGlkYXRvci92YWxpZGF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtQXJyYXlIZWxwZXJPcHRpb25zIHtcbiAgYWxsb3dFbXB0eUFycmF5OiBib29sZWFuOyAvLyBmYWxzZSBieSBkZWZhdWx0IC8hXFwgVFJVRSBpbiB0aGUgQXBwRm9ybUFycmF5XG4gIGFsbG93TWFueU51bGxWYWx1ZXM/OiBib29sZWFuOyAvLyBmYWxzZSBieSBkZWZhdWx0XG4gIGFsbG93RHVwbGljYXRlZFZhbHVlcz86IGJvb2xlYW47IC8vIGZhbHNlIGJ5IGRlZmF1bHRcbiAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuW107XG59XG5cbmV4cG9ydCBjbGFzcyBGb3JtQXJyYXlIZWxwZXI8VCA9IEVudGl0eTxhbnk+LCBDIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sID0gQWJzdHJhY3RDb250cm9sPiB7XG4gIHN0YXRpYyBnZXRPckNyZWF0ZUFycmF5KGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIGFycmF5TmFtZTogc3RyaW5nKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBmb3JtLmRpc2FibGVkO1xuICAgIGxldCBhcnJheUNvbnRyb2wgPSBmb3JtLmdldChhcnJheU5hbWUpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gICAgaWYgKCFhcnJheUNvbnRyb2wpIHtcbiAgICAgIGFycmF5Q29udHJvbCA9IGZvcm1CdWlsZGVyLmFycmF5KFtdKTtcblxuICAgICAgLy8gQXBwbHkgcGFyZW50IGRpc2FibGVkIHN0YXRlLCBiZWZvcmUgdG8gcHVzaCBpdCBpbnRvIHRoZSBhcnJheVxuICAgICAgLy8gVGhpcyBpcyBuZWVkIHRvIGF2b2lkIHBhcmVudCBmb3JtIHRvIGJlIGVuYWJsZWQsIGFmdGVyIGNhbGxpbmcgcmVzaXplQXJyYXkoKVxuICAgICAgaWYgKGRpc2FibGVkICYmIGFycmF5Q29udHJvbC5lbmFibGVkKSBhcnJheUNvbnRyb2wuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICAgIGZvcm0uYWRkQ29udHJvbChhcnJheU5hbWUsIGFycmF5Q29udHJvbCk7XG4gICAgfVxuICAgIHJldHVybiBhcnJheUNvbnRyb2w7XG4gIH1cblxuICBwcml2YXRlIF9hbGxvd0VtcHR5QXJyYXk6IGJvb2xlYW47XG4gIHByaXZhdGUgX2FsbG93TWFueU51bGxWYWx1ZXM6IGJvb2xlYW47XG4gIHByaXZhdGUgX2FsbG93RHVwbGljYXRlZFZhbHVlczogYm9vbGVhbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF92YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdO1xuXG4gIGdldCBhbGxvd0VtcHR5QXJyYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FsbG93RW1wdHlBcnJheTtcbiAgfVxuXG4gIHNldCBhbGxvd0VtcHR5QXJyYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldEFsbG93RW1wdHlBcnJheSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgYWxsb3dNYW55TnVsbFZhbHVlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dNYW55TnVsbFZhbHVlcztcbiAgfVxuXG4gIHNldCBhbGxvd01hbnlOdWxsVmFsdWVzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWxsb3dNYW55TnVsbFZhbHVlcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGFsbG93RHVwbGljYXRlZFZhbHVlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dEdXBsaWNhdGVkVmFsdWVzO1xuICB9XG5cbiAgc2V0IGFsbG93RHVwbGljYXRlZFZhbHVlcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FsbG93RHVwbGljYXRlZFZhbHVlcyA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGZvcm1BcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUFycmF5O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUFycmF5OiBVbnR5cGVkRm9ybUFycmF5LFxuICAgIHByaXZhdGUgY3JlYXRlQ29udHJvbDogKHZhbHVlPzogVCkgPT4gQyxcbiAgICBwcml2YXRlIGVxdWFsczogKHYxOiBULCB2MjogVCkgPT4gYm9vbGVhbixcbiAgICBwcml2YXRlIGlzRW1wdHk6ICh2YWx1ZTogVCkgPT4gYm9vbGVhbixcbiAgICBvcHRpb25zPzogRm9ybUFycmF5SGVscGVyT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLl92YWxpZGF0b3JzID0gb3B0aW9ucyAmJiBvcHRpb25zLnZhbGlkYXRvcnM7XG5cbiAgICAvLyBlbXB0eSBhcnJheSBub3QgYWxsb3cgYnkgZGVmYXVsdFxuICAgIHRoaXMuc2V0QWxsb3dFbXB0eUFycmF5KHRvQm9vbGVhbihvcHRpb25zPy5hbGxvd0VtcHR5QXJyYXksIGZhbHNlKSk7XG4gICAgdGhpcy5fYWxsb3dNYW55TnVsbFZhbHVlcyA9IHRvQm9vbGVhbihvcHRpb25zPy5hbGxvd01hbnlOdWxsVmFsdWVzLCBmYWxzZSk7XG4gICAgdGhpcy5fYWxsb3dEdXBsaWNhdGVkVmFsdWVzID0gdG9Cb29sZWFuKG9wdGlvbnM/LmFsbG93RHVwbGljYXRlZFZhbHVlcywgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgYWRkKHZhbHVlPzogVCwgb3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuOyBpbnNlcnRBdD86IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFkZFZhbHVlSW5BcnJheSh0aGlzLl9mb3JtQXJyYXksIHRoaXMuY3JlYXRlQ29udHJvbCwgdGhpcy5lcXVhbHMsIHRoaXMuaXNFbXB0eSwgdmFsdWUsIHtcbiAgICAgIGFsbG93TWFueU51bGxWYWx1ZXM6IHRoaXMuYWxsb3dNYW55TnVsbFZhbHVlcyxcbiAgICAgIGFsbG93RHVwbGljYXRlVmFsdWU6IHRoaXMuYWxsb3dEdXBsaWNhdGVkVmFsdWVzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZUF0KGluZGV4OiBudW1iZXIpIHtcbiAgICAvLyBEbyBub3QgcmVtb3ZlIGlmIGxhc3QgY3JpdGVyaW9uXG4gICAgaWYgKCF0aGlzLl9hbGxvd0VtcHR5QXJyYXkgJiYgdGhpcy5fZm9ybUFycmF5Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIGNsZWFyVmFsdWVJbkFycmF5KHRoaXMuX2Zvcm1BcnJheSwgdGhpcy5pc0VtcHR5LCBpbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZW1vdmVWYWx1ZUluQXJyYXkodGhpcy5fZm9ybUFycmF5LCB0aGlzLmlzRW1wdHksIGluZGV4KTtcbiAgICB9XG4gIH1cblxuICByZXNpemUobGVuZ3RoOiBudW1iZXIsIG9wdGlvbnM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW4gfSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXNpemVBcnJheSh0aGlzLl9mb3JtQXJyYXksIHRoaXMuY3JlYXRlQ29udHJvbCwgbGVuZ3RoLCBvcHRpb25zKTtcbiAgfVxuXG4gIGNsZWFyQXQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjbGVhclZhbHVlSW5BcnJheSh0aGlzLl9mb3JtQXJyYXksIHRoaXMuaXNFbXB0eSwgaW5kZXgpO1xuICB9XG5cbiAgaXNMYXN0KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybUFycmF5Lmxlbmd0aCAtIDEgPT09IGluZGV4O1xuICB9XG5cbiAgcmVtb3ZlQWxsRW1wdHkoKSB7XG4gICAgbGV0IGluZGV4ID0gdGhpcy5fZm9ybUFycmF5LmNvbnRyb2xzLmZpbmRJbmRleCgoYykgPT4gdGhpcy5pc0VtcHR5KGMudmFsdWUpKTtcbiAgICB3aGlsZSAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnJlbW92ZUF0KGluZGV4KTtcbiAgICAgIGluZGV4ID0gdGhpcy5fZm9ybUFycmF5LmNvbnRyb2xzLmZpbmRJbmRleCgoYykgPT4gdGhpcy5pc0VtcHR5KGMudmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1BcnJheS5sZW5ndGg7XG4gIH1cblxuICBhdChpbmRleDogbnVtYmVyKTogQyB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1BcnJheS5hdChpbmRleCkgYXMgQztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNpemUgdGhlIEZvcm1BcnJheSwgdGhlbiBzZXQgdmFsdWVzXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZXNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHNldFZhbHVlKFxuICAgIHZhbHVlczogVFtdLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBvbmx5U2VsZj86IGJvb2xlYW47XG4gICAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICAgIH1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5yZXNpemUodmFsdWVzPy5sZW5ndGggfHwgMCk7XG4gICAgdGhpcy5fZm9ybUFycmF5LnNldFZhbHVlKHZhbHVlcywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmVzaXplIHRoZSBGb3JtQXJyYXksIHRoZW4gcGF0Y2ggdmFsdWVzXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZXNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHBhdGNoVmFsdWUoXG4gICAgdmFsdWVzOiBUW10sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIG9ubHlTZWxmPzogYm9vbGVhbjtcbiAgICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gICAgfVxuICApOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZSh2YWx1ZXM/Lmxlbmd0aCB8fCAwKTtcbiAgICB0aGlzLl9mb3JtQXJyYXkucGF0Y2hWYWx1ZSh2YWx1ZXMsIG9wdGlvbnMpO1xuICB9XG5cbiAgZGlzYWJsZShvcHRzPzogeyBvbmx5U2VsZj86IGJvb2xlYW47IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIHRoaXMuX2Zvcm1BcnJheS5jb250cm9scy5mb3JFYWNoKChjKSA9PiBjLmRpc2FibGUob3B0cykpO1xuICB9XG5cbiAgZW5hYmxlKG9wdHM/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KSB7XG4gICAgdGhpcy5fZm9ybUFycmF5LmNvbnRyb2xzLmZvckVhY2goKGMpID0+IGMuZW5hYmxlKG9wdHMpKTtcbiAgfVxuXG4gIGZvckVhY2goaXRlOiAoY29udHJvbDogQykgPT4gdm9pZCkge1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLnNpemUoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuX2Zvcm1BcnJheS5hdChpKSBhcyBDO1xuICAgICAgaWYgKGNvbnRyb2wpIGl0ZShjb250cm9sKTtcbiAgICB9XG4gIH1cblxuICAvKiAtLSBpbnRlcm5hbCBtZXRob2RzIC0tICovXG5cbiAgcHJvdGVjdGVkIHNldEFsbG93RW1wdHlBcnJheSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9hbGxvd0VtcHR5QXJyYXkgPT09IHZhbHVlKSByZXR1cm47IC8vIFNraXAgaWYgc2FtZVxuXG4gICAgdGhpcy5fYWxsb3dFbXB0eUFycmF5ID0gdmFsdWU7XG5cbiAgICAvLyBTZXQgcmVxdWlyZWQgKG9yIHJlc3RlKSBtaW4gbGVuZ3RoIHZhbGlkYXRvclxuICAgIGlmICh0aGlzLl9hbGxvd0VtcHR5QXJyYXkpIHtcbiAgICAgIHRoaXMuX2Zvcm1BcnJheS5zZXRWYWxpZGF0b3JzKHRoaXMuX3ZhbGlkYXRvcnMgfHwgbnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2Zvcm1BcnJheS5zZXRWYWxpZGF0b3JzKCh0aGlzLl92YWxpZGF0b3JzIHx8IFtdKS5jb25jYXQoU2hhcmVkRm9ybUFycmF5VmFsaWRhdG9ycy5yZXF1aXJlZEFycmF5TWluTGVuZ3RoKDEpKSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBcHBGb3JtQXJyYXlPcHRpb25zIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB7XG4gIGFsbG93RW1wdHlBcnJheT86IGJvb2xlYW47IC8vIHRydWUgYnkgZGVmYXVsdFxuICBhbGxvd1JldXNlQ29udHJvbHM/OiBib29sZWFuOyAvLyB0cnVlIGJ5IGRlZmF1bHRcbiAgYWxsb3dNYW55TnVsbFZhbHVlcz86IGJvb2xlYW47IC8vIGZhbHNlIGJ5IGRlZmF1bHRcbiAgYWxsb3dEdXBsaWNhdGVWYWx1ZT86IGJvb2xlYW47IC8vIGZhbHNlIGJ5IGRlZmF1bHRcbn1cblxuZXhwb3J0IGNsYXNzIEFwcEZvcm1BcnJheTxUID0gRW50aXR5PGFueT4sIEMgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2wgPSBBYnN0cmFjdENvbnRyb2w+IGV4dGVuZHMgVW50eXBlZEZvcm1BcnJheSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQXBwRm9ybUFycmF5T3B0aW9ucztcblxuICBnZXQgYWxsb3dFbXB0eUFycmF5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWxsb3dFbXB0eUFycmF5O1xuICB9XG5cbiAgc2V0IGFsbG93RW1wdHlBcnJheSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0QWxsb3dFbXB0eUFycmF5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBhbGxvd01hbnlOdWxsVmFsdWVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWxsb3dNYW55TnVsbFZhbHVlcztcbiAgfVxuXG4gIHNldCBhbGxvd01hbnlOdWxsVmFsdWVzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zLmFsbG93TWFueU51bGxWYWx1ZXMgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBhbGxvd0R1cGxpY2F0ZVZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWxsb3dEdXBsaWNhdGVWYWx1ZTtcbiAgfVxuXG4gIHNldCBhbGxvd0R1cGxpY2F0ZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zLmFsbG93RHVwbGljYXRlVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjcmVhdGVDb250cm9sOiAodmFsdWU/OiBUKSA9PiBDLFxuICAgIHByaXZhdGUgZXF1YWxzOiAodjE6IFQsIHYyOiBUKSA9PiBib29sZWFuLFxuICAgIHByaXZhdGUgaXNFbXB0eTogKHZhbHVlOiBUKSA9PiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiBBcHBGb3JtQXJyYXlPcHRpb25zIHwgdW5kZWZpbmVkIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihbXSwgb3B0aW9ucyk7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgYWxsb3dFbXB0eUFycmF5OiB0cnVlLFxuICAgICAgYWxsb3dSZXVzZUNvbnRyb2xzOiB0cnVlLFxuICAgICAgYWxsb3dNYW55TnVsbFZhbHVlczogZmFsc2UsXG4gICAgICBhbGxvd0R1cGxpY2F0ZVZhbHVlOiBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgICB0aGlzLnNldEFsbG93RW1wdHlBcnJheSh0aGlzLm9wdGlvbnMuYWxsb3dFbXB0eUFycmF5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXSWxsIHJlYnVpbGQgdGhlIGFycmF5LCB1c2luZyB0aGUgZ2l2ZW4gdmFsdWVzXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZXNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHNldFZhbHVlKFxuICAgIHZhbHVlczogYW55W10sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIG9ubHlTZWxmPzogYm9vbGVhbjtcbiAgICAgIGVtaXRFdmVudD86IGJvb2xlYW47XG4gICAgfVxuICApOiB2b2lkIHtcbiAgICBpZiAodmFsdWVzID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcihcIid1bmRlZmluZWQnIHZhbHVlIG5vdCBhbGxvd2VkIGluIEFwcEZvcm1BcnJheS5zZXRWYWx1ZSgpLiBVc2UgJ251bGwnIG9yICdbXScgdG8gY2xlYXIgdGhlIGFycmF5XCIpO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd1JldXNlQ29udHJvbHMgPT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG5cbiAgICAgIC8vIENsZWFuIGFsbFxuICAgICAgdGhpcy5yZXNpemUoMCwgeyBlbWl0RXZlbnQ6IG9wdGlvbnM/LmVtaXRFdmVudCB9KTtcblxuICAgICAgLy8gUmVjcmVhdGUgZWFjaCBjb250cm9sLCB3aXRoIGEgZGVmYXVsdCB2YWx1ZVxuICAgICAgKHZhbHVlcyB8fCBbXSkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY3JlYXRlQ29udHJvbCh2YWx1ZSk7XG5cbiAgICAgICAgLy8gQXBwbHkgcGFyZW50IGRpc2FibGVkIHN0YXRlLCBiZWZvcmUgdG8gcHVzaCBpdCBpbnRvIHRoZSBhcnJheVxuICAgICAgICAvLyBUaGlzIGlzIG5lZWQgdG8gYXZvaWQgcGFyZW50IGZvcm0gdG8gYmUgZW5hYmxlZCwgYWZ0ZXIgY2FsbGluZyBBcHBGb3JtQXJyYXkucGF0Y2hWYWx1ZSgpIChlLmcuIGluIHRhYmxlJ3Mgcm93IHZhbGlkYXRvcilcbiAgICAgICAgaWYgKGRpc2FibGVkICYmIGNvbnRyb2wuZW5hYmxlZCkgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgZWxzZSBpZiAoIWRpc2FibGVkICYmIGNvbnRyb2wuZGlzYWJsZWQpIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblxuICAgICAgICB0aGlzLnB1c2goY29udHJvbCwgb3B0aW9ucyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNpemUodmFsdWVzPy5sZW5ndGggfHwgMCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgc3VwZXIuc2V0VmFsdWUodmFsdWVzLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBwYXRjaFZhbHVlKFxuICAgIHZhbHVlczogYW55W10gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBvbmx5U2VsZj86IGJvb2xlYW47XG4gICAgICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICAgIH1cbiAgKTogdm9pZCB7XG4gICAgLy8gLS0tIC8hXFwgRnJvbSBvZmZpY2lhbCBBbmd1bGFyIGRvYyBvZiAnRm9ybUdyb3VwLnBhdGNoVmFsdWUoKScgOlxuICAgIC8vICAgRXZlbiB0aG91Z2ggdGhlIGB2YWx1ZWAgYXJndW1lbnQgdHlwZSBkb2Vzbid0IGFsbG93IGBudWxsYCBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzLCB0aGVcbiAgICAvLyAgIGBwYXRjaFZhbHVlYCBjYW4gYmUgY2FsbGVkIHJlY3Vyc2l2ZWx5IGFuZCBpbm5lciBkYXRhIHN0cnVjdHVyZXMgbWlnaHQgaGF2ZSB0aGVzZSB2YWx1ZXMsIHNvXG4gICAgLy8gICB3ZSBqdXN0IGlnbm9yZSBzdWNoIGNhc2VzIHdoZW4gYSBmaWVsZCBjb250YWluaW5nIEZvcm1Hcm91cCBpbnN0YW5jZSByZWNlaXZlcyBgbnVsbGAgb3JcbiAgICAvLyAgIGB1bmRlZmluZWRgIGFzIGEgdmFsdWUuXG4gICAgLy8gLS0tXG4gICAgaWYgKHZhbHVlcyA9PSBudWxsKSByZXR1cm47IC8vIElnbm9yZVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd1JldXNlQ29udHJvbHMgPT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG5cbiAgICAgIC8vIENsZWFuIGFsbFxuICAgICAgdGhpcy5yZXNpemUoMCwgeyBlbWl0RXZlbnQ6IG9wdGlvbnM/LmVtaXRFdmVudCB9KTtcblxuICAgICAgLy8gUmVjcmVhdGUgZWFjaCBjb250cm9sLCB3aXRoIGEgZGVmYXVsdCB2YWx1ZVxuICAgICAgKHZhbHVlcyB8fCBbXSkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY3JlYXRlQ29udHJvbCh2YWx1ZSk7XG5cbiAgICAgICAgLy8gQXBwbHkgcGFyZW50IGRpc2FibGVkIHN0YXRlLCBiZWZvcmUgdG8gcHVzaCBpdCBpbnRvIHRoZSBhcnJheVxuICAgICAgICAvLyBUaGlzIGlzIG5lZWQgdG8gYXZvaWQgcGFyZW50IGZvcm0gdG8gYmUgZW5hYmxlZCwgYWZ0ZXIgY2FsbGluZyBBcHBGb3JtQXJyYXkucGF0Y2hWYWx1ZSgpIChlLmcuIGluIHRhYmxlJ3Mgcm93IHZhbGlkYXRvcilcbiAgICAgICAgaWYgKGRpc2FibGVkICYmIGNvbnRyb2wuZW5hYmxlZCkgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgZWxzZSBpZiAoIWRpc2FibGVkICYmIGNvbnRyb2wuZGlzYWJsZWQpIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblxuICAgICAgICB0aGlzLnB1c2goY29udHJvbCwgb3B0aW9ucyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNpemUodmFsdWVzPy5sZW5ndGggfHwgMCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZXMsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZShsZW5ndGg6IG51bWJlciwgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJlc2l6ZUFycmF5KHRoaXMsIHRoaXMuY3JlYXRlQ29udHJvbCwgbGVuZ3RoLCBvcHRpb25zKTtcbiAgfVxuXG4gIGRpc2FibGUob3B0cz86IHsgb25seVNlbGY/OiBib29sZWFuOyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pIHtcbiAgICBzdXBlci5kaXNhYmxlKG9wdHMpO1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaCgoYykgPT4gYy5kaXNhYmxlKG9wdHMpKTtcbiAgfVxuXG4gIGVuYWJsZShvcHRzPzogeyBvbmx5U2VsZj86IGJvb2xlYW47IGVtaXRFdmVudD86IGJvb2xlYW4gfSkge1xuICAgIHN1cGVyLmVuYWJsZShvcHRzKTtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goKGMpID0+IGMuZW5hYmxlKG9wdHMpKTtcbiAgfVxuXG4gIGZvckVhY2goaXRlOiAoY29udHJvbDogQykgPT4gdm9pZCkge1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuYXQoaSkgYXMgQztcbiAgICAgIGlmIChjb250cm9sKSBpdGUoY29udHJvbCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgYWRkKHZhbHVlPzogVCwgb3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuOyBpbnNlcnRBdD86IG51bWJlciB9KSB7XG4gICAgYWRkVmFsdWVJbkFycmF5KHRoaXMsIHRoaXMuY3JlYXRlQ29udHJvbCwgdGhpcy5lcXVhbHMsIHRoaXMuaXNFbXB0eSwgdmFsdWUsIHsgLi4udGhpcy5vcHRpb25zLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcmVtb3ZlQXQoaW5kZXg6IG51bWJlciwgb3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuIH0pIHtcbiAgICAvLyBEbyBub3QgcmVtb3ZlIGlmIGxhc3QgY3JpdGVyaW9uXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd0VtcHR5QXJyYXkgPT09IGZhbHNlICYmIHRoaXMubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLmNsZWFyQXQoaW5kZXgsIG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCkge1xuICAgICAgc3VwZXIucmVtb3ZlQXQoaW5kZXgsIG9wdGlvbnMpO1xuICAgICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNsZWFyQXQoaW5kZXg6IG51bWJlciwgb3B0aW9ucz86IHsgZW1pdEV2ZW50OiBib29sZWFuIH0pIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5hdChpbmRleCk7XG4gICAgaWYgKHRoaXMuaXNFbXB0eShjb250cm9sLnZhbHVlKSkgcmV0dXJuOyAvLyBza2lwIChub3QgbmVlZCB0byBjbGVhcilcblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Hcm91cCkge1xuICAgICAgY29weUVudGl0eTJGb3JtKHt9LCBjb250cm9sLCBvcHRpb25zKTtcbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUFycmF5KSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKFtdLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udHJvbC5zZXRWYWx1ZShudWxsLCBvcHRpb25zKTtcbiAgICB9XG4gICAgdGhpcy5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgaXNMYXN0KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGggLSAxID09PSBpbmRleDtcbiAgfVxuXG4gIHJlbW92ZUFsbEVtcHR5KCkge1xuICAgIGxldCBpbmRleCA9IHRoaXMuY29udHJvbHMuZmluZEluZGV4KChjKSA9PiB0aGlzLmlzRW1wdHkoYy52YWx1ZSkpO1xuICAgIHdoaWxlIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgaW5kZXggPSB0aGlzLmNvbnRyb2xzLmZpbmRJbmRleCgoYykgPT4gdGhpcy5pc0VtcHR5KGMudmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBjbG9uZSgpOiBBcHBGb3JtQXJyYXk8VCwgQz4ge1xuICAgIHJldHVybiBuZXcgQXBwRm9ybUFycmF5PFQsIEM+KHRoaXMuY3JlYXRlQ29udHJvbCwgdGhpcy5lcXVhbHMsIHRoaXMuaXNFbXB0eSwgeyAuLi50aGlzLm9wdGlvbnMgfSk7XG4gIH1cblxuICAvKiAtLSBpbnRlcm5hbCAtLSAqL1xuXG4gIHByb3RlY3RlZCBzZXRBbGxvd0VtcHR5QXJyYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmFsbG93RW1wdHlBcnJheSA9PT0gdmFsdWUpIHJldHVybjsgLy8gU2tpcCBpZiBzYW1lXG5cbiAgICB0aGlzLm9wdGlvbnMuYWxsb3dFbXB0eUFycmF5ID0gdmFsdWU7XG5cbiAgICAvLyBTZXQgcmVxdWlyZWQgKG9yIHJlc2V0KSBtaW4gbGVuZ3RoIHZhbGlkYXRvclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dFbXB0eUFycmF5KSB7XG4gICAgICB0aGlzLnNldFZhbGlkYXRvcnModGhpcy5vcHRpb25zLnZhbGlkYXRvcnMgfHwgbnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSB0aGlzLm9wdGlvbnM/LnZhbGlkYXRvcnMgfHwgW107XG4gICAgICB0aGlzLnNldFZhbGlkYXRvcnMoKEFycmF5LmlzQXJyYXkodmFsaWRhdG9ycykgPyB2YWxpZGF0b3JzIDogW3ZhbGlkYXRvcnNdKS5jb25jYXQoU2hhcmVkRm9ybUFycmF5VmFsaWRhdG9ycy5yZXF1aXJlZEFycmF5TWluTGVuZ3RoKDEpKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -3341,7 +3341,7 @@ class AppFormArray extends UntypedFormArray {
3341
3341
  }
3342
3342
  }
3343
3343
  clone() {
3344
- return new AppFormArray(this.createControl, this.equals, this.isEmpty, this.options);
3344
+ return new AppFormArray(this.createControl, this.equals, this.isEmpty, { ...this.options });
3345
3345
  }
3346
3346
  /* -- internal -- */
3347
3347
  setAllowEmptyArray(value) {