limitng 0.13.37 → 0.13.38

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.
@@ -89,6 +89,7 @@ export declare class XLTableColumnData {
89
89
  border: XLBorder;
90
90
  }
91
91
  export declare class XLTable {
92
+ autoFit: boolean;
92
93
  columns: XLTableColumn[];
93
94
  header: XLTableColumnHeader;
94
95
  data: XLTableColumnData;
@@ -1 +1 @@
1
- {"version":3,"file":"xlConfig.d.ts","sourceRoot":"","sources":["../../../src/app/components/api/models/xlConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xlConfig.d.ts","sourceRoot":"","sources":["../../../src/app/components/api/models/xlConfig.ts"],"names":[],"mappings":"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"}
@@ -182,6 +182,7 @@ export class XLTableColumnData {
182
182
  }
183
183
  export class XLTable {
184
184
  constructor() {
185
+ this.autoFit = false;
185
186
  this.columns = [];
186
187
  this.header = new XLTableColumnHeader();
187
188
  this.data = new XLTableColumnData();
@@ -433,4 +434,4 @@ export class RowInteriorColor {
433
434
  this.rowNo = rowNo;
434
435
  }
435
436
  }
436
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF3Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXZCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsUUFBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFFbEIsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUV2QixXQUFNLEdBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLFFBQVEsS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sUUFBUSxLQUFLLFdBQVcsQ0FBQyxFQUFFO1lBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDdkMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQy9CLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzNDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRTFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFekI7Ozs7Ozs7O01BUUY7UUFFRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxTQUFpQixFQUFFLGVBQXVCLEVBQUUsV0FBb0IsRUFBRSxTQUFrQjtRQUMzRyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDekMsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDO1FBRW5DLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDckQsVUFBVSxHQUFHLFNBQVMsQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDekQsWUFBWSxHQUFHLFdBQVcsQ0FBQztTQUM1QjtRQUVELElBQUksZUFBZSxLQUFLLFlBQVksRUFBRTtZQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxHQUFHLGVBQWUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDNUg7YUFDSTtZQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQzVKO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzdDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ0UsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFNBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekIsYUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUFuQjtRQUNFLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxNQUFNO0lBTWpCLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQUxoRCxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ2xCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNyQixVQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUd0QixJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztTQUN0QjtRQUVELElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFLckIsWUFBWSxRQUFpQixFQUFFLFFBQWlCO1FBSmhELFNBQUksR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUNoQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFHOUIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQzNCO0lBRUgsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLEtBQUs7SUFBbEI7UUFDRSxTQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNwQixxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDaEMscUJBQWdCLEdBQWEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxPQUFPO0lBR2xCLFlBQVksT0FBZTtRQUYzQixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osY0FBUyxHQUFHLENBQUMsQ0FBQztRQUVaLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3hCO0lBRUgsQ0FBQztDQUVGO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDRSxVQUFLLEdBQVcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sUUFBUTtJQUFyQjtRQUNFLFNBQUksR0FBRyxNQUFNLENBQUM7UUFDZCxjQUFTLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUNyQyxXQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUM5QixVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQVksTUFBTSxHQUFHLEVBQUU7UUFUdkIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLHdCQUFtQixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMxQyxTQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNwQixhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDRSxTQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNwQixhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sT0FBTztJQUFwQjtRQUNFLFlBQU8sR0FBb0IsRUFBRSxDQUFDO1FBQzlCLFdBQU0sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDbkMsU0FBSSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUMvQixXQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ25DLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFFWixRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLGdCQUFXLEdBQUcsWUFBWSxDQUFDO1FBQzNCLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdEIsZUFBVSxHQUFhLEVBQUUsQ0FBQztRQUMxQixTQUFJLEdBQWEsRUFBRSxDQUFDO1FBQ3BCLFNBQUksR0FBYSxFQUFFLENBQUM7UUFDcEIsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0Isb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0IscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLHFCQUFnQixHQUFnQixFQUFFLENBQUM7UUFDbkMseUJBQW9CLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLDBCQUFxQixHQUFhLEVBQUUsQ0FBQztRQUNyQywwQkFBcUIsR0FBYSxFQUFFLENBQUM7UUFDckMsMkJBQXNCLEdBQWEsRUFBRSxDQUFDO1FBQ3RDLDJCQUFzQixHQUFnQixFQUFFLENBQUM7UUFDekMsK0JBQTBCLEdBQWEsRUFBRSxDQUFDO1FBQzFDLDBCQUFxQixHQUFhLEVBQUUsQ0FBQztRQUNyQywwQkFBcUIsR0FBYSxFQUFFLENBQUM7UUFDckMsMkJBQXNCLEdBQWEsRUFBRSxDQUFDO1FBQ3RDLDJCQUFzQixHQUFnQixFQUFFLENBQUM7UUFDekMsK0JBQTBCLEdBQWEsRUFBRSxDQUFDO1FBQzFDLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFnQixFQUFFLENBQUM7UUFDaEMsc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyxlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLDRCQUF1QixHQUFlLEVBQUUsQ0FBQztRQUN6QywwQkFBcUIsR0FBZSxFQUFFLENBQUM7UUFDdkMsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0Isa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0IsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDOUIsbUJBQWMsR0FBZ0IsRUFBRSxDQUFDO1FBQ2pDLHVCQUFrQixHQUFhLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUMzQiw2QkFBd0IsR0FBZSxFQUFFLENBQUM7UUFDMUMsMkJBQXNCLEdBQWUsRUFBRSxDQUFDO1FBQ3hDLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLG9CQUFlLEdBQWdCLEVBQUUsQ0FBQztRQUNsQyx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDbkMsaUJBQVksR0FBYSxFQUFFLENBQUM7UUFDNUIsOEJBQXlCLEdBQWUsRUFBRSxDQUFDO1FBQzNDLDRCQUF1QixHQUFlLEVBQUUsQ0FBQztJQXlMM0MsQ0FBQztJQXZMQyxTQUFTLENBQUMsUUFBZ0IsRUFBRSxPQUFxQixDQUFDLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsQ0FBQztRQUUzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUU1QyxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMzQixNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixNQUFNLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztRQUM5QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbkQsTUFBTSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDakQsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBRXhCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxZQUFZLENBQUMsT0FBTztnQkFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxNQUFNO1lBRVIsS0FBSyxZQUFZLENBQUMsT0FBTztnQkFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxNQUFNO1lBRVIsS0FBSyxZQUFZLENBQUMsSUFBSTtnQkFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxNQUFNO1lBRVIsS0FBSyxZQUFZLENBQUMsSUFBSTtnQkFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO2dCQUN0QyxNQUFNO1lBRVI7Z0JBQ0UsTUFBTTtTQUNUO1FBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDaEQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDakQsSUFBSSxRQUFRLEdBQUcsZUFBZSxFQUFFO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztTQUNwQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBdUIsRUFBRSxRQUFpQjtRQUNyRCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWEsRUFBRSxLQUFjO1FBQzNDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUMzQjthQUFNO1lBQ0wsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsS0FBYztRQUMvQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUNoQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDM0I7YUFBTTtZQUNMLE1BQU0sR0FBRyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsUUFBaUI7UUFDOUMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQ25DLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUNqQzthQUFNO1lBQ0wsU0FBUyxHQUFHLFFBQVEsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUvQyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsY0FBdUIsRUFBRSxRQUFpQjtRQUNoRSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEUsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUM7UUFFakMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7SUFBaEM7UUFDRSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsYUFBUSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDNUIsV0FBTSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHdCQUFtQixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMxQyxhQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUNFLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxjQUFTLEdBQWlCLENBQUMsQ0FBQztRQUM1QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsV0FBTSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUNuQyxXQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ25DLHdCQUFtQixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMxQyxXQUFNLEdBQW9CLENBQUMsQ0FBQztRQUM1QixVQUFLLEdBQUcsQ0FBQyxDQUFDO0lBYVosQ0FBQztJQVhDLGlCQUFpQixDQUFDLGNBQXVCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUFZLEtBQWEsRUFBRSxLQUFhO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBWSxLQUFhLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb250U3R5bGUsIE51bWJlckZvcm1hdGxhciwgVmFyaWFibGVUeXBlLCBYTFJlbmsgfSBmcm9tICcuL2ZvdXJEQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgWGxCb3JkZXJXZWlnaCwgWExGdW5jcywgWExIQWxpZ24sIFhMTGluZVN0eWxlLCBYbFZBbGlnbiB9IGZyb20gJy4veGxDb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFhMQ29uZmlnIHtcclxuICBsb2dvID0gbmV3IFhMTG9nbygpO1xyXG4gIGRlZmF1bHRGb250ID0gbmV3IFhMRm9udCgpO1xyXG5cclxuICBjdXJyZW50VGFibGVTdHlsZSA9ICdUYWJsZVN0eWxlTGlnaHQxMCc7XHJcbiAgY3VycmVudFRhYmxlID0gMTtcclxuICBjdXJyZW50QXBwbGljYXRpb25PYmplY3QgPSAneGxBcHAnO1xyXG4gIGN1cnJlbnRCb29rT2JqZWN0ID0gJ3hsQm9vayc7XHJcbiAgY3VycmVudFNoZWV0T2JqZWN0ID0gJ3hsU2hlZXQnO1xyXG4gIGF1dGhvciA9ICdNZWRQbGFuJztcclxuICBzaWZpcmxhcmlCYXNtYSA9IGZhbHNlO1xyXG4gIHNoZWV0TmFtZSA9ICcnO1xyXG5cclxuICB1c3RCaWxnaWxlcjogWExVc3RCaWxnaVNhdGlyW10gPSBbXTtcclxuICB1c3RCaWxnaSA9IG5ldyBYTFVzdEJpbGdpKCk7XHJcblxyXG4gIG5vdGxhcjogc3RyaW5nW10gPSBbXTtcclxuICBzY3JpcHRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5vdCA9IG5ldyBYTE5vdCgpO1xyXG5cclxuICB0YWJsZXM6IFhMVGFibGVbXSA9IFtdO1xyXG5cclxuICBzaGVldHM6IFhMU2hlZXRbXSA9IFtuZXcgWExTaGVldCgxKV07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKCh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB8fCAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Rm9udCA9IG5ldyBYTEZvbnQoZm9udE5hbWUsIGZvbnRTaXplKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYmxlID0gdGhpcy5hZGRUYWJsZSgpO1xyXG4gICAgdGFibGUudGFibGVObyA9IHRoaXMudGFibGVzLmxlbmd0aCArIDE7XHJcblxyXG4gICAgdGhpcy50YWJsZXMucHVzaCh0YWJsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXN0QmlsZ2lTYXRpckVrbGUoc2F0aXI6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXN0QmlsZ2kgPSBuZXcgWExVc3RCaWxnaVNhdGlyKCk7XHJcbiAgICB1c3RCaWxnaS5yb3dObyA9IHRoaXMudXN0QmlsZ2lsZXIubGVuZ3RoICsgMTtcclxuICAgIHVzdEJpbGdpLnVzdEJpbGdpID0gc2F0aXI7XHJcblxyXG4gICAgdGhpcy51c3RCaWxnaWxlci5wdXNoKHVzdEJpbGdpKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYmxlKCk6IFhMVGFibGUge1xyXG4gICAgY29uc3QgdGFibGUgPSBuZXcgWExUYWJsZSgpO1xyXG4gICAgdGFibGUuc29sID0gMTtcclxuICAgIHRhYmxlLnVzdCA9IDE7XHJcbiAgICB0YWJsZS5oZWFkZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRhYmxlLmZvb3Rlci5iYXNpbGFjYWsgPSBmYWxzZTtcclxuICAgIHRhYmxlLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgICB0YWJsZS5oZWFkZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuV2hpdGU7XHJcbiAgICB0YWJsZS5kYXRhID0gbmV3IFhMVGFibGVDb2x1bW5EYXRhKCk7XHJcbiAgICB0YWJsZS5kYXRhLmludGVyaW9yLmNvbG9yID0gWExSZW5rLldoaXRlO1xyXG4gICAgdGFibGUuZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICAgIHRhYmxlLmZvb3Rlci5pbnRlcmlvci5jb2xvciA9IFhMUmVuay5XaGl0ZTtcclxuXHJcbiAgICB0YWJsZS5oaWRkZW5Sb3dzSW5pdCgpO1xyXG4gICAgdGFibGUuc29ydEluaXQoKTtcclxuICAgIHRhYmxlLnJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5jb2x1bW5Gb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIHRhYmxlLnJvd0Zvcm1hdHNJbml0KCk7XHJcbiAgICB0YWJsZS5jZWxsRm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLnJhbmdlRm9ybWF0c0luaXQoKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICAgIFhMX1RfSGVhZGVyQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9EYXRhQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0hlYWRlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9TaGVldE5hbWVTZXQoWExfU19DdXJyZW50KVxyXG4qL1xyXG5cclxuICAgIHJldHVybiB0YWJsZTtcclxuICB9XHJcblxyXG4gIHNoZWV0Um93c1Jvd0hlaWdodFNjcmlwdChyb3dIZWlnaHQ6IG51bWJlciwgYmFzbGFuZ2ljU2F0aXJpOiBudW1iZXIsIGJpdGlzU2F0aXJpPzogbnVtYmVyLCBzaGVldE5hbWU/OiBzdHJpbmcpIHtcclxuICAgIGxldCBfc2hlZXROYW1lID0gdGhpcy5jdXJyZW50U2hlZXRPYmplY3Q7XHJcbiAgICBsZXQgX2JpdGlzU2F0aXJpID0gYmFzbGFuZ2ljU2F0aXJpO1xyXG5cclxuICAgIGlmICgoc2hlZXROYW1lICE9PSB1bmRlZmluZWQpICYmIChzaGVldE5hbWUgIT09IG51bGwpKSB7XHJcbiAgICAgIF9zaGVldE5hbWUgPSBzaGVldE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKChiaXRpc1NhdGlyaSAhPT0gdW5kZWZpbmVkKSAmJiAoYml0aXNTYXRpcmkgIT09IG51bGwpKSB7XHJcbiAgICAgIF9iaXRpc1NhdGlyaSA9IGJpdGlzU2F0aXJpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChiYXNsYW5naWNTYXRpcmkgPT09IF9iaXRpc1NhdGlyaSkge1xyXG4gICAgICB0aGlzLnNjcmlwdHMucHVzaChfc2hlZXROYW1lICsgJy5Sb3dzKFwiJyArIGJhc2xhbmdpY1NhdGlyaS50b1N0cmluZygpICsgJ1wiKS5Sb3dIZWlnaHQgPSAnICsgdGhpcy5WQlNSZWFsVG9UZXh0KHJvd0hlaWdodCkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2NyaXB0cy5wdXNoKF9zaGVldE5hbWUgKyAnLlJvd3MoXCInICsgYmFzbGFuZ2ljU2F0aXJpLnRvU3RyaW5nKCkgKyAnOicgKyBfYml0aXNTYXRpcmkudG9TdHJpbmcoKSArICdcIikuUm93SGVpZ2h0ID0gJyArIHRoaXMuVkJTUmVhbFRvVGV4dChyb3dIZWlnaHQpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZFNjcmlwdChzY3JpcHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zY3JpcHRzLnB1c2goc2NyaXB0KTtcclxuICB9XHJcblxyXG4gIFZCU1JlYWxUb1RleHQoc2F5aTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzYXlpLnRvU3RyaW5nKCkucmVwbGFjZSgvWyxdL2csICcuJylcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpU2F0aXIge1xyXG4gIHJvd05vID0gMDtcclxuICBmb250ID0gbmV3IFhMRm9udCgnJywgMCk7XHJcbiAgdXN0QmlsZ2kgPSAnJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTG9nbyB7XHJcbiAgZ2VuaXNsaWsgPSAwO1xyXG4gIHl1a3Nla2xpayA9IDA7XHJcbiAgdXN0TWFyamluID0gMDtcclxuICBzb2xNYXJqaW4gPSAwO1xyXG4gIGViYXRQaXhlbG1pID0gZmFsc2U7XHJcbiAgZWJhdCA9ICcnO1xyXG4gIGtvbnVtID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTEZvbnQge1xyXG4gIG5hbWUgPSAnU2Vnb2UgVUknO1xyXG4gIHNpemUgPSAxMTtcclxuICBjb2xvciA9IFhMUmVuay5CbGFjaztcclxuICBzdHlsZSA9IEZvbnRTdHlsZS5QbGFpbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTm90IHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMU2hlZXQge1xyXG4gIHNoZWV0Tm8gPSAwO1xyXG4gIHNoZWV0TmFtZSA9IDA7XHJcbiAgY29uc3RydWN0b3Ioc2hlZXRObzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIHNoZWV0Tm8gIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuc2hlZXRObyA9IHNoZWV0Tm87XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTEludGVyaW9yIHtcclxuICBjb2xvcjogWExSZW5rID0gWExSZW5rLldoaXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExCb3JkZXIge1xyXG4gIHR5cGUgPSAnVMO8bcO8JztcclxuICBsaW5lU3R5bGUgPSBYTExpbmVTdHlsZS54bENvbnRpbnVvdXM7XHJcbiAgd2VpZ2h0ID0gWGxCb3JkZXJXZWlnaC54bFRoaW47XHJcbiAgY29sb3IgPSBYTFJlbmsuQmxhY2s7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uSGVhZGVyIHtcclxuICB0aXRsZSA9ICcnO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbiAgYmFzaWxhY2FrID0gdHJ1ZTtcclxuICBzYXRpclNheWlzaSA9IDE7XHJcbiAgaXNNdWx0aUxpbmUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihoZWFkZXIgPSAnJykge1xyXG4gICAgdGhpcy50aXRsZSA9IGhlYWRlcjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uRGF0YSB7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlIHtcclxuICBjb2x1bW5zOiBYTFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICBoZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcigpO1xyXG4gIGRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIHRhYmxlTm8gPSAxO1xyXG4gIGNvbGxlY3Rpb246IHN0cmluZ1tdO1xyXG4gIHNvbCA9IDE7XHJcbiAgdXN0ID0gMTtcclxuICB2ZXJpS2F5bmFnaSA9ICdDb2xsZWN0aW9uJztcclxuICBzaGVldE5hbWUgPSAneGxTaGVldCc7XHJcbiAgaGlkZGVuUm93czogbnVtYmVyW10gPSBbXTtcclxuICBzb3J0OiBudW1iZXJbXSA9IFtdO1xyXG4gIHJvd3M6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5Gb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uSGVhZGVySW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uRm9vdGVySW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93Rm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICByb3dGb250Q29sb3JzOiBSb3dGb250Q29sb3JbXSA9IFtdO1xyXG4gIHJvd0ZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgcm93SW50ZXJpb3JDb2xvcnM6IFJvd0ludGVyaW9yQ29sb3JbXSA9IFtdO1xyXG4gIHJvd0Zvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93SG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICByb3dWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuICBjZWxsRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY2VsbEZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY2VsbEludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIGNlbGxWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuICByYW5nZUZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICByYW5nZUZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIHJhbmdlSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICByYW5nZVZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG5cclxuICBhZGRDb2x1bW4ocHJvcGVydHk6IHN0cmluZywgdHlwZTogVmFyaWFibGVUeXBlID0gMCwgaGVhZGVyID0gJycsIGdlbmlzbGlrID0gMCk6IFhMVGFibGVDb2x1bW4ge1xyXG5cclxuICAgIGNvbnN0IGNvbHVtbiA9IG5ldyBYTFRhYmxlQ29sdW1uKCk7XHJcbiAgICBjb25zdCBjb2x1bW5IZWFkZXIgPSBoZWFkZXIucmVwbGFjZSgnPHA+JywgJ1xccicpO1xyXG4gICAgY29uc3QgY29sdW1uQ291bnQgPSB0aGlzLmNvbHVtbnMubGVuZ3RoICsgMTtcclxuXHJcbiAgICBjb2x1bW4ucHJvcGVydHkgPSBwcm9wZXJ0eTtcclxuICAgIGNvbHVtbi5hcnJheVR5cGUgPSB0eXBlO1xyXG4gICAgY29sdW1uLmNvbHVtbk5vID0gY29sdW1uQ291bnQ7XHJcbiAgICBjb2x1bW4uaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoY29sdW1uSGVhZGVyKTtcclxuXHJcbiAgICBjb2x1bW4uZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICAgIGNvbHVtbi5ob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLnZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5CZWxpcnNpejtcclxuICAgIGNvbHVtbi53aWR0aCA9IGdlbmlzbGlrO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5JbnRlZ2VyOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuTG9uZztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkxvbmdpbnQ6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5Mb25nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuUmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLlJlYWw7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5EYXRlOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuVGFyaWg7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhlYWRlclNhdGlyQWRldCA9IHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpO1xyXG4gICAgY29uc3QgdGVtcFNpemUgPSBjb2x1bW5IZWFkZXIuc3BsaXQoJ1xccicpLmxlbmd0aDtcclxuICAgIGlmICh0ZW1wU2l6ZSA+IGhlYWRlclNhdGlyQWRldCkge1xyXG4gICAgICB0aGlzLmhlYWRlci5zYXRpclNheWlzaSA9IHRlbXBTaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1ucy5wdXNoKGNvbHVtbik7XHJcbiAgICByZXR1cm4gY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uRm9ybWF0KGZvcm1hdDogTnVtYmVyRm9ybWF0bGFyLCBjb2x1bW5Obz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLmZvcm1hdCA9IGZvcm1hdDtcclxuICB9XHJcblxyXG4gIHJvd0ZvbnRDb2xvckFkZChjb2xvcjogWExSZW5rLCByb3dObz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9yb3dObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIHJvd05vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfcm93Tm8gPSB0aGlzLnJvd3MubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3Jvd05vID0gcm93Tm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzLnB1c2gobmV3IFJvd0ZvbnRDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICByb3dJbnRlcmlvckNvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzLnB1c2gobmV3IFJvd0ludGVyaW9yQ29sb3IoY29sb3IsIF9yb3dObykpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyKHRpdGxlOiBzdHJpbmcsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXIodGl0bGUpO1xyXG5cclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb24pO1xyXG5cclxuICB9XHJcblxyXG4gIGhpZGRlblJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5oaWRkZW5Sb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBzb3J0SW5pdCgpIHtcclxuICAgIHRoaXMuc29ydCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5Gb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzID0gW107XHJcbiAgfVxyXG5cclxuICByb3dGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucm93Rm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0Zvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0hvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJvd1ZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY2VsbEZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jZWxsRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEZvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICByYW5nZUZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yYW5nZUZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U3R5bGVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb3JtYXRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGdldCBfc2hlZXROYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zaGVldE5hbWU7XHJcbiAgfVxyXG4gIHNldCBfc2hlZXROYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2hlZXROYW1lID0gdmFsdWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5Gb290ZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbiAgYmFzaWxhY2FrID0gZmFsc2U7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzRnVuY3Rpb24gPSBmYWxzZTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZ1bmN0aW9uID0gWExGdW5jcy5Ob25lO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbiB7XHJcbiAgcHJvcGVydHkgPSAnJztcclxuICBhcnJheVR5cGU6IFZhcmlhYmxlVHlwZSA9IDA7XHJcbiAgY29sdW1uTm8gPSAwO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvcm1hdDogTnVtYmVyRm9ybWF0bGFyID0gMDtcclxuICB3aWR0aCA9IDA7XHJcblxyXG4gIHNldEZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzKSB7XHJcbiAgICB0aGlzLmZvb3Rlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGhpcy5mb290ZXIuZnVuY3Rpb24gPSBmb290ZXJGdW5jdGlvbjtcclxuICAgIHRoaXMuZm9vdGVyLmlzRnVuY3Rpb24gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9vdGVyKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ZvbnRDb2xvciB7XHJcbiAgY29sb3I6IFhMUmVuaztcclxuICByb3dObzogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKGNvbG9yOiBYTFJlbmssIHJvd05vOiBudW1iZXIpIHtcclxuICAgIHRoaXMuY29sb3IgPSBjb2xvcjtcclxuICAgIHRoaXMucm93Tm8gPSByb3dObztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSb3dJbnRlcmlvckNvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG4iXX0=
437
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF3Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXZCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsUUFBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFFbEIsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUV2QixXQUFNLEdBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLFFBQVEsS0FB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ZSwgTnVtYmVyRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHNjcmlwdHM6IHN0cmluZ1tdID0gW107XHJcbiAgbm90ID0gbmV3IFhMTm90KCk7XHJcblxyXG4gIHRhYmxlczogWExUYWJsZVtdID0gW107XHJcblxyXG4gIHNoZWV0czogWExTaGVldFtdID0gW25ldyBYTFNoZWV0KDEpXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAoKHR5cGVvZiBmb250TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHx8ICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRGb250ID0gbmV3IFhMRm9udChmb250TmFtZSwgZm9udFNpemUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFibGUgPSB0aGlzLmFkZFRhYmxlKCk7XHJcbiAgICB0YWJsZS50YWJsZU5vID0gdGhpcy50YWJsZXMubGVuZ3RoICsgMTtcclxuXHJcbiAgICB0aGlzLnRhYmxlcy5wdXNoKHRhYmxlKTtcclxuXHJcbiAgfVxyXG5cclxuICB1c3RCaWxnaVNhdGlyRWtsZShzYXRpcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c3RCaWxnaSA9IG5ldyBYTFVzdEJpbGdpU2F0aXIoKTtcclxuICAgIHVzdEJpbGdpLnJvd05vID0gdGhpcy51c3RCaWxnaWxlci5sZW5ndGggKyAxO1xyXG4gICAgdXN0QmlsZ2kudXN0QmlsZ2kgPSBzYXRpcjtcclxuXHJcbiAgICB0aGlzLnVzdEJpbGdpbGVyLnB1c2godXN0QmlsZ2kpO1xyXG4gIH1cclxuXHJcbiAgYWRkVGFibGUoKTogWExUYWJsZSB7XHJcbiAgICBjb25zdCB0YWJsZSA9IG5ldyBYTFRhYmxlKCk7XHJcbiAgICB0YWJsZS5zb2wgPSAxO1xyXG4gICAgdGFibGUudXN0ID0gMTtcclxuICAgIHRhYmxlLmhlYWRlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGFibGUuZm9vdGVyLmJhc2lsYWNhayA9IGZhbHNlO1xyXG4gICAgdGFibGUuaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICAgIHRhYmxlLmhlYWRlci5pbnRlcmlvci5jb2xvciA9IFhMUmVuay5XaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuV2hpdGU7XHJcbiAgICB0YWJsZS5mb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gICAgdGFibGUuZm9vdGVyLmludGVyaW9yLmNvbG9yID0gWExSZW5rLldoaXRlO1xyXG5cclxuICAgIHRhYmxlLmhpZGRlblJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5zb3J0SW5pdCgpO1xyXG4gICAgdGFibGUucm93c0luaXQoKTtcclxuICAgIHRhYmxlLmNvbHVtbkZvcm1hdHNJbml0KCk7XHJcblxyXG4gICAgdGFibGUucm93Rm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLmNlbGxGb3JtYXRzSW5pdCgpO1xyXG4gICAgdGFibGUucmFuZ2VGb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIC8qXHJcbiAgICAgICAgWExfVF9IZWFkZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0Zvb3RlckJvcmRlckFsbFNldChVdGlsc0JvcmRlclR1bXU7IHhsQ29udGludW91czsgeGxUaGluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfSGVhZGVyRm9udEFsbFNldChYTF9EZWZhdWx0Rm9udE5hbWUgOyBYTF9EZWZhdWx0Rm9udFNpemU7IFBsYWluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfRGF0YUZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0Zvb3RlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX1NoZWV0TmFtZVNldChYTF9TX0N1cnJlbnQpXHJcbiovXHJcblxyXG4gICAgcmV0dXJuIHRhYmxlO1xyXG4gIH1cclxuXHJcbiAgc2hlZXRSb3dzUm93SGVpZ2h0U2NyaXB0KHJvd0hlaWdodDogbnVtYmVyLCBiYXNsYW5naWNTYXRpcmk6IG51bWJlciwgYml0aXNTYXRpcmk/OiBudW1iZXIsIHNoZWV0TmFtZT86IHN0cmluZykge1xyXG4gICAgbGV0IF9zaGVldE5hbWUgPSB0aGlzLmN1cnJlbnRTaGVldE9iamVjdDtcclxuICAgIGxldCBfYml0aXNTYXRpcmkgPSBiYXNsYW5naWNTYXRpcmk7XHJcblxyXG4gICAgaWYgKChzaGVldE5hbWUgIT09IHVuZGVmaW5lZCkgJiYgKHNoZWV0TmFtZSAhPT0gbnVsbCkpIHtcclxuICAgICAgX3NoZWV0TmFtZSA9IHNoZWV0TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKGJpdGlzU2F0aXJpICE9PSB1bmRlZmluZWQpICYmIChiaXRpc1NhdGlyaSAhPT0gbnVsbCkpIHtcclxuICAgICAgX2JpdGlzU2F0aXJpID0gYml0aXNTYXRpcmk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGJhc2xhbmdpY1NhdGlyaSA9PT0gX2JpdGlzU2F0aXJpKSB7XHJcbiAgICAgIHRoaXMuc2NyaXB0cy5wdXNoKF9zaGVldE5hbWUgKyAnLlJvd3MoXCInICsgYmFzbGFuZ2ljU2F0aXJpLnRvU3RyaW5nKCkgKyAnXCIpLlJvd0hlaWdodCA9ICcgKyB0aGlzLlZCU1JlYWxUb1RleHQocm93SGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zY3JpcHRzLnB1c2goX3NoZWV0TmFtZSArICcuUm93cyhcIicgKyBiYXNsYW5naWNTYXRpcmkudG9TdHJpbmcoKSArICc6JyArIF9iaXRpc1NhdGlyaS50b1N0cmluZygpICsgJ1wiKS5Sb3dIZWlnaHQgPSAnICsgdGhpcy5WQlNSZWFsVG9UZXh0KHJvd0hlaWdodCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkU2NyaXB0KHNjcmlwdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNjcmlwdHMucHVzaChzY3JpcHQpO1xyXG4gIH1cclxuXHJcbiAgVkJTUmVhbFRvVGV4dChzYXlpOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHNheWkudG9TdHJpbmcoKS5yZXBsYWNlKC9bLF0vZywgJy4nKVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVXN0QmlsZ2lTYXRpciB7XHJcbiAgcm93Tm8gPSAwO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCcnLCAwKTtcclxuICB1c3RCaWxnaSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExMb2dvIHtcclxuICBnZW5pc2xpayA9IDA7XHJcbiAgeXVrc2VrbGlrID0gMDtcclxuICB1c3RNYXJqaW4gPSAwO1xyXG4gIHNvbE1hcmppbiA9IDA7XHJcbiAgZWJhdFBpeGVsbWkgPSBmYWxzZTtcclxuICBlYmF0ID0gJyc7XHJcbiAga29udW0gPSAnJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMRm9udCB7XHJcbiAgbmFtZSA9ICdTZWdvZSBVSSc7XHJcbiAgc2l6ZSA9IDExO1xyXG4gIGNvbG9yID0gWExSZW5rLkJsYWNrO1xyXG4gIHN0eWxlID0gRm9udFN0eWxlLlBsYWluO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihmb250TmFtZT86IHN0cmluZywgZm9udFNpemU/OiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuc2l6ZSA9IGZvbnRTaXplO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVXN0QmlsZ2kge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihmb250TmFtZT86IHN0cmluZywgZm9udFNpemU/OiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5uYW1lID0gZm9udE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBmb250U2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5mb250LnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExOb3Qge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBzdHJpbmdbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExTaGVldCB7XHJcbiAgc2hlZXRObyA9IDA7XHJcbiAgc2hlZXROYW1lID0gMDtcclxuICBjb25zdHJ1Y3RvcihzaGVldE5vOiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygc2hlZXRObyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaGVldE5vID0gc2hlZXRObztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMSW50ZXJpb3Ige1xyXG4gIGNvbG9yOiBYTFJlbmsgPSBYTFJlbmsuV2hpdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTEJvcmRlciB7XHJcbiAgdHlwZSA9ICdUw7xtw7wnO1xyXG4gIGxpbmVTdHlsZSA9IFhMTGluZVN0eWxlLnhsQ29udGludW91cztcclxuICB3ZWlnaHQgPSBYbEJvcmRlcldlaWdoLnhsVGhpbjtcclxuICBjb2xvciA9IFhMUmVuay5CbGFjaztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5IZWFkZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudCA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICB2ZXJ0aWNhbEFsaWdubWVudCA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxuICBiYXNpbGFjYWsgPSB0cnVlO1xyXG4gIHNhdGlyU2F5aXNpID0gMTtcclxuICBpc011bHRpTGluZSA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKGhlYWRlciA9ICcnKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gaGVhZGVyO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5EYXRhIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGUge1xyXG4gIGF1dG9GaXQgPSBmYWxzZTtcclxuICBjb2x1bW5zOiBYTFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICBoZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcigpO1xyXG4gIGRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIHRhYmxlTm8gPSAxO1xyXG4gIGNvbGxlY3Rpb246IHN0cmluZ1tdO1xyXG4gIHNvbCA9IDE7XHJcbiAgdXN0ID0gMTtcclxuICB2ZXJpS2F5bmFnaSA9ICdDb2xsZWN0aW9uJztcclxuICBzaGVldE5hbWUgPSAneGxTaGVldCc7XHJcbiAgaGlkZGVuUm93czogbnVtYmVyW10gPSBbXTtcclxuICBzb3J0OiBudW1iZXJbXSA9IFtdO1xyXG4gIHJvd3M6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5Gb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uSGVhZGVySW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uRm9vdGVySW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93Rm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICByb3dGb250Q29sb3JzOiBSb3dGb250Q29sb3JbXSA9IFtdO1xyXG4gIHJvd0ZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgcm93SW50ZXJpb3JDb2xvcnM6IFJvd0ludGVyaW9yQ29sb3JbXSA9IFtdO1xyXG4gIHJvd0Zvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93SG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICByb3dWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuICBjZWxsRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY2VsbEZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY2VsbEludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIGNlbGxWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuICByYW5nZUZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICByYW5nZUZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIHJhbmdlSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICByYW5nZVZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG5cclxuICBhZGRDb2x1bW4ocHJvcGVydHk6IHN0cmluZywgdHlwZTogVmFyaWFibGVUeXBlID0gMCwgaGVhZGVyID0gJycsIGdlbmlzbGlrID0gMCk6IFhMVGFibGVDb2x1bW4ge1xyXG5cclxuICAgIGNvbnN0IGNvbHVtbiA9IG5ldyBYTFRhYmxlQ29sdW1uKCk7XHJcbiAgICBjb25zdCBjb2x1bW5IZWFkZXIgPSBoZWFkZXIucmVwbGFjZSgnPHA+JywgJ1xccicpO1xyXG4gICAgY29uc3QgY29sdW1uQ291bnQgPSB0aGlzLmNvbHVtbnMubGVuZ3RoICsgMTtcclxuXHJcbiAgICBjb2x1bW4ucHJvcGVydHkgPSBwcm9wZXJ0eTtcclxuICAgIGNvbHVtbi5hcnJheVR5cGUgPSB0eXBlO1xyXG4gICAgY29sdW1uLmNvbHVtbk5vID0gY29sdW1uQ291bnQ7XHJcbiAgICBjb2x1bW4uaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoY29sdW1uSGVhZGVyKTtcclxuXHJcbiAgICBjb2x1bW4uZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICAgIGNvbHVtbi5ob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLnZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5CZWxpcnNpejtcclxuICAgIGNvbHVtbi53aWR0aCA9IGdlbmlzbGlrO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5JbnRlZ2VyOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuTG9uZztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkxvbmdpbnQ6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5Mb25nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuUmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLlJlYWw7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5EYXRlOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuVGFyaWg7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhlYWRlclNhdGlyQWRldCA9IHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpO1xyXG4gICAgY29uc3QgdGVtcFNpemUgPSBjb2x1bW5IZWFkZXIuc3BsaXQoJ1xccicpLmxlbmd0aDtcclxuICAgIGlmICh0ZW1wU2l6ZSA+IGhlYWRlclNhdGlyQWRldCkge1xyXG4gICAgICB0aGlzLmhlYWRlci5zYXRpclNheWlzaSA9IHRlbXBTaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1ucy5wdXNoKGNvbHVtbik7XHJcbiAgICByZXR1cm4gY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uRm9ybWF0KGZvcm1hdDogTnVtYmVyRm9ybWF0bGFyLCBjb2x1bW5Obz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLmZvcm1hdCA9IGZvcm1hdDtcclxuICB9XHJcblxyXG4gIHJvd0ZvbnRDb2xvckFkZChjb2xvcjogWExSZW5rLCByb3dObz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9yb3dObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIHJvd05vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfcm93Tm8gPSB0aGlzLnJvd3MubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3Jvd05vID0gcm93Tm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzLnB1c2gobmV3IFJvd0ZvbnRDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICByb3dJbnRlcmlvckNvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzLnB1c2gobmV3IFJvd0ludGVyaW9yQ29sb3IoY29sb3IsIF9yb3dObykpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyKHRpdGxlOiBzdHJpbmcsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXIodGl0bGUpO1xyXG5cclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb24pO1xyXG5cclxuICB9XHJcblxyXG4gIGhpZGRlblJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5oaWRkZW5Sb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBzb3J0SW5pdCgpIHtcclxuICAgIHRoaXMuc29ydCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5Gb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzID0gW107XHJcbiAgfVxyXG5cclxuICByb3dGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucm93Rm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0Zvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0hvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJvd1ZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY2VsbEZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jZWxsRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEZvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICByYW5nZUZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yYW5nZUZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U3R5bGVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb3JtYXRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGdldCBfc2hlZXROYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zaGVldE5hbWU7XHJcbiAgfVxyXG4gIHNldCBfc2hlZXROYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2hlZXROYW1lID0gdmFsdWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5Gb290ZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbiAgYmFzaWxhY2FrID0gZmFsc2U7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzRnVuY3Rpb24gPSBmYWxzZTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZ1bmN0aW9uID0gWExGdW5jcy5Ob25lO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbiB7XHJcbiAgcHJvcGVydHkgPSAnJztcclxuICBhcnJheVR5cGU6IFZhcmlhYmxlVHlwZSA9IDA7XHJcbiAgY29sdW1uTm8gPSAwO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvcm1hdDogTnVtYmVyRm9ybWF0bGFyID0gMDtcclxuICB3aWR0aCA9IDA7XHJcblxyXG4gIHNldEZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzKSB7XHJcbiAgICB0aGlzLmZvb3Rlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGhpcy5mb290ZXIuZnVuY3Rpb24gPSBmb290ZXJGdW5jdGlvbjtcclxuICAgIHRoaXMuZm9vdGVyLmlzRnVuY3Rpb24gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9vdGVyKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ZvbnRDb2xvciB7XHJcbiAgY29sb3I6IFhMUmVuaztcclxuICByb3dObzogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKGNvbG9yOiBYTFJlbmssIHJvd05vOiBudW1iZXIpIHtcclxuICAgIHRoaXMuY29sb3IgPSBjb2xvcjtcclxuICAgIHRoaXMucm93Tm8gPSByb3dObztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSb3dJbnRlcmlvckNvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -2072,6 +2072,7 @@ class XLTableColumnData {
2072
2072
  }
2073
2073
  class XLTable {
2074
2074
  constructor() {
2075
+ this.autoFit = false;
2075
2076
  this.columns = [];
2076
2077
  this.header = new XLTableColumnHeader();
2077
2078
  this.data = new XLTableColumnData();