limitng 0.13.5 → 0.13.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ import { SelectItem } from 'primeng/api';
1
2
  import { MecraTurleri, MecraTurleriStr } from './models/enums';
2
3
  export declare class GlobalFunctions {
3
4
  static shadeColor(color: string, percent: number): string;
@@ -34,5 +35,7 @@ export declare class GlobalFunctions {
34
35
  static mecraTuruNoVer(mecraTuruStr: MecraTurleriStr): MecraTurleri;
35
36
  static mecraTuruStrVer(mecraTuruNo: MecraTurleri): MecraTurleriStr;
36
37
  static padLeadingZeros(num: number, size: number): string;
38
+ static arrayToSelectItem(array: string[]): SelectItem<string>[];
39
+ static arrayNumberToSelectItem(array: number[]): SelectItem<number>[];
37
40
  }
38
41
  //# sourceMappingURL=globalFunctions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalFunctions.d.ts","sourceRoot":"","sources":["../../src/app/components/api/globalFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,qBAAa,eAAe;IAC1B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAqBhD,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAMzD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAW5D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI1C,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAI1D,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAI3D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAazC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQ5C,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQ9C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAQtC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9C,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9C,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAexC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgCrC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgCzC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAgClC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAsBvC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK3D,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAc5C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAW5C,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI3C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA;IAe3B,MAAM,CAAC,cAAc,CAAC,KAAK,KAAA;IAmC3B,MAAM,CAAC,iCAAiC,CAAC,kBAAkB,EAAE,MAAM;IAYnE,MAAM,CAAC,YAAY,IAAI,MAAM;IAU7B,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAe9C,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgB1C,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU7C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK1C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAqB1C,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe,GAAG,YAAY;IAqClE,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,GAAG,eAAe;IAqClE,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAKjD"}
1
+ {"version":3,"file":"globalFunctions.d.ts","sourceRoot":"","sources":["../../src/app/components/api/globalFunctions.ts"],"names":[],"mappings":"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"}
@@ -116,7 +116,7 @@ export declare class XLTable {
116
116
  rowFontSizes: number[];
117
117
  rowFontColors: RowFontColor[];
118
118
  rowFontStyles: FontStyle[];
119
- rowInteriorColors: string[];
119
+ rowInteriorColors: RowInteriorColor[];
120
120
  rowFormats: string[];
121
121
  rowHorizontalAlignments: XLHAlign[];
122
122
  rowVerticalAlignments: XlVAlign[];
@@ -137,7 +137,9 @@ export declare class XLTable {
137
137
  rangeHorizontalAlignments: XLHAlign[];
138
138
  rangeVerticalAlignments: XlVAlign[];
139
139
  addColumn(property: string, type?: VariableType, header?: string, genislik?: number): void;
140
+ columnFormat(format: number, columnNo?: number): void;
140
141
  rowFontColorAdd(color: XLRenk, rowNo?: number): void;
142
+ rowInteriorColorAdd(color: XLRenk, rowNo?: number): void;
141
143
  setColumnFooter(title: string, columnNo?: number): void;
142
144
  setColumnFooterFunction(footerFunction: XLFuncs, columnNo?: number): void;
143
145
  hiddenRowsInit(): void;
@@ -180,4 +182,9 @@ export declare class RowFontColor {
180
182
  rowNo: number;
181
183
  constructor(color: XLRenk, rowNo: number);
182
184
  }
185
+ export declare class RowInteriorColor {
186
+ color: XLRenk;
187
+ rowNo: number;
188
+ constructor(color: XLRenk, rowNo: number);
189
+ }
183
190
  //# sourceMappingURL=xlConfig.d.ts.map
@@ -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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"}
@@ -434,5 +434,15 @@ export class GlobalFunctions {
434
434
  s = '0' + s;
435
435
  return s;
436
436
  }
437
+ static arrayToSelectItem(array) {
438
+ return array.map(element => {
439
+ return { label: element, value: element };
440
+ });
441
+ }
442
+ static arrayNumberToSelectItem(array) {
443
+ return array.map(element => {
444
+ return { label: element.toString(), value: element };
445
+ });
446
+ }
437
447
  }
438
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS9nbG9iYWxGdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBRTlDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhELENBQUMsR0FBRyxDQUFD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ZSxDQUFDLEtBQUssQ0FBQztZQUUvQixLQUFLLFlBQVksQ0FBQyxLQUFLO2dCQUNyQixPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUM7WUFFL0IsS0FBSyxZQUFZLENBQUMsTUFBTTtnQkFDdEIsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBRWhDLEtBQUssWUFBWSxDQUFDLE9BQU87Z0JBQ3ZCLE9BQU8sZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUVqQyxLQUFLLFlBQVksQ0FBQyxRQUFRO2dCQUN4QixPQUFPLGVBQWUsQ0FBQyxRQUFRLENBQUM7WUFFbEMsS0FBSyxZQUFZLENBQUMsVUFBVTtnQkFDMUIsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDO1lBRXBDLEtBQUssWUFBWSxDQUFDLFFBQVE7Z0JBQ3hCLE9BQU8sZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUVsQyxLQUFLLFlBQVksQ0FBQyxHQUFHO2dCQUNuQixPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUM5QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZWNyYVR1cmxlcmksIE1lY3JhVHVybGVyaVN0ciB9IGZyb20gJy4vbW9kZWxzL2VudW1zJztcclxuXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxGdW5jdGlvbnMge1xyXG4gIHN0YXRpYyBzaGFkZUNvbG9yKGNvbG9yOiBzdHJpbmcsIHBlcmNlbnQ6IG51bWJlcikge1xyXG5cclxuICAgIGxldCBSID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDEsIDMpLCAxNik7XHJcbiAgICBsZXQgRyA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygzLCA1KSwgMTYpO1xyXG4gICAgbGV0IEIgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoNSwgNyksIDE2KTtcclxuXHJcbiAgICBSID0gcGFyc2VJbnQoKFIgKiAoMTAwICsgcGVyY2VudCkgLyAxMDApLnRvU3RyaW5nKCksIDApO1xyXG4gICAgRyA9IHBhcnNlSW50KChHICogKDEwMCArIHBlcmNlbnQpIC8gMTAwKS50b1N0cmluZygpLCAwKTtcclxuICAgIEIgPSBwYXJzZUludCgoQiAqICgxMDAgKyBwZXJjZW50KSAvIDEwMCkudG9TdHJpbmcoKSwgMCk7XHJcblxyXG4gICAgUiA9IChSIDwgMjU1KSA/IFIgOiAyNTU7XHJcbiAgICBHID0gKEcgPCAyNTUpID8gRyA6IDI1NTtcclxuICAgIEIgPSAoQiA8IDI1NSkgPyBCIDogMjU1O1xyXG5cclxuICAgIGNvbnN0IFJSID0gKChSLnRvU3RyaW5nKDE2KS5sZW5ndGggPT09IDEpID8gJzAnICsgUi50b1N0cmluZygxNikgOiBSLnRvU3RyaW5nKDE2KSk7XHJcbiAgICBjb25zdCBHRyA9ICgoRy50b1N0cmluZygxNikubGVuZ3RoID09PSAxKSA/ICcwJyArIEcudG9TdHJpbmcoMTYpIDogRy50b1N0cmluZygxNikpO1xyXG4gICAgY29uc3QgQkIgPSAoKEIudG9TdHJpbmcoMTYpLmxlbmd0aCA9PT0gMSkgPyAnMCcgKyBCLnRvU3RyaW5nKDE2KSA6IEIudG9TdHJpbmcoMTYpKTtcclxuXHJcbiAgICByZXR1cm4gJyMnICsgUlIgKyBHRyArIEJCO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHlhcmltU2FhdGVZdXZhcmxhKHZhbHVlOiBudW1iZXIsIHN0ZXBQYXJhbTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBzdGVwID0gc3RlcFBhcmFtIHx8IChzdGVwUGFyYW0gPSAxLjApO1xyXG4gICAgY29uc3QgaW52ID0gMS4wIC8gc3RlcDtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogaW52KSAvIGludjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBldmVuUm91bmQobnVtOiBudW1iZXIsIGRlY2ltYWxQbGFjZXM6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBjb25zdCBkID0gZGVjaW1hbFBsYWNlcyB8fCAwO1xyXG4gICAgY29uc3QgbSA9IE1hdGgucG93KDEwLCBkKTtcclxuICAgIGNvbnN0IG4gPSArKGQgPyBudW0gKiBtIDogbnVtKS50b0ZpeGVkKDgpOyAvLyBBdm9pZCByb3VuZGluZyBlcnJvcnNcclxuICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKG4pO1xyXG4gICAgY29uc3QgZiA9IG4gLSBpO1xyXG4gICAgY29uc3QgZSA9IDFlLTg7IC8vIEFsbG93IGZvciByb3VuZGluZyBlcnJvcnMgaW4gZlxyXG4gICAgY29uc3QgciA9IChmID4gMC41IC0gZSAmJiBmIDwgMC41ICsgZSkgPyAoKGkgJSAyID09PSAwKSA/IGkgOiBpICsgMSkgOiBNYXRoLnJvdW5kKG4pO1xyXG4gICAgcmV0dXJuIGQgPyByIC8gbSA6IHI7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcm91bmRJa2lIYW5lKHBhcmFtOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IocGFyYW0gKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlraVNheWlGYXJrKHBhcmFtMTogbnVtYmVyLCBwYXJhbTI6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCgocGFyYW0xIC0gcGFyYW0yKSAqIDEwMCkgLyAxMDA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaWtpU2F5aVRvcGxhKHBhcmFtMTogbnVtYmVyLCBwYXJhbTI6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCgocGFyYW0xICsgcGFyYW0yKSAqIDEwMCkgLyAxMDA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc3RyVG9OdW1iZXIobWV0aW46IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBsZXQgc3RyID0gbWV0aW47XHJcbiAgICBzdHIgPSBzdHIuc3BsaXQoJywnKS5qb2luKCcuJyk7XHJcbiAgICBjb25zdCByZWdleDogUmVnRXhwID0gL1teXFxkLi1dL2c7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZShyZWdleCwgJycpO1xyXG4gICAgY29uc3QgYXJyID0gc3RyLnNwbGl0KCcuJyk7XHJcbiAgICBpZiAoYXJyLmxlbmd0aCA+IDIpIHsgLy8gQmlyZGVuIMOnb2sgbm9rdGEgdmFyc2FcclxuICAgICAgY29uc3Qgc29uID0gYXJyLnBvcCgpO1xyXG4gICAgICBzdHIgPSBhcnIuam9pbignJykgKyAnLicgKyBzb247XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyKHN0cik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc3V0dW5TdHJWZXIoZ2VuaXNsaWs6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA1NzYpIHsgcmV0dXJuICd4cyc7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDc2OCkgeyByZXR1cm4gJ3NtJzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgOTkyKSB7IHJldHVybiAnbWQnOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCAxMjAwKSB7IHJldHVybiAnbGcnOyB9XHJcbiAgICByZXR1cm4gJ3hsJztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzdXR1bkdlbk5vVmVyKGdlbmlzbGlrOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgaWYgKGdlbmlzbGlrIDwgNTc2KSB7IHJldHVybiAxOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA3NjgpIHsgcmV0dXJuIDI7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDk5MikgeyByZXR1cm4gMzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgMTIwMCkgeyByZXR1cm4gNDsgfVxyXG4gICAgcmV0dXJuIDU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZVRvVGV4dCh0YXJpaDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBpZiAoKHRhcmloICE9PSB1bmRlZmluZWQpICYmICh0YXJpaCAhPT0gbnVsbCkpIHtcclxuICAgICAgcmV0dXJuIHRhcmloLmdldERhdGUoKS50b1N0cmluZygpICsgJy4nICsgKHRhcmloLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpICsgJy4nICsgdGFyaWguZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5SWxrR3VuKGF5OiBudW1iZXIsIHlpbDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoeWlsLCBheSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5U29uR3VuKGF5OiBudW1iZXIsIHlpbDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoeWlsLCBheSwgMCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgSlNPTkRhdGVUb0RhdGUodGFyaWg6IERhdGUpOiBEYXRlIHtcclxuICAgIGlmICgodGFyaWggIT09IHVuZGVmaW5lZCkgJiYgKHRhcmloICE9PSBudWxsKSkge1xyXG4gICAgICBjb25zdCB0ZW1wID0gdGFyaWgudG9TdHJpbmcoKTtcclxuICAgICAgaWYgKHRlbXAgIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh0ZW1wKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheUFkaVZlcihheU5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChheU5vKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICByZXR1cm4gJ09jYWsnO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICfFnnViYXQnO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICdNYXJ0JztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnTmlzYW4nO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdNYXnEsXMnO1xyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmV0dXJuICdIYXppcmFuJztcclxuICAgICAgY2FzZSA3OlxyXG4gICAgICAgIHJldHVybiAnVGVtbXV6JztcclxuICAgICAgY2FzZSA4OlxyXG4gICAgICAgIHJldHVybiAnQcSfdXN0b3MnO1xyXG4gICAgICBjYXNlIDk6XHJcbiAgICAgICAgcmV0dXJuICdFeWzDvGwnO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHJldHVybiAnRWtpbSc7XHJcbiAgICAgIGNhc2UgMTE6XHJcbiAgICAgICAgcmV0dXJuICdLYXPEsW0nO1xyXG4gICAgICBjYXNlIDEyOlxyXG4gICAgICAgIHJldHVybiAnQXJhbMSxayc7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheUFkaVZlcktpc2EoYXlObzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoYXlObykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmV0dXJuICdPY2EnO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICfFnnViJztcclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIHJldHVybiAnTWFyJztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnTmlzJztcclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJldHVybiAnTWF5JztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJldHVybiAnSGF6JztcclxuICAgICAgY2FzZSA3OlxyXG4gICAgICAgIHJldHVybiAnVGVtJztcclxuICAgICAgY2FzZSA4OlxyXG4gICAgICAgIHJldHVybiAnQcSfdSc7XHJcbiAgICAgIGNhc2UgOTpcclxuICAgICAgICByZXR1cm4gJ0V5bCc7XHJcbiAgICAgIGNhc2UgMTA6XHJcbiAgICAgICAgcmV0dXJuICdFa2knO1xyXG4gICAgICBjYXNlIDExOlxyXG4gICAgICAgIHJldHVybiAnS2FzJztcclxuICAgICAgY2FzZSAxMjpcclxuICAgICAgICByZXR1cm4gJ0FyYSc7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheU5vVmVyKGF5OiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgc3dpdGNoIChheSkge1xyXG4gICAgICBjYXNlICdPYyc6XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIGNhc2UgJ8WedSc6XHJcbiAgICAgICAgcmV0dXJuIDI7XHJcbiAgICAgIGNhc2UgJ01hJzpcclxuICAgICAgICByZXR1cm4gMztcclxuICAgICAgY2FzZSAnTmknOlxyXG4gICAgICAgIHJldHVybiA0O1xyXG4gICAgICBjYXNlICdNeSc6XHJcbiAgICAgICAgcmV0dXJuIDU7XHJcbiAgICAgIGNhc2UgJ0hhJzpcclxuICAgICAgICByZXR1cm4gNjtcclxuICAgICAgY2FzZSAnVGUnOlxyXG4gICAgICAgIHJldHVybiA3O1xyXG4gICAgICBjYXNlICdBxJ8nOlxyXG4gICAgICAgIHJldHVybiA4O1xyXG4gICAgICBjYXNlICdFeSc6XHJcbiAgICAgICAgcmV0dXJuIDk7XHJcbiAgICAgIGNhc2UgJ0VrJzpcclxuICAgICAgICByZXR1cm4gMTA7XHJcbiAgICAgIGNhc2UgJ0thJzpcclxuICAgICAgICByZXR1cm4gMTE7XHJcbiAgICAgIGNhc2UgJ0FyJzpcclxuICAgICAgICByZXR1cm4gMTI7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGd1bkFkaVZlcihndW5ObzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoZ3VuTm8pIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJldHVybiAnUGF6YXJ0ZXNpJztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHJldHVybiAnU2FsxLEnO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICfDh2FyxZ9hbWJhJztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnUGVyxZ9lbWJlJztcclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJldHVybiAnQ3VtYSc7XHJcbiAgICAgIGNhc2UgNjpcclxuICAgICAgICByZXR1cm4gJ0N1bWFydGVzaSc7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICByZXR1cm4gJ1BhemFyJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGd1bkFydHRpckF6YWx0KHRhcmloOiBEYXRlLCBndW5TYXlpc2k6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHRhcmloLmdldFRpbWUoKSArIGd1blNheWlzaSAqIDI0ICogNjAgKiA2MCAqIDEwMDApO1xyXG5cclxuICB9XHJcblxyXG4gIHN0YXRpYyB0YXJpaFBhcmFtVG9EYXRlKHBhcmFtOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgIGxldCB0YXJpaDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBpZiAocGFyYW0gIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgdGFyaWhBcnI6IHN0cmluZ1tdID0gcGFyYW0uc3BsaXQoJy0nKTtcclxuICAgICAgaWYgKHRhcmloQXJyLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICBjb25zdCBndW4gPSBOdW1iZXIodGFyaWhBcnJbMF0pO1xyXG4gICAgICAgIGNvbnN0IGF5ID0gTnVtYmVyKHRhcmloQXJyWzFdKSAtIDE7XHJcbiAgICAgICAgY29uc3QgeWlsID0gTnVtYmVyKHRhcmloQXJyWzJdKTtcclxuICAgICAgICB0YXJpaCA9IG5ldyBEYXRlKHlpbCwgYXksIGd1bik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0YXJpaDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlVG9UYXJpaFBhcmFtKHBhcmFtOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGlmIChwYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBndW4gPSBwYXJhbS5nZXREYXRlKCk7XHJcbiAgICAgIGNvbnN0IGF5ID0gcGFyYW0uZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgIGNvbnN0IHlpbCA9IHBhcmFtLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgIHJldHVybiBndW4udG9TdHJpbmcoKSArICctJyArIGF5LnRvU3RyaW5nKCkgKyAnLScgKyB5aWwudG9TdHJpbmcoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGaWxlRXh0ZW5zaW9uKGZpbGU6IEZpbGUpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICcuJyArIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGhleFRvUkdCQShoZXgsIGFscGhhKSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhoZXgpO1xyXG4gICAgY29uc3QgciA9IHBhcnNlSW50KGhleC5zbGljZSgxLCAzKSwgMTYpO1xyXG4gICAgY29uc3QgZyA9IHBhcnNlSW50KGhleC5zbGljZSgzLCA1KSwgMTYpO1xyXG4gICAgY29uc3QgYiA9IHBhcnNlSW50KGhleC5zbGljZSg1LCA3KSwgMTYpO1xyXG5cclxuICAgIC8vIHJldHVybiByICsgJywnICsgZyArICcsJyArIGI7XHJcblxyXG4gICAgaWYgKGFscGhhKSB7XHJcbiAgICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2FscGhhfSlgO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0pYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBjb2xvck5hbWVUb0hleChjb2xvcikge1xyXG4gICAgY29uc3QgY29sb3JzID0ge1xyXG4gICAgICBhbGljZWJsdWU6ICcjZjBmOGZmJywgYW50aXF1ZXdoaXRlOiAnI2ZhZWJkNycsIGFxdWE6ICcjMDBmZmZmJywgYXF1YW1hcmluZTogJyM3ZmZmZDQnLCBhenVyZTogJyNmMGZmZmYnLFxyXG4gICAgICBiZWlnZTogJyNmNWY1ZGMnLCBiaXNxdWU6ICcjZmZlNGM0JywgYmxhY2s6ICcjMDAwMDAwJywgYmxhbmNoZWRhbG1vbmQ6ICcjZmZlYmNkJywgYmx1ZTogJyMwMDAwZmYnLCBibHVldmlvbGV0OiAnIzhhMmJlMicsIGJyb3duOiAnI2E1MmEyYScsIGJ1cmx5d29vZDogJyNkZWI4ODcnLFxyXG4gICAgICBjYWRldGJsdWU6ICcjNWY5ZWEwJywgY2hhcnRyZXVzZTogJyM3ZmZmMDAnLCBjaG9jb2xhdGU6ICcjZDI2OTFlJywgY29yYWw6ICcjZmY3ZjUwJywgY29ybmZsb3dlcmJsdWU6ICcjNjQ5NWVkJywgY29ybnNpbGs6ICcjZmZmOGRjJywgY3JpbXNvbjogJyNkYzE0M2MnLCBjeWFuOiAnIzAwZmZmZicsXHJcbiAgICAgIGRhcmtibHVlOiAnIzAwMDA4YicsIGRhcmtjeWFuOiAnIzAwOGI4YicsIGRhcmtnb2xkZW5yb2Q6ICcjYjg4NjBiJywgZGFya2dyYXk6ICcjYTlhOWE5JywgZGFya2dyZWVuOiAnIzAwNjQwMCcsIGRhcmtraGFraTogJyNiZGI3NmInLCBkYXJrbWFnZW50YTogJyM4YjAwOGInLCBkYXJrb2xpdmVncmVlbjogJyM1NTZiMmYnLFxyXG4gICAgICBkYXJrb3JhbmdlOiAnI2ZmOGMwMCcsIGRhcmtvcmNoaWQ6ICcjOTkzMmNjJywgZGFya3JlZDogJyM4YjAwMDAnLCBkYXJrc2FsbW9uOiAnI2U5OTY3YScsIGRhcmtzZWFncmVlbjogJyM4ZmJjOGYnLCBkYXJrc2xhdGVibHVlOiAnIzQ4M2Q4YicsIGRhcmtzbGF0ZWdyYXk6ICcjMmY0ZjRmJywgZGFya3R1cnF1b2lzZTogJyMwMGNlZDEnLFxyXG4gICAgICBkYXJrdmlvbGV0OiAnIzk0MDBkMycsIGRlZXBwaW5rOiAnI2ZmMTQ5MycsIGRlZXBza3libHVlOiAnIzAwYmZmZicsIGRpbWdyYXk6ICcjNjk2OTY5JywgZG9kZ2VyYmx1ZTogJyMxZTkwZmYnLFxyXG4gICAgICBmaXJlYnJpY2s6ICcjYjIyMjIyJywgZmxvcmFsd2hpdGU6ICcjZmZmYWYwJywgZm9yZXN0Z3JlZW46ICcjMjI4YjIyJywgZnVjaHNpYTogJyNmZjAwZmYnLFxyXG4gICAgICBnYWluc2Jvcm86ICcjZGNkY2RjJywgZ2hvc3R3aGl0ZTogJyNmOGY4ZmYnLCBnb2xkOiAnI2ZmZDcwMCcsIGdvbGRlbnJvZDogJyNkYWE1MjAnLCBncmF5OiAnIzgwODA4MCcsIGdyZWVuOiAnIzAwODAwMCcsIGdyZWVueWVsbG93OiAnI2FkZmYyZicsXHJcbiAgICAgIGhvbmV5ZGV3OiAnI2YwZmZmMCcsIGhvdHBpbms6ICcjZmY2OWI0JyxcclxuICAgICAgaW5kaWFucmVkOiAnI2NkNWM1YycsIGluZGlnbzogJyM0YjAwODInLCBpdm9yeTogJyNmZmZmZjAnLCBraGFraTogJyNmMGU2OGMnLFxyXG4gICAgICBsYXZlbmRlcjogJyNlNmU2ZmEnLCBsYXZlbmRlcmJsdXNoOiAnI2ZmZjBmNScsIGxhd25ncmVlbjogJyM3Y2ZjMDAnLCBsZW1vbmNoaWZmb246ICcjZmZmYWNkJywgbGlnaHRibHVlOiAnI2FkZDhlNicsIGxpZ2h0Y29yYWw6ICcjZjA4MDgwJywgbGlnaHRjeWFuOiAnI2UwZmZmZicsIGxpZ2h0Z29sZGVucm9keWVsbG93OiAnI2ZhZmFkMicsXHJcbiAgICAgIGxpZ2h0Z3JleTogJyNkM2QzZDMnLCBsaWdodGdyZWVuOiAnIzkwZWU5MCcsIGxpZ2h0cGluazogJyNmZmI2YzEnLCBsaWdodHNhbG1vbjogJyNmZmEwN2EnLCBsaWdodHNlYWdyZWVuOiAnIzIwYjJhYScsIGxpZ2h0c2t5Ymx1ZTogJyM4N2NlZmEnLCBsaWdodHNsYXRlZ3JheTogJyM3Nzg4OTknLCBsaWdodHN0ZWVsYmx1ZTogJyNiMGM0ZGUnLFxyXG4gICAgICBsaWdodHllbGxvdzogJyNmZmZmZTAnLCBsaW1lOiAnIzAwZmYwMCcsIGxpbWVncmVlbjogJyMzMmNkMzInLCBsaW5lbjogJyNmYWYwZTYnLFxyXG4gICAgICBtYWdlbnRhOiAnI2ZmMDBmZicsIG1hcm9vbjogJyM4MDAwMDAnLCBtZWRpdW1hcXVhbWFyaW5lOiAnIzY2Y2RhYScsIG1lZGl1bWJsdWU6ICcjMDAwMGNkJywgbWVkaXVtb3JjaGlkOiAnI2JhNTVkMycsIG1lZGl1bXB1cnBsZTogJyM5MzcwZDgnLCBtZWRpdW1zZWFncmVlbjogJyMzY2IzNzEnLCBtZWRpdW1zbGF0ZWJsdWU6ICcjN2I2OGVlJyxcclxuICAgICAgbWVkaXVtc3ByaW5nZ3JlZW46ICcjMDBmYTlhJywgbWVkaXVtdHVycXVvaXNlOiAnIzQ4ZDFjYycsIG1lZGl1bXZpb2xldHJlZDogJyNjNzE1ODUnLCBtaWRuaWdodGJsdWU6ICcjMTkxOTcwJywgbWludGNyZWFtOiAnI2Y1ZmZmYScsIG1pc3R5cm9zZTogJyNmZmU0ZTEnLCBtb2NjYXNpbjogJyNmZmU0YjUnLFxyXG4gICAgICBuYXZham93aGl0ZTogJyNmZmRlYWQnLCBuYXZ5OiAnIzAwMDA4MCcsXHJcbiAgICAgIG9sZGxhY2U6ICcjZmRmNWU2Jywgb2xpdmU6ICcjODA4MDAwJywgb2xpdmVkcmFiOiAnIzZiOGUyMycsIG9yYW5nZTogJyNmZmE1MDAnLCBvcmFuZ2VyZWQ6ICcjZmY0NTAwJywgb3JjaGlkOiAnI2RhNzBkNicsXHJcbiAgICAgIHBhbGVnb2xkZW5yb2Q6ICcjZWVlOGFhJywgcGFsZWdyZWVuOiAnIzk4ZmI5OCcsIHBhbGV0dXJxdW9pc2U6ICcjYWZlZWVlJywgcGFsZXZpb2xldHJlZDogJyNkODcwOTMnLCBwYXBheWF3aGlwOiAnI2ZmZWZkNScsIHBlYWNocHVmZjogJyNmZmRhYjknLCBwZXJ1OiAnI2NkODUzZicsIHBpbms6ICcjZmZjMGNiJywgcGx1bTogJyNkZGEwZGQnLCBwb3dkZXJibHVlOiAnI2IwZTBlNicsIHB1cnBsZTogJyM4MDAwODAnLFxyXG4gICAgICByZWJlY2NhcHVycGxlOiAnIzY2MzM5OScsIHJlZDogJyNmZjAwMDAnLCByb3N5YnJvd246ICcjYmM4ZjhmJywgcm95YWxibHVlOiAnIzQxNjllMScsXHJcbiAgICAgIHNhZGRsZWJyb3duOiAnIzhiNDUxMycsIHNhbG1vbjogJyNmYTgwNzInLCBzYW5keWJyb3duOiAnI2Y0YTQ2MCcsIHNlYWdyZWVuOiAnIzJlOGI1NycsIHNlYXNoZWxsOiAnI2ZmZjVlZScsIHNpZW5uYTogJyNhMDUyMmQnLCBzaWx2ZXI6ICcjYzBjMGMwJywgc2t5Ymx1ZTogJyM4N2NlZWInLCBzbGF0ZWJsdWU6ICcjNmE1YWNkJywgc2xhdGVncmF5OiAnIzcwODA5MCcsIHNub3c6ICcjZmZmYWZhJywgc3ByaW5nZ3JlZW46ICcjMDBmZjdmJywgc3RlZWxibHVlOiAnIzQ2ODJiNCcsXHJcbiAgICAgIHRhbjogJyNkMmI0OGMnLCB0ZWFsOiAnIzAwODA4MCcsIHRoaXN0bGU6ICcjZDhiZmQ4JywgdG9tYXRvOiAnI2ZmNjM0NycsIHR1cnF1b2lzZTogJyM0MGUwZDAnLFxyXG4gICAgICB2aW9sZXQ6ICcjZWU4MmVlJyxcclxuICAgICAgd2hlYXQ6ICcjZjVkZWIzJywgd2hpdGU6ICcjZmZmZmZmJywgd2hpdGVzbW9rZTogJyNmNWY1ZjUnLFxyXG4gICAgICB5ZWxsb3c6ICcjZmZmZjAwJywgeWVsbG93Z3JlZW46ICcjOWFjZDMyJ1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodHlwZW9mIGNvbG9yc1tjb2xvci50b0xvd2VyQ2FzZSgpXSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIGNvbG9yc1tjb2xvci50b0xvd2VyQ2FzZSgpXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RmlsZW5hbWVGcm9tQ29udGVudERpc3Bvc2l0aW9uKGNvbnRlbnREaXNwb3NpdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCByZWdleCA9IC9maWxlbmFtZVteOz1cXG5dKj0oVVRGLTgoWydcIl0qKSk/KC4qKS87XHJcbiAgICBjb25zdCBtYXRjaGVzID0gcmVnZXguZXhlYyhjb250ZW50RGlzcG9zaXRpb24pO1xyXG4gICAgbGV0IGZpbGVuYW1lID0gJyc7XHJcblxyXG4gICAgaWYgKG1hdGNoZXMgIT0gbnVsbCAmJiBtYXRjaGVzWzNdKSB7XHJcbiAgICAgIGZpbGVuYW1lID0gbWF0Y2hlc1szXS5yZXBsYWNlKC9bJ1wiXS9nLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRlY29kZVVSSShmaWxlbmFtZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGVtYUd1bk5vVmVyKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBkbiA9IG5ldyBEYXRlKCkuZ2V0RGF5KCk7XHJcbiAgICBpZiAoZG4gPT09IDApIHtcclxuICAgICAgcmV0dXJuIDY7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGRuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNpZnRCb3NsdWtUZWtZYXAobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgICcpO1xyXG4gICAgcmV0dXJuIHBhcmNhbGFyLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgc3RhdGljIHJha2FtbGFyaVRlbWl6bGUobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWV0aW4ucmVwbGFjZSgvWzAtOV0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGJvc2x1a2xhcmlUZW1pemxlKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1ldGluLnJlcGxhY2UoLyAvZywgJycpO1xyXG4gIH1cclxuKi9cclxuXHJcbiAgc3RhdGljIGJ1eXVrSGFyZmVDZXZpcihtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtZXRpbi50b0xvY2FsZVVwcGVyQ2FzZSgndHItVFInKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpbGtIYXJmQnV5dXQobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB1enVubHVrID0gbWV0aW4ubGVuZ3RoO1xyXG4gICAgaWYgKHV6dW5sdWsgPiAwKSB7XHJcbiAgICAgIGlmICh1enVubHVrID4gMSkge1xyXG4gICAgICAgIHJldHVybiBtZXRpbi5zdWJzdHIoMCwgMSkudG9Mb2NhbGVVcHBlckNhc2UoJ3RyLVRSJykgKyBtZXRpbi5zdWJzdHIoMSwgMTAwKS50b0xvY2FsZUxvd2VyQ2FzZSgndHItVFInKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbWV0aW4uc3Vic3RyKDAsIDEpLnRvTG9jYWxlVXBwZXJDYXNlKCd0ci1UUicpO1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyB0dW1JbGtIYXJmQnV5dXQobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgJyk7XHJcbiAgICBjb25zdCBzb251YyA9IFtdO1xyXG4gICAgcGFyY2FsYXIuZm9yRWFjaChwYXJjYSA9PiB7XHJcbiAgICAgIHNvbnVjLnB1c2godGhpcy5pbGtIYXJmQnV5dXQocGFyY2EpKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBzb251Yy5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHVtQm9zbHVrU2lsKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyY2FsYXIgPSBtZXRpbi5zcGxpdCgnICcpO1xyXG4gICAgcmV0dXJuIHBhcmNhbGFyLmpvaW4oJycpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHR1cmtjZUF5aWtsYShtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBzb251YyA9IG1ldGluO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDnCcsICdVJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SeJywgJ0cnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxLAnLCAnSScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFnicsICdTJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OHJywgJ0MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw5YnLCAnTycpO1xyXG5cclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw7wnLCAndScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEnycsICdnJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SxJywgJ2knKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxZ8nLCAncycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDpycsICdjJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8O2JywgJ28nKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxb4nLCAnaScpO1xyXG5cclxuICAgIC8vIHNvbnVjID0gc29udWMucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgcmV0dXJuIHNvbnVjO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1lY3JhVHVydU5vVmVyKG1lY3JhVHVydVN0cjogTWVjcmFUdXJsZXJpU3RyKTogTWVjcmFUdXJsZXJpIHtcclxuICAgIHN3aXRjaCAobWVjcmFUdXJ1U3RyKSB7XHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlR1bXU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5UdW11O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuVFY6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5UVjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkdhemV0ZTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkdhemV0ZTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkRlcmdpOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuRGVyZ2k7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5SYWR5bzpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlJhZHlvO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuU2luZW1hOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuU2luZW1hO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuT3V0ZG9vcjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLk91dGRvb3I7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5JbnRlcm5ldDpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkludGVybmV0O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuU3BvbnNvcmx1azpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlNwb25zb3JsdWs7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5CZWxpcnNpejpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkJlbGlyc2l6O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuQm9zOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuQm9zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1lY3JhVHVydVN0clZlcihtZWNyYVR1cnVObzogTWVjcmFUdXJsZXJpKTogTWVjcmFUdXJsZXJpU3RyIHtcclxuICAgIHN3aXRjaCAobWVjcmFUdXJ1Tm8pIHtcclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuVHVtdTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlR1bXU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5UVjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlRWO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuR2F6ZXRlOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuR2F6ZXRlO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuRGVyZ2k6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5EZXJnaTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlJhZHlvOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuUmFkeW87XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5TaW5lbWE6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5TaW5lbWE7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5PdXRkb29yOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuT3V0ZG9vcjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkludGVybmV0OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuSW50ZXJuZXQ7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5TcG9uc29ybHVrOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuU3BvbnNvcmx1aztcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkJlbGlyc2l6OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuQmVsaXJzaXo7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5Cb3M6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5Cb3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcGFkTGVhZGluZ1plcm9zKG51bTogbnVtYmVyLCBzaXplOiBudW1iZXIpIHtcclxuICAgIHZhciBzID0gbnVtICsgJyc7XHJcbiAgICB3aGlsZSAocy5sZW5ndGggPCBzaXplKSBzID0gJzAnICsgcztcclxuICAgIHJldHVybiBzO1xyXG4gIH1cclxufVxyXG4iXX0=
448
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS9nbG9iYWxGdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBRTlDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhELENBQUMsR0FBRyxDQUFD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LENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTWVjcmFUdXJsZXJpLCBNZWNyYVR1cmxlcmlTdHIgfSBmcm9tICcuL21vZGVscy9lbnVtcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRnVuY3Rpb25zIHtcclxuICBzdGF0aWMgc2hhZGVDb2xvcihjb2xvcjogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIpIHtcclxuXHJcbiAgICBsZXQgUiA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygxLCAzKSwgMTYpO1xyXG4gICAgbGV0IEcgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoMywgNSksIDE2KTtcclxuICAgIGxldCBCID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDUsIDcpLCAxNik7XHJcblxyXG4gICAgUiA9IHBhcnNlSW50KChSICogKDEwMCArIHBlcmNlbnQpIC8gMTAwKS50b1N0cmluZygpLCAwKTtcclxuICAgIEcgPSBwYXJzZUludCgoRyAqICgxMDAgKyBwZXJjZW50KSAvIDEwMCkudG9TdHJpbmcoKSwgMCk7XHJcbiAgICBCID0gcGFyc2VJbnQoKEIgKiAoMTAwICsgcGVyY2VudCkgLyAxMDApLnRvU3RyaW5nKCksIDApO1xyXG5cclxuICAgIFIgPSAoUiA8IDI1NSkgPyBSIDogMjU1O1xyXG4gICAgRyA9IChHIDwgMjU1KSA/IEcgOiAyNTU7XHJcbiAgICBCID0gKEIgPCAyNTUpID8gQiA6IDI1NTtcclxuXHJcbiAgICBjb25zdCBSUiA9ICgoUi50b1N0cmluZygxNikubGVuZ3RoID09PSAxKSA/ICcwJyArIFIudG9TdHJpbmcoMTYpIDogUi50b1N0cmluZygxNikpO1xyXG4gICAgY29uc3QgR0cgPSAoKEcudG9TdHJpbmcoMTYpLmxlbmd0aCA9PT0gMSkgPyAnMCcgKyBHLnRvU3RyaW5nKDE2KSA6IEcudG9TdHJpbmcoMTYpKTtcclxuICAgIGNvbnN0IEJCID0gKChCLnRvU3RyaW5nKDE2KS5sZW5ndGggPT09IDEpID8gJzAnICsgQi50b1N0cmluZygxNikgOiBCLnRvU3RyaW5nKDE2KSk7XHJcblxyXG4gICAgcmV0dXJuICcjJyArIFJSICsgR0cgKyBCQjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB5YXJpbVNhYXRlWXV2YXJsYSh2YWx1ZTogbnVtYmVyLCBzdGVwUGFyYW06IG51bWJlcikge1xyXG4gICAgY29uc3Qgc3RlcCA9IHN0ZXBQYXJhbSB8fCAoc3RlcFBhcmFtID0gMS4wKTtcclxuICAgIGNvbnN0IGludiA9IDEuMCAvIHN0ZXA7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIGludikgLyBpbnY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZXZlblJvdW5kKG51bTogbnVtYmVyLCBkZWNpbWFsUGxhY2VzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZCA9IGRlY2ltYWxQbGFjZXMgfHwgMDtcclxuICAgIGNvbnN0IG0gPSBNYXRoLnBvdygxMCwgZCk7XHJcbiAgICBjb25zdCBuID0gKyhkID8gbnVtICogbSA6IG51bSkudG9GaXhlZCg4KTsgLy8gQXZvaWQgcm91bmRpbmcgZXJyb3JzXHJcbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihuKTtcclxuICAgIGNvbnN0IGYgPSBuIC0gaTtcclxuICAgIGNvbnN0IGUgPSAxZS04OyAvLyBBbGxvdyBmb3Igcm91bmRpbmcgZXJyb3JzIGluIGZcclxuICAgIGNvbnN0IHIgPSAoZiA+IDAuNSAtIGUgJiYgZiA8IDAuNSArIGUpID8gKChpICUgMiA9PT0gMCkgPyBpIDogaSArIDEpIDogTWF0aC5yb3VuZChuKTtcclxuICAgIHJldHVybiBkID8gciAvIG0gOiByO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJvdW5kSWtpSGFuZShwYXJhbTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHBhcmFtICogMTAwKSAvIDEwMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpa2lTYXlpRmFyayhwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSAtIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlraVNheWlUb3BsYShwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSArIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN0clRvTnVtYmVyKG1ldGluOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgbGV0IHN0ciA9IG1ldGluO1xyXG4gICAgc3RyID0gc3RyLnNwbGl0KCcsJykuam9pbignLicpO1xyXG4gICAgY29uc3QgcmVnZXg6IFJlZ0V4cCA9IC9bXlxcZC4tXS9nO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UocmVnZXgsICcnKTtcclxuICAgIGNvbnN0IGFyciA9IHN0ci5zcGxpdCgnLicpO1xyXG4gICAgaWYgKGFyci5sZW5ndGggPiAyKSB7IC8vIEJpcmRlbiDDp29rIG5va3RhIHZhcnNhXHJcbiAgICAgIGNvbnN0IHNvbiA9IGFyci5wb3AoKTtcclxuICAgICAgc3RyID0gYXJyLmpvaW4oJycpICsgJy4nICsgc29uO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE51bWJlcihzdHIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN1dHVuU3RyVmVyKGdlbmlzbGlrOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGdlbmlzbGlrIDwgNTc2KSB7IHJldHVybiAneHMnOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA3NjgpIHsgcmV0dXJuICdzbSc7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDk5MikgeyByZXR1cm4gJ21kJzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgMTIwMCkgeyByZXR1cm4gJ2xnJzsgfVxyXG4gICAgcmV0dXJuICd4bCc7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc3V0dW5HZW5Ob1ZlcihnZW5pc2xpazogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChnZW5pc2xpayA8IDU3NikgeyByZXR1cm4gMTsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgNzY4KSB7IHJldHVybiAyOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA5OTIpIHsgcmV0dXJuIDM7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDEyMDApIHsgcmV0dXJuIDQ7IH1cclxuICAgIHJldHVybiA1O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRhdGVUb1RleHQodGFyaWg6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgaWYgKCh0YXJpaCAhPT0gdW5kZWZpbmVkKSAmJiAodGFyaWggIT09IG51bGwpKSB7XHJcbiAgICAgIHJldHVybiB0YXJpaC5nZXREYXRlKCkudG9TdHJpbmcoKSArICcuJyArICh0YXJpaC5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKSArICcuJyArIHRhcmloLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheUlsa0d1bihheTogbnVtYmVyLCB5aWw6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHlpbCwgYXkgLSAxKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBheVNvbkd1bihheTogbnVtYmVyLCB5aWw6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHlpbCwgYXksIDApO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIEpTT05EYXRlVG9EYXRlKHRhcmloOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBpZiAoKHRhcmloICE9PSB1bmRlZmluZWQpICYmICh0YXJpaCAhPT0gbnVsbCkpIHtcclxuICAgICAgY29uc3QgdGVtcCA9IHRhcmloLnRvU3RyaW5nKCk7XHJcbiAgICAgIGlmICh0ZW1wICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUodGVtcCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlBZGlWZXIoYXlObzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoYXlObykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmV0dXJuICdPY2FrJztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHJldHVybiAnxZ51YmF0JztcclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIHJldHVybiAnTWFydCc7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICByZXR1cm4gJ05pc2FuJztcclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJldHVybiAnTWF5xLFzJztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJldHVybiAnSGF6aXJhbic7XHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICByZXR1cm4gJ1RlbW11eic7XHJcbiAgICAgIGNhc2UgODpcclxuICAgICAgICByZXR1cm4gJ0HEn3VzdG9zJztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHJldHVybiAnRXlsw7xsJztcclxuICAgICAgY2FzZSAxMDpcclxuICAgICAgICByZXR1cm4gJ0VraW0nO1xyXG4gICAgICBjYXNlIDExOlxyXG4gICAgICAgIHJldHVybiAnS2FzxLFtJztcclxuICAgICAgY2FzZSAxMjpcclxuICAgICAgICByZXR1cm4gJ0FyYWzEsWsnO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlBZGlWZXJLaXNhKGF5Tm86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGF5Tm8pIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJldHVybiAnT2NhJztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHJldHVybiAnxZ51Yic7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICByZXR1cm4gJ01hcic7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICByZXR1cm4gJ05pcyc7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICByZXR1cm4gJ01heSc7XHJcbiAgICAgIGNhc2UgNjpcclxuICAgICAgICByZXR1cm4gJ0hheic7XHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICByZXR1cm4gJ1RlbSc7XHJcbiAgICAgIGNhc2UgODpcclxuICAgICAgICByZXR1cm4gJ0HEn3UnO1xyXG4gICAgICBjYXNlIDk6XHJcbiAgICAgICAgcmV0dXJuICdFeWwnO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHJldHVybiAnRWtpJztcclxuICAgICAgY2FzZSAxMTpcclxuICAgICAgICByZXR1cm4gJ0thcyc7XHJcbiAgICAgIGNhc2UgMTI6XHJcbiAgICAgICAgcmV0dXJuICdBcmEnO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlOb1ZlcihheTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHN3aXRjaCAoYXkpIHtcclxuICAgICAgY2FzZSAnT2MnOlxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICBjYXNlICfFnnUnOlxyXG4gICAgICAgIHJldHVybiAyO1xyXG4gICAgICBjYXNlICdNYSc6XHJcbiAgICAgICAgcmV0dXJuIDM7XHJcbiAgICAgIGNhc2UgJ05pJzpcclxuICAgICAgICByZXR1cm4gNDtcclxuICAgICAgY2FzZSAnTXknOlxyXG4gICAgICAgIHJldHVybiA1O1xyXG4gICAgICBjYXNlICdIYSc6XHJcbiAgICAgICAgcmV0dXJuIDY7XHJcbiAgICAgIGNhc2UgJ1RlJzpcclxuICAgICAgICByZXR1cm4gNztcclxuICAgICAgY2FzZSAnQcSfJzpcclxuICAgICAgICByZXR1cm4gODtcclxuICAgICAgY2FzZSAnRXknOlxyXG4gICAgICAgIHJldHVybiA5O1xyXG4gICAgICBjYXNlICdFayc6XHJcbiAgICAgICAgcmV0dXJuIDEwO1xyXG4gICAgICBjYXNlICdLYSc6XHJcbiAgICAgICAgcmV0dXJuIDExO1xyXG4gICAgICBjYXNlICdBcic6XHJcbiAgICAgICAgcmV0dXJuIDEyO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBndW5BZGlWZXIoZ3VuTm86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGd1bk5vKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICByZXR1cm4gJ1BhemFydGVzaSc7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXR1cm4gJ1NhbMSxJztcclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIHJldHVybiAnw4dhcsWfYW1iYSc7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICByZXR1cm4gJ1BlcsWfZW1iZSc7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICByZXR1cm4gJ0N1bWEnO1xyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmV0dXJuICdDdW1hcnRlc2knO1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgcmV0dXJuICdQYXphcic7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBndW5BcnR0aXJBemFsdCh0YXJpaDogRGF0ZSwgZ3VuU2F5aXNpOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh0YXJpaC5nZXRUaW1lKCkgKyBndW5TYXlpc2kgKiAyNCAqIDYwICogNjAgKiAxMDAwKTtcclxuXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGFyaWhQYXJhbVRvRGF0ZShwYXJhbTogc3RyaW5nKTogRGF0ZSB7XHJcbiAgICBsZXQgdGFyaWg6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgaWYgKHBhcmFtICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IHRhcmloQXJyOiBzdHJpbmdbXSA9IHBhcmFtLnNwbGl0KCctJyk7XHJcbiAgICAgIGlmICh0YXJpaEFyci5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgY29uc3QgZ3VuID0gTnVtYmVyKHRhcmloQXJyWzBdKTtcclxuICAgICAgICBjb25zdCBheSA9IE51bWJlcih0YXJpaEFyclsxXSkgLSAxO1xyXG4gICAgICAgIGNvbnN0IHlpbCA9IE51bWJlcih0YXJpaEFyclsyXSk7XHJcbiAgICAgICAgdGFyaWggPSBuZXcgRGF0ZSh5aWwsIGF5LCBndW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGFyaWg7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZVRvVGFyaWhQYXJhbShwYXJhbTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBpZiAocGFyYW0gIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgZ3VuID0gcGFyYW0uZ2V0RGF0ZSgpO1xyXG4gICAgICBjb25zdCBheSA9IHBhcmFtLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgICBjb25zdCB5aWwgPSBwYXJhbS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICByZXR1cm4gZ3VuLnRvU3RyaW5nKCkgKyAnLScgKyBheS50b1N0cmluZygpICsgJy0nICsgeWlsLnRvU3RyaW5nKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnLicgKyBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBoZXhUb1JHQkEoaGV4LCBhbHBoYSkge1xyXG4gICAgLy8gY29uc29sZS5sb2coaGV4KTtcclxuICAgIGNvbnN0IHIgPSBwYXJzZUludChoZXguc2xpY2UoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcgPSBwYXJzZUludChoZXguc2xpY2UoMywgNSksIDE2KTtcclxuICAgIGNvbnN0IGIgPSBwYXJzZUludChoZXguc2xpY2UoNSwgNyksIDE2KTtcclxuXHJcbiAgICAvLyByZXR1cm4gciArICcsJyArIGcgKyAnLCcgKyBiO1xyXG5cclxuICAgIGlmIChhbHBoYSkge1xyXG4gICAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHthbHBoYX0pYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9KWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY29sb3JOYW1lVG9IZXgoY29sb3IpIHtcclxuICAgIGNvbnN0IGNvbG9ycyA9IHtcclxuICAgICAgYWxpY2VibHVlOiAnI2YwZjhmZicsIGFudGlxdWV3aGl0ZTogJyNmYWViZDcnLCBhcXVhOiAnIzAwZmZmZicsIGFxdWFtYXJpbmU6ICcjN2ZmZmQ0JywgYXp1cmU6ICcjZjBmZmZmJyxcclxuICAgICAgYmVpZ2U6ICcjZjVmNWRjJywgYmlzcXVlOiAnI2ZmZTRjNCcsIGJsYWNrOiAnIzAwMDAwMCcsIGJsYW5jaGVkYWxtb25kOiAnI2ZmZWJjZCcsIGJsdWU6ICcjMDAwMGZmJywgYmx1ZXZpb2xldDogJyM4YTJiZTInLCBicm93bjogJyNhNTJhMmEnLCBidXJseXdvb2Q6ICcjZGViODg3JyxcclxuICAgICAgY2FkZXRibHVlOiAnIzVmOWVhMCcsIGNoYXJ0cmV1c2U6ICcjN2ZmZjAwJywgY2hvY29sYXRlOiAnI2QyNjkxZScsIGNvcmFsOiAnI2ZmN2Y1MCcsIGNvcm5mbG93ZXJibHVlOiAnIzY0OTVlZCcsIGNvcm5zaWxrOiAnI2ZmZjhkYycsIGNyaW1zb246ICcjZGMxNDNjJywgY3lhbjogJyMwMGZmZmYnLFxyXG4gICAgICBkYXJrYmx1ZTogJyMwMDAwOGInLCBkYXJrY3lhbjogJyMwMDhiOGInLCBkYXJrZ29sZGVucm9kOiAnI2I4ODYwYicsIGRhcmtncmF5OiAnI2E5YTlhOScsIGRhcmtncmVlbjogJyMwMDY0MDAnLCBkYXJra2hha2k6ICcjYmRiNzZiJywgZGFya21hZ2VudGE6ICcjOGIwMDhiJywgZGFya29saXZlZ3JlZW46ICcjNTU2YjJmJyxcclxuICAgICAgZGFya29yYW5nZTogJyNmZjhjMDAnLCBkYXJrb3JjaGlkOiAnIzk5MzJjYycsIGRhcmtyZWQ6ICcjOGIwMDAwJywgZGFya3NhbG1vbjogJyNlOTk2N2EnLCBkYXJrc2VhZ3JlZW46ICcjOGZiYzhmJywgZGFya3NsYXRlYmx1ZTogJyM0ODNkOGInLCBkYXJrc2xhdGVncmF5OiAnIzJmNGY0ZicsIGRhcmt0dXJxdW9pc2U6ICcjMDBjZWQxJyxcclxuICAgICAgZGFya3Zpb2xldDogJyM5NDAwZDMnLCBkZWVwcGluazogJyNmZjE0OTMnLCBkZWVwc2t5Ymx1ZTogJyMwMGJmZmYnLCBkaW1ncmF5OiAnIzY5Njk2OScsIGRvZGdlcmJsdWU6ICcjMWU5MGZmJyxcclxuICAgICAgZmlyZWJyaWNrOiAnI2IyMjIyMicsIGZsb3JhbHdoaXRlOiAnI2ZmZmFmMCcsIGZvcmVzdGdyZWVuOiAnIzIyOGIyMicsIGZ1Y2hzaWE6ICcjZmYwMGZmJyxcclxuICAgICAgZ2FpbnNib3JvOiAnI2RjZGNkYycsIGdob3N0d2hpdGU6ICcjZjhmOGZmJywgZ29sZDogJyNmZmQ3MDAnLCBnb2xkZW5yb2Q6ICcjZGFhNTIwJywgZ3JheTogJyM4MDgwODAnLCBncmVlbjogJyMwMDgwMDAnLCBncmVlbnllbGxvdzogJyNhZGZmMmYnLFxyXG4gICAgICBob25leWRldzogJyNmMGZmZjAnLCBob3RwaW5rOiAnI2ZmNjliNCcsXHJcbiAgICAgIGluZGlhbnJlZDogJyNjZDVjNWMnLCBpbmRpZ286ICcjNGIwMDgyJywgaXZvcnk6ICcjZmZmZmYwJywga2hha2k6ICcjZjBlNjhjJyxcclxuICAgICAgbGF2ZW5kZXI6ICcjZTZlNmZhJywgbGF2ZW5kZXJibHVzaDogJyNmZmYwZjUnLCBsYXduZ3JlZW46ICcjN2NmYzAwJywgbGVtb25jaGlmZm9uOiAnI2ZmZmFjZCcsIGxpZ2h0Ymx1ZTogJyNhZGQ4ZTYnLCBsaWdodGNvcmFsOiAnI2YwODA4MCcsIGxpZ2h0Y3lhbjogJyNlMGZmZmYnLCBsaWdodGdvbGRlbnJvZHllbGxvdzogJyNmYWZhZDInLFxyXG4gICAgICBsaWdodGdyZXk6ICcjZDNkM2QzJywgbGlnaHRncmVlbjogJyM5MGVlOTAnLCBsaWdodHBpbms6ICcjZmZiNmMxJywgbGlnaHRzYWxtb246ICcjZmZhMDdhJywgbGlnaHRzZWFncmVlbjogJyMyMGIyYWEnLCBsaWdodHNreWJsdWU6ICcjODdjZWZhJywgbGlnaHRzbGF0ZWdyYXk6ICcjNzc4ODk5JywgbGlnaHRzdGVlbGJsdWU6ICcjYjBjNGRlJyxcclxuICAgICAgbGlnaHR5ZWxsb3c6ICcjZmZmZmUwJywgbGltZTogJyMwMGZmMDAnLCBsaW1lZ3JlZW46ICcjMzJjZDMyJywgbGluZW46ICcjZmFmMGU2JyxcclxuICAgICAgbWFnZW50YTogJyNmZjAwZmYnLCBtYXJvb246ICcjODAwMDAwJywgbWVkaXVtYXF1YW1hcmluZTogJyM2NmNkYWEnLCBtZWRpdW1ibHVlOiAnIzAwMDBjZCcsIG1lZGl1bW9yY2hpZDogJyNiYTU1ZDMnLCBtZWRpdW1wdXJwbGU6ICcjOTM3MGQ4JywgbWVkaXVtc2VhZ3JlZW46ICcjM2NiMzcxJywgbWVkaXVtc2xhdGVibHVlOiAnIzdiNjhlZScsXHJcbiAgICAgIG1lZGl1bXNwcmluZ2dyZWVuOiAnIzAwZmE5YScsIG1lZGl1bXR1cnF1b2lzZTogJyM0OGQxY2MnLCBtZWRpdW12aW9sZXRyZWQ6ICcjYzcxNTg1JywgbWlkbmlnaHRibHVlOiAnIzE5MTk3MCcsIG1pbnRjcmVhbTogJyNmNWZmZmEnLCBtaXN0eXJvc2U6ICcjZmZlNGUxJywgbW9jY2FzaW46ICcjZmZlNGI1JyxcclxuICAgICAgbmF2YWpvd2hpdGU6ICcjZmZkZWFkJywgbmF2eTogJyMwMDAwODAnLFxyXG4gICAgICBvbGRsYWNlOiAnI2ZkZjVlNicsIG9saXZlOiAnIzgwODAwMCcsIG9saXZlZHJhYjogJyM2YjhlMjMnLCBvcmFuZ2U6ICcjZmZhNTAwJywgb3JhbmdlcmVkOiAnI2ZmNDUwMCcsIG9yY2hpZDogJyNkYTcwZDYnLFxyXG4gICAgICBwYWxlZ29sZGVucm9kOiAnI2VlZThhYScsIHBhbGVncmVlbjogJyM5OGZiOTgnLCBwYWxldHVycXVvaXNlOiAnI2FmZWVlZScsIHBhbGV2aW9sZXRyZWQ6ICcjZDg3MDkzJywgcGFwYXlhd2hpcDogJyNmZmVmZDUnLCBwZWFjaHB1ZmY6ICcjZmZkYWI5JywgcGVydTogJyNjZDg1M2YnLCBwaW5rOiAnI2ZmYzBjYicsIHBsdW06ICcjZGRhMGRkJywgcG93ZGVyYmx1ZTogJyNiMGUwZTYnLCBwdXJwbGU6ICcjODAwMDgwJyxcclxuICAgICAgcmViZWNjYXB1cnBsZTogJyM2NjMzOTknLCByZWQ6ICcjZmYwMDAwJywgcm9zeWJyb3duOiAnI2JjOGY4ZicsIHJveWFsYmx1ZTogJyM0MTY5ZTEnLFxyXG4gICAgICBzYWRkbGVicm93bjogJyM4YjQ1MTMnLCBzYWxtb246ICcjZmE4MDcyJywgc2FuZHlicm93bjogJyNmNGE0NjAnLCBzZWFncmVlbjogJyMyZThiNTcnLCBzZWFzaGVsbDogJyNmZmY1ZWUnLCBzaWVubmE6ICcjYTA1MjJkJywgc2lsdmVyOiAnI2MwYzBjMCcsIHNreWJsdWU6ICcjODdjZWViJywgc2xhdGVibHVlOiAnIzZhNWFjZCcsIHNsYXRlZ3JheTogJyM3MDgwOTAnLCBzbm93OiAnI2ZmZmFmYScsIHNwcmluZ2dyZWVuOiAnIzAwZmY3ZicsIHN0ZWVsYmx1ZTogJyM0NjgyYjQnLFxyXG4gICAgICB0YW46ICcjZDJiNDhjJywgdGVhbDogJyMwMDgwODAnLCB0aGlzdGxlOiAnI2Q4YmZkOCcsIHRvbWF0bzogJyNmZjYzNDcnLCB0dXJxdW9pc2U6ICcjNDBlMGQwJyxcclxuICAgICAgdmlvbGV0OiAnI2VlODJlZScsXHJcbiAgICAgIHdoZWF0OiAnI2Y1ZGViMycsIHdoaXRlOiAnI2ZmZmZmZicsIHdoaXRlc21va2U6ICcjZjVmNWY1JyxcclxuICAgICAgeWVsbG93OiAnI2ZmZmYwMCcsIHllbGxvd2dyZWVuOiAnIzlhY2QzMidcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHR5cGVvZiBjb2xvcnNbY29sb3IudG9Mb3dlckNhc2UoKV0gIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJldHVybiBjb2xvcnNbY29sb3IudG9Mb3dlckNhc2UoKV07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZpbGVuYW1lRnJvbUNvbnRlbnREaXNwb3NpdGlvbihjb250ZW50RGlzcG9zaXRpb246IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVnZXggPSAvZmlsZW5hbWVbXjs9XFxuXSo9KFVURi04KFsnXCJdKikpPyguKikvO1xyXG4gICAgY29uc3QgbWF0Y2hlcyA9IHJlZ2V4LmV4ZWMoY29udGVudERpc3Bvc2l0aW9uKTtcclxuICAgIGxldCBmaWxlbmFtZSA9ICcnO1xyXG5cclxuICAgIGlmIChtYXRjaGVzICE9IG51bGwgJiYgbWF0Y2hlc1szXSkge1xyXG4gICAgICBmaWxlbmFtZSA9IG1hdGNoZXNbM10ucmVwbGFjZSgvWydcIl0vZywgJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZWNvZGVVUkkoZmlsZW5hbWUpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRlbWFHdW5Ob1ZlcigpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZG4gPSBuZXcgRGF0ZSgpLmdldERheSgpO1xyXG4gICAgaWYgKGRuID09PSAwKSB7XHJcbiAgICAgIHJldHVybiA2O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBkbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBjaWZ0Qm9zbHVrVGVrWWFwKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyY2FsYXIgPSBtZXRpbi5zcGxpdCgnICAnKTtcclxuICAgIHJldHVybiBwYXJjYWxhci5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gIHN0YXRpYyByYWthbWxhcmlUZW1pemxlKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1ldGluLnJlcGxhY2UoL1swLTldL2csICcnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBib3NsdWtsYXJpVGVtaXpsZShtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtZXRpbi5yZXBsYWNlKC8gL2csICcnKTtcclxuICB9XHJcbiovXHJcblxyXG4gIHN0YXRpYyBidXl1a0hhcmZlQ2V2aXIobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWV0aW4udG9Mb2NhbGVVcHBlckNhc2UoJ3RyLVRSJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaWxrSGFyZkJ1eXV0KG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdXp1bmx1ayA9IG1ldGluLmxlbmd0aDtcclxuICAgIGlmICh1enVubHVrID4gMCkge1xyXG4gICAgICBpZiAodXp1bmx1ayA+IDEpIHtcclxuICAgICAgICByZXR1cm4gbWV0aW4uc3Vic3RyKDAsIDEpLnRvTG9jYWxlVXBwZXJDYXNlKCd0ci1UUicpICsgbWV0aW4uc3Vic3RyKDEsIDEwMCkudG9Mb2NhbGVMb3dlckNhc2UoJ3RyLVRSJyk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG1ldGluLnN1YnN0cigwLCAxKS50b0xvY2FsZVVwcGVyQ2FzZSgndHItVFInKTtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHVtSWxrSGFyZkJ1eXV0KG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyY2FsYXIgPSBtZXRpbi5zcGxpdCgnICcpO1xyXG4gICAgY29uc3Qgc29udWMgPSBbXTtcclxuICAgIHBhcmNhbGFyLmZvckVhY2gocGFyY2EgPT4ge1xyXG4gICAgICBzb251Yy5wdXNoKHRoaXMuaWxrSGFyZkJ1eXV0KHBhcmNhKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gc29udWMuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHR1bUJvc2x1a1NpbChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmNhbGFyID0gbWV0aW4uc3BsaXQoJyAnKTtcclxuICAgIHJldHVybiBwYXJjYWxhci5qb2luKCcnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0dXJrY2VBeWlrbGEobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgc29udWMgPSBtZXRpbjtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw5wnLCAnVScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEnicsICdHJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SwJywgJ0knKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxZ4nLCAnUycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDhycsICdDJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OWJywgJ08nKTtcclxuXHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8O8JywgJ3UnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxJ8nLCAnZycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEsScsICdpJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8WfJywgJ3MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw6cnLCAnYycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDticsICdvJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8W+JywgJ2knKTtcclxuXHJcbiAgICAvLyBzb251YyA9IHNvbnVjLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcclxuICAgIHJldHVybiBzb251YztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtZWNyYVR1cnVOb1ZlcihtZWNyYVR1cnVTdHI6IE1lY3JhVHVybGVyaVN0cik6IE1lY3JhVHVybGVyaSB7XHJcbiAgICBzd2l0Y2ggKG1lY3JhVHVydVN0cikge1xyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5UdW11OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuVHVtdTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlRWOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuVFY7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5HYXpldGU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5HYXpldGU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5EZXJnaTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkRlcmdpO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuUmFkeW86XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5SYWR5bztcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlNpbmVtYTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlNpbmVtYTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLk91dGRvb3I6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5PdXRkb29yO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuSW50ZXJuZXQ6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5JbnRlcm5ldDtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlNwb25zb3JsdWs6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5TcG9uc29ybHVrO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuQmVsaXJzaXo6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5CZWxpcnNpejtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkJvczpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkJvcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBtZWNyYVR1cnVTdHJWZXIobWVjcmFUdXJ1Tm86IE1lY3JhVHVybGVyaSk6IE1lY3JhVHVybGVyaVN0ciB7XHJcbiAgICBzd2l0Y2ggKG1lY3JhVHVydU5vKSB7XHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlR1bXU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5UdW11O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuVFY6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5UVjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkdhemV0ZTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkdhemV0ZTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkRlcmdpOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuRGVyZ2k7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5SYWR5bzpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlJhZHlvO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuU2luZW1hOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuU2luZW1hO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuT3V0ZG9vcjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLk91dGRvb3I7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5JbnRlcm5ldDpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkludGVybmV0O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuU3BvbnNvcmx1azpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlNwb25zb3JsdWs7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5CZWxpcnNpejpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkJlbGlyc2l6O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuQm9zOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuQm9zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBhZExlYWRpbmdaZXJvcyhudW06IG51bWJlciwgc2l6ZTogbnVtYmVyKSB7XHJcbiAgICB2YXIgcyA9IG51bSArICcnO1xyXG4gICAgd2hpbGUgKHMubGVuZ3RoIDwgc2l6ZSkgcyA9ICcwJyArIHM7XHJcbiAgICByZXR1cm4gcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhcnJheVRvU2VsZWN0SXRlbShhcnJheTogc3RyaW5nW10pOiBTZWxlY3RJdGVtPHN0cmluZz5bXSB7XHJcbiAgICByZXR1cm4gYXJyYXkubWFwKGVsZW1lbnQgPT4ge1xyXG4gICAgICByZXR1cm4geyBsYWJlbDogZWxlbWVudCwgdmFsdWU6IGVsZW1lbnQgfTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXJyYXlOdW1iZXJUb1NlbGVjdEl0ZW0oYXJyYXk6IG51bWJlcltdKTogU2VsZWN0SXRlbTxudW1iZXI+W10ge1xyXG4gICAgcmV0dXJuIGFycmF5Lm1hcChlbGVtZW50ID0+IHtcclxuICAgICAgcmV0dXJuIHsgbGFiZWw6IGVsZW1lbnQudG9TdHJpbmcoKSwgdmFsdWU6IGVsZW1lbnQgfTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -246,6 +246,16 @@ export class XLTable {
246
246
  }
247
247
  this.columns.push(column);
248
248
  }
249
+ columnFormat(format, columnNo) {
250
+ let _columnNo = 0;
251
+ if (typeof columnNo === 'undefined') {
252
+ _columnNo = this.columns.length;
253
+ }
254
+ else {
255
+ _columnNo = columnNo;
256
+ }
257
+ this.columns[_columnNo].format = format;
258
+ }
249
259
  rowFontColorAdd(color, rowNo) {
250
260
  let _rowNo = 0;
251
261
  if (typeof rowNo === 'undefined') {
@@ -256,6 +266,16 @@ export class XLTable {
256
266
  }
257
267
  this.rowFontColors.push(new RowFontColor(color, _rowNo));
258
268
  }
269
+ rowInteriorColorAdd(color, rowNo) {
270
+ let _rowNo = 0;
271
+ if (typeof rowNo === 'undefined') {
272
+ _rowNo = this.rows.length;
273
+ }
274
+ else {
275
+ _rowNo = rowNo;
276
+ }
277
+ this.rowInteriorColors.push(new RowInteriorColor(color, _rowNo));
278
+ }
259
279
  setColumnFooter(title, columnNo) {
260
280
  let _columnNo = 0;
261
281
  if (typeof columnNo === 'undefined') {
@@ -382,4 +402,10 @@ export class RowFontColor {
382
402
  this.rowNo = rowNo;
383
403
  }
384
404
  }
385
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF1Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXRCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFFBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBYyxFQUFFLENBQUM7UUFFdkIsV0FBTSxHQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUduQyxJQUFJLENBQUMsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFP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Q25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvbnRTdHlsZSwgRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5vdCA9IG5ldyBYTE5vdCgpO1xyXG5cclxuICB0YWJsZXM6IFhMVGFibGVbXSA9IFtdO1xyXG5cclxuICBzaGVldHM6IFhMU2hlZXRbXSA9IFtuZXcgWExTaGVldCgxKV07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKCh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB8fCAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Rm9udCA9IG5ldyBYTEZvbnQoZm9udE5hbWUsIGZvbnRTaXplKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYmxlID0gdGhpcy5hZGRUYWJsZSgpO1xyXG4gICAgdGFibGUudGFibGVObyA9IHRoaXMudGFibGVzLmxlbmd0aCArIDE7XHJcblxyXG4gICAgdGhpcy50YWJsZXMucHVzaCh0YWJsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXN0QmlsZ2lTYXRpckVrbGUoc2F0aXI6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXN0QmlsZ2kgPSBuZXcgWExVc3RCaWxnaVNhdGlyKCk7XHJcbiAgICB1c3RCaWxnaS5yb3dObyA9IHRoaXMudXN0QmlsZ2lsZXIubGVuZ3RoICsgMTtcclxuICAgIHVzdEJpbGdpLnVzdEJpbGdpID0gc2F0aXI7XHJcblxyXG4gICAgdGhpcy51c3RCaWxnaWxlci5wdXNoKHVzdEJpbGdpKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYmxlKCk6IFhMVGFibGUge1xyXG4gICAgY29uc3QgdGFibGUgPSBuZXcgWExUYWJsZSgpO1xyXG4gICAgdGFibGUuc29sID0gMTtcclxuICAgIHRhYmxlLnVzdCA9IDE7XHJcbiAgICB0YWJsZS5oZWFkZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRhYmxlLmZvb3Rlci5iYXNpbGFjYWsgPSBmYWxzZTtcclxuICAgIHRhYmxlLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgICB0YWJsZS5oZWFkZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICB0YWJsZS5mb290ZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuXHJcbiAgICB0YWJsZS5oaWRkZW5Sb3dzSW5pdCgpO1xyXG4gICAgdGFibGUuc29ydEluaXQoKTtcclxuICAgIHRhYmxlLnJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5jb2x1bW5Gb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIHRhYmxlLnJvd0Zvcm1hdHNJbml0KCk7XHJcbiAgICB0YWJsZS5jZWxsRm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLnJhbmdlRm9ybWF0c0luaXQoKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICAgIFhMX1RfSGVhZGVyQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9EYXRhQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0hlYWRlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9TaGVldE5hbWVTZXQoWExfU19DdXJyZW50KVxyXG4qL1xyXG5cclxuICAgIHJldHVybiB0YWJsZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExVc3RCaWxnaVNhdGlyIHtcclxuICByb3dObyA9IDA7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoJycsIDApO1xyXG4gIHVzdEJpbGdpID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTExvZ28ge1xyXG4gIGdlbmlzbGlrID0gMDtcclxuICB5dWtzZWtsaWsgPSAwO1xyXG4gIHVzdE1hcmppbiA9IDA7XHJcbiAgc29sTWFyamluID0gMDtcclxuICBlYmF0UGl4ZWxtaSA9IGZhbHNlO1xyXG4gIGViYXQgPSAnJztcclxuICBrb251bSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExGb250IHtcclxuICBuYW1lID0gJ1NlZ29lIFVJJztcclxuICBzaXplID0gMTE7XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxuICBzdHlsZSA9IEZvbnRTdHlsZS5QbGFpbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTm90IHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMU2hlZXQge1xyXG4gIHNoZWV0Tm8gPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihzaGVldE5vOiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygc2hlZXRObyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaGVldE5vID0gc2hlZXRObztcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExJbnRlcmlvciB7XHJcbiAgY29sb3I6IFhMUmVuayA9IFhMUmVuay5jbFdoaXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExCb3JkZXIge1xyXG4gIHR5cGUgPSAnVMO8bcO8JztcclxuICBsaW5lU3R5bGUgPSBYTExpbmVTdHlsZS54bENvbnRpbnVvdXM7XHJcbiAgd2VpZ2h0ID0gWGxCb3JkZXJXZWlnaC54bFRoaW47XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5IZWFkZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IHRydWU7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzTXVsdGlMaW5lID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoaGVhZGVyOiBzdHJpbmcgPSAnJykge1xyXG4gICAgdGhpcy50aXRsZSA9IGhlYWRlcjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uRGF0YSB7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlIHtcclxuICBjb2x1bW5zOiBYTFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICBoZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcigpO1xyXG4gIGRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIHRhYmxlTm8gPSAxO1xyXG4gIGNvbGxlY3Rpb246IHN0cmluZ1tdO1xyXG4gIHNvbCA9IDE7XHJcbiAgdXN0ID0gMTtcclxuICB2ZXJpS2F5bmFnaSA9ICdDb2xsZWN0aW9uJztcclxuICBzaGVldE5hbWUgPSAneGxTaGVldCc7XHJcbiAgaGlkZGVuUm93czogbnVtYmVyW10gPSBbXTtcclxuICBzb3J0OiBudW1iZXJbXSA9IFtdO1xyXG4gIHJvd3M6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5Gb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uSGVhZGVySW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uRm9vdGVySW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93Rm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICByb3dGb250Q29sb3JzOiBSb3dGb250Q29sb3JbXSA9IFtdO1xyXG4gIHJvd0ZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgcm93SW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93Rm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByb3dIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIHJvd1ZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG4gIGNlbGxGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjZWxsRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjZWxsSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgY2VsbFZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG4gIHJhbmdlRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHJhbmdlRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgcmFuZ2VJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIHJhbmdlVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcblxyXG4gIGFkZENvbHVtbihwcm9wZXJ0eTogc3RyaW5nLCB0eXBlOiBWYXJpYWJsZVR5cGUgPSAwLCBoZWFkZXI6IHN0cmluZyA9ICcnLCBnZW5pc2xpazogbnVtYmVyID0gMCkge1xyXG5cclxuICAgIGNvbnN0IGNvbHVtbjogWExUYWJsZUNvbHVtbiA9IG5ldyBYTFRhYmxlQ29sdW1uKCk7XHJcbiAgICBjb25zdCBjb2x1bW5IZWFkZXIgPSBoZWFkZXIucmVwbGFjZSgnPHA+JywgJ1xccicpO1xyXG4gICAgY29uc3QgY29sdW1uQ291bnQgPSB0aGlzLmNvbHVtbnMubGVuZ3RoICsgMTtcclxuXHJcbiAgICBjb2x1bW4ucHJvcGVydHkgPSBwcm9wZXJ0eTtcclxuICAgIGNvbHVtbi5hcnJheVR5cGUgPSB0eXBlO1xyXG4gICAgY29sdW1uLmNvbHVtbk5vID0gY29sdW1uQ291bnQ7XHJcbiAgICBjb2x1bW4uaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoY29sdW1uSGVhZGVyKTtcclxuXHJcbiAgICBjb2x1bW4uZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICAgIGNvbHVtbi5ob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLnZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLmZvcm1hdCA9IDA7XHJcbiAgICBjb2x1bW4ud2lkdGggPSBnZW5pc2xpaztcclxuXHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuSXNpbnRlZ2VyOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSAxO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuSXNsb25naW50OlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSAxO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuSXNyZWFsOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSAzO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuSXNkYXRlOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBGb3JtYXRsYXIuRm9ybWF0X1RhcmloO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBoZWFkZXJTYXRpckFkZXQgPSB0aGlzLmhlYWRlci5zYXRpclNheWlzaTtcclxuICAgIGNvbnN0IHRlbXBTaXplID0gY29sdW1uSGVhZGVyLnNwbGl0KCdcXHInKS5sZW5ndGg7XHJcbiAgICBpZiAodGVtcFNpemUgPiBoZWFkZXJTYXRpckFkZXQpIHtcclxuICAgICAgdGhpcy5oZWFkZXIuc2F0aXJTYXlpc2kgPSB0ZW1wU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbHVtbnMucHVzaChjb2x1bW4pO1xyXG4gIH1cclxuXHJcbiAgcm93Rm9udENvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ZvbnRDb2xvcnMucHVzaChuZXcgUm93Rm9udENvbG9yKGNvbG9yLCBfcm93Tm8pKTtcclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3Rlcih0aXRsZTogc3RyaW5nLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyKHRpdGxlKTtcclxuXHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5Gb290ZXJGdW5jdGlvbihmb290ZXJGdW5jdGlvbjogWExGdW5jcywgY29sdW1uTm8/OiBudW1iZXIpIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLnNldEZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uKTtcclxuXHJcbiAgfVxyXG5cclxuICBoaWRkZW5Sb3dzSW5pdCgpIHtcclxuICAgIHRoaXMuaGlkZGVuUm93cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgc29ydEluaXQoKSB7XHJcbiAgICB0aGlzLnNvcnQgPSBbXTtcclxuICB9XHJcblxyXG4gIHJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5yb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBjb2x1bW5Gb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMuY29sdW1uRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSGVhZGVySW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93Rm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd0ZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5yb3dJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb3JtYXRzID0gW107XHJcblxyXG4gICAgdGhpcy5yb3dIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5yb3dWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGNlbGxGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMuY2VsbEZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxGb3JtYXRzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMuY2VsbFZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcmFuZ2VGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucmFuZ2VGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udFN0eWxlcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9ybWF0cyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUhvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICBnZXQgX3NoZWV0TmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hlZXROYW1lO1xyXG4gIH1cclxuICBzZXQgX3NoZWV0TmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNoZWV0TmFtZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uRm9vdGVyIHtcclxuICB0aXRsZSA9ICcnO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IGZhbHNlO1xyXG4gIHNhdGlyU2F5aXNpID0gMTtcclxuICBpc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZ1bmN0aW9uOiBYTEZ1bmNzID0gWExGdW5jcy5Ob25lO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbiB7XHJcbiAgcHJvcGVydHkgPSAnJztcclxuICBhcnJheVR5cGU6IFZhcmlhYmxlVHlwZSA9IDA7XHJcbiAgY29sdW1uTm8gPSAwO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50OiBYTEhBbGlnbiA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICB2ZXJ0aWNhbEFsaWdubWVudDogWGxWQWxpZ24gPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZm9ybWF0ID0gMDtcclxuICB3aWR0aCA9IDA7XHJcblxyXG4gIHNldEZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzKSB7XHJcbiAgICB0aGlzLmZvb3Rlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGhpcy5mb290ZXIuZnVuY3Rpb24gPSBmb290ZXJGdW5jdGlvbjtcclxuICAgIHRoaXMuZm9vdGVyLmlzRnVuY3Rpb24gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9vdGVyKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ZvbnRDb2xvciB7XHJcbiAgY29sb3I6IFhMUmVuaztcclxuICByb3dObzogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKGNvbG9yOiBYTFJlbmssIHJvd05vOiBudW1iZXIpIHtcclxuICAgIHRoaXMuY29sb3IgPSBjb2xvcjtcclxuICAgIHRoaXMucm93Tm8gPSByb3dObztcclxuICB9XHJcbn1cclxuIl19
405
+ export class RowInteriorColor {
406
+ constructor(color, rowNo) {
407
+ this.color = color;
408
+ this.rowNo = rowNo;
409
+ }
410
+ }
411
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF1Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXRCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFFBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBYyxFQUFFLENBQUM7UUFFdkIsV0FBTSxHQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUduQyxJQUFJLENBQUMsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFP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YSxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3RELHNCQUFpQixHQUFhLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDcEQsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLFVBQUssR0FBRyxDQUFDLENBQUM7SUFhWixDQUFDO0lBWEMsaUJBQWlCLENBQUMsY0FBdUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQVksS0FBYSxFQUFFLEtBQWE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFZLEtBQWEsRUFBRSxLQUFhO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvbnRTdHlsZSwgRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5vdCA9IG5ldyBYTE5vdCgpO1xyXG5cclxuICB0YWJsZXM6IFhMVGFibGVbXSA9IFtdO1xyXG5cclxuICBzaGVldHM6IFhMU2hlZXRbXSA9IFtuZXcgWExTaGVldCgxKV07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKCh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB8fCAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Rm9udCA9IG5ldyBYTEZvbnQoZm9udE5hbWUsIGZvbnRTaXplKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYmxlID0gdGhpcy5hZGRUYWJsZSgpO1xyXG4gICAgdGFibGUudGFibGVObyA9IHRoaXMudGFibGVzLmxlbmd0aCArIDE7XHJcblxyXG4gICAgdGhpcy50YWJsZXMucHVzaCh0YWJsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXN0QmlsZ2lTYXRpckVrbGUoc2F0aXI6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXN0QmlsZ2kgPSBuZXcgWExVc3RCaWxnaVNhdGlyKCk7XHJcbiAgICB1c3RCaWxnaS5yb3dObyA9IHRoaXMudXN0QmlsZ2lsZXIubGVuZ3RoICsgMTtcclxuICAgIHVzdEJpbGdpLnVzdEJpbGdpID0gc2F0aXI7XHJcblxyXG4gICAgdGhpcy51c3RCaWxnaWxlci5wdXNoKHVzdEJpbGdpKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYmxlKCk6IFhMVGFibGUge1xyXG4gICAgY29uc3QgdGFibGUgPSBuZXcgWExUYWJsZSgpO1xyXG4gICAgdGFibGUuc29sID0gMTtcclxuICAgIHRhYmxlLnVzdCA9IDE7XHJcbiAgICB0YWJsZS5oZWFkZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRhYmxlLmZvb3Rlci5iYXNpbGFjYWsgPSBmYWxzZTtcclxuICAgIHRhYmxlLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgICB0YWJsZS5oZWFkZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICB0YWJsZS5mb290ZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuXHJcbiAgICB0YWJsZS5oaWRkZW5Sb3dzSW5pdCgpO1xyXG4gICAgdGFibGUuc29ydEluaXQoKTtcclxuICAgIHRhYmxlLnJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5jb2x1bW5Gb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIHRhYmxlLnJvd0Zvcm1hdHNJbml0KCk7XHJcbiAgICB0YWJsZS5jZWxsRm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLnJhbmdlRm9ybWF0c0luaXQoKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICAgIFhMX1RfSGVhZGVyQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9EYXRhQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0hlYWRlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9TaGVldE5hbWVTZXQoWExfU19DdXJyZW50KVxyXG4qL1xyXG5cclxuICAgIHJldHVybiB0YWJsZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExVc3RCaWxnaVNhdGlyIHtcclxuICByb3dObyA9IDA7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoJycsIDApO1xyXG4gIHVzdEJpbGdpID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTExvZ28ge1xyXG4gIGdlbmlzbGlrID0gMDtcclxuICB5dWtzZWtsaWsgPSAwO1xyXG4gIHVzdE1hcmppbiA9IDA7XHJcbiAgc29sTWFyamluID0gMDtcclxuICBlYmF0UGl4ZWxtaSA9IGZhbHNlO1xyXG4gIGViYXQgPSAnJztcclxuICBrb251bSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExGb250IHtcclxuICBuYW1lID0gJ1NlZ29lIFVJJztcclxuICBzaXplID0gMTE7XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxuICBzdHlsZSA9IEZvbnRTdHlsZS5QbGFpbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTm90IHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMU2hlZXQge1xyXG4gIHNoZWV0Tm8gPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihzaGVldE5vOiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygc2hlZXRObyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaGVldE5vID0gc2hlZXRObztcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExJbnRlcmlvciB7XHJcbiAgY29sb3I6IFhMUmVuayA9IFhMUmVuay5jbFdoaXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExCb3JkZXIge1xyXG4gIHR5cGUgPSAnVMO8bcO8JztcclxuICBsaW5lU3R5bGUgPSBYTExpbmVTdHlsZS54bENvbnRpbnVvdXM7XHJcbiAgd2VpZ2h0ID0gWGxCb3JkZXJXZWlnaC54bFRoaW47XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5IZWFkZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IHRydWU7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzTXVsdGlMaW5lID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoaGVhZGVyID0gJycpIHtcclxuICAgIHRoaXMudGl0bGUgPSBoZWFkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkRhdGEge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZSB7XHJcbiAgY29sdW1uczogWExUYWJsZUNvbHVtbltdID0gW107XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBkYXRhID0gbmV3IFhMVGFibGVDb2x1bW5EYXRhKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICB0YWJsZU5vID0gMTtcclxuICBjb2xsZWN0aW9uOiBzdHJpbmdbXTtcclxuICBzb2wgPSAxO1xyXG4gIHVzdCA9IDE7XHJcbiAgdmVyaUtheW5hZ2kgPSAnQ29sbGVjdGlvbic7XHJcbiAgc2hlZXROYW1lID0gJ3hsU2hlZXQnO1xyXG4gIGhpZGRlblJvd3M6IG51bWJlcltdID0gW107XHJcbiAgc29ydDogbnVtYmVyW10gPSBbXTtcclxuICByb3dzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICByb3dGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcm93Rm9udENvbG9yczogUm93Rm9udENvbG9yW10gPSBbXTtcclxuICByb3dGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIHJvd0ludGVyaW9yQ29sb3JzOiBSb3dJbnRlcmlvckNvbG9yW10gPSBbXTtcclxuICByb3dGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0hvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcm93VmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgY2VsbEZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNlbGxGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNlbGxJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsSG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICBjZWxsVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgcmFuZ2VGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcmFuZ2VGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICByYW5nZUludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcmFuZ2VWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuXHJcbiAgYWRkQ29sdW1uKHByb3BlcnR5OiBzdHJpbmcsIHR5cGU6IFZhcmlhYmxlVHlwZSA9IDAsIGhlYWRlciA9ICcnLCBnZW5pc2xpayA9IDApIHtcclxuXHJcbiAgICBjb25zdCBjb2x1bW46IFhMVGFibGVDb2x1bW4gPSBuZXcgWExUYWJsZUNvbHVtbigpO1xyXG4gICAgY29uc3QgY29sdW1uSGVhZGVyID0gaGVhZGVyLnJlcGxhY2UoJzxwPicsICdcXHInKTtcclxuICAgIGNvbnN0IGNvbHVtbkNvdW50ID0gdGhpcy5jb2x1bW5zLmxlbmd0aCArIDE7XHJcblxyXG4gICAgY29sdW1uLnByb3BlcnR5ID0gcHJvcGVydHk7XHJcbiAgICBjb2x1bW4uYXJyYXlUeXBlID0gdHlwZTtcclxuICAgIGNvbHVtbi5jb2x1bW5ObyA9IGNvbHVtbkNvdW50O1xyXG4gICAgY29sdW1uLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKGNvbHVtbkhlYWRlcik7XHJcblxyXG4gICAgY29sdW1uLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICBjb2x1bW4uaG9yaXpvbnRhbEFsaWdubWVudCA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICAgIGNvbHVtbi52ZXJ0aWNhbEFsaWdubWVudCA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICAgIGNvbHVtbi5mb3JtYXQgPSAwO1xyXG4gICAgY29sdW1uLndpZHRoID0gZ2VuaXNsaWs7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzaW50ZWdlcjpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzbG9uZ2ludDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzcmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzZGF0ZTpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gRm9ybWF0bGFyLkZvcm1hdF9UYXJpaDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGVhZGVyU2F0aXJBZGV0ID0gdGhpcy5oZWFkZXIuc2F0aXJTYXlpc2k7XHJcbiAgICBjb25zdCB0ZW1wU2l6ZSA9IGNvbHVtbkhlYWRlci5zcGxpdCgnXFxyJykubGVuZ3RoO1xyXG4gICAgaWYgKHRlbXBTaXplID4gaGVhZGVyU2F0aXJBZGV0KSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpID0gdGVtcFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goY29sdW1uKTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdChmb3JtYXQ6IG51bWJlciwgY29sdW1uTm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm9dLmZvcm1hdCA9IGZvcm1hdDtcclxuICB9XHJcblxyXG4gIHJvd0ZvbnRDb2xvckFkZChjb2xvcjogWExSZW5rLCByb3dObz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9yb3dObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIHJvd05vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfcm93Tm8gPSB0aGlzLnJvd3MubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3Jvd05vID0gcm93Tm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzLnB1c2gobmV3IFJvd0ZvbnRDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICByb3dJbnRlcmlvckNvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzLnB1c2gobmV3IFJvd0ludGVyaW9yQ29sb3IoY29sb3IsIF9yb3dObykpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyKHRpdGxlOiBzdHJpbmcsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXIodGl0bGUpO1xyXG5cclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb24pO1xyXG5cclxuICB9XHJcblxyXG4gIGhpZGRlblJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5oaWRkZW5Sb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBzb3J0SW5pdCgpIHtcclxuICAgIHRoaXMuc29ydCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5Gb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzID0gW107XHJcbiAgfVxyXG5cclxuICByb3dGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucm93Rm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0Zvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0hvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJvd1ZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY2VsbEZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jZWxsRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEZvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICByYW5nZUZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yYW5nZUZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U3R5bGVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb3JtYXRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGdldCBfc2hlZXROYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zaGVldE5hbWU7XHJcbiAgfVxyXG4gIHNldCBfc2hlZXROYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2hlZXROYW1lID0gdmFsdWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5Gb290ZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbiAgYmFzaWxhY2FrID0gZmFsc2U7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzRnVuY3Rpb24gPSBmYWxzZTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50OiBYTEhBbGlnbiA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICB2ZXJ0aWNhbEFsaWdubWVudDogWGxWQWxpZ24gPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZnVuY3Rpb246IFhMRnVuY3MgPSBYTEZ1bmNzLk5vbmU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uIHtcclxuICBwcm9wZXJ0eSA9ICcnO1xyXG4gIGFycmF5VHlwZTogVmFyaWFibGVUeXBlID0gMDtcclxuICBjb2x1bW5ObyA9IDA7XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQ6IFhMSEFsaWduID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50OiBYbFZBbGlnbiA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICBmb3JtYXQgPSAwO1xyXG4gIHdpZHRoID0gMDtcclxuXHJcbiAgc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci5mdW5jdGlvbiA9IGZvb3RlckZ1bmN0aW9uO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb290ZXIodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb290ZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9vdGVyLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmZvb3Rlci5pc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm93Rm9udENvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ludGVyaW9yQ29sb3Ige1xyXG4gIGNvbG9yOiBYTFJlbms7XHJcbiAgcm93Tm86IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihjb2xvcjogWExSZW5rLCByb3dObzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XHJcbiAgICB0aGlzLnJvd05vID0gcm93Tm87XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -2096,6 +2096,16 @@ class XLTable {
2096
2096
  }
2097
2097
  this.columns.push(column);
2098
2098
  }
2099
+ columnFormat(format, columnNo) {
2100
+ let _columnNo = 0;
2101
+ if (typeof columnNo === 'undefined') {
2102
+ _columnNo = this.columns.length;
2103
+ }
2104
+ else {
2105
+ _columnNo = columnNo;
2106
+ }
2107
+ this.columns[_columnNo].format = format;
2108
+ }
2099
2109
  rowFontColorAdd(color, rowNo) {
2100
2110
  let _rowNo = 0;
2101
2111
  if (typeof rowNo === 'undefined') {
@@ -2106,6 +2116,16 @@ class XLTable {
2106
2116
  }
2107
2117
  this.rowFontColors.push(new RowFontColor(color, _rowNo));
2108
2118
  }
2119
+ rowInteriorColorAdd(color, rowNo) {
2120
+ let _rowNo = 0;
2121
+ if (typeof rowNo === 'undefined') {
2122
+ _rowNo = this.rows.length;
2123
+ }
2124
+ else {
2125
+ _rowNo = rowNo;
2126
+ }
2127
+ this.rowInteriorColors.push(new RowInteriorColor(color, _rowNo));
2128
+ }
2109
2129
  setColumnFooter(title, columnNo) {
2110
2130
  let _columnNo = 0;
2111
2131
  if (typeof columnNo === 'undefined') {
@@ -2231,6 +2251,12 @@ class RowFontColor {
2231
2251
  this.color = color;
2232
2252
  this.rowNo = rowNo;
2233
2253
  }
2254
+ }
2255
+ class RowInteriorColor {
2256
+ constructor(color, rowNo) {
2257
+ this.color = color;
2258
+ this.rowNo = rowNo;
2259
+ }
2234
2260
  }
2235
2261
 
2236
2262
  class XLPrepare {
@@ -2274,5 +2300,5 @@ class XLOptions {
2274
2300
  * Generated bundle index. Do not edit.
2275
2301
  */
2276
2302
 
2277
- export { ATAjanslar, AygitBilgisi, BildirimBekleyenler, BildirimHazirlananlar, Bildirimler, BilgilendirmeSecenekleri, EkBelge, FaturaFiltreAlanlari, FaturaFiltreGoster, FaturaFiltreParametreleri, Favori, FavoriEkleSilParametreleri, Favoriler, FontStyle, FormParametreleri, Formatlar, GirisDuzeltme, InternetSatinAlmaTipleri, IzinDetaylari, IzinFiltreAlanlari, IzinFiltreParametreleri, IzinGuncelleParametreleri, IzinListe, IzinListeSatir, IzinRaporDetaylari, IzinRaporListe, IzinRaporListeSatir, IzinSilParametreleri, KampanyaFiltreAlanlari, KampanyaFiltreParametreleri, KilitParametreleri, KilitliKayit, KilitliKayitDetay, KilitliKayitDetaylar, KilitliKayitlar, Kullanici, KullaniciCikart, KullaniciHangiMenude, KullaniciHangiMenudeler, Kullanicilar, KullanimdakiKayit, KullanimdakiKayitlar, ListeSecenekleri, ListedenSecResult, LogbookAnaAramaSonuc, LogbookAnaAramaSonuclar, LogbookAnaTurListe, LogbookAnaTurTanim, LogbookAramaSonuc, LogbookAramaSonuclar, LogbookProgram, LogbookProgramListe, LogbookTurListe, MPAjanslar, MasrafDetaylari, MasrafFiltreAlanlari, MasrafFiltreParametreleri, MasrafGuncelleParametreleri, MasrafListe, MasrafListeSatir, MasrafSatirlari, MasrafSilParametreleri, MasrafTurleri, MecraFiltreAlanlari, MecraFiltreParametreleri, MecraTurleri, MecraTurleriStr, MesajListe, MuhasebePaketleri, MusteriFiltreAlanlari, MusteriFiltreParametreleri, MusteriGrubuFiltreAlanlari, MusteriGrubuFiltreParametreleri, OnayBilgiVerParametreleri, OnayDetaylari, OnayFiltreAlanlari, OnayFiltreParametreleri, OnayGuncelleParametreleri, OnayListe, OnayListeSatir, OnayaGonderBilgiParametreleri, OnayaGonderBilgileri, OnayaGonderParametreleri, OnayaHazirlaParametreleri, PazarlamaSirketiFiltreAlanlari, PazarlamaSirketiFiltreParametreleri, PeriyotSecenekleri, RaporDetaylari, RaporEkBilgiDetay, RaporEkBilgiSatir, RaporFiltreler, RaporMailAdresi, RaporMailAdresleri, RaporSilGonderParametreleri, RaporZamanlamaSecenekleri, RowFontColor, SifreSecenekleri, SistemBilgileri, SistemBilgisi, SistemOzetData, SistemProcess, SistemProsesleri, SistemRaporlari, TalepZamaniSecenekleri, TarifeFiltreAlanlari, TarifeFiltreParametreleri, TarihKriteriSecenekleri, TeklifDetaylari, TeklifFiltreAlanlari, TeklifFiltreParametreleri, TeklifGuncelleParametreleri, TeklifListe, TeklifListeSatir, TeklifSilParametreleri, TimeSheetAjans, TimeSheetDataAylik, TimeSheetDataGunluk, TimeSheetDataHaftalik, TimeSheetDataKayitAylik, TimeSheetDataKayitGunluk, TimeSheetDataKayitHaftalik, TimeSheetDataListeAylik, TimeSheetDataListeGunluk, TimeSheetDataListeHaftalik, TimeSheetExcel, TimeSheetGirisTuru, TimeSheetIsDosyasi, TimeSheetKampanya, TimeSheetLog, TimeSheetLogIslemler, TimeSheetMusteri, TimeSheetOzetListe, TimeSheetOzetListeSatir, TimeSheetSatirDetay, TimeSheetSecenekler, TimeSheetUrun, UrunFiltreAlanlari, UrunFiltreParametreleri, VariableType, WebAPIResult, WebOturumlari, WebOturumu, XLBookOptions, XLBorder, XLConfig, XLFont, XLFuncs, XLHAlign, XLInterior, XLLineStyle, XLLogo, XLNot, XLOptions, XLPageOrientation, XLPageSetup, XLPrepare, XLRenk, XLSheet, XLSheetOptions, XLTable, XLTableColumn, XLTableColumnData, XLTableColumnFooter, XLTableColumnHeader, XLUstBilgi, XLUstBilgiSatir, XlBorderWeigh, XlVAlign };
2303
+ export { ATAjanslar, AygitBilgisi, BildirimBekleyenler, BildirimHazirlananlar, Bildirimler, BilgilendirmeSecenekleri, EkBelge, FaturaFiltreAlanlari, FaturaFiltreGoster, FaturaFiltreParametreleri, Favori, FavoriEkleSilParametreleri, Favoriler, FontStyle, FormParametreleri, Formatlar, GirisDuzeltme, InternetSatinAlmaTipleri, IzinDetaylari, IzinFiltreAlanlari, IzinFiltreParametreleri, IzinGuncelleParametreleri, IzinListe, IzinListeSatir, IzinRaporDetaylari, IzinRaporListe, IzinRaporListeSatir, IzinSilParametreleri, KampanyaFiltreAlanlari, KampanyaFiltreParametreleri, KilitParametreleri, KilitliKayit, KilitliKayitDetay, KilitliKayitDetaylar, KilitliKayitlar, Kullanici, KullaniciCikart, KullaniciHangiMenude, KullaniciHangiMenudeler, Kullanicilar, KullanimdakiKayit, KullanimdakiKayitlar, ListeSecenekleri, ListedenSecResult, LogbookAnaAramaSonuc, LogbookAnaAramaSonuclar, LogbookAnaTurListe, LogbookAnaTurTanim, LogbookAramaSonuc, LogbookAramaSonuclar, LogbookProgram, LogbookProgramListe, LogbookTurListe, MPAjanslar, MasrafDetaylari, MasrafFiltreAlanlari, MasrafFiltreParametreleri, MasrafGuncelleParametreleri, MasrafListe, MasrafListeSatir, MasrafSatirlari, MasrafSilParametreleri, MasrafTurleri, MecraFiltreAlanlari, MecraFiltreParametreleri, MecraTurleri, MecraTurleriStr, MesajListe, MuhasebePaketleri, MusteriFiltreAlanlari, MusteriFiltreParametreleri, MusteriGrubuFiltreAlanlari, MusteriGrubuFiltreParametreleri, OnayBilgiVerParametreleri, OnayDetaylari, OnayFiltreAlanlari, OnayFiltreParametreleri, OnayGuncelleParametreleri, OnayListe, OnayListeSatir, OnayaGonderBilgiParametreleri, OnayaGonderBilgileri, OnayaGonderParametreleri, OnayaHazirlaParametreleri, PazarlamaSirketiFiltreAlanlari, PazarlamaSirketiFiltreParametreleri, PeriyotSecenekleri, RaporDetaylari, RaporEkBilgiDetay, RaporEkBilgiSatir, RaporFiltreler, RaporMailAdresi, RaporMailAdresleri, RaporSilGonderParametreleri, RaporZamanlamaSecenekleri, RowFontColor, RowInteriorColor, SifreSecenekleri, SistemBilgileri, SistemBilgisi, SistemOzetData, SistemProcess, SistemProsesleri, SistemRaporlari, TalepZamaniSecenekleri, TarifeFiltreAlanlari, TarifeFiltreParametreleri, TarihKriteriSecenekleri, TeklifDetaylari, TeklifFiltreAlanlari, TeklifFiltreParametreleri, TeklifGuncelleParametreleri, TeklifListe, TeklifListeSatir, TeklifSilParametreleri, TimeSheetAjans, TimeSheetDataAylik, TimeSheetDataGunluk, TimeSheetDataHaftalik, TimeSheetDataKayitAylik, TimeSheetDataKayitGunluk, TimeSheetDataKayitHaftalik, TimeSheetDataListeAylik, TimeSheetDataListeGunluk, TimeSheetDataListeHaftalik, TimeSheetExcel, TimeSheetGirisTuru, TimeSheetIsDosyasi, TimeSheetKampanya, TimeSheetLog, TimeSheetLogIslemler, TimeSheetMusteri, TimeSheetOzetListe, TimeSheetOzetListeSatir, TimeSheetSatirDetay, TimeSheetSecenekler, TimeSheetUrun, UrunFiltreAlanlari, UrunFiltreParametreleri, VariableType, WebAPIResult, WebOturumlari, WebOturumu, XLBookOptions, XLBorder, XLConfig, XLFont, XLFuncs, XLHAlign, XLInterior, XLLineStyle, XLLogo, XLNot, XLOptions, XLPageOrientation, XLPageSetup, XLPrepare, XLRenk, XLSheet, XLSheetOptions, XLTable, XLTableColumn, XLTableColumnData, XLTableColumnFooter, XLTableColumnHeader, XLUstBilgi, XLUstBilgiSatir, XlBorderWeigh, XlVAlign };
2278
2304
  //# sourceMappingURL=limitng-api-models.mjs.map