limitng 0.13.6 → 0.13.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { FontStyle, VariableType, XLRenk } from './fourDConstants';
1
+ import { FontStyle, Formatlar, VariableType, XLRenk } from './fourDConstants';
2
2
  import { XlBorderWeigh, XLFuncs, XLHAlign, XLLineStyle, XlVAlign } from './xlConstants';
3
3
  export declare class XLConfig {
4
4
  logo: XLLogo;
@@ -137,7 +137,7 @@ 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
+ columnFormat(format: Formatlar, columnNo?: number): void;
141
141
  rowFontColorAdd(color: XLRenk, rowNo?: number): void;
142
142
  rowInteriorColorAdd(color: XLRenk, rowNo?: number): void;
143
143
  setColumnFooter(title: string, columnNo?: number): void;
@@ -172,7 +172,7 @@ export declare class XLTableColumn {
172
172
  footer: XLTableColumnFooter;
173
173
  horizontalAlignment: XLHAlign;
174
174
  verticalAlignment: XlVAlign;
175
- format: number;
175
+ format: Formatlar;
176
176
  width: number;
177
177
  setFooterFunction(footerFunction: XLFuncs): void;
178
178
  setFooter(title: string): void;
@@ -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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"}
@@ -429,7 +429,7 @@ export class GlobalFunctions {
429
429
  }
430
430
  }
431
431
  static padLeadingZeros(num, size) {
432
- var s = num + '';
432
+ let s = num + '';
433
433
  while (s.length < size)
434
434
  s = '0' + s;
435
435
  return s;
@@ -445,4 +445,4 @@ export class GlobalFunctions {
445
445
  });
446
446
  }
447
447
  }
448
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS9nbG9iYWxGdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBRTlDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhELENBQUMsR0FBRyxDQUFD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LENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTWVjcmFUdXJsZXJpLCBNZWNyYVR1cmxlcmlTdHIgfSBmcm9tICcuL21vZGVscy9lbnVtcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRnVuY3Rpb25zIHtcclxuICBzdGF0aWMgc2hhZGVDb2xvcihjb2xvcjogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIpIHtcclxuXHJcbiAgICBsZXQgUiA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygxLCAzKSwgMTYpO1xyXG4gICAgbGV0IEcgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoMywgNSksIDE2KTtcclxuICAgIGxldCBCID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDUsIDcpLCAxNik7XHJcblxyXG4gICAgUiA9IHBhcnNlSW50KChSICogKDEwMCArIHBlcmNlbnQpIC8gMTAwKS50b1N0cmluZygpLCAwKTtcclxuICAgIEcgPSBwYXJzZUludCgoRyAqICgxMDAgKyBwZXJjZW50KSAvIDEwMCkudG9TdHJpbmcoKSwgMCk7XHJcbiAgICBCID0gcGFyc2VJbnQoKEIgKiAoMTAwICsgcGVyY2VudCkgLyAxMDApLnRvU3RyaW5nKCksIDApO1xyXG5cclxuICAgIFIgPSAoUiA8IDI1NSkgPyBSIDogMjU1O1xyXG4gICAgRyA9IChHIDwgMjU1KSA/IEcgOiAyNTU7XHJcbiAgICBCID0gKEIgPCAyNTUpID8gQiA6IDI1NTtcclxuXHJcbiAgICBjb25zdCBSUiA9ICgoUi50b1N0cmluZygxNikubGVuZ3RoID09PSAxKSA/ICcwJyArIFIudG9TdHJpbmcoMTYpIDogUi50b1N0cmluZygxNikpO1xyXG4gICAgY29uc3QgR0cgPSAoKEcudG9TdHJpbmcoMTYpLmxlbmd0aCA9PT0gMSkgPyAnMCcgKyBHLnRvU3RyaW5nKDE2KSA6IEcudG9TdHJpbmcoMTYpKTtcclxuICAgIGNvbnN0IEJCID0gKChCLnRvU3RyaW5nKDE2KS5sZW5ndGggPT09IDEpID8gJzAnICsgQi50b1N0cmluZygxNikgOiBCLnRvU3RyaW5nKDE2KSk7XHJcblxyXG4gICAgcmV0dXJuICcjJyArIFJSICsgR0cgKyBCQjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB5YXJpbVNhYXRlWXV2YXJsYSh2YWx1ZTogbnVtYmVyLCBzdGVwUGFyYW06IG51bWJlcikge1xyXG4gICAgY29uc3Qgc3RlcCA9IHN0ZXBQYXJhbSB8fCAoc3RlcFBhcmFtID0gMS4wKTtcclxuICAgIGNvbnN0IGludiA9IDEuMCAvIHN0ZXA7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIGludikgLyBpbnY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZXZlblJvdW5kKG51bTogbnVtYmVyLCBkZWNpbWFsUGxhY2VzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZCA9IGRlY2ltYWxQbGFjZXMgfHwgMDtcclxuICAgIGNvbnN0IG0gPSBNYXRoLnBvdygxMCwgZCk7XHJcbiAgICBjb25zdCBuID0gKyhkID8gbnVtICogbSA6IG51bSkudG9GaXhlZCg4KTsgLy8gQXZvaWQgcm91bmRpbmcgZXJyb3JzXHJcbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihuKTtcclxuICAgIGNvbnN0IGYgPSBuIC0gaTtcclxuICAgIGNvbnN0IGUgPSAxZS04OyAvLyBBbGxvdyBmb3Igcm91bmRpbmcgZXJyb3JzIGluIGZcclxuICAgIGNvbnN0IHIgPSAoZiA+IDAuNSAtIGUgJiYgZiA8IDAuNSArIGUpID8gKChpICUgMiA9PT0gMCkgPyBpIDogaSArIDEpIDogTWF0aC5yb3VuZChuKTtcclxuICAgIHJldHVybiBkID8gciAvIG0gOiByO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJvdW5kSWtpSGFuZShwYXJhbTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHBhcmFtICogMTAwKSAvIDEwMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpa2lTYXlpRmFyayhwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSAtIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlraVNheWlUb3BsYShwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSArIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN0clRvTnVtYmVyKG1ldGluOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgbGV0IHN0ciA9IG1ldGluO1xyXG4gICAgc3RyID0gc3RyLnNwbGl0KCcsJykuam9pbignLicpO1xyXG4gICAgY29uc3QgcmVnZXg6IFJlZ0V4cCA9IC9bXlxcZC4tXS9nO1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UocmVnZXgsICcnKTtcclxuICAgIGNvbnN0IGFyciA9IHN0ci5zcGxpdCgnLicpO1xyXG4gICAgaWYgKGFyci5sZW5ndGggPiAyKSB7IC8vIEJpcmRlbiDDp29rIG5va3RhIHZhcnNhXHJcbiAgICAgIGNvbnN0IHNvbiA9IGFyci5wb3AoKTtcclxuICAgICAgc3RyID0gYXJyLmpvaW4oJycpICsgJy4nICsgc29uO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE51bWJlcihzdHIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN1dHVuU3RyVmVyKGdlbmlzbGlrOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGdlbmlzbGlrIDwgNTc2KSB7IHJldHVybiAneHMnOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA3NjgpIHsgcmV0dXJuICdzbSc7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDk5MikgeyByZXR1cm4gJ21kJzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgMTIwMCkgeyByZXR1cm4gJ2xnJzsgfVxyXG4gICAgcmV0dXJuICd4bCc7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc3V0dW5HZW5Ob1ZlcihnZW5pc2xpazogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChnZW5pc2xpayA8IDU3NikgeyByZXR1cm4gMTsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgNzY4KSB7IHJldHVybiAyOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA5OTIpIHsgcmV0dXJuIDM7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDEyMDApIHsgcmV0dXJuIDQ7IH1cclxuICAgIHJldHVybiA1O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRhdGVUb1RleHQodGFyaWg6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgaWYgKCh0YXJpaCAhPT0gdW5kZWZpbmVkKSAmJiAodGFyaWggIT09IG51bGwpKSB7XHJcbiAgICAgIHJldHVybiB0YXJpaC5nZXREYXRlKCkudG9TdHJpbmcoKSArICcuJyArICh0YXJpaC5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKSArICcuJyArIHRhcmloLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheUlsa0d1bihheTogbnVtYmVyLCB5aWw6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHlpbCwgYXkgLSAxKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBheVNvbkd1bihheTogbnVtYmVyLCB5aWw6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHlpbCwgYXksIDApO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIEpTT05EYXRlVG9EYXRlKHRhcmloOiBEYXRlKTogRGF0ZSB7XHJcbiAgICBpZiAoKHRhcmloICE9PSB1bmRlZmluZWQpICYmICh0YXJpaCAhPT0gbnVsbCkpIHtcclxuICAgICAgY29uc3QgdGVtcCA9IHRhcmloLnRvU3RyaW5nKCk7XHJcbiAgICAgIGlmICh0ZW1wICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUodGVtcCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlBZGlWZXIoYXlObzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoYXlObykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmV0dXJuICdPY2FrJztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHJldHVybiAnxZ51YmF0JztcclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIHJldHVybiAnTWFydCc7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICByZXR1cm4gJ05pc2FuJztcclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJldHVybiAnTWF5xLFzJztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJldHVybiAnSGF6aXJhbic7XHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICByZXR1cm4gJ1RlbW11eic7XHJcbiAgICAgIGNhc2UgODpcclxuICAgICAgICByZXR1cm4gJ0HEn3VzdG9zJztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHJldHVybiAnRXlsw7xsJztcclxuICAgICAgY2FzZSAxMDpcclxuICAgICAgICByZXR1cm4gJ0VraW0nO1xyXG4gICAgICBjYXNlIDExOlxyXG4gICAgICAgIHJldHVybiAnS2FzxLFtJztcclxuICAgICAgY2FzZSAxMjpcclxuICAgICAgICByZXR1cm4gJ0FyYWzEsWsnO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlBZGlWZXJLaXNhKGF5Tm86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGF5Tm8pIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJldHVybiAnT2NhJztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHJldHVybiAnxZ51Yic7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICByZXR1cm4gJ01hcic7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICByZXR1cm4gJ05pcyc7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICByZXR1cm4gJ01heSc7XHJcbiAgICAgIGNhc2UgNjpcclxuICAgICAgICByZXR1cm4gJ0hheic7XHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICByZXR1cm4gJ1RlbSc7XHJcbiAgICAgIGNhc2UgODpcclxuICAgICAgICByZXR1cm4gJ0HEn3UnO1xyXG4gICAgICBjYXNlIDk6XHJcbiAgICAgICAgcmV0dXJuICdFeWwnO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHJldHVybiAnRWtpJztcclxuICAgICAgY2FzZSAxMTpcclxuICAgICAgICByZXR1cm4gJ0thcyc7XHJcbiAgICAgIGNhc2UgMTI6XHJcbiAgICAgICAgcmV0dXJuICdBcmEnO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlOb1ZlcihheTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHN3aXRjaCAoYXkpIHtcclxuICAgICAgY2FzZSAnT2MnOlxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICBjYXNlICfFnnUnOlxyXG4gICAgICAgIHJldHVybiAyO1xyXG4gICAgICBjYXNlICdNYSc6XHJcbiAgICAgICAgcmV0dXJuIDM7XHJcbiAgICAgIGNhc2UgJ05pJzpcclxuICAgICAgICByZXR1cm4gNDtcclxuICAgICAgY2FzZSAnTXknOlxyXG4gICAgICAgIHJldHVybiA1O1xyXG4gICAgICBjYXNlICdIYSc6XHJcbiAgICAgICAgcmV0dXJuIDY7XHJcbiAgICAgIGNhc2UgJ1RlJzpcclxuICAgICAgICByZXR1cm4gNztcclxuICAgICAgY2FzZSAnQcSfJzpcclxuICAgICAgICByZXR1cm4gODtcclxuICAgICAgY2FzZSAnRXknOlxyXG4gICAgICAgIHJldHVybiA5O1xyXG4gICAgICBjYXNlICdFayc6XHJcbiAgICAgICAgcmV0dXJuIDEwO1xyXG4gICAgICBjYXNlICdLYSc6XHJcbiAgICAgICAgcmV0dXJuIDExO1xyXG4gICAgICBjYXNlICdBcic6XHJcbiAgICAgICAgcmV0dXJuIDEyO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBndW5BZGlWZXIoZ3VuTm86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGd1bk5vKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICByZXR1cm4gJ1BhemFydGVzaSc7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXR1cm4gJ1NhbMSxJztcclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIHJldHVybiAnw4dhcsWfYW1iYSc7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICByZXR1cm4gJ1BlcsWfZW1iZSc7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICByZXR1cm4gJ0N1bWEnO1xyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmV0dXJuICdDdW1hcnRlc2knO1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgcmV0dXJuICdQYXphcic7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBndW5BcnR0aXJBemFsdCh0YXJpaDogRGF0ZSwgZ3VuU2F5aXNpOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh0YXJpaC5nZXRUaW1lKCkgKyBndW5TYXlpc2kgKiAyNCAqIDYwICogNjAgKiAxMDAwKTtcclxuXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGFyaWhQYXJhbVRvRGF0ZShwYXJhbTogc3RyaW5nKTogRGF0ZSB7XHJcbiAgICBsZXQgdGFyaWg6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgaWYgKHBhcmFtICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IHRhcmloQXJyOiBzdHJpbmdbXSA9IHBhcmFtLnNwbGl0KCctJyk7XHJcbiAgICAgIGlmICh0YXJpaEFyci5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgY29uc3QgZ3VuID0gTnVtYmVyKHRhcmloQXJyWzBdKTtcclxuICAgICAgICBjb25zdCBheSA9IE51bWJlcih0YXJpaEFyclsxXSkgLSAxO1xyXG4gICAgICAgIGNvbnN0IHlpbCA9IE51bWJlcih0YXJpaEFyclsyXSk7XHJcbiAgICAgICAgdGFyaWggPSBuZXcgRGF0ZSh5aWwsIGF5LCBndW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGFyaWg7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZVRvVGFyaWhQYXJhbShwYXJhbTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBpZiAocGFyYW0gIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgZ3VuID0gcGFyYW0uZ2V0RGF0ZSgpO1xyXG4gICAgICBjb25zdCBheSA9IHBhcmFtLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgICBjb25zdCB5aWwgPSBwYXJhbS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICByZXR1cm4gZ3VuLnRvU3RyaW5nKCkgKyAnLScgKyBheS50b1N0cmluZygpICsgJy0nICsgeWlsLnRvU3RyaW5nKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnLicgKyBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBoZXhUb1JHQkEoaGV4LCBhbHBoYSkge1xyXG4gICAgLy8gY29uc29sZS5sb2coaGV4KTtcclxuICAgIGNvbnN0IHIgPSBwYXJzZUludChoZXguc2xpY2UoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcgPSBwYXJzZUludChoZXguc2xpY2UoMywgNSksIDE2KTtcclxuICAgIGNvbnN0IGIgPSBwYXJzZUludChoZXguc2xpY2UoNSwgNyksIDE2KTtcclxuXHJcbiAgICAvLyByZXR1cm4gciArICcsJyArIGcgKyAnLCcgKyBiO1xyXG5cclxuICAgIGlmIChhbHBoYSkge1xyXG4gICAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHthbHBoYX0pYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9KWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY29sb3JOYW1lVG9IZXgoY29sb3IpIHtcclxuICAgIGNvbnN0IGNvbG9ycyA9IHtcclxuICAgICAgYWxpY2VibHVlOiAnI2YwZjhmZicsIGFudGlxdWV3aGl0ZTogJyNmYWViZDcnLCBhcXVhOiAnIzAwZmZmZicsIGFxdWFtYXJpbmU6ICcjN2ZmZmQ0JywgYXp1cmU6ICcjZjBmZmZmJyxcclxuICAgICAgYmVpZ2U6ICcjZjVmNWRjJywgYmlzcXVlOiAnI2ZmZTRjNCcsIGJsYWNrOiAnIzAwMDAwMCcsIGJsYW5jaGVkYWxtb25kOiAnI2ZmZWJjZCcsIGJsdWU6ICcjMDAwMGZmJywgYmx1ZXZpb2xldDogJyM4YTJiZTInLCBicm93bjogJyNhNTJhMmEnLCBidXJseXdvb2Q6ICcjZGViODg3JyxcclxuICAgICAgY2FkZXRibHVlOiAnIzVmOWVhMCcsIGNoYXJ0cmV1c2U6ICcjN2ZmZjAwJywgY2hvY29sYXRlOiAnI2QyNjkxZScsIGNvcmFsOiAnI2ZmN2Y1MCcsIGNvcm5mbG93ZXJibHVlOiAnIzY0OTVlZCcsIGNvcm5zaWxrOiAnI2ZmZjhkYycsIGNyaW1zb246ICcjZGMxNDNjJywgY3lhbjogJyMwMGZmZmYnLFxyXG4gICAgICBkYXJrYmx1ZTogJyMwMDAwOGInLCBkYXJrY3lhbjogJyMwMDhiOGInLCBkYXJrZ29sZGVucm9kOiAnI2I4ODYwYicsIGRhcmtncmF5OiAnI2E5YTlhOScsIGRhcmtncmVlbjogJyMwMDY0MDAnLCBkYXJra2hha2k6ICcjYmRiNzZiJywgZGFya21hZ2VudGE6ICcjOGIwMDhiJywgZGFya29saXZlZ3JlZW46ICcjNTU2YjJmJyxcclxuICAgICAgZGFya29yYW5nZTogJyNmZjhjMDAnLCBkYXJrb3JjaGlkOiAnIzk5MzJjYycsIGRhcmtyZWQ6ICcjOGIwMDAwJywgZGFya3NhbG1vbjogJyNlOTk2N2EnLCBkYXJrc2VhZ3JlZW46ICcjOGZiYzhmJywgZGFya3NsYXRlYmx1ZTogJyM0ODNkOGInLCBkYXJrc2xhdGVncmF5OiAnIzJmNGY0ZicsIGRhcmt0dXJxdW9pc2U6ICcjMDBjZWQxJyxcclxuICAgICAgZGFya3Zpb2xldDogJyM5NDAwZDMnLCBkZWVwcGluazogJyNmZjE0OTMnLCBkZWVwc2t5Ymx1ZTogJyMwMGJmZmYnLCBkaW1ncmF5OiAnIzY5Njk2OScsIGRvZGdlcmJsdWU6ICcjMWU5MGZmJyxcclxuICAgICAgZmlyZWJyaWNrOiAnI2IyMjIyMicsIGZsb3JhbHdoaXRlOiAnI2ZmZmFmMCcsIGZvcmVzdGdyZWVuOiAnIzIyOGIyMicsIGZ1Y2hzaWE6ICcjZmYwMGZmJyxcclxuICAgICAgZ2FpbnNib3JvOiAnI2RjZGNkYycsIGdob3N0d2hpdGU6ICcjZjhmOGZmJywgZ29sZDogJyNmZmQ3MDAnLCBnb2xkZW5yb2Q6ICcjZGFhNTIwJywgZ3JheTogJyM4MDgwODAnLCBncmVlbjogJyMwMDgwMDAnLCBncmVlbnllbGxvdzogJyNhZGZmMmYnLFxyXG4gICAgICBob25leWRldzogJyNmMGZmZjAnLCBob3RwaW5rOiAnI2ZmNjliNCcsXHJcbiAgICAgIGluZGlhbnJlZDogJyNjZDVjNWMnLCBpbmRpZ286ICcjNGIwMDgyJywgaXZvcnk6ICcjZmZmZmYwJywga2hha2k6ICcjZjBlNjhjJyxcclxuICAgICAgbGF2ZW5kZXI6ICcjZTZlNmZhJywgbGF2ZW5kZXJibHVzaDogJyNmZmYwZjUnLCBsYXduZ3JlZW46ICcjN2NmYzAwJywgbGVtb25jaGlmZm9uOiAnI2ZmZmFjZCcsIGxpZ2h0Ymx1ZTogJyNhZGQ4ZTYnLCBsaWdodGNvcmFsOiAnI2YwODA4MCcsIGxpZ2h0Y3lhbjogJyNlMGZmZmYnLCBsaWdodGdvbGRlbnJvZHllbGxvdzogJyNmYWZhZDInLFxyXG4gICAgICBsaWdodGdyZXk6ICcjZDNkM2QzJywgbGlnaHRncmVlbjogJyM5MGVlOTAnLCBsaWdodHBpbms6ICcjZmZiNmMxJywgbGlnaHRzYWxtb246ICcjZmZhMDdhJywgbGlnaHRzZWFncmVlbjogJyMyMGIyYWEnLCBsaWdodHNreWJsdWU6ICcjODdjZWZhJywgbGlnaHRzbGF0ZWdyYXk6ICcjNzc4ODk5JywgbGlnaHRzdGVlbGJsdWU6ICcjYjBjNGRlJyxcclxuICAgICAgbGlnaHR5ZWxsb3c6ICcjZmZmZmUwJywgbGltZTogJyMwMGZmMDAnLCBsaW1lZ3JlZW46ICcjMzJjZDMyJywgbGluZW46ICcjZmFmMGU2JyxcclxuICAgICAgbWFnZW50YTogJyNmZjAwZmYnLCBtYXJvb246ICcjODAwMDAwJywgbWVkaXVtYXF1YW1hcmluZTogJyM2NmNkYWEnLCBtZWRpdW1ibHVlOiAnIzAwMDBjZCcsIG1lZGl1bW9yY2hpZDogJyNiYTU1ZDMnLCBtZWRpdW1wdXJwbGU6ICcjOTM3MGQ4JywgbWVkaXVtc2VhZ3JlZW46ICcjM2NiMzcxJywgbWVkaXVtc2xhdGVibHVlOiAnIzdiNjhlZScsXHJcbiAgICAgIG1lZGl1bXNwcmluZ2dyZWVuOiAnIzAwZmE5YScsIG1lZGl1bXR1cnF1b2lzZTogJyM0OGQxY2MnLCBtZWRpdW12aW9sZXRyZWQ6ICcjYzcxNTg1JywgbWlkbmlnaHRibHVlOiAnIzE5MTk3MCcsIG1pbnRjcmVhbTogJyNmNWZmZmEnLCBtaXN0eXJvc2U6ICcjZmZlNGUxJywgbW9jY2FzaW46ICcjZmZlNGI1JyxcclxuICAgICAgbmF2YWpvd2hpdGU6ICcjZmZkZWFkJywgbmF2eTogJyMwMDAwODAnLFxyXG4gICAgICBvbGRsYWNlOiAnI2ZkZjVlNicsIG9saXZlOiAnIzgwODAwMCcsIG9saXZlZHJhYjogJyM2YjhlMjMnLCBvcmFuZ2U6ICcjZmZhNTAwJywgb3JhbmdlcmVkOiAnI2ZmNDUwMCcsIG9yY2hpZDogJyNkYTcwZDYnLFxyXG4gICAgICBwYWxlZ29sZGVucm9kOiAnI2VlZThhYScsIHBhbGVncmVlbjogJyM5OGZiOTgnLCBwYWxldHVycXVvaXNlOiAnI2FmZWVlZScsIHBhbGV2aW9sZXRyZWQ6ICcjZDg3MDkzJywgcGFwYXlhd2hpcDogJyNmZmVmZDUnLCBwZWFjaHB1ZmY6ICcjZmZkYWI5JywgcGVydTogJyNjZDg1M2YnLCBwaW5rOiAnI2ZmYzBjYicsIHBsdW06ICcjZGRhMGRkJywgcG93ZGVyYmx1ZTogJyNiMGUwZTYnLCBwdXJwbGU6ICcjODAwMDgwJyxcclxuICAgICAgcmViZWNjYXB1cnBsZTogJyM2NjMzOTknLCByZWQ6ICcjZmYwMDAwJywgcm9zeWJyb3duOiAnI2JjOGY4ZicsIHJveWFsYmx1ZTogJyM0MTY5ZTEnLFxyXG4gICAgICBzYWRkbGVicm93bjogJyM4YjQ1MTMnLCBzYWxtb246ICcjZmE4MDcyJywgc2FuZHlicm93bjogJyNmNGE0NjAnLCBzZWFncmVlbjogJyMyZThiNTcnLCBzZWFzaGVsbDogJyNmZmY1ZWUnLCBzaWVubmE6ICcjYTA1MjJkJywgc2lsdmVyOiAnI2MwYzBjMCcsIHNreWJsdWU6ICcjODdjZWViJywgc2xhdGVibHVlOiAnIzZhNWFjZCcsIHNsYXRlZ3JheTogJyM3MDgwOTAnLCBzbm93OiAnI2ZmZmFmYScsIHNwcmluZ2dyZWVuOiAnIzAwZmY3ZicsIHN0ZWVsYmx1ZTogJyM0NjgyYjQnLFxyXG4gICAgICB0YW46ICcjZDJiNDhjJywgdGVhbDogJyMwMDgwODAnLCB0aGlzdGxlOiAnI2Q4YmZkOCcsIHRvbWF0bzogJyNmZjYzNDcnLCB0dXJxdW9pc2U6ICcjNDBlMGQwJyxcclxuICAgICAgdmlvbGV0OiAnI2VlODJlZScsXHJcbiAgICAgIHdoZWF0OiAnI2Y1ZGViMycsIHdoaXRlOiAnI2ZmZmZmZicsIHdoaXRlc21va2U6ICcjZjVmNWY1JyxcclxuICAgICAgeWVsbG93OiAnI2ZmZmYwMCcsIHllbGxvd2dyZWVuOiAnIzlhY2QzMidcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHR5cGVvZiBjb2xvcnNbY29sb3IudG9Mb3dlckNhc2UoKV0gIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJldHVybiBjb2xvcnNbY29sb3IudG9Mb3dlckNhc2UoKV07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZpbGVuYW1lRnJvbUNvbnRlbnREaXNwb3NpdGlvbihjb250ZW50RGlzcG9zaXRpb246IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVnZXggPSAvZmlsZW5hbWVbXjs9XFxuXSo9KFVURi04KFsnXCJdKikpPyguKikvO1xyXG4gICAgY29uc3QgbWF0Y2hlcyA9IHJlZ2V4LmV4ZWMoY29udGVudERpc3Bvc2l0aW9uKTtcclxuICAgIGxldCBmaWxlbmFtZSA9ICcnO1xyXG5cclxuICAgIGlmIChtYXRjaGVzICE9IG51bGwgJiYgbWF0Y2hlc1szXSkge1xyXG4gICAgICBmaWxlbmFtZSA9IG1hdGNoZXNbM10ucmVwbGFjZSgvWydcIl0vZywgJycpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZWNvZGVVUkkoZmlsZW5hbWUpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRlbWFHdW5Ob1ZlcigpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZG4gPSBuZXcgRGF0ZSgpLmdldERheSgpO1xyXG4gICAgaWYgKGRuID09PSAwKSB7XHJcbiAgICAgIHJldHVybiA2O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBkbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBjaWZ0Qm9zbHVrVGVrWWFwKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyY2FsYXIgPSBtZXRpbi5zcGxpdCgnICAnKTtcclxuICAgIHJldHVybiBwYXJjYWxhci5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gIHN0YXRpYyByYWthbWxhcmlUZW1pemxlKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1ldGluLnJlcGxhY2UoL1swLTldL2csICcnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBib3NsdWtsYXJpVGVtaXpsZShtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtZXRpbi5yZXBsYWNlKC8gL2csICcnKTtcclxuICB9XHJcbiovXHJcblxyXG4gIHN0YXRpYyBidXl1a0hhcmZlQ2V2aXIobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWV0aW4udG9Mb2NhbGVVcHBlckNhc2UoJ3RyLVRSJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaWxrSGFyZkJ1eXV0KG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdXp1bmx1ayA9IG1ldGluLmxlbmd0aDtcclxuICAgIGlmICh1enVubHVrID4gMCkge1xyXG4gICAgICBpZiAodXp1bmx1ayA+IDEpIHtcclxuICAgICAgICByZXR1cm4gbWV0aW4uc3Vic3RyKDAsIDEpLnRvTG9jYWxlVXBwZXJDYXNlKCd0ci1UUicpICsgbWV0aW4uc3Vic3RyKDEsIDEwMCkudG9Mb2NhbGVMb3dlckNhc2UoJ3RyLVRSJyk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG1ldGluLnN1YnN0cigwLCAxKS50b0xvY2FsZVVwcGVyQ2FzZSgndHItVFInKTtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHVtSWxrSGFyZkJ1eXV0KG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyY2FsYXIgPSBtZXRpbi5zcGxpdCgnICcpO1xyXG4gICAgY29uc3Qgc29udWMgPSBbXTtcclxuICAgIHBhcmNhbGFyLmZvckVhY2gocGFyY2EgPT4ge1xyXG4gICAgICBzb251Yy5wdXNoKHRoaXMuaWxrSGFyZkJ1eXV0KHBhcmNhKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gc29udWMuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHR1bUJvc2x1a1NpbChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmNhbGFyID0gbWV0aW4uc3BsaXQoJyAnKTtcclxuICAgIHJldHVybiBwYXJjYWxhci5qb2luKCcnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0dXJrY2VBeWlrbGEobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgc29udWMgPSBtZXRpbjtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw5wnLCAnVScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEnicsICdHJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SwJywgJ0knKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxZ4nLCAnUycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDhycsICdDJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OWJywgJ08nKTtcclxuXHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8O8JywgJ3UnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxJ8nLCAnZycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEsScsICdpJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8WfJywgJ3MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw6cnLCAnYycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDticsICdvJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8W+JywgJ2knKTtcclxuXHJcbiAgICAvLyBzb251YyA9IHNvbnVjLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcclxuICAgIHJldHVybiBzb251YztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtZWNyYVR1cnVOb1ZlcihtZWNyYVR1cnVTdHI6IE1lY3JhVHVybGVyaVN0cik6IE1lY3JhVHVybGVyaSB7XHJcbiAgICBzd2l0Y2ggKG1lY3JhVHVydVN0cikge1xyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5UdW11OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuVHVtdTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlRWOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuVFY7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5HYXpldGU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5HYXpldGU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5EZXJnaTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkRlcmdpO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuUmFkeW86XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5SYWR5bztcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlNpbmVtYTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlNpbmVtYTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLk91dGRvb3I6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5PdXRkb29yO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuSW50ZXJuZXQ6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5JbnRlcm5ldDtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlNwb25zb3JsdWs6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5TcG9uc29ybHVrO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuQmVsaXJzaXo6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5CZWxpcnNpejtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkJvczpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkJvcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBtZWNyYVR1cnVTdHJWZXIobWVjcmFUdXJ1Tm86IE1lY3JhVHVybGVyaSk6IE1lY3JhVHVybGVyaVN0ciB7XHJcbiAgICBzd2l0Y2ggKG1lY3JhVHVydU5vKSB7XHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlR1bXU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5UdW11O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuVFY6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5UVjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkdhemV0ZTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkdhemV0ZTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkRlcmdpOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuRGVyZ2k7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5SYWR5bzpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlJhZHlvO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuU2luZW1hOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuU2luZW1hO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuT3V0ZG9vcjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLk91dGRvb3I7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5JbnRlcm5ldDpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkludGVybmV0O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuU3BvbnNvcmx1azpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlNwb25zb3JsdWs7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5CZWxpcnNpejpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkJlbGlyc2l6O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuQm9zOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuQm9zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBhZExlYWRpbmdaZXJvcyhudW06IG51bWJlciwgc2l6ZTogbnVtYmVyKSB7XHJcbiAgICB2YXIgcyA9IG51bSArICcnO1xyXG4gICAgd2hpbGUgKHMubGVuZ3RoIDwgc2l6ZSkgcyA9ICcwJyArIHM7XHJcbiAgICByZXR1cm4gcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhcnJheVRvU2VsZWN0SXRlbShhcnJheTogc3RyaW5nW10pOiBTZWxlY3RJdGVtPHN0cmluZz5bXSB7XHJcbiAgICByZXR1cm4gYXJyYXkubWFwKGVsZW1lbnQgPT4ge1xyXG4gICAgICByZXR1cm4geyBsYWJlbDogZWxlbWVudCwgdmFsdWU6IGVsZW1lbnQgfTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXJyYXlOdW1iZXJUb1NlbGVjdEl0ZW0oYXJyYXk6IG51bWJlcltdKTogU2VsZWN0SXRlbTxudW1iZXI+W10ge1xyXG4gICAgcmV0dXJuIGFycmF5Lm1hcChlbGVtZW50ID0+IHtcclxuICAgICAgcmV0dXJuIHsgbGFiZWw6IGVsZW1lbnQudG9TdHJpbmcoKSwgdmFsdWU6IGVsZW1lbnQgfTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
448
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS9nbG9iYWxGdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBRTlDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhELENBQUMsR0FBRyxDQUFD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LENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTWVjcmFUdXJsZXJpLCBNZWNyYVR1cmxlcmlTdHIgfSBmcm9tICcuL21vZGVscy9lbnVtcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRnVuY3Rpb25zIHtcclxuICBzdGF0aWMgc2hhZGVDb2xvcihjb2xvcjogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIpIHtcclxuXHJcbiAgICBsZXQgUiA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygxLCAzKSwgMTYpO1xyXG4gICAgbGV0IEcgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoMywgNSksIDE2KTtcclxuICAgIGxldCBCID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDUsIDcpLCAxNik7XHJcblxyXG4gICAgUiA9IHBhcnNlSW50KChSICogKDEwMCArIHBlcmNlbnQpIC8gMTAwKS50b1N0cmluZygpLCAwKTtcclxuICAgIEcgPSBwYXJzZUludCgoRyAqICgxMDAgKyBwZXJjZW50KSAvIDEwMCkudG9TdHJpbmcoKSwgMCk7XHJcbiAgICBCID0gcGFyc2VJbnQoKEIgKiAoMTAwICsgcGVyY2VudCkgLyAxMDApLnRvU3RyaW5nKCksIDApO1xyXG5cclxuICAgIFIgPSAoUiA8IDI1NSkgPyBSIDogMjU1O1xyXG4gICAgRyA9IChHIDwgMjU1KSA/IEcgOiAyNTU7XHJcbiAgICBCID0gKEIgPCAyNTUpID8gQiA6IDI1NTtcclxuXHJcbiAgICBjb25zdCBSUiA9ICgoUi50b1N0cmluZygxNikubGVuZ3RoID09PSAxKSA/ICcwJyArIFIudG9TdHJpbmcoMTYpIDogUi50b1N0cmluZygxNikpO1xyXG4gICAgY29uc3QgR0cgPSAoKEcudG9TdHJpbmcoMTYpLmxlbmd0aCA9PT0gMSkgPyAnMCcgKyBHLnRvU3RyaW5nKDE2KSA6IEcudG9TdHJpbmcoMTYpKTtcclxuICAgIGNvbnN0IEJCID0gKChCLnRvU3RyaW5nKDE2KS5sZW5ndGggPT09IDEpID8gJzAnICsgQi50b1N0cmluZygxNikgOiBCLnRvU3RyaW5nKDE2KSk7XHJcblxyXG4gICAgcmV0dXJuICcjJyArIFJSICsgR0cgKyBCQjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB5YXJpbVNhYXRlWXV2YXJsYSh2YWx1ZTogbnVtYmVyLCBzdGVwUGFyYW06IG51bWJlcikge1xyXG4gICAgY29uc3Qgc3RlcCA9IHN0ZXBQYXJhbSB8fCAoc3RlcFBhcmFtID0gMS4wKTtcclxuICAgIGNvbnN0IGludiA9IDEuMCAvIHN0ZXA7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIGludikgLyBpbnY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZXZlblJvdW5kKG51bTogbnVtYmVyLCBkZWNpbWFsUGxhY2VzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZCA9IGRlY2ltYWxQbGFjZXMgfHwgMDtcclxuICAgIGNvbnN0IG0gPSBNYXRoLnBvdygxMCwgZCk7XHJcbiAgICBjb25zdCBuID0gKyhkID8gbnVtICogbSA6IG51bSkudG9GaXhlZCg4KTsgLy8gQXZvaWQgcm91bmRpbmcgZXJyb3JzXHJcbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihuKTtcclxuICAgIGNvbnN0IGYgPSBuIC0gaTtcclxuICAgIGNvbnN0IGUgPSAxZS04OyAvLyBBbGxvdyBmb3Igcm91bmRpbmcgZXJyb3JzIGluIGZcclxuICAgIGNvbnN0IHIgPSAoZiA+IDAuNSAtIGUgJiYgZiA8IDAuNSArIGUpID8gKChpICUgMiA9PT0gMCkgPyBpIDogaSArIDEpIDogTWF0aC5yb3VuZChuKTtcclxuICAgIHJldHVybiBkID8gciAvIG0gOiByO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJvdW5kSWtpSGFuZShwYXJhbTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHBhcmFtICogMTAwKSAvIDEwMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpa2lTYXlpRmFyayhwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSAtIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlraVNheWlUb3BsYShwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSArIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN0clRvTnVtYmVyKG1ldGluOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgbGV0IHN0ciA9IG1ldGluO1xyXG4gICAgc3RyID0gc3RyLnNwbGl0KCcsJykuam9pbignLicpO1xyXG4gICAgY29uc3QgcmVnZXggPSAvW15cXGQuLV0vZztcclxuICAgIHN0ciA9IHN0ci5yZXBsYWNlKHJlZ2V4LCAnJyk7XHJcbiAgICBjb25zdCBhcnIgPSBzdHIuc3BsaXQoJy4nKTtcclxuICAgIGlmIChhcnIubGVuZ3RoID4gMikgeyAvLyBCaXJkZW4gw6dvayBub2t0YSB2YXJzYVxyXG4gICAgICBjb25zdCBzb24gPSBhcnIucG9wKCk7XHJcbiAgICAgIHN0ciA9IGFyci5qb2luKCcnKSArICcuJyArIHNvbjtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIoc3RyKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzdXR1blN0clZlcihnZW5pc2xpazogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmIChnZW5pc2xpayA8IDU3NikgeyByZXR1cm4gJ3hzJzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgNzY4KSB7IHJldHVybiAnc20nOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA5OTIpIHsgcmV0dXJuICdtZCc7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDEyMDApIHsgcmV0dXJuICdsZyc7IH1cclxuICAgIHJldHVybiAneGwnO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN1dHVuR2VuTm9WZXIoZ2VuaXNsaWs6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA1NzYpIHsgcmV0dXJuIDE7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDc2OCkgeyByZXR1cm4gMjsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgOTkyKSB7IHJldHVybiAzOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCAxMjAwKSB7IHJldHVybiA0OyB9XHJcbiAgICByZXR1cm4gNTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlVG9UZXh0KHRhcmloOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGlmICgodGFyaWggIT09IHVuZGVmaW5lZCkgJiYgKHRhcmloICE9PSBudWxsKSkge1xyXG4gICAgICByZXR1cm4gdGFyaWguZ2V0RGF0ZSgpLnRvU3RyaW5nKCkgKyAnLicgKyAodGFyaWguZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkgKyAnLicgKyB0YXJpaC5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlJbGtHdW4oYXk6IG51bWJlciwgeWlsOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5aWwsIGF5IC0gMSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlTb25HdW4oYXk6IG51bWJlciwgeWlsOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5aWwsIGF5LCAwKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBKU09ORGF0ZVRvRGF0ZSh0YXJpaDogRGF0ZSk6IERhdGUge1xyXG4gICAgaWYgKCh0YXJpaCAhPT0gdW5kZWZpbmVkKSAmJiAodGFyaWggIT09IG51bGwpKSB7XHJcbiAgICAgIGNvbnN0IHRlbXAgPSB0YXJpaC50b1N0cmluZygpO1xyXG4gICAgICBpZiAodGVtcCAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHRlbXApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5QWRpVmVyKGF5Tm86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGF5Tm8pIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJldHVybiAnT2Nhayc7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXR1cm4gJ8WedWJhdCc7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICByZXR1cm4gJ01hcnQnO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdOaXNhbic7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICByZXR1cm4gJ01hecSxcyc7XHJcbiAgICAgIGNhc2UgNjpcclxuICAgICAgICByZXR1cm4gJ0hhemlyYW4nO1xyXG4gICAgICBjYXNlIDc6XHJcbiAgICAgICAgcmV0dXJuICdUZW1tdXonO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgcmV0dXJuICdBxJ91c3Rvcyc7XHJcbiAgICAgIGNhc2UgOTpcclxuICAgICAgICByZXR1cm4gJ0V5bMO8bCc7XHJcbiAgICAgIGNhc2UgMTA6XHJcbiAgICAgICAgcmV0dXJuICdFa2ltJztcclxuICAgICAgY2FzZSAxMTpcclxuICAgICAgICByZXR1cm4gJ0thc8SxbSc7XHJcbiAgICAgIGNhc2UgMTI6XHJcbiAgICAgICAgcmV0dXJuICdBcmFsxLFrJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5QWRpVmVyS2lzYShheU5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChheU5vKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICByZXR1cm4gJ09jYSc7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXR1cm4gJ8WedWInO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICdNYXInO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdOaXMnO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdNYXknO1xyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmV0dXJuICdIYXonO1xyXG4gICAgICBjYXNlIDc6XHJcbiAgICAgICAgcmV0dXJuICdUZW0nO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgcmV0dXJuICdBxJ91JztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHJldHVybiAnRXlsJztcclxuICAgICAgY2FzZSAxMDpcclxuICAgICAgICByZXR1cm4gJ0VraSc7XHJcbiAgICAgIGNhc2UgMTE6XHJcbiAgICAgICAgcmV0dXJuICdLYXMnO1xyXG4gICAgICBjYXNlIDEyOlxyXG4gICAgICAgIHJldHVybiAnQXJhJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5Tm9WZXIoYXk6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBzd2l0Y2ggKGF5KSB7XHJcbiAgICAgIGNhc2UgJ09jJzpcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgY2FzZSAnxZ51JzpcclxuICAgICAgICByZXR1cm4gMjtcclxuICAgICAgY2FzZSAnTWEnOlxyXG4gICAgICAgIHJldHVybiAzO1xyXG4gICAgICBjYXNlICdOaSc6XHJcbiAgICAgICAgcmV0dXJuIDQ7XHJcbiAgICAgIGNhc2UgJ015JzpcclxuICAgICAgICByZXR1cm4gNTtcclxuICAgICAgY2FzZSAnSGEnOlxyXG4gICAgICAgIHJldHVybiA2O1xyXG4gICAgICBjYXNlICdUZSc6XHJcbiAgICAgICAgcmV0dXJuIDc7XHJcbiAgICAgIGNhc2UgJ0HEnyc6XHJcbiAgICAgICAgcmV0dXJuIDg7XHJcbiAgICAgIGNhc2UgJ0V5JzpcclxuICAgICAgICByZXR1cm4gOTtcclxuICAgICAgY2FzZSAnRWsnOlxyXG4gICAgICAgIHJldHVybiAxMDtcclxuICAgICAgY2FzZSAnS2EnOlxyXG4gICAgICAgIHJldHVybiAxMTtcclxuICAgICAgY2FzZSAnQXInOlxyXG4gICAgICAgIHJldHVybiAxMjtcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ3VuQWRpVmVyKGd1bk5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChndW5Obykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmV0dXJuICdQYXphcnRlc2knO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICdTYWzEsSc7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICByZXR1cm4gJ8OHYXLFn2FtYmEnO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdQZXLFn2VtYmUnO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdDdW1hJztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJldHVybiAnQ3VtYXJ0ZXNpJztcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHJldHVybiAnUGF6YXInO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ3VuQXJ0dGlyQXphbHQodGFyaWg6IERhdGUsIGd1blNheWlzaTogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodGFyaWguZ2V0VGltZSgpICsgZ3VuU2F5aXNpICogMjQgKiA2MCAqIDYwICogMTAwMCk7XHJcblxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRhcmloUGFyYW1Ub0RhdGUocGFyYW06IHN0cmluZyk6IERhdGUge1xyXG4gICAgbGV0IHRhcmloOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGlmIChwYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCB0YXJpaEFycjogc3RyaW5nW10gPSBwYXJhbS5zcGxpdCgnLScpO1xyXG4gICAgICBpZiAodGFyaWhBcnIubGVuZ3RoID4gMikge1xyXG4gICAgICAgIGNvbnN0IGd1biA9IE51bWJlcih0YXJpaEFyclswXSk7XHJcbiAgICAgICAgY29uc3QgYXkgPSBOdW1iZXIodGFyaWhBcnJbMV0pIC0gMTtcclxuICAgICAgICBjb25zdCB5aWwgPSBOdW1iZXIodGFyaWhBcnJbMl0pO1xyXG4gICAgICAgIHRhcmloID0gbmV3IERhdGUoeWlsLCBheSwgZ3VuKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRhcmloO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRhdGVUb1RhcmloUGFyYW0ocGFyYW06IERhdGUpOiBzdHJpbmcge1xyXG4gICAgaWYgKHBhcmFtICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGd1biA9IHBhcmFtLmdldERhdGUoKTtcclxuICAgICAgY29uc3QgYXkgPSBwYXJhbS5nZXRNb250aCgpICsgMTtcclxuICAgICAgY29uc3QgeWlsID0gcGFyYW0uZ2V0RnVsbFllYXIoKTtcclxuICAgICAgcmV0dXJuIGd1bi50b1N0cmluZygpICsgJy0nICsgYXkudG9TdHJpbmcoKSArICctJyArIHlpbC50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJy4nICsgZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaGV4VG9SR0JBKGhleCwgYWxwaGEpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKGhleCk7XHJcbiAgICBjb25zdCByID0gcGFyc2VJbnQoaGV4LnNsaWNlKDEsIDMpLCAxNik7XHJcbiAgICBjb25zdCBnID0gcGFyc2VJbnQoaGV4LnNsaWNlKDMsIDUpLCAxNik7XHJcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoaGV4LnNsaWNlKDUsIDcpLCAxNik7XHJcblxyXG4gICAgLy8gcmV0dXJuIHIgKyAnLCcgKyBnICsgJywnICsgYjtcclxuXHJcbiAgICBpZiAoYWxwaGEpIHtcclxuICAgICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7YWxwaGF9KWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSlgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNvbG9yTmFtZVRvSGV4KGNvbG9yKSB7XHJcbiAgICBjb25zdCBjb2xvcnMgPSB7XHJcbiAgICAgIGFsaWNlYmx1ZTogJyNmMGY4ZmYnLCBhbnRpcXVld2hpdGU6ICcjZmFlYmQ3JywgYXF1YTogJyMwMGZmZmYnLCBhcXVhbWFyaW5lOiAnIzdmZmZkNCcsIGF6dXJlOiAnI2YwZmZmZicsXHJcbiAgICAgIGJlaWdlOiAnI2Y1ZjVkYycsIGJpc3F1ZTogJyNmZmU0YzQnLCBibGFjazogJyMwMDAwMDAnLCBibGFuY2hlZGFsbW9uZDogJyNmZmViY2QnLCBibHVlOiAnIzAwMDBmZicsIGJsdWV2aW9sZXQ6ICcjOGEyYmUyJywgYnJvd246ICcjYTUyYTJhJywgYnVybHl3b29kOiAnI2RlYjg4NycsXHJcbiAgICAgIGNhZGV0Ymx1ZTogJyM1ZjllYTAnLCBjaGFydHJldXNlOiAnIzdmZmYwMCcsIGNob2NvbGF0ZTogJyNkMjY5MWUnLCBjb3JhbDogJyNmZjdmNTAnLCBjb3JuZmxvd2VyYmx1ZTogJyM2NDk1ZWQnLCBjb3Juc2lsazogJyNmZmY4ZGMnLCBjcmltc29uOiAnI2RjMTQzYycsIGN5YW46ICcjMDBmZmZmJyxcclxuICAgICAgZGFya2JsdWU6ICcjMDAwMDhiJywgZGFya2N5YW46ICcjMDA4YjhiJywgZGFya2dvbGRlbnJvZDogJyNiODg2MGInLCBkYXJrZ3JheTogJyNhOWE5YTknLCBkYXJrZ3JlZW46ICcjMDA2NDAwJywgZGFya2toYWtpOiAnI2JkYjc2YicsIGRhcmttYWdlbnRhOiAnIzhiMDA4YicsIGRhcmtvbGl2ZWdyZWVuOiAnIzU1NmIyZicsXHJcbiAgICAgIGRhcmtvcmFuZ2U6ICcjZmY4YzAwJywgZGFya29yY2hpZDogJyM5OTMyY2MnLCBkYXJrcmVkOiAnIzhiMDAwMCcsIGRhcmtzYWxtb246ICcjZTk5NjdhJywgZGFya3NlYWdyZWVuOiAnIzhmYmM4ZicsIGRhcmtzbGF0ZWJsdWU6ICcjNDgzZDhiJywgZGFya3NsYXRlZ3JheTogJyMyZjRmNGYnLCBkYXJrdHVycXVvaXNlOiAnIzAwY2VkMScsXHJcbiAgICAgIGRhcmt2aW9sZXQ6ICcjOTQwMGQzJywgZGVlcHBpbms6ICcjZmYxNDkzJywgZGVlcHNreWJsdWU6ICcjMDBiZmZmJywgZGltZ3JheTogJyM2OTY5NjknLCBkb2RnZXJibHVlOiAnIzFlOTBmZicsXHJcbiAgICAgIGZpcmVicmljazogJyNiMjIyMjInLCBmbG9yYWx3aGl0ZTogJyNmZmZhZjAnLCBmb3Jlc3RncmVlbjogJyMyMjhiMjInLCBmdWNoc2lhOiAnI2ZmMDBmZicsXHJcbiAgICAgIGdhaW5zYm9ybzogJyNkY2RjZGMnLCBnaG9zdHdoaXRlOiAnI2Y4ZjhmZicsIGdvbGQ6ICcjZmZkNzAwJywgZ29sZGVucm9kOiAnI2RhYTUyMCcsIGdyYXk6ICcjODA4MDgwJywgZ3JlZW46ICcjMDA4MDAwJywgZ3JlZW55ZWxsb3c6ICcjYWRmZjJmJyxcclxuICAgICAgaG9uZXlkZXc6ICcjZjBmZmYwJywgaG90cGluazogJyNmZjY5YjQnLFxyXG4gICAgICBpbmRpYW5yZWQ6ICcjY2Q1YzVjJywgaW5kaWdvOiAnIzRiMDA4MicsIGl2b3J5OiAnI2ZmZmZmMCcsIGtoYWtpOiAnI2YwZTY4YycsXHJcbiAgICAgIGxhdmVuZGVyOiAnI2U2ZTZmYScsIGxhdmVuZGVyYmx1c2g6ICcjZmZmMGY1JywgbGF3bmdyZWVuOiAnIzdjZmMwMCcsIGxlbW9uY2hpZmZvbjogJyNmZmZhY2QnLCBsaWdodGJsdWU6ICcjYWRkOGU2JywgbGlnaHRjb3JhbDogJyNmMDgwODAnLCBsaWdodGN5YW46ICcjZTBmZmZmJywgbGlnaHRnb2xkZW5yb2R5ZWxsb3c6ICcjZmFmYWQyJyxcclxuICAgICAgbGlnaHRncmV5OiAnI2QzZDNkMycsIGxpZ2h0Z3JlZW46ICcjOTBlZTkwJywgbGlnaHRwaW5rOiAnI2ZmYjZjMScsIGxpZ2h0c2FsbW9uOiAnI2ZmYTA3YScsIGxpZ2h0c2VhZ3JlZW46ICcjMjBiMmFhJywgbGlnaHRza3libHVlOiAnIzg3Y2VmYScsIGxpZ2h0c2xhdGVncmF5OiAnIzc3ODg5OScsIGxpZ2h0c3RlZWxibHVlOiAnI2IwYzRkZScsXHJcbiAgICAgIGxpZ2h0eWVsbG93OiAnI2ZmZmZlMCcsIGxpbWU6ICcjMDBmZjAwJywgbGltZWdyZWVuOiAnIzMyY2QzMicsIGxpbmVuOiAnI2ZhZjBlNicsXHJcbiAgICAgIG1hZ2VudGE6ICcjZmYwMGZmJywgbWFyb29uOiAnIzgwMDAwMCcsIG1lZGl1bWFxdWFtYXJpbmU6ICcjNjZjZGFhJywgbWVkaXVtYmx1ZTogJyMwMDAwY2QnLCBtZWRpdW1vcmNoaWQ6ICcjYmE1NWQzJywgbWVkaXVtcHVycGxlOiAnIzkzNzBkOCcsIG1lZGl1bXNlYWdyZWVuOiAnIzNjYjM3MScsIG1lZGl1bXNsYXRlYmx1ZTogJyM3YjY4ZWUnLFxyXG4gICAgICBtZWRpdW1zcHJpbmdncmVlbjogJyMwMGZhOWEnLCBtZWRpdW10dXJxdW9pc2U6ICcjNDhkMWNjJywgbWVkaXVtdmlvbGV0cmVkOiAnI2M3MTU4NScsIG1pZG5pZ2h0Ymx1ZTogJyMxOTE5NzAnLCBtaW50Y3JlYW06ICcjZjVmZmZhJywgbWlzdHlyb3NlOiAnI2ZmZTRlMScsIG1vY2Nhc2luOiAnI2ZmZTRiNScsXHJcbiAgICAgIG5hdmFqb3doaXRlOiAnI2ZmZGVhZCcsIG5hdnk6ICcjMDAwMDgwJyxcclxuICAgICAgb2xkbGFjZTogJyNmZGY1ZTYnLCBvbGl2ZTogJyM4MDgwMDAnLCBvbGl2ZWRyYWI6ICcjNmI4ZTIzJywgb3JhbmdlOiAnI2ZmYTUwMCcsIG9yYW5nZXJlZDogJyNmZjQ1MDAnLCBvcmNoaWQ6ICcjZGE3MGQ2JyxcclxuICAgICAgcGFsZWdvbGRlbnJvZDogJyNlZWU4YWEnLCBwYWxlZ3JlZW46ICcjOThmYjk4JywgcGFsZXR1cnF1b2lzZTogJyNhZmVlZWUnLCBwYWxldmlvbGV0cmVkOiAnI2Q4NzA5MycsIHBhcGF5YXdoaXA6ICcjZmZlZmQ1JywgcGVhY2hwdWZmOiAnI2ZmZGFiOScsIHBlcnU6ICcjY2Q4NTNmJywgcGluazogJyNmZmMwY2InLCBwbHVtOiAnI2RkYTBkZCcsIHBvd2RlcmJsdWU6ICcjYjBlMGU2JywgcHVycGxlOiAnIzgwMDA4MCcsXHJcbiAgICAgIHJlYmVjY2FwdXJwbGU6ICcjNjYzMzk5JywgcmVkOiAnI2ZmMDAwMCcsIHJvc3licm93bjogJyNiYzhmOGYnLCByb3lhbGJsdWU6ICcjNDE2OWUxJyxcclxuICAgICAgc2FkZGxlYnJvd246ICcjOGI0NTEzJywgc2FsbW9uOiAnI2ZhODA3MicsIHNhbmR5YnJvd246ICcjZjRhNDYwJywgc2VhZ3JlZW46ICcjMmU4YjU3Jywgc2Vhc2hlbGw6ICcjZmZmNWVlJywgc2llbm5hOiAnI2EwNTIyZCcsIHNpbHZlcjogJyNjMGMwYzAnLCBza3libHVlOiAnIzg3Y2VlYicsIHNsYXRlYmx1ZTogJyM2YTVhY2QnLCBzbGF0ZWdyYXk6ICcjNzA4MDkwJywgc25vdzogJyNmZmZhZmEnLCBzcHJpbmdncmVlbjogJyMwMGZmN2YnLCBzdGVlbGJsdWU6ICcjNDY4MmI0JyxcclxuICAgICAgdGFuOiAnI2QyYjQ4YycsIHRlYWw6ICcjMDA4MDgwJywgdGhpc3RsZTogJyNkOGJmZDgnLCB0b21hdG86ICcjZmY2MzQ3JywgdHVycXVvaXNlOiAnIzQwZTBkMCcsXHJcbiAgICAgIHZpb2xldDogJyNlZTgyZWUnLFxyXG4gICAgICB3aGVhdDogJyNmNWRlYjMnLCB3aGl0ZTogJyNmZmZmZmYnLCB3aGl0ZXNtb2tlOiAnI2Y1ZjVmNScsXHJcbiAgICAgIHllbGxvdzogJyNmZmZmMDAnLCB5ZWxsb3dncmVlbjogJyM5YWNkMzInXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0eXBlb2YgY29sb3JzW2NvbG9yLnRvTG93ZXJDYXNlKCldICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICByZXR1cm4gY29sb3JzW2NvbG9yLnRvTG93ZXJDYXNlKCldO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2xvcjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGaWxlbmFtZUZyb21Db250ZW50RGlzcG9zaXRpb24oY29udGVudERpc3Bvc2l0aW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL2ZpbGVuYW1lW147PVxcbl0qPShVVEYtOChbJ1wiXSopKT8oLiopLztcclxuICAgIGNvbnN0IG1hdGNoZXMgPSByZWdleC5leGVjKGNvbnRlbnREaXNwb3NpdGlvbik7XHJcbiAgICBsZXQgZmlsZW5hbWUgPSAnJztcclxuXHJcbiAgICBpZiAobWF0Y2hlcyAhPSBudWxsICYmIG1hdGNoZXNbM10pIHtcclxuICAgICAgZmlsZW5hbWUgPSBtYXRjaGVzWzNdLnJlcGxhY2UoL1snXCJdL2csICcnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGVjb2RlVVJJKGZpbGVuYW1lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0ZW1hR3VuTm9WZXIoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IGRuID0gbmV3IERhdGUoKS5nZXREYXkoKTtcclxuICAgIGlmIChkbiA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gNjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gZG47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2lmdEJvc2x1a1Rla1lhcChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmNhbGFyID0gbWV0aW4uc3BsaXQoJyAgJyk7XHJcbiAgICByZXR1cm4gcGFyY2FsYXIuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICBzdGF0aWMgcmFrYW1sYXJpVGVtaXpsZShtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtZXRpbi5yZXBsYWNlKC9bMC05XS9nLCAnJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYm9zbHVrbGFyaVRlbWl6bGUobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWV0aW4ucmVwbGFjZSgvIC9nLCAnJyk7XHJcbiAgfVxyXG4qL1xyXG5cclxuICBzdGF0aWMgYnV5dWtIYXJmZUNldmlyKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1ldGluLnRvTG9jYWxlVXBwZXJDYXNlKCd0ci1UUicpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlsa0hhcmZCdXl1dChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHV6dW5sdWsgPSBtZXRpbi5sZW5ndGg7XHJcbiAgICBpZiAodXp1bmx1ayA+IDApIHtcclxuICAgICAgaWYgKHV6dW5sdWsgPiAxKSB7XHJcbiAgICAgICAgcmV0dXJuIG1ldGluLnN1YnN0cigwLCAxKS50b0xvY2FsZVVwcGVyQ2FzZSgndHItVFInKSArIG1ldGluLnN1YnN0cigxLCAxMDApLnRvTG9jYWxlTG93ZXJDYXNlKCd0ci1UUicpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBtZXRpbi5zdWJzdHIoMCwgMSkudG9Mb2NhbGVVcHBlckNhc2UoJ3RyLVRSJyk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHR1bUlsa0hhcmZCdXl1dChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmNhbGFyID0gbWV0aW4uc3BsaXQoJyAnKTtcclxuICAgIGNvbnN0IHNvbnVjID0gW107XHJcbiAgICBwYXJjYWxhci5mb3JFYWNoKHBhcmNhID0+IHtcclxuICAgICAgc29udWMucHVzaCh0aGlzLmlsa0hhcmZCdXl1dChwYXJjYSkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHNvbnVjLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0dW1Cb3NsdWtTaWwobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgJyk7XHJcbiAgICByZXR1cm4gcGFyY2FsYXIuam9pbignJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHVya2NlQXlpa2xhKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHNvbnVjID0gbWV0aW47XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OcJywgJ1UnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxJ4nLCAnRycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEsCcsICdJJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8WeJywgJ1MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw4cnLCAnQycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDlicsICdPJyk7XHJcblxyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDvCcsICd1Jyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SfJywgJ2cnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxLEnLCAnaScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFnycsICdzJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OnJywgJ2MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw7YnLCAnbycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFvicsICdpJyk7XHJcblxyXG4gICAgLy8gc29udWMgPSBzb251Yy5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcbiAgICByZXR1cm4gc29udWM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWVjcmFUdXJ1Tm9WZXIobWVjcmFUdXJ1U3RyOiBNZWNyYVR1cmxlcmlTdHIpOiBNZWNyYVR1cmxlcmkge1xyXG4gICAgc3dpdGNoIChtZWNyYVR1cnVTdHIpIHtcclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuVHVtdTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlR1bXU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5UVjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlRWO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuR2F6ZXRlOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuR2F6ZXRlO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuRGVyZ2k6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5EZXJnaTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlJhZHlvOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuUmFkeW87XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5TaW5lbWE6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5TaW5lbWE7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5PdXRkb29yOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuT3V0ZG9vcjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkludGVybmV0OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuSW50ZXJuZXQ7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5TcG9uc29ybHVrOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuU3BvbnNvcmx1aztcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkJlbGlyc2l6OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuQmVsaXJzaXo7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5Cb3M6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5Cb3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWVjcmFUdXJ1U3RyVmVyKG1lY3JhVHVydU5vOiBNZWNyYVR1cmxlcmkpOiBNZWNyYVR1cmxlcmlTdHIge1xyXG4gICAgc3dpdGNoIChtZWNyYVR1cnVObykge1xyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5UdW11OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuVHVtdTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlRWOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuVFY7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5HYXpldGU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5HYXpldGU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5EZXJnaTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkRlcmdpO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuUmFkeW86XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5SYWR5bztcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlNpbmVtYTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlNpbmVtYTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLk91dGRvb3I6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5PdXRkb29yO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuSW50ZXJuZXQ6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5JbnRlcm5ldDtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlNwb25zb3JsdWs6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5TcG9uc29ybHVrO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuQmVsaXJzaXo6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5CZWxpcnNpejtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkJvczpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkJvcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBwYWRMZWFkaW5nWmVyb3MobnVtOiBudW1iZXIsIHNpemU6IG51bWJlcikge1xyXG4gICAgbGV0IHMgPSBudW0gKyAnJztcclxuICAgIHdoaWxlIChzLmxlbmd0aCA8IHNpemUpIHMgPSAnMCcgKyBzO1xyXG4gICAgcmV0dXJuIHM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXJyYXlUb1NlbGVjdEl0ZW0oYXJyYXk6IHN0cmluZ1tdKTogU2VsZWN0SXRlbTxzdHJpbmc+W10ge1xyXG4gICAgcmV0dXJuIGFycmF5Lm1hcChlbGVtZW50ID0+IHtcclxuICAgICAgcmV0dXJuIHsgbGFiZWw6IGVsZW1lbnQsIHZhbHVlOiBlbGVtZW50IH07XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFycmF5TnVtYmVyVG9TZWxlY3RJdGVtKGFycmF5OiBudW1iZXJbXSk6IFNlbGVjdEl0ZW08bnVtYmVyPltdIHtcclxuICAgIHJldHVybiBhcnJheS5tYXAoZWxlbWVudCA9PiB7XHJcbiAgICAgIHJldHVybiB7IGxhYmVsOiBlbGVtZW50LnRvU3RyaW5nKCksIHZhbHVlOiBlbGVtZW50IH07XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -254,7 +254,7 @@ export class XLTable {
254
254
  else {
255
255
  _columnNo = columnNo;
256
256
  }
257
- this.columns[_columnNo].format = format;
257
+ this.columns[_columnNo - 1].format = format;
258
258
  }
259
259
  rowFontColorAdd(color, rowNo) {
260
260
  let _rowNo = 0;
@@ -408,4 +408,4 @@ export class RowInteriorColor {
408
408
  this.rowNo = rowNo;
409
409
  }
410
410
  }
411
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF1Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXRCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFFBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBYyxFQUFFLENBQUM7UUFFdkIsV0FBTSxHQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUduQyxJQUFJLENBQUMsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFP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YSxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3RELHNCQUFpQixHQUFhLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDcEQsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLFVBQUssR0FBRyxDQUFDLENBQUM7SUFhWixDQUFDO0lBWEMsaUJBQWlCLENBQUMsY0FBdUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQVksS0FBYSxFQUFFLEtBQWE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFZLEtBQWEsRUFBRSxLQUFhO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvbnRTdHlsZSwgRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5vdCA9IG5ldyBYTE5vdCgpO1xyXG5cclxuICB0YWJsZXM6IFhMVGFibGVbXSA9IFtdO1xyXG5cclxuICBzaGVldHM6IFhMU2hlZXRbXSA9IFtuZXcgWExTaGVldCgxKV07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKCh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB8fCAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Rm9udCA9IG5ldyBYTEZvbnQoZm9udE5hbWUsIGZvbnRTaXplKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYmxlID0gdGhpcy5hZGRUYWJsZSgpO1xyXG4gICAgdGFibGUudGFibGVObyA9IHRoaXMudGFibGVzLmxlbmd0aCArIDE7XHJcblxyXG4gICAgdGhpcy50YWJsZXMucHVzaCh0YWJsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXN0QmlsZ2lTYXRpckVrbGUoc2F0aXI6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXN0QmlsZ2kgPSBuZXcgWExVc3RCaWxnaVNhdGlyKCk7XHJcbiAgICB1c3RCaWxnaS5yb3dObyA9IHRoaXMudXN0QmlsZ2lsZXIubGVuZ3RoICsgMTtcclxuICAgIHVzdEJpbGdpLnVzdEJpbGdpID0gc2F0aXI7XHJcblxyXG4gICAgdGhpcy51c3RCaWxnaWxlci5wdXNoKHVzdEJpbGdpKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYmxlKCk6IFhMVGFibGUge1xyXG4gICAgY29uc3QgdGFibGUgPSBuZXcgWExUYWJsZSgpO1xyXG4gICAgdGFibGUuc29sID0gMTtcclxuICAgIHRhYmxlLnVzdCA9IDE7XHJcbiAgICB0YWJsZS5oZWFkZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRhYmxlLmZvb3Rlci5iYXNpbGFjYWsgPSBmYWxzZTtcclxuICAgIHRhYmxlLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgICB0YWJsZS5oZWFkZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICB0YWJsZS5mb290ZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuXHJcbiAgICB0YWJsZS5oaWRkZW5Sb3dzSW5pdCgpO1xyXG4gICAgdGFibGUuc29ydEluaXQoKTtcclxuICAgIHRhYmxlLnJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5jb2x1bW5Gb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIHRhYmxlLnJvd0Zvcm1hdHNJbml0KCk7XHJcbiAgICB0YWJsZS5jZWxsRm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLnJhbmdlRm9ybWF0c0luaXQoKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICAgIFhMX1RfSGVhZGVyQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9EYXRhQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0hlYWRlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9TaGVldE5hbWVTZXQoWExfU19DdXJyZW50KVxyXG4qL1xyXG5cclxuICAgIHJldHVybiB0YWJsZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExVc3RCaWxnaVNhdGlyIHtcclxuICByb3dObyA9IDA7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoJycsIDApO1xyXG4gIHVzdEJpbGdpID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTExvZ28ge1xyXG4gIGdlbmlzbGlrID0gMDtcclxuICB5dWtzZWtsaWsgPSAwO1xyXG4gIHVzdE1hcmppbiA9IDA7XHJcbiAgc29sTWFyamluID0gMDtcclxuICBlYmF0UGl4ZWxtaSA9IGZhbHNlO1xyXG4gIGViYXQgPSAnJztcclxuICBrb251bSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExGb250IHtcclxuICBuYW1lID0gJ1NlZ29lIFVJJztcclxuICBzaXplID0gMTE7XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxuICBzdHlsZSA9IEZvbnRTdHlsZS5QbGFpbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTm90IHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMU2hlZXQge1xyXG4gIHNoZWV0Tm8gPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihzaGVldE5vOiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygc2hlZXRObyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaGVldE5vID0gc2hlZXRObztcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExJbnRlcmlvciB7XHJcbiAgY29sb3I6IFhMUmVuayA9IFhMUmVuay5jbFdoaXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExCb3JkZXIge1xyXG4gIHR5cGUgPSAnVMO8bcO8JztcclxuICBsaW5lU3R5bGUgPSBYTExpbmVTdHlsZS54bENvbnRpbnVvdXM7XHJcbiAgd2VpZ2h0ID0gWGxCb3JkZXJXZWlnaC54bFRoaW47XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5IZWFkZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IHRydWU7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzTXVsdGlMaW5lID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoaGVhZGVyID0gJycpIHtcclxuICAgIHRoaXMudGl0bGUgPSBoZWFkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkRhdGEge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZSB7XHJcbiAgY29sdW1uczogWExUYWJsZUNvbHVtbltdID0gW107XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBkYXRhID0gbmV3IFhMVGFibGVDb2x1bW5EYXRhKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICB0YWJsZU5vID0gMTtcclxuICBjb2xsZWN0aW9uOiBzdHJpbmdbXTtcclxuICBzb2wgPSAxO1xyXG4gIHVzdCA9IDE7XHJcbiAgdmVyaUtheW5hZ2kgPSAnQ29sbGVjdGlvbic7XHJcbiAgc2hlZXROYW1lID0gJ3hsU2hlZXQnO1xyXG4gIGhpZGRlblJvd3M6IG51bWJlcltdID0gW107XHJcbiAgc29ydDogbnVtYmVyW10gPSBbXTtcclxuICByb3dzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICByb3dGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcm93Rm9udENvbG9yczogUm93Rm9udENvbG9yW10gPSBbXTtcclxuICByb3dGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIHJvd0ludGVyaW9yQ29sb3JzOiBSb3dJbnRlcmlvckNvbG9yW10gPSBbXTtcclxuICByb3dGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0hvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcm93VmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgY2VsbEZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNlbGxGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNlbGxJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsSG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICBjZWxsVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgcmFuZ2VGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcmFuZ2VGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICByYW5nZUludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcmFuZ2VWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuXHJcbiAgYWRkQ29sdW1uKHByb3BlcnR5OiBzdHJpbmcsIHR5cGU6IFZhcmlhYmxlVHlwZSA9IDAsIGhlYWRlciA9ICcnLCBnZW5pc2xpayA9IDApIHtcclxuXHJcbiAgICBjb25zdCBjb2x1bW46IFhMVGFibGVDb2x1bW4gPSBuZXcgWExUYWJsZUNvbHVtbigpO1xyXG4gICAgY29uc3QgY29sdW1uSGVhZGVyID0gaGVhZGVyLnJlcGxhY2UoJzxwPicsICdcXHInKTtcclxuICAgIGNvbnN0IGNvbHVtbkNvdW50ID0gdGhpcy5jb2x1bW5zLmxlbmd0aCArIDE7XHJcblxyXG4gICAgY29sdW1uLnByb3BlcnR5ID0gcHJvcGVydHk7XHJcbiAgICBjb2x1bW4uYXJyYXlUeXBlID0gdHlwZTtcclxuICAgIGNvbHVtbi5jb2x1bW5ObyA9IGNvbHVtbkNvdW50O1xyXG4gICAgY29sdW1uLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKGNvbHVtbkhlYWRlcik7XHJcblxyXG4gICAgY29sdW1uLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICBjb2x1bW4uaG9yaXpvbnRhbEFsaWdubWVudCA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICAgIGNvbHVtbi52ZXJ0aWNhbEFsaWdubWVudCA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICAgIGNvbHVtbi5mb3JtYXQgPSAwO1xyXG4gICAgY29sdW1uLndpZHRoID0gZ2VuaXNsaWs7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzaW50ZWdlcjpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzbG9uZ2ludDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzcmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzZGF0ZTpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gRm9ybWF0bGFyLkZvcm1hdF9UYXJpaDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGVhZGVyU2F0aXJBZGV0ID0gdGhpcy5oZWFkZXIuc2F0aXJTYXlpc2k7XHJcbiAgICBjb25zdCB0ZW1wU2l6ZSA9IGNvbHVtbkhlYWRlci5zcGxpdCgnXFxyJykubGVuZ3RoO1xyXG4gICAgaWYgKHRlbXBTaXplID4gaGVhZGVyU2F0aXJBZGV0KSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpID0gdGVtcFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goY29sdW1uKTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdChmb3JtYXQ6IG51bWJlciwgY29sdW1uTm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm9dLmZvcm1hdCA9IGZvcm1hdDtcclxuICB9XHJcblxyXG4gIHJvd0ZvbnRDb2xvckFkZChjb2xvcjogWExSZW5rLCByb3dObz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9yb3dObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIHJvd05vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfcm93Tm8gPSB0aGlzLnJvd3MubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3Jvd05vID0gcm93Tm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzLnB1c2gobmV3IFJvd0ZvbnRDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICByb3dJbnRlcmlvckNvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzLnB1c2gobmV3IFJvd0ludGVyaW9yQ29sb3IoY29sb3IsIF9yb3dObykpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyKHRpdGxlOiBzdHJpbmcsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXIodGl0bGUpO1xyXG5cclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb24pO1xyXG5cclxuICB9XHJcblxyXG4gIGhpZGRlblJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5oaWRkZW5Sb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBzb3J0SW5pdCgpIHtcclxuICAgIHRoaXMuc29ydCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5Gb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzID0gW107XHJcbiAgfVxyXG5cclxuICByb3dGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucm93Rm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0Zvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0hvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJvd1ZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY2VsbEZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jZWxsRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEZvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICByYW5nZUZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yYW5nZUZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U3R5bGVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb3JtYXRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGdldCBfc2hlZXROYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zaGVldE5hbWU7XHJcbiAgfVxyXG4gIHNldCBfc2hlZXROYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2hlZXROYW1lID0gdmFsdWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5Gb290ZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbiAgYmFzaWxhY2FrID0gZmFsc2U7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzRnVuY3Rpb24gPSBmYWxzZTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50OiBYTEhBbGlnbiA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICB2ZXJ0aWNhbEFsaWdubWVudDogWGxWQWxpZ24gPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZnVuY3Rpb246IFhMRnVuY3MgPSBYTEZ1bmNzLk5vbmU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uIHtcclxuICBwcm9wZXJ0eSA9ICcnO1xyXG4gIGFycmF5VHlwZTogVmFyaWFibGVUeXBlID0gMDtcclxuICBjb2x1bW5ObyA9IDA7XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQ6IFhMSEFsaWduID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50OiBYbFZBbGlnbiA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICBmb3JtYXQgPSAwO1xyXG4gIHdpZHRoID0gMDtcclxuXHJcbiAgc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci5mdW5jdGlvbiA9IGZvb3RlckZ1bmN0aW9uO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb290ZXIodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb290ZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9vdGVyLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmZvb3Rlci5pc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm93Rm9udENvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ludGVyaW9yQ29sb3Ige1xyXG4gIGNvbG9yOiBYTFJlbms7XHJcbiAgcm93Tm86IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihjb2xvcjogWExSZW5rLCByb3dObzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XHJcbiAgICB0aGlzLnJvd05vID0gcm93Tm87XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
411
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF1Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXRCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFFBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBYyxFQUFFLENBQUM7UUFFdkIsV0FBTSxHQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUduQyxJQUFJLENBQUMsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFP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LHdCQUFtQixHQUFhLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdEQsc0JBQWlCLEdBQWEsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNwRCxXQUFNLEdBQWMsQ0FBQyxDQUFDO1FBQ3RCLFVBQUssR0FBRyxDQUFDLENBQUM7SUFhWixDQUFDO0lBWEMsaUJBQWlCLENBQUMsY0FBdUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQVksS0FBYSxFQUFFLEtBQWE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFZLEtBQWEsRUFBRSxLQUFhO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvbnRTdHlsZSwgRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5vdCA9IG5ldyBYTE5vdCgpO1xyXG5cclxuICB0YWJsZXM6IFhMVGFibGVbXSA9IFtdO1xyXG5cclxuICBzaGVldHM6IFhMU2hlZXRbXSA9IFtuZXcgWExTaGVldCgxKV07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKCh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB8fCAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Rm9udCA9IG5ldyBYTEZvbnQoZm9udE5hbWUsIGZvbnRTaXplKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYmxlID0gdGhpcy5hZGRUYWJsZSgpO1xyXG4gICAgdGFibGUudGFibGVObyA9IHRoaXMudGFibGVzLmxlbmd0aCArIDE7XHJcblxyXG4gICAgdGhpcy50YWJsZXMucHVzaCh0YWJsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXN0QmlsZ2lTYXRpckVrbGUoc2F0aXI6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXN0QmlsZ2kgPSBuZXcgWExVc3RCaWxnaVNhdGlyKCk7XHJcbiAgICB1c3RCaWxnaS5yb3dObyA9IHRoaXMudXN0QmlsZ2lsZXIubGVuZ3RoICsgMTtcclxuICAgIHVzdEJpbGdpLnVzdEJpbGdpID0gc2F0aXI7XHJcblxyXG4gICAgdGhpcy51c3RCaWxnaWxlci5wdXNoKHVzdEJpbGdpKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYmxlKCk6IFhMVGFibGUge1xyXG4gICAgY29uc3QgdGFibGUgPSBuZXcgWExUYWJsZSgpO1xyXG4gICAgdGFibGUuc29sID0gMTtcclxuICAgIHRhYmxlLnVzdCA9IDE7XHJcbiAgICB0YWJsZS5oZWFkZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRhYmxlLmZvb3Rlci5iYXNpbGFjYWsgPSBmYWxzZTtcclxuICAgIHRhYmxlLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgICB0YWJsZS5oZWFkZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICB0YWJsZS5mb290ZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuXHJcbiAgICB0YWJsZS5oaWRkZW5Sb3dzSW5pdCgpO1xyXG4gICAgdGFibGUuc29ydEluaXQoKTtcclxuICAgIHRhYmxlLnJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5jb2x1bW5Gb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIHRhYmxlLnJvd0Zvcm1hdHNJbml0KCk7XHJcbiAgICB0YWJsZS5jZWxsRm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLnJhbmdlRm9ybWF0c0luaXQoKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICAgIFhMX1RfSGVhZGVyQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9EYXRhQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0hlYWRlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9TaGVldE5hbWVTZXQoWExfU19DdXJyZW50KVxyXG4qL1xyXG5cclxuICAgIHJldHVybiB0YWJsZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExVc3RCaWxnaVNhdGlyIHtcclxuICByb3dObyA9IDA7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoJycsIDApO1xyXG4gIHVzdEJpbGdpID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTExvZ28ge1xyXG4gIGdlbmlzbGlrID0gMDtcclxuICB5dWtzZWtsaWsgPSAwO1xyXG4gIHVzdE1hcmppbiA9IDA7XHJcbiAgc29sTWFyamluID0gMDtcclxuICBlYmF0UGl4ZWxtaSA9IGZhbHNlO1xyXG4gIGViYXQgPSAnJztcclxuICBrb251bSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExGb250IHtcclxuICBuYW1lID0gJ1NlZ29lIFVJJztcclxuICBzaXplID0gMTE7XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxuICBzdHlsZSA9IEZvbnRTdHlsZS5QbGFpbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTm90IHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMU2hlZXQge1xyXG4gIHNoZWV0Tm8gPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihzaGVldE5vOiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygc2hlZXRObyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaGVldE5vID0gc2hlZXRObztcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExJbnRlcmlvciB7XHJcbiAgY29sb3I6IFhMUmVuayA9IFhMUmVuay5jbFdoaXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExCb3JkZXIge1xyXG4gIHR5cGUgPSAnVMO8bcO8JztcclxuICBsaW5lU3R5bGUgPSBYTExpbmVTdHlsZS54bENvbnRpbnVvdXM7XHJcbiAgd2VpZ2h0ID0gWGxCb3JkZXJXZWlnaC54bFRoaW47XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5IZWFkZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IHRydWU7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzTXVsdGlMaW5lID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoaGVhZGVyID0gJycpIHtcclxuICAgIHRoaXMudGl0bGUgPSBoZWFkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkRhdGEge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZSB7XHJcbiAgY29sdW1uczogWExUYWJsZUNvbHVtbltdID0gW107XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBkYXRhID0gbmV3IFhMVGFibGVDb2x1bW5EYXRhKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICB0YWJsZU5vID0gMTtcclxuICBjb2xsZWN0aW9uOiBzdHJpbmdbXTtcclxuICBzb2wgPSAxO1xyXG4gIHVzdCA9IDE7XHJcbiAgdmVyaUtheW5hZ2kgPSAnQ29sbGVjdGlvbic7XHJcbiAgc2hlZXROYW1lID0gJ3hsU2hlZXQnO1xyXG4gIGhpZGRlblJvd3M6IG51bWJlcltdID0gW107XHJcbiAgc29ydDogbnVtYmVyW10gPSBbXTtcclxuICByb3dzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICByb3dGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcm93Rm9udENvbG9yczogUm93Rm9udENvbG9yW10gPSBbXTtcclxuICByb3dGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIHJvd0ludGVyaW9yQ29sb3JzOiBSb3dJbnRlcmlvckNvbG9yW10gPSBbXTtcclxuICByb3dGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0hvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcm93VmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgY2VsbEZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNlbGxGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNlbGxJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsSG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICBjZWxsVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgcmFuZ2VGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcmFuZ2VGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICByYW5nZUludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcmFuZ2VWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuXHJcbiAgYWRkQ29sdW1uKHByb3BlcnR5OiBzdHJpbmcsIHR5cGU6IFZhcmlhYmxlVHlwZSA9IDAsIGhlYWRlciA9ICcnLCBnZW5pc2xpayA9IDApIHtcclxuXHJcbiAgICBjb25zdCBjb2x1bW46IFhMVGFibGVDb2x1bW4gPSBuZXcgWExUYWJsZUNvbHVtbigpO1xyXG4gICAgY29uc3QgY29sdW1uSGVhZGVyID0gaGVhZGVyLnJlcGxhY2UoJzxwPicsICdcXHInKTtcclxuICAgIGNvbnN0IGNvbHVtbkNvdW50ID0gdGhpcy5jb2x1bW5zLmxlbmd0aCArIDE7XHJcblxyXG4gICAgY29sdW1uLnByb3BlcnR5ID0gcHJvcGVydHk7XHJcbiAgICBjb2x1bW4uYXJyYXlUeXBlID0gdHlwZTtcclxuICAgIGNvbHVtbi5jb2x1bW5ObyA9IGNvbHVtbkNvdW50O1xyXG4gICAgY29sdW1uLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKGNvbHVtbkhlYWRlcik7XHJcblxyXG4gICAgY29sdW1uLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICBjb2x1bW4uaG9yaXpvbnRhbEFsaWdubWVudCA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICAgIGNvbHVtbi52ZXJ0aWNhbEFsaWdubWVudCA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICAgIGNvbHVtbi5mb3JtYXQgPSAwO1xyXG4gICAgY29sdW1uLndpZHRoID0gZ2VuaXNsaWs7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzaW50ZWdlcjpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzbG9uZ2ludDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzcmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzZGF0ZTpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gRm9ybWF0bGFyLkZvcm1hdF9UYXJpaDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGVhZGVyU2F0aXJBZGV0ID0gdGhpcy5oZWFkZXIuc2F0aXJTYXlpc2k7XHJcbiAgICBjb25zdCB0ZW1wU2l6ZSA9IGNvbHVtbkhlYWRlci5zcGxpdCgnXFxyJykubGVuZ3RoO1xyXG4gICAgaWYgKHRlbXBTaXplID4gaGVhZGVyU2F0aXJBZGV0KSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpID0gdGVtcFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goY29sdW1uKTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdChmb3JtYXQ6IEZvcm1hdGxhciwgY29sdW1uTm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5mb3JtYXQgPSBmb3JtYXQ7XHJcbiAgfVxyXG5cclxuICByb3dGb250Q29sb3JBZGQoY29sb3I6IFhMUmVuaywgcm93Tm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfcm93Tm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiByb3dObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX3Jvd05vID0gdGhpcy5yb3dzLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9yb3dObyA9IHJvd05vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm93Rm9udENvbG9ycy5wdXNoKG5ldyBSb3dGb250Q29sb3IoY29sb3IsIF9yb3dObykpO1xyXG4gIH1cclxuXHJcbiAgcm93SW50ZXJpb3JDb2xvckFkZChjb2xvcjogWExSZW5rLCByb3dObz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9yb3dObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIHJvd05vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfcm93Tm8gPSB0aGlzLnJvd3MubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3Jvd05vID0gcm93Tm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dJbnRlcmlvckNvbG9ycy5wdXNoKG5ldyBSb3dJbnRlcmlvckNvbG9yKGNvbG9yLCBfcm93Tm8pKTtcclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3Rlcih0aXRsZTogc3RyaW5nLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyKHRpdGxlKTtcclxuXHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5Gb290ZXJGdW5jdGlvbihmb290ZXJGdW5jdGlvbjogWExGdW5jcywgY29sdW1uTm8/OiBudW1iZXIpIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLnNldEZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uKTtcclxuXHJcbiAgfVxyXG5cclxuICBoaWRkZW5Sb3dzSW5pdCgpIHtcclxuICAgIHRoaXMuaGlkZGVuUm93cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgc29ydEluaXQoKSB7XHJcbiAgICB0aGlzLnNvcnQgPSBbXTtcclxuICB9XHJcblxyXG4gIHJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5yb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBjb2x1bW5Gb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMuY29sdW1uRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSGVhZGVySW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93Rm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd0ZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5yb3dJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb3JtYXRzID0gW107XHJcblxyXG4gICAgdGhpcy5yb3dIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5yb3dWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGNlbGxGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMuY2VsbEZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxGb3JtYXRzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMuY2VsbFZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcmFuZ2VGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucmFuZ2VGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udFN0eWxlcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9ybWF0cyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUhvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICBnZXQgX3NoZWV0TmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hlZXROYW1lO1xyXG4gIH1cclxuICBzZXQgX3NoZWV0TmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNoZWV0TmFtZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uRm9vdGVyIHtcclxuICB0aXRsZSA9ICcnO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IGZhbHNlO1xyXG4gIHNhdGlyU2F5aXNpID0gMTtcclxuICBpc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZ1bmN0aW9uOiBYTEZ1bmNzID0gWExGdW5jcy5Ob25lO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbiB7XHJcbiAgcHJvcGVydHkgPSAnJztcclxuICBhcnJheVR5cGU6IFZhcmlhYmxlVHlwZSA9IDA7XHJcbiAgY29sdW1uTm8gPSAwO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50OiBYTEhBbGlnbiA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICB2ZXJ0aWNhbEFsaWdubWVudDogWGxWQWxpZ24gPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZm9ybWF0OiBGb3JtYXRsYXIgPSAwO1xyXG4gIHdpZHRoID0gMDtcclxuXHJcbiAgc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci5mdW5jdGlvbiA9IGZvb3RlckZ1bmN0aW9uO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb290ZXIodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb290ZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9vdGVyLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmZvb3Rlci5pc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm93Rm9udENvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ludGVyaW9yQ29sb3Ige1xyXG4gIGNvbG9yOiBYTFJlbms7XHJcbiAgcm93Tm86IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihjb2xvcjogWExSZW5rLCByb3dObzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XHJcbiAgICB0aGlzLnJvd05vID0gcm93Tm87XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -2104,7 +2104,7 @@ class XLTable {
2104
2104
  else {
2105
2105
  _columnNo = columnNo;
2106
2106
  }
2107
- this.columns[_columnNo].format = format;
2107
+ this.columns[_columnNo - 1].format = format;
2108
2108
  }
2109
2109
  rowFontColorAdd(color, rowNo) {
2110
2110
  let _rowNo = 0;