@colijnit/corecomponents_v12 259.1.4 → 259.1.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.
Files changed (33) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +262 -232
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
  3. package/colijnit-corecomponents_v12.d.ts +3 -3
  4. package/colijnit-corecomponents_v12.metadata.json +1 -1
  5. package/esm2015/colijnit-corecomponents_v12.js +4 -4
  6. package/esm2015/lib/components/base-input-time/base-input-time-directive.js +25 -0
  7. package/esm2015/lib/components/calendar/calendar-template.component.js +30 -31
  8. package/esm2015/lib/components/filter-item/filter-item.component.js +58 -15
  9. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +9 -8
  10. package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +1 -1
  11. package/esm2015/lib/components/input-text/input-text.component.js +2 -1
  12. package/esm2015/lib/components/input-time/input-time.component.js +74 -0
  13. package/esm2015/lib/components/input-time/input-time.module.js +24 -0
  14. package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +8 -2
  15. package/esm2015/lib/components/list-of-values/list-of-values.component.js +9 -4
  16. package/esm2015/lib/components/simple-grid/simple-grid.component.js +15 -18
  17. package/esm2015/lib/core/enum/core-components-icon.enum.js +2 -1
  18. package/esm2015/lib/core/model/core-components-icon-svg.js +2 -1
  19. package/esm2015/public-api.js +3 -1
  20. package/fesm2015/colijnit-corecomponents_v12.js +234 -197
  21. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
  22. package/lib/components/base-input-time/base-input-time-directive.d.ts +14 -0
  23. package/lib/components/calendar/calendar-template.component.d.ts +6 -6
  24. package/lib/components/filter-item/filter-item.component.d.ts +3 -1
  25. package/lib/components/input-time/input-time.component.d.ts +8 -0
  26. package/lib/components/input-time/input-time.module.d.ts +2 -0
  27. package/lib/components/list-of-values/list-of-values-popup.component.d.ts +4 -1
  28. package/lib/components/list-of-values/list-of-values.component.d.ts +4 -1
  29. package/lib/components/list-of-values/style/_layout.scss +1 -0
  30. package/lib/components/simple-grid/simple-grid.component.d.ts +7 -9
  31. package/lib/core/enum/core-components-icon.enum.d.ts +1 -0
  32. package/package.json +1 -1
  33. package/public-api.d.ts +2 -0
@@ -5,14 +5,12 @@ import { BaseSimpleGridComponent } from './base-simple-grid.component';
5
5
  import { ColumnAlign } from './simple-grid-column.directive';
6
6
  import { CoreComponentsIcon } from '../../core/enum/core-components-icon.enum';
7
7
  import { IconCacheService } from '../icon/icon-cache.service';
8
- import { ExcelExportService } from '../../service/excel-export.service';
9
8
  export class SimpleGridComponent extends BaseSimpleGridComponent {
10
- constructor(icons, _changeDetection, _formMaster, excelExportService) {
9
+ constructor(icons, _changeDetection, _formMaster) {
11
10
  super();
12
11
  this.icons = icons;
13
12
  this._changeDetection = _changeDetection;
14
13
  this._formMaster = _formMaster;
15
- this.excelExportService = excelExportService;
16
14
  this.defaultTextAlign = ColumnAlign.Left;
17
15
  this.showAdd = false;
18
16
  this.showDelete = false;
@@ -381,6 +379,18 @@ export class SimpleGridComponent extends BaseSimpleGridComponent {
381
379
  // 'Sheet1'
382
380
  // );
383
381
  }
382
+ goToPreviousPage() {
383
+ this.currentPage -= 1;
384
+ }
385
+ goToNextPage() {
386
+ this.currentPage += 1;
387
+ }
388
+ setCurrentPage(page) {
389
+ this.currentPage = page;
390
+ }
391
+ get isNewRow() {
392
+ return this._newRow;
393
+ }
384
394
  _filterSelectedOrReturnAll(items) {
385
395
  const hasSelectedTrue = items.some(item => item.selected === true);
386
396
  return hasSelectedTrue ? items.filter(item => item.selected === true) : items;
@@ -522,15 +532,6 @@ export class SimpleGridComponent extends BaseSimpleGridComponent {
522
532
  }
523
533
  this._detectChanges();
524
534
  }
525
- goToPreviousPage() {
526
- this.currentPage -= 1;
527
- }
528
- goToNextPage() {
529
- this.currentPage += 1;
530
- }
531
- setCurrentPage(page) {
532
- this.currentPage = page;
533
- }
534
535
  _detectChanges() {
535
536
  this._changeDetection.detectChanges();
536
537
  }
@@ -542,9 +543,6 @@ export class SimpleGridComponent extends BaseSimpleGridComponent {
542
543
  this.editing = false;
543
544
  this.rowToEdit = undefined;
544
545
  }
545
- get isNewRow() {
546
- return this._newRow;
547
- }
548
546
  }
549
547
  SimpleGridComponent.decorators = [
550
548
  { type: Component, args: [{
@@ -729,8 +727,7 @@ SimpleGridComponent.decorators = [
729
727
  SimpleGridComponent.ctorParameters = () => [
730
728
  { type: IconCacheService },
731
729
  { type: ChangeDetectorRef },
732
- { type: FormMasterService },
733
- { type: ExcelExportService }
730
+ { type: FormMasterService }
734
731
  ];
735
732
  SimpleGridComponent.propDecorators = {
736
733
  headerCells: [{ type: ViewChildren, args: ['headerCell',] }],
@@ -748,4 +745,4 @@ SimpleGridComponent.propDecorators = {
748
745
  showClass: [{ type: HostBinding, args: ['class.co-simple-grid',] }],
749
746
  handleKeyDown: [{ type: HostListener, args: ['keydown', ['$event'],] }]
750
747
  };
751
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NpbXBsZS1ncmlkL3NpbXBsZS1ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyxrQkFBa0IsRUFBZSxNQUFNLG9DQUFvQyxDQUFDO0FBb0xwRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBMkY5RCxZQUNTLEtBQXVCLEVBQ3RCLGdCQUFtQyxFQUNuQyxXQUE4QixFQUM5QixrQkFBc0M7UUFFOUMsS0FBSyxFQUFFLENBQUM7UUFMRCxVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBOUZoQyxxQkFBZ0IsR0FBZ0IsV0FBVyxDQUFDLElBQUksQ0FBQztRQVkxRCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLGVBQVUsR0FBWSxL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SUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7WUEzd0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJLVDtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFwTE8sZ0JBQWdCO1lBWnRCLGlCQUFpQjtZQVFYLGlCQUFpQjtZQUtqQixrQkFBa0I7OzswQkF1THZCLFlBQVksU0FBQyxZQUFZOzBCQU96QixZQUFZLFNBQUMsWUFBWTtzQkFFekIsS0FBSzt5QkFHTCxLQUFLOzhCQUdMLEtBQUs7MkJBR0wsS0FBSzsrQkFHTCxLQUFLOzBCQUdMLEtBQUs7NEJBR0wsS0FBSzs2QkFHTCxLQUFLOzZCQUdMLEtBQUs7Z0NBTUwsS0FBSzt3QkFHTCxXQUFXLFNBQUMsc0JBQXNCOzRCQUtsQyxZQUFZLFNBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LCBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZS9mb3JtLW1hc3Rlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtCYXNlU2ltcGxlR3JpZENvbXBvbmVudH0gZnJvbSAnLi9iYXNlLXNpbXBsZS1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29sdW1uQWxpZ259IGZyb20gJy4vc2ltcGxlLWdyaWQtY29sdW1uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7Q29yZUNvbXBvbmVudHNJY29ufSBmcm9tICcuLi8uLi9jb3JlL2VudW0vY29yZS1jb21wb25lbnRzLWljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vaWNvbi9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0V4Y2VsRXhwb3J0U2VydmljZSwgRXhwb3J0Q29sdW1ufSBmcm9tICcuLi8uLi9zZXJ2aWNlL2V4Y2VsLWV4cG9ydC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2ltcGxlLWdyaWQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZ3JpZC10b29sYmFyXHJcbiAgICAgICpuZ0lmPVwic2hvd1Rvb2xiYXJcIiBbY2xhc3MucmlnaHRdPVwicmlnaHRUb29sYmFyXCJcclxuICAgICAgW3Nob3dFZGl0XT1cInNob3dFZGl0XCJcclxuICAgICAgW3Nob3dBZGRdPVwic2hvd0FkZFwiXHJcbiAgICAgIFtzaG93RGVsZXRlXT1cInNob3dEZWxldGVcIlxyXG4gICAgICBbZGVsZXRlRW5hYmxlZF09XCJzZWxlY3RlZFJvd0luZGV4ID4gLTFcIlxyXG4gICAgICAoYWRkQ2xpY2spPVwiYWRkTmV3Um93KClcIlxyXG4gICAgICAoZWRpdENsaWNrKT1cImVkaXRSb3coJGV2ZW50KVwiXHJcbiAgICAgIChzYXZlQ2xpY2spPVwidmFsaWRhdGVBbmRTYXZlKClcIlxyXG4gICAgICAoY2FuY2VsQ2xpY2spPVwiY2FuY2VsRWRpdFJvdygpXCJcclxuICAgICAgKGRlbGV0ZUNsaWNrKT1cInJlbW92ZVJvdygpXCI+XHJcbiAgICA8L2NvLWdyaWQtdG9vbGJhcj5cclxuXHJcbiAgICA8dGFibGVcclxuICAgICAgaWQ9XCJzaW1wbGUtZ3JpZC10YWJsZVwiXHJcbiAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWQtdGFibGVcIlxyXG4gICAgICBbY2xpY2tPdXRzaWRlXT1cImVkaXRpbmdcIlxyXG4gICAgICAoY2xpY2tPdXRzaWRlKT1cImhhbmRsZUNsaWNrT3V0c2lkZVJvdygpXCI+XHJcbiAgICAgIDxjb2xncm91cD5cclxuICAgICAgICA8Y29sXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGhlYWRlckNvbHVtbnNDb3B5OyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICBbY2xhc3Muc2ltcGxlLWdyaWQtY29sdW1uLWF1dG8tZml0XT1cImNvbHVtbi5hdXRvRml0XCJcclxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb2x1bW4ud2lkdGhcIlxyXG4gICAgICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJNSU5fQ09MVU1OX1dJRFRIXCI+XHJcbiAgICAgIDwvY29sZ3JvdXA+XHJcbiAgICAgIDx0aGVhZD5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0aFxyXG4gICAgICAgICAgc2NvcGU9XCJjb2xcIlxyXG4gICAgICAgICAgI2hlYWRlckNlbGxcclxuICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLWhlYWRlclwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGhlYWRlckNvbHVtbnNDb3B5OyBsZXQgaW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1oZWFkZXItd3JhcHBlclwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5yZXNpemFibGVdPVwicmVzaXphYmxlXCJcclxuICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImNvbHVtbi5pc1NlbGVjdGVkXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLnRleHRBbGlnbiA/IGNvbHVtbi50ZXh0QWxpZ24gOiBkZWZhdWx0VGV4dEFsaWduXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uaGVhZGVyVGVtcGxhdGU7IGVsc2Ugbm9IZWFkZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4taGVhZGVyLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi50ZXh0QWxpZ24gPyBjb2x1bW4udGV4dEFsaWduIDogZGVmYXVsdFRleHRBbGlnblwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1tZW51XT1cInNob3dHcmlkU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLndpdGgtc29ydF09XCJzaG93Q29sdW1uU29ydFwiXHJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiY29sdW1uLmhlYWRlclRleHQgfHwgJyZuYnNwOydcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dDb2x1bW5Tb3J0ID8gc29ydENvbHVtbihjb2x1bW4sIGNvbHVtbi5maWVsZCkgOiB0b2dnbGVDb2x1bW5NZW51KGNvbHVtbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtY29sdW1uXCIgKm5nSWY9XCJzaG93Q29sdW1uU29ydFwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic29ydENvbHVtbihjb2x1bW4sIGNvbHVtbj8uZmllbGQpXCJcclxuICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25zLmdldEljb24oSWNvbnMuQXJyb3dVcEFycm93RG93bilcIj5cclxuICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLW1lbnVcIiAqbmdJZj1cImNvbHVtbi5pc1NlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgW3RleHRDb250ZW50XT1cIidDT0xVTU5fT1BUSU9OUycgfCBjb3JlTG9jYWxpemVcIj48L2gzPlxyXG4gICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICA8bGkgKGNsaWNrKT1cImhpZGVDb2x1bW4oY29sdW1uKVwiPkhpZGUgQ29sdW1uPC9saT5cclxuICAgICAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJzb3J0Q29sdW1uKGNvbHVtbiwgY29sdW1uLmZpZWxkKVwiPlNvcnQgQ29sdW1uPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdJZj1cInJlc2l6YWJsZSAmJiBjb2x1bW4ucmVzaXphYmxlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1zaXplclwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJoYW5kbGVTaXplck1vdXNlRG93bigkZXZlbnQsIGNvbHVtbilcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICA8L3RyPlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cInNob3dHcmlkU2V0dGluZ3NcIiBjbGFzcz1cImdyaWQtc2V0dGluZ3NcIj5cclxuICAgICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNTZXR0aW5nc01lbnVPcGVuXCJcclxuICAgICAgICAgIFtpY29uRGF0YV09XCJpY29ucy5nZXRJY29uKEljb25zLkNvZ1doZWVscylcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNldHRpbmdzTWVudSgpXCI+XHJcbiAgICAgICAgPC9jby1idXR0b24+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1tZW51XCIgKm5nSWY9XCJpc1NldHRpbmdzTWVudU9wZW5cIj5cclxuICAgICAgICAgIDxoMyBbdGV4dENvbnRlbnRdPVwiJ0dSSURfT1BUSU9OUycgfCBjb3JlTG9jYWxpemVcIj48L2gzPlxyXG4gICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKGNsaWNrKT1cImV4cG9ydFRvRXhjZWwoKVwiPkV4cG9ydCB0byBFeGNlbDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImhlYWRlckNvbHVtbnNDb3B5Lmxlbmd0aCAhPT0gaGVhZGVyQ29sdW1ucy5sZW5ndGhcIiAoY2xpY2spPVwic2hvd0FsbENvbHVtbnMoKVwiPlxyXG4gICAgICAgICAgICAgIFNob3cgQWxsIENvbHVtbnNcclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RoZWFkPlxyXG4gICAgICA8dGJvZHlcclxuICAgICAgICAjZHJvcExpc3QgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLWRyYWctZHJvcC1saXN0XCJcclxuICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhZHJhZ0Ryb3BFbmFibGVkIHx8IGVkaXRpbmdcIlxyXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwiaGFuZGxlQ2FuRHJhZ0Ryb3BcIlxyXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCI+XHJcbiAgICAgIDxjby1mb3JtIGNsYXNzPVwic2ltcGxlLWdyaWQtcm93LWZvcm1cIj5cclxuICAgICAgICA8dHJcclxuICAgICAgICAgICNyb3dFbGVtZW50XHJcbiAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLXJvd1wiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwicm93SW5kZXggPT09IHNlbGVjdGVkUm93SW5kZXggJiYgIWVkaXRpbmdcIiBvYnNlcnZlVmlzaWJpbGl0eVxyXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImdldElzUm93RGlzYWJsZWQocm93SW5kZXgpXCJcclxuICAgICAgICAgIFtjbGFzcy5lZGl0aW5nXT1cInJvd0luZGV4ID09PSBlZGl0Um93SW5kZXhcIlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHJvdyBvZiAoISFyb3dzUGVyUGFnZSA/IChkYXRhIHwgcGFnaW5hdGU6IHtpdGVtc1BlclBhZ2U6IHJvd3NQZXJQYWdlLCBjdXJyZW50UGFnZTogY3VycmVudFBhZ2V9KSA6IGRhdGEpOyBsYXN0IGFzIGxhc3Q7IGxldCByb3dJbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGlja1JvdygkZXZlbnQsIHJvd0luZGV4KVwiIChkYmxjbGljayk9XCJoYW5kbGVEYmxDbGlja1JvdygkZXZlbnQsIHJvd0luZGV4LCByb3cpXCJcclxuICAgICAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cInJvd1Zpc2libGUubmV4dChyb3cpXCJcclxuICAgICAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyZWRSb3dJbmRleCA9IHJvd0luZGV4XCJcclxuICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWRSb3dJbmRleCA9IC0xXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaW5nbGVDb2x1bW5Sb3cocm93KVwiPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJzaW1wbGUtZ3JpZC1zaW5nbGUtY29sdW1uLWNlbGxcIiBbYXR0ci5jb2xzcGFuXT1cImhlYWRlckNvbHVtbnNDb3B5Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jZWxsXHJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtbnNbc2luZ2xlQ29sdW1uSW5kZXgocm93KV1cIlxyXG4gICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxyXG4gICAgICAgICAgICAgICAgW2VkaXRNb2RlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jZWxsPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzU2luZ2xlQ29sdW1uUm93KHJvdylcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGhlYWRlckNvbHVtbnNDb3B5OyBsZXQgY29sdW1uSW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1jZWxsXCIgKm5nSWY9XCJjb2x1bW5JbmRleCAhPT0gc2luZ2xlQ29sdW1uSW5kZXgocm93KVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNlbGxcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICBbcm93XT1cInJvd1wiXHJcbiAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZV09XCJpbmxpbmVFZGl0ICYmIGVkaXRpbmcgJiYgcm93SW5kZXggPT09IGVkaXRSb3dJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgIFtmaWVsZEVkaXRNb2RlXT1cImVkaXRDZWxsSW5kZXggPT09IGNvbHVtbkluZGV4ICYmIHJvd0luZGV4ID09PSBlZGl0Um93SW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAoY2VsbENsaWNrKT1cImhhbmRsZUNlbGxDbGljaygkZXZlbnQsIHJvdywgcm93SW5kZXgsIGNvbHVtbkluZGV4KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5yZXNpemFibGVcIiBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1zaXplci1wbGFjZWhvbGRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5saW5lRWRpdCAmJiBzaG93Um93QnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy1jb250YWluZXJcIiAqbmdJZj1cIiFlZGl0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImljb24taXRlbSBpY29uLWVkaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25zLmdldEljb24oSWNvbnMuUGVuVG9TcXVhcmVTb2xpZClcIiAqbmdJZj1cImhvdmVyZWRSb3dJbmRleCA9PT0gcm93SW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRSb3coJGV2ZW50LCB0cnVlLCByb3dJbmRleCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiaWNvbi1pdGVtIGljb24tZGVsZXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29ucy5nZXRJY29uKEljb25zLlRyYXNoQmluKVwiICpuZ0lmPVwiaG92ZXJlZFJvd0luZGV4ID09PSByb3dJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VGhlUm93KHJvd0luZGV4KTsgcmVtb3ZlUm93KCk7XCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdGluZyAmJiAoc2VsZWN0ZWRSb3dJbmRleCA9PT0gcm93SW5kZXggfHwgKGlzTmV3Um93ICYmIHJvd0luZGV4ID09PSBlZGl0Um93SW5kZXgpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29ucy5nZXRJY29uKEljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVBbmRTYXZlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdGluZyAmJiAoc2VsZWN0ZWRSb3dJbmRleCA9PT0gcm93SW5kZXggfHwgKGlzTmV3Um93ICYmIHJvd0luZGV4ID09PSBlZGl0Um93SW5kZXgpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29ucy5nZXRJY29uKEljb25zLkNyb3NzU2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxFZGl0Um93KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKSBcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L2NvLWZvcm0+XHJcbiAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG4gICAgPGNvLXBhZ2luYXRpb24tYmFyXHJcbiAgICAgICpuZ0lmPVwiZGF0YT8ubGVuZ3RoID4gcm93c1BlclBhZ2VcIiBjbGFzcz1cInBhZ2luYXRpb24tYmFyXCJcclxuICAgICAgW2l0ZW1zUGVyUGFnZV09XCJyb3dzUGVyUGFnZVwiXHJcbiAgICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICAgIFt0b3RhbEl0ZW1zXT1cImRhdGEubGVuZ3RoXCJcclxuICAgICAgW2F1dG9IaWRlXT1cInRydWVcIlxyXG4gICAgICAocHJldmlvdXNDbGljayk9XCJnb1RvUHJldmlvdXNQYWdlKClcIlxyXG4gICAgICAobmV4dENsaWNrKT1cImdvVG9OZXh0UGFnZSgpXCJcclxuICAgICAgKHBhZ2VDbGljayk9XCJzZXRDdXJyZW50UGFnZSgkZXZlbnQpXCI+XHJcbiAgICA8L2NvLXBhZ2luYXRpb24tYmFyPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbRm9ybU1hc3RlclNlcnZpY2VdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVHcmlkQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNpbXBsZUdyaWRDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0VGV4dEFsaWduOiBDb2x1bW5BbGlnbiA9IENvbHVtbkFsaWduLkxlZnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2hlYWRlckNlbGwnKSBzZXQgaGVhZGVyQ2VsbHMoY2VsbHMpIHtcclxuICAgIGNvbnN0IGhlYWRlckVsZW1lbnRzID0gY2VsbHMudG9BcnJheSgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoZWFkZXJFbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICB0aGlzLmNvbHVtbnNbaV0uZWxlbWVudFJlZiA9IGhlYWRlckVsZW1lbnRzW2ldO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZHJlbigncm93RWxlbWVudCcpIHJvd0VsZW1lbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dBZGQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0RlbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlZGl0T25DZWxsQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByaWdodFRvb2xiYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0dyaWRTZXR0aW5nczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3dzUGVyUGFnZTogbnVtYmVyID0gNTA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd0Rpc2FibGVkRm46IEZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q29sdW1uU29ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Um93QnV0dG9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBQcm9taXNlIGZ1bmN0aW9uLCBpZiBwcm92aWRlZCBzaG91bGQgcmV0dXJuIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5Sb3dCZUVkaXR0ZWRGbjogRnVuY3Rpb247XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2ltcGxlLWdyaWQnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaW5saW5lRWRpdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdUYWInKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuX25leHRBdmFpbGFibGVDZWxsVG9FZGl0KCFldmVudC5zaGlmdEtleSwgdGhpcy5lZGl0Q2VsbEluZGV4KVxyXG4gICAgICAgIC50aGVuKChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSBpbmRleDtcclxuICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRXNjYXBlJykge1xyXG4gICAgICB0aGlzLmNhbmNlbEVkaXRSb3coKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLnZhbGlkYXRlQW5kU2F2ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNTZXR0aW5nc01lbnVPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGVkaXRSb3dJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgcHVibGljIGVkaXRDZWxsSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFJvd0luZGV4OiBudW1iZXIgPSAtMTtcclxuICBwdWJsaWMgcm93VG9FZGl0OiBhbnk7XHJcbiAgcHVibGljIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIHB1YmxpYyBzb3J0Q29sdW1uVmFsdWU6IHN0cmluZztcclxuICBwdWJsaWMgc29ydERpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJztcclxuICBwdWJsaWMgaG92ZXJlZFJvd0luZGV4OiBudW1iZXIgPSAtMTtcclxuICBwdWJsaWMgcmVhZG9ubHkgSWNvbnMgPSBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gIHByaXZhdGUgX2RvdWJsZUNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9uZXdSb3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9uZXdSb3dSZWZlcmVuY2U6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbnM6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlcjogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGV4Y2VsRXhwb3J0U2VydmljZTogRXhjZWxFeHBvcnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5kYXRhQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNsaWNrT3V0c2lkZVJvdygpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsaWRhdGVBbmRTYXZlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SXNSb3dEaXNhYmxlZChpZHg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRSb3dzLmluZGV4T2YoaWR4KSA+IC0xO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGlzUm93RGlzYWJsZWQocm93OiBhbnksIGluZGV4OiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGlmICh0aGlzLnJvd0Rpc2FibGVkRm4gJiYgKHR5cGVvZiB0aGlzLnJvd0Rpc2FibGVkRm4gPT09ICdmdW5jdGlvbicpKSB7XHJcbiAgICAgIGNvbnN0IGRpc2FibGVkID0gYXdhaXQgdGhpcy5yb3dEaXNhYmxlZEZuLmNhbGwodGhpcywgcm93KTtcclxuICAgICAgY29uc3QgaWR4Um93OiBudW1iZXIgPSB0aGlzLmRpc2FibGVkUm93cy5pbmRleE9mKGluZGV4KTtcclxuICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgaWYgKGlkeFJvdyA8IDApIHtcclxuICAgICAgICAgIHRoaXMuZGlzYWJsZWRSb3dzLnB1c2goaW5kZXgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoaWR4Um93ID4gLTEpIHtcclxuICAgICAgICAgIHRoaXMuZGlzYWJsZWRSb3dzLnNwbGljZShpZHhSb3csIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZGlzYWJsZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkTmV3Um93KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuaW5saW5lRWRpdCkge1xyXG4gICAgICBjb25zdCB2YWxpZDogYm9vbGVhbiA9IHRoaXMudmFsaWRhdGVBbmRTYXZlKCk7XHJcbiAgICAgIGlmICh2YWxpZCkge1xyXG4gICAgICAgIHRoaXMuX25ld1Jvd1JlZmVyZW5jZSA9IHt9O1xyXG4gICAgICAgIHRoaXMuZGF0YS5wdXNoKHRoaXMuX25ld1Jvd1JlZmVyZW5jZSk7XHJcbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuX25ld1JvdyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucm93c1BlclBhZ2UgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IHRoaXMucm93c1BlclBhZ2UpIHtcclxuICAgICAgICAgIC8vIG5hdmlnYXRlIHRvIGxhc3QgcGFnZVxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IE1hdGguY2VpbCh0aGlzLmRhdGEubGVuZ3RoIC8gdGhpcy5yb3dzUGVyUGFnZSk7XHJcbiAgICAgICAgICBjb25zdCByZWxhdGl2ZUluZGV4OiBudW1iZXIgPSAodGhpcy5kYXRhLmxlbmd0aCAtIDEpICUgdGhpcy5yb3dzUGVyUGFnZTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IHJlbGF0aXZlSW5kZXg7XHJcbiAgICAgICAgICB0aGlzLmVkaXRSb3dJbmRleCA9IHJlbGF0aXZlSW5kZXg7XHJcblxyXG4gICAgICAgICAgLy8gc3RvcmUgcmVmZXJlbmNlXHJcbiAgICAgICAgICB0aGlzLnJvd1RvRWRpdCA9IHRoaXMuX25ld1Jvd1JlZmVyZW5jZTtcclxuICAgICAgICAgIHRoaXMuZWRpdENlbGxJbmRleCA9IGF3YWl0IHRoaXMuX25leHRBdmFpbGFibGVDZWxsVG9FZGl0KHRydWUpO1xyXG5cclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMucm93RWxlbWVudHM/Lmxhc3Q/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmIChlbCkge1xyXG4gICAgICAgICAgICAgIGVsLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJ30pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAyMDApO1xyXG5cclxuICAgICAgICAgIC8vIHJlc2V0IHJlZmVyZW5jZSB0byB0aGUgbmV3IHJvdyBhZnRlciBlZGl0Q2VsbEluZGV4XHJcbiAgICAgICAgICB0aGlzLnJvd1RvRWRpdCA9IHRoaXMuX25ld1Jvd1JlZmVyZW5jZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSB0aGlzLmRhdGEubGVuZ3RoIC0gMTtcclxuICAgICAgICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5fbmV3Um93UmVmZXJlbmNlO1xyXG4gICAgICAgICAgdGhpcy5lZGl0Q2VsbEluZGV4ID0gYXdhaXQgdGhpcy5fbmV4dEF2YWlsYWJsZUNlbGxUb0VkaXQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hZGRSb3cubmV4dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHZhbGlkYXRlQW5kU2F2ZShzdG9wZWRpdGluZzogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5lZGl0aW5nKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmFsaWQ6IGJvb2xlYW4gPSB0aGlzLl9mb3JtTWFzdGVyLnN1Ym1pdFNsYXZlcygpO1xyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgaWYgKHZhbGlkKSB7XHJcbiAgICAgIHRoaXMuX3NhdmVSb3coc3RvcGVkaXRpbmcpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWxFZGl0Um93KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmVkaXRpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX25ld1Jvdykge1xyXG4gICAgICB0aGlzLmRhdGEuc3BsaWNlKHRoaXMuZGF0YS5sZW5ndGggLSAxLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0YVt0aGlzLmVkaXRSb3dJbmRleF0gPSB0aGlzLnJvd1RvRWRpdDtcclxuICAgIH1cclxuICAgIHRoaXMuX3Jlc2V0RWRpdCgpO1xyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZVJvdygpOiB2b2lkIHtcclxuICAgIGxldCBhYnNvbHV0ZUluZGV4OiBudW1iZXIgPSB0aGlzLnNlbGVjdGVkUm93SW5kZXg7XHJcbiAgICBpZiAodGhpcy5yb3dzUGVyUGFnZSkge1xyXG4gICAgICBhYnNvbHV0ZUluZGV4ID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucm93c1BlclBhZ2UgKyB0aGlzLnNlbGVjdGVkUm93SW5kZXg7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlbGV0ZVJvdy5uZXh0KHRoaXMuZGF0YVthYnNvbHV0ZUluZGV4XSk7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50UGFnZSAhPT0gMSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvd0luZGV4ID0gLTE7XHJcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7dG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCd9KTtcclxuICAgIH1cclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGlja1JvdyhldmVudDogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5saW5lRWRpdCAmJiB0aGlzLnNob3dSb3dCdXR0b25zICYmICF0aGlzLmVkaXRpbmcpIHtcclxuICAgICAgdGhpcy5lZGl0aW5nID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5fZG91YmxlQ2xpY2tlZCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdFRoZVJvdyhpbmRleCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCAmJiAhdGhpcy5zaG93Um93QnV0dG9ucykge1xyXG4gICAgICAgICAgdGhpcy5lZGl0Um93KGV2ZW50LCB0cnVlLCBpbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAyMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFRoZVJvdyhpbmRleDogbnVtYmVyLCBlbWl0OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9PT0gLTEgfHwgKHRoaXMuc2VsZWN0ZWRSb3dJbmRleCAhPT0gaW5kZXggJiYgKCh0aGlzLmVkaXRpbmcgJiYgdGhpcy52YWxpZGF0ZUFuZFNhdmUoKSkgfHwgIXRoaXMuZWRpdGluZykpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IGluZGV4O1xyXG4gICAgICBjb25zdCBhYnNvbHV0ZUluZGV4OiBudW1iZXIgPSB0aGlzLnJvd3NQZXJQYWdlID8gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucm93c1BlclBhZ2UgKyBpbmRleCA6IGluZGV4O1xyXG4gICAgICBpZiAoZW1pdCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0Um93Lm5leHQodGhpcy5kYXRhW2Fic29sdXRlSW5kZXhdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZURibENsaWNrUm93KGV2ZW50OiBNb3VzZUV2ZW50LCBpbmRleDogbnVtYmVyLCByb3c6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKGF3YWl0IHRoaXMuaXNSb3dEaXNhYmxlZChyb3csIGluZGV4KSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXggPSAtMTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGNhbkVkaXQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuY2FuUm93QmVFZGl0dGVkRm4gJiYgdHlwZW9mIHRoaXMuY2FuUm93QmVFZGl0dGVkRm4gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY2FuRWRpdCA9IGF3YWl0IHRoaXMuY2FuUm93QmVFZGl0dGVkRm4uY2FsbCh0aGlzLCByb3cpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNhbkVkaXQpIHtcclxuICAgICAgdGhpcy5fZG91YmxlQ2xpY2tlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGJsQ2xpY2tSb3cubmV4dCh0aGlzLmRhdGFbaW5kZXhdKTtcclxuICAgICAgdGhpcy5zZWxlY3RUaGVSb3coaW5kZXgsIGZhbHNlKTtcclxuICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCAmJiAhdGhpcy5zaG93Um93QnV0dG9ucykge1xyXG4gICAgICAgIHRoaXMuZWRpdFJvdyhldmVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX3Jlc2V0RGJsQ2xpY2soKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBlZGl0Um93KGV2ZW50OiBNb3VzZUV2ZW50LCBzZWxlY3RDZWxsOiBib29sZWFuID0gdHJ1ZSwgcm93SW5kZXg/OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChyb3dJbmRleCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0VGhlUm93KHJvd0luZGV4KTtcclxuICAgIH1cclxuICAgIHRoaXMuZWRpdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVkaXRSb3dJbmRleCA9IHRoaXMuc2VsZWN0ZWRSb3dJbmRleDtcclxuICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW3RoaXMuZWRpdFJvd0luZGV4XTtcclxuXHJcbiAgICBpZiAodGhpcy5zaG93Um93QnV0dG9ucyAmJiB0aGlzLmlubGluZUVkaXQgJiYgc2VsZWN0Q2VsbCkge1xyXG4gICAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSBhd2FpdCB0aGlzLl9uZXh0QXZhaWxhYmxlQ2VsbFRvRWRpdCh0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDZWxsQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIHJvdzogYW55LCByb3dJbmRleDogbnVtYmVyLCBjZWxsSW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuZWRpdE9uQ2VsbENsaWNrKSB7XHJcbiAgICAgIGlmIChhd2FpdCB0aGlzLmlzUm93RGlzYWJsZWQocm93LCByb3dJbmRleCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXggPSAtMTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCkge1xyXG4gICAgICAgIHRoaXMuZWRpdFJvd0luZGV4ID0gcm93SW5kZXg7XHJcbiAgICAgICAgdGhpcy5lZGl0Q2VsbEluZGV4ID0gY2VsbEluZGV4O1xyXG4gICAgICAgIHRoaXMuZWRpdGluZyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdENlbGxJbmRleCA9IGNlbGxJbmRleDtcclxuICAgIH1cclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVTZXR0aW5nc01lbnUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhlYWRlckNvbHVtbnNDb3B5LmZvckVhY2goaSA9PiBpLmlzU2VsZWN0ZWQgPSBmYWxzZSk7XHJcbiAgICB0aGlzLmlzU2V0dGluZ3NNZW51T3BlbiA9ICF0aGlzLmlzU2V0dGluZ3NNZW51T3BlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVDb2x1bW5NZW51KGNvbDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2hvd0dyaWRTZXR0aW5ncykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc1NldHRpbmdzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgIGlmIChjb2wuaXNTZWxlY3RlZCkge1xyXG4gICAgICBjb2wuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5oZWFkZXJDb2x1bW5zQ29weS5mb3JFYWNoKGkgPT4gaS5pc1NlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgICBjb2wuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZUNvbHVtbihjb2w6IGFueSk6IHZvaWQge1xyXG4gICAgY29sLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkgPSB0aGlzLmhlYWRlckNvbHVtbnNDb3B5LmZpbHRlcigob2JqKSA9PiB7XHJcbiAgICAgIHJldHVybiBvYmogIT09IGNvbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNvcnRDb2x1bW4oY29sOiBhbnksIGNvbHVtblZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbC5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMuc29ydENvbHVtblZhbHVlID09PSBjb2x1bW5WYWx1ZSkge1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRDb2x1bW5WYWx1ZSA9IGNvbHVtblZhbHVlO1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSAnYXNjJztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG5cclxuICAgIGNvbnN0IHNvcnRlZCA9IFsuLi50aGlzLmRhdGFdLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgbGV0IHZhbEEgPSBhW2NvbHVtblZhbHVlXTtcclxuICAgICAgbGV0IHZhbEIgPSBiW2NvbHVtblZhbHVlXTtcclxuXHJcbiAgICAgIGlmICh2YWxBID09IG51bGwgJiYgdmFsQiA9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHZhbEEgPT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiAtMSAqIGRpcmVjdGlvbjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsQiA9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIDEgKiBkaXJlY3Rpb247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEhhbmRsZSBJU08gZGF0ZSBzdHJpbmdcclxuICAgICAgY29uc3QgaXNEYXRlQSA9IHR5cGVvZiB2YWxBID09PSAnc3RyaW5nJyAmJiAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VC8udGVzdCh2YWxBKTtcclxuICAgICAgY29uc3QgaXNEYXRlQiA9IHR5cGVvZiB2YWxCID09PSAnc3RyaW5nJyAmJiAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VC8udGVzdCh2YWxCKTtcclxuXHJcbiAgICAgIGlmIChpc0RhdGVBICYmIGlzRGF0ZUIpIHtcclxuICAgICAgICBjb25zdCB0aW1lQSA9IG5ldyBEYXRlKHZhbEEpLmdldFRpbWUoKTtcclxuICAgICAgICBjb25zdCB0aW1lQiA9IG5ldyBEYXRlKHZhbEIpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gKHRpbWVBIC0gdGltZUIpICogZGlyZWN0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBGYWxsYmFjayBmb3IgbnVtYmVycy9zdHJpbmdzXHJcbiAgICAgIGlmICh0eXBlb2YgdmFsQSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbEIgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbEEubG9jYWxlQ29tcGFyZSh2YWxCKSAqIGRpcmVjdGlvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuICh2YWxBID4gdmFsQiA/IDEgOiB2YWxBIDwgdmFsQiA/IC0xIDogMCkgKiBkaXJlY3Rpb247XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmRhdGEgPSBzb3J0ZWQ7XHJcbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0FsbENvbHVtbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzU2V0dGluZ3NNZW51T3BlbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5oZWFkZXJDb2x1bW5zQ29weSA9IHRoaXMuaGVhZGVyQ29sdW1ucztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnRUb0V4Y2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc1NldHRpbmdzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgIGNvbnN0IGV4cG9ydERhdGE6IE9iamVjdFtdID0gdGhpcy5leHBvcnREYXRhLmxlbmd0aCA+IDAgPyB0aGlzLl9maWx0ZXJTZWxlY3RlZE9yUmV0dXJuQWxsKHRoaXMuZXhwb3J0RGF0YSkgOiB0aGlzLl9maWx0ZXJTZWxlY3RlZE9yUmV0dXJuQWxsKHRoaXMuZGF0YSk7XHJcbiAgICBjb25zdCBjb2x1bW5zOiBFeHBvcnRDb2x1bW5bXSA9IHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkubWFwKGNvbHVtbiA9PiB7XHJcbiAgICAgIHJldHVybiAoe1xyXG4gICAgICAgIGtleTogY29sdW1uLmZpZWxkLFxyXG4gICAgICAgIGhlYWRlcjogY29sdW1uLmhlYWRlclRleHRcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gY29sdW1ucy5tYXAoY29sID0+IGNvbC5oZWFkZXIpO1xyXG4gICAgY29uc3Qgcm93cyA9IGV4cG9ydERhdGEubWFwKHJvdyA9PlxyXG4gICAgICBjb2x1bW5zLm1hcChjb2wgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gcm93W2NvbC5rZXldO1xyXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB2YWx1ZS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF07XHJcbiAgICAgICAgICBjb25zdCBbeWVhciwgbW9udGgsIGRheV0gPSBmb3JtYXR0ZWREYXRlLnNwbGl0KCctJyk7XHJcbiAgICAgICAgICByZXR1cm4gYCR7ZGF5fS0ke21vbnRofS0ke3llYXJ9YDtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgIGNvbnN0IGhhc0RlY2ltYWwgPSAobnVtKSA9PiAhTnVtYmVyLmlzSW50ZWdlcihudW0pO1xyXG4gICAgICAgICAgcmV0dXJuIGhhc0RlY2ltYWwodmFsdWUpID8gdmFsdWUudG9GaXhlZCgyKSA6IHZhbHVlLnRvRml4ZWQoMCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlLmpvaW4oJywgJyk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5pbmNsdWRlcygnVDAwOjAwOjAwJykpIHtcclxuICAgICAgICAgICAgY29uc3QgW3llYXIsIG1vbnRoLCBkYXldID0gdmFsdWUucmVwbGFjZSgnVDAwOjAwOjAwJywgJycpLnNwbGl0KCctJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBjb25zdCBjc3ZDb250ZW50ID0gW2hlYWRlcnMsIC4uLnJvd3NdLm1hcChyb3cgPT5cclxuICAgIC8vICAgcm93Lm1hcChjZWxsID0+IGBcIiR7Y2VsbC5yZXBsYWNlKC9cIi9nLCAnXCJcIicpfVwiYCkuam9pbignLCcpXHJcbiAgICAvLyApLmpvaW4oJ1xcclxcbicpO1xyXG5cclxuICAgIGNvbnN0IGNzdkNvbnRlbnQ6IHN0cmluZyA9IFtoZWFkZXJzLCAuLi5yb3dzXS5tYXAocm93ID0+XHJcbiAgICAgIHJvdy5tYXAoKGNlbGw6IHN0cmluZykgPT4gYFwiJHtTdHJpbmcoY2VsbCkucmVwbGFjZSgvXCIvZywgJ1wiXCInKX1cImApLmpvaW4oJywnKVxyXG4gICAgKS5qb2luKCdcXHJcXG4nKTtcclxuXHJcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NzdkNvbnRlbnRdLCB7dHlwZTogJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTg7J30pO1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcblxyXG4gICAgbGluay5ocmVmID0gdXJsO1xyXG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgJ0V4Y2VsU2hlZXQnKTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG5cclxuICAgIC8vIHRoaXMuZXhjZWxFeHBvcnRTZXJ2aWNlLmV4cG9ydFRvRXhjZWwoXHJcbiAgICAvLyAgIHRoaXMuZGF0YSxcclxuICAgIC8vICAgY29sdW1ucyxcclxuICAgIC8vICAgJ0V4Y2VsU2hlZXQnLFxyXG4gICAgLy8gICAnU2hlZXQxJ1xyXG4gICAgLy8gKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlclNlbGVjdGVkT3JSZXR1cm5BbGwoaXRlbXM6IGFueSkge1xyXG4gICAgY29uc3QgaGFzU2VsZWN0ZWRUcnVlOiBib29sZWFuID0gaXRlbXMuc29tZShpdGVtID0+IGl0ZW0uc2VsZWN0ZWQgPT09IHRydWUpO1xyXG4gICAgcmV0dXJuIGhhc1NlbGVjdGVkVHJ1ZSA/IGl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0uc2VsZWN0ZWQgPT09IHRydWUpIDogaXRlbXM7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcHJlcGFyZURhdGFSb3cocm93OiBhbnksIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNSb3dEaXNhYmxlZChyb3csIGluZGV4KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Jlc2V0RGJsQ2xpY2soKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fZG91YmxlQ2xpY2tlZCA9IGZhbHNlO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5leHQ7IE1vdmUgdG8gbmV4dCBvciBwcmV2aW91cyBjZWxsXHJcbiAgICogQHBhcmFtIHN0YXJ0OyBTdGFydCBmcm9tIGNlbGxpbmRleFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfbmV4dEF2YWlsYWJsZUNlbGxUb0VkaXQobmV4dDogYm9vbGVhbiwgc3RhcnQ6IG51bWJlciA9IC0xKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgY29uc3QgbnVtRWRpdGFibGVDb2x1bW5zOiBudW1iZXIgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGMgPT4gIWMucmVhZG9ubHkpLmxlbmd0aDtcclxuICAgICAgY29uc3Qgd2FudGVkSW5kZXggPSBzdGFydCArIChuZXh0ID8gMSA6IC0xKTtcclxuICAgICAgaWYgKHdhbnRlZEluZGV4ID49IG51bUVkaXRhYmxlQ29sdW1ucykge1xyXG4gICAgICAgIHRoaXMuX2dldE5leHRFZGl0Um93SW5kZXgoKVxyXG4gICAgICAgICAgLnRoZW4oKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSBpbmRleDtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9nZXROZXh0RWRpdENlbGxJbmRleCgwKSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAod2FudGVkSW5kZXggPCAwKSB7XHJcbiAgICAgICAgdGhpcy5fZ2V0UHJldmlvdXNFZGl0Um93SW5kZXgoKVxyXG4gICAgICAgICAgLnRoZW4oKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSBpbmRleDtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9nZXRQcmV2aW91c0VkaXRDZWxsSW5kZXgodGhpcy5jb2x1bW5zLmxlbmd0aCAtIDEpKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcclxuICAgICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXNvbHZlKG5leHQgPyB0aGlzLl9nZXROZXh0RWRpdENlbGxJbmRleChzdGFydCArIDEpIDogdGhpcy5fZ2V0UHJldmlvdXNFZGl0Q2VsbEluZGV4KHN0YXJ0IC0gMSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5leHRFZGl0Q2VsbEluZGV4KHN0YXJ0OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gc3RhcnQ7IGkgPCB0aGlzLmNvbHVtbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKCF0aGlzLmNvbHVtbnNbaV0ucmVhZG9ubHkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UHJldmlvdXNFZGl0Q2VsbEluZGV4KHN0YXJ0OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gc3RhcnQ7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGlmICghdGhpcy5jb2x1bW5zW2ldLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5leHRFZGl0Um93SW5kZXgoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgbGV0IG5ld1Jvd0luZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgICBpZiAodGhpcy5lZGl0Um93SW5kZXggKyAxID49IHRoaXMuZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICBpZiAodGhpcy5hdXRvQWRkUm93KSB7XHJcbiAgICAgICAgICB0aGlzLmFkZE5ld1JvdygpO1xyXG4gICAgICAgICAgbmV3Um93SW5kZXggPSB0aGlzLmVkaXRSb3dJbmRleDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbmV3Um93SW5kZXggPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdSb3dJbmRleCA9IHRoaXMuZWRpdFJvd0luZGV4ICsgMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobmV3Um93SW5kZXggIT09IHRoaXMuZWRpdFJvd0luZGV4KSB7IC8vIGdvIHRvIGRpZmZlcmVudCByb3cgdmFsaWRhdGUgY3VycmVudCBvbmUgZmlyc3RcclxuICAgICAgICBpZiAodGhpcy52YWxpZGF0ZUFuZFNhdmUoZmFsc2UpKSB7XHJcbiAgICAgICAgICB0aGlzLnJvd1RvRWRpdCA9IHRoaXMuZGF0YVtuZXdSb3dJbmRleF07XHJcbiAgICAgICAgICByZXNvbHZlKG5ld1Jvd0luZGV4KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc29sdmUobmV3Um93SW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByZXZpb3VzRWRpdFJvd0luZGV4KCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGxldCBuZXdSb3dJbmRleDogbnVtYmVyID0gMDtcclxuICAgICAgaWYgKHRoaXMuZWRpdFJvd0luZGV4IC0gMSA8IDApIHtcclxuICAgICAgICBuZXdSb3dJbmRleCA9IHRoaXMuZGF0YS5sZW5ndGggLSAxO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld1Jvd0luZGV4ID0gdGhpcy5lZGl0Um93SW5kZXggLSAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChuZXdSb3dJbmRleCAhPT0gdGhpcy5lZGl0Um93SW5kZXgpIHsgLy8gZ28gdG8gZGlmZmVyZW50IHJvdyB2YWxpZGF0ZSBjdXJyZW50IG9uZSBmaXJzdFxyXG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlQW5kU2F2ZShmYWxzZSkpIHtcclxuICAgICAgICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW25ld1Jvd0luZGV4XTtcclxuICAgICAgICAgIHJlc29sdmUobmV3Um93SW5kZXgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzb2x2ZShuZXdSb3dJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2F2ZVJvdyhzdG9wZWRpdGluZzogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9uZXdSb3cpIHtcclxuICAgICAgdGhpcy5zYXZlUm93Lm5leHQodGhpcy5fbmV3Um93UmVmZXJlbmNlKTtcclxuICAgICAgdGhpcy5fbmV3Um93UmVmZXJlbmNlID0gbnVsbDsgLy8gY2xlYXJcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBpbmRleDogbnVtYmVyID0gLTE7IC8vIGV4aXN0aW5nIHJvd1xyXG5cclxuICAgICAgaWYgKHRoaXMucm93c1BlclBhZ2UpIHtcclxuICAgICAgICBpbmRleCA9ICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnJvd3NQZXJQYWdlICsgdGhpcy5lZGl0Um93SW5kZXg7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaW5kZXggPSB0aGlzLmVkaXRSb3dJbmRleDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5zYXZlUm93Lm5leHQodGhpcy5kYXRhW2luZGV4XSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlICE9PSAxKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXggPSAtMTtcclxuICAgICAgd2luZG93LnNjcm9sbFRvKHt0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJ30pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fbmV3Um93ID0gZmFsc2U7XHJcbiAgICBpZiAoc3RvcGVkaXRpbmcpIHtcclxuICAgICAgdGhpcy5fcmVzZXRFZGl0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1ByZXZpb3VzUGFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgLT0gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb1RvTmV4dFBhZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlICs9IDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q3VycmVudFBhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RldGVjdENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXRFZGl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmV3Um93ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXggPSAtMTtcclxuICAgIHRoaXMuZWRpdFJvd0luZGV4ID0gLTE7XHJcbiAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSAtMTtcclxuICAgIHRoaXMuZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5yb3dUb0VkaXQgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzTmV3Um93KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX25ld1JvdztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBJY29uQ2FjaGVTZXJ2aWNlID0gSWNvbkNhY2hlU2VydmljZTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ29yZUNvbXBvbmVudHNJY29uID0gQ29yZUNvbXBvbmVudHNJY29uO1xyXG59XHJcbiJdfQ==
748
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NpbXBsZS1ncmlkL3NpbXBsZS1ncmlkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBcUw1RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBOEY5RCxZQUNTLEtBQXVCLEVBQ3RCLGdCQUFtQyxFQUNuQyxXQUE4QjtRQUV0QyxLQUFLLEVBQUUsQ0FBQztRQUpELFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDbkMsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBaEd4QixxQkFBZ0IsR0FBZ0IsV0FBVyxDQUFDLElBQUksQ0FBQztRQVkxRCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFHaEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHOUIscUJBQWdCLEdBQVksS0FBSyxDQUFD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O2dCQUMxQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJLVDtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFwTE8sZ0JBQWdCO1lBWnRCLGlCQUFpQjtZQVFYLGlCQUFpQjs7OzBCQTRMdEIsWUFBWSxTQUFDLFlBQVk7MEJBT3pCLFlBQVksU0FBQyxZQUFZO3NCQUV6QixLQUFLO3lCQUdMLEtBQUs7OEJBR0wsS0FBSzsyQkFHTCxLQUFLOytCQUdMLEtBQUs7MEJBR0wsS0FBSzs0QkFHTCxLQUFLOzZCQUdMLEtBQUs7NkJBR0wsS0FBSztnQ0FNTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyxzQkFBc0I7NEJBS2xDLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlL2Zvcm0tbWFzdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Jhc2VTaW1wbGVHcmlkQ29tcG9uZW50fSBmcm9tICcuL2Jhc2Utc2ltcGxlLWdyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtDb2x1bW5BbGlnbn0gZnJvbSAnLi9zaW1wbGUtZ3JpZC1jb2x1bW4uZGlyZWN0aXZlJztcclxuaW1wb3J0IHtDb3JlQ29tcG9uZW50c0ljb259IGZyb20gJy4uLy4uL2NvcmUvZW51bS9jb3JlLWNvbXBvbmVudHMtaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi9pY29uL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7RXhwb3J0Q29sdW1ufSBmcm9tICcuLi8uLi9zZXJ2aWNlL2V4Y2VsLWV4cG9ydC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2ltcGxlLWdyaWQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZ3JpZC10b29sYmFyXHJcbiAgICAgICpuZ0lmPVwic2hvd1Rvb2xiYXJcIiBbY2xhc3MucmlnaHRdPVwicmlnaHRUb29sYmFyXCJcclxuICAgICAgW3Nob3dFZGl0XT1cInNob3dFZGl0XCJcclxuICAgICAgW3Nob3dBZGRdPVwic2hvd0FkZFwiXHJcbiAgICAgIFtzaG93RGVsZXRlXT1cInNob3dEZWxldGVcIlxyXG4gICAgICBbZGVsZXRlRW5hYmxlZF09XCJzZWxlY3RlZFJvd0luZGV4ID4gLTFcIlxyXG4gICAgICAoYWRkQ2xpY2spPVwiYWRkTmV3Um93KClcIlxyXG4gICAgICAoZWRpdENsaWNrKT1cImVkaXRSb3coJGV2ZW50KVwiXHJcbiAgICAgIChzYXZlQ2xpY2spPVwidmFsaWRhdGVBbmRTYXZlKClcIlxyXG4gICAgICAoY2FuY2VsQ2xpY2spPVwiY2FuY2VsRWRpdFJvdygpXCJcclxuICAgICAgKGRlbGV0ZUNsaWNrKT1cInJlbW92ZVJvdygpXCI+XHJcbiAgICA8L2NvLWdyaWQtdG9vbGJhcj5cclxuXHJcbiAgICA8dGFibGVcclxuICAgICAgaWQ9XCJzaW1wbGUtZ3JpZC10YWJsZVwiXHJcbiAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWQtdGFibGVcIlxyXG4gICAgICBbY2xpY2tPdXRzaWRlXT1cImVkaXRpbmdcIlxyXG4gICAgICAoY2xpY2tPdXRzaWRlKT1cImhhbmRsZUNsaWNrT3V0c2lkZVJvdygpXCI+XHJcbiAgICAgIDxjb2xncm91cD5cclxuICAgICAgICA8Y29sXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGhlYWRlckNvbHVtbnNDb3B5OyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICBbY2xhc3Muc2ltcGxlLWdyaWQtY29sdW1uLWF1dG8tZml0XT1cImNvbHVtbi5hdXRvRml0XCJcclxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb2x1bW4ud2lkdGhcIlxyXG4gICAgICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJNSU5fQ09MVU1OX1dJRFRIXCI+XHJcbiAgICAgIDwvY29sZ3JvdXA+XHJcbiAgICAgIDx0aGVhZD5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0aFxyXG4gICAgICAgICAgc2NvcGU9XCJjb2xcIlxyXG4gICAgICAgICAgI2hlYWRlckNlbGxcclxuICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWQtY29sdW1uLWhlYWRlclwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGhlYWRlckNvbHVtbnNDb3B5OyBsZXQgaW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1oZWFkZXItd3JhcHBlclwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5yZXNpemFibGVdPVwicmVzaXphYmxlXCJcclxuICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImNvbHVtbi5pc1NlbGVjdGVkXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLnRleHRBbGlnbiA/IGNvbHVtbi50ZXh0QWxpZ24gOiBkZWZhdWx0VGV4dEFsaWduXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uaGVhZGVyVGVtcGxhdGU7IGVsc2Ugbm9IZWFkZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4taGVhZGVyLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi50ZXh0QWxpZ24gPyBjb2x1bW4udGV4dEFsaWduIDogZGVmYXVsdFRleHRBbGlnblwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3Mud2l0aC1tZW51XT1cInNob3dHcmlkU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLndpdGgtc29ydF09XCJzaG93Q29sdW1uU29ydFwiXHJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiY29sdW1uLmhlYWRlclRleHQgfHwgJyZuYnNwOydcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dDb2x1bW5Tb3J0ID8gc29ydENvbHVtbihjb2x1bW4sIGNvbHVtbi5maWVsZCkgOiB0b2dnbGVDb2x1bW5NZW51KGNvbHVtbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtY29sdW1uXCIgKm5nSWY9XCJzaG93Q29sdW1uU29ydFwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic29ydENvbHVtbihjb2x1bW4sIGNvbHVtbj8uZmllbGQpXCJcclxuICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25zLmdldEljb24oSWNvbnMuQXJyb3dVcEFycm93RG93bilcIj5cclxuICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLW1lbnVcIiAqbmdJZj1cImNvbHVtbi5pc1NlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgW3RleHRDb250ZW50XT1cIidDT0xVTU5fT1BUSU9OUycgfCBjb3JlTG9jYWxpemVcIj48L2gzPlxyXG4gICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICA8bGkgKGNsaWNrKT1cImhpZGVDb2x1bW4oY29sdW1uKVwiPkhpZGUgQ29sdW1uPC9saT5cclxuICAgICAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJzb3J0Q29sdW1uKGNvbHVtbiwgY29sdW1uLmZpZWxkKVwiPlNvcnQgQ29sdW1uPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdJZj1cInJlc2l6YWJsZSAmJiBjb2x1bW4ucmVzaXphYmxlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1zaXplclwiXHJcbiAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJoYW5kbGVTaXplck1vdXNlRG93bigkZXZlbnQsIGNvbHVtbilcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICA8L3RyPlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cInNob3dHcmlkU2V0dGluZ3NcIiBjbGFzcz1cImdyaWQtc2V0dGluZ3NcIj5cclxuICAgICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNTZXR0aW5nc01lbnVPcGVuXCJcclxuICAgICAgICAgIFtpY29uRGF0YV09XCJpY29ucy5nZXRJY29uKEljb25zLkNvZ1doZWVscylcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNldHRpbmdzTWVudSgpXCI+XHJcbiAgICAgICAgPC9jby1idXR0b24+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1tZW51XCIgKm5nSWY9XCJpc1NldHRpbmdzTWVudU9wZW5cIj5cclxuICAgICAgICAgIDxoMyBbdGV4dENvbnRlbnRdPVwiJ0dSSURfT1BUSU9OUycgfCBjb3JlTG9jYWxpemVcIj48L2gzPlxyXG4gICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKGNsaWNrKT1cImV4cG9ydFRvRXhjZWwoKVwiPkV4cG9ydCB0byBFeGNlbDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImhlYWRlckNvbHVtbnNDb3B5Lmxlbmd0aCAhPT0gaGVhZGVyQ29sdW1ucy5sZW5ndGhcIiAoY2xpY2spPVwic2hvd0FsbENvbHVtbnMoKVwiPlxyXG4gICAgICAgICAgICAgIFNob3cgQWxsIENvbHVtbnNcclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RoZWFkPlxyXG4gICAgICA8dGJvZHlcclxuICAgICAgICAjZHJvcExpc3QgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLWRyYWctZHJvcC1saXN0XCJcclxuICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhZHJhZ0Ryb3BFbmFibGVkIHx8IGVkaXRpbmdcIlxyXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwiaGFuZGxlQ2FuRHJhZ0Ryb3BcIlxyXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCI+XHJcbiAgICAgIDxjby1mb3JtIGNsYXNzPVwic2ltcGxlLWdyaWQtcm93LWZvcm1cIj5cclxuICAgICAgICA8dHJcclxuICAgICAgICAgICNyb3dFbGVtZW50XHJcbiAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkLXJvd1wiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwicm93SW5kZXggPT09IHNlbGVjdGVkUm93SW5kZXggJiYgIWVkaXRpbmdcIiBvYnNlcnZlVmlzaWJpbGl0eVxyXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImdldElzUm93RGlzYWJsZWQocm93SW5kZXgpXCJcclxuICAgICAgICAgIFtjbGFzcy5lZGl0aW5nXT1cInJvd0luZGV4ID09PSBlZGl0Um93SW5kZXhcIlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHJvdyBvZiAoISFyb3dzUGVyUGFnZSA/IChkYXRhIHwgcGFnaW5hdGU6IHtpdGVtc1BlclBhZ2U6IHJvd3NQZXJQYWdlLCBjdXJyZW50UGFnZTogY3VycmVudFBhZ2V9KSA6IGRhdGEpOyBsYXN0IGFzIGxhc3Q7IGxldCByb3dJbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGlja1JvdygkZXZlbnQsIHJvd0luZGV4KVwiIChkYmxjbGljayk9XCJoYW5kbGVEYmxDbGlja1JvdygkZXZlbnQsIHJvd0luZGV4LCByb3cpXCJcclxuICAgICAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cInJvd1Zpc2libGUubmV4dChyb3cpXCJcclxuICAgICAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyZWRSb3dJbmRleCA9IHJvd0luZGV4XCJcclxuICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWRSb3dJbmRleCA9IC0xXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaW5nbGVDb2x1bW5Sb3cocm93KVwiPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJzaW1wbGUtZ3JpZC1zaW5nbGUtY29sdW1uLWNlbGxcIiBbYXR0ci5jb2xzcGFuXT1cImhlYWRlckNvbHVtbnNDb3B5Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jZWxsXHJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtbnNbc2luZ2xlQ29sdW1uSW5kZXgocm93KV1cIlxyXG4gICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxyXG4gICAgICAgICAgICAgICAgW2VkaXRNb2RlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jZWxsPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzU2luZ2xlQ29sdW1uUm93KHJvdylcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGhlYWRlckNvbHVtbnNDb3B5OyBsZXQgY29sdW1uSW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1jZWxsXCIgKm5nSWY9XCJjb2x1bW5JbmRleCAhPT0gc2luZ2xlQ29sdW1uSW5kZXgocm93KVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNlbGxcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICBbcm93XT1cInJvd1wiXHJcbiAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZV09XCJpbmxpbmVFZGl0ICYmIGVkaXRpbmcgJiYgcm93SW5kZXggPT09IGVkaXRSb3dJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgIFtmaWVsZEVkaXRNb2RlXT1cImVkaXRDZWxsSW5kZXggPT09IGNvbHVtbkluZGV4ICYmIHJvd0luZGV4ID09PSBlZGl0Um93SW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAoY2VsbENsaWNrKT1cImhhbmRsZUNlbGxDbGljaygkZXZlbnQsIHJvdywgcm93SW5kZXgsIGNvbHVtbkluZGV4KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5yZXNpemFibGVcIiBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1zaXplci1wbGFjZWhvbGRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5saW5lRWRpdCAmJiBzaG93Um93QnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy1jb250YWluZXJcIiAqbmdJZj1cIiFlZGl0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImljb24taXRlbSBpY29uLWVkaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25zLmdldEljb24oSWNvbnMuUGVuVG9TcXVhcmVTb2xpZClcIiAqbmdJZj1cImhvdmVyZWRSb3dJbmRleCA9PT0gcm93SW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRSb3coJGV2ZW50LCB0cnVlLCByb3dJbmRleCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiaWNvbi1pdGVtIGljb24tZGVsZXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29ucy5nZXRJY29uKEljb25zLlRyYXNoQmluKVwiICpuZ0lmPVwiaG92ZXJlZFJvd0luZGV4ID09PSByb3dJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VGhlUm93KHJvd0luZGV4KTsgcmVtb3ZlUm93KCk7XCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdGluZyAmJiAoc2VsZWN0ZWRSb3dJbmRleCA9PT0gcm93SW5kZXggfHwgKGlzTmV3Um93ICYmIHJvd0luZGV4ID09PSBlZGl0Um93SW5kZXgpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29ucy5nZXRJY29uKEljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVBbmRTYXZlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdGluZyAmJiAoc2VsZWN0ZWRSb3dJbmRleCA9PT0gcm93SW5kZXggfHwgKGlzTmV3Um93ICYmIHJvd0luZGV4ID09PSBlZGl0Um93SW5kZXgpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29ucy5nZXRJY29uKEljb25zLkNyb3NzU2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxFZGl0Um93KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKSBcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L2NvLWZvcm0+XHJcbiAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG4gICAgPGNvLXBhZ2luYXRpb24tYmFyXHJcbiAgICAgICpuZ0lmPVwiZGF0YT8ubGVuZ3RoID4gcm93c1BlclBhZ2VcIiBjbGFzcz1cInBhZ2luYXRpb24tYmFyXCJcclxuICAgICAgW2l0ZW1zUGVyUGFnZV09XCJyb3dzUGVyUGFnZVwiXHJcbiAgICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICAgIFt0b3RhbEl0ZW1zXT1cImRhdGEubGVuZ3RoXCJcclxuICAgICAgW2F1dG9IaWRlXT1cInRydWVcIlxyXG4gICAgICAocHJldmlvdXNDbGljayk9XCJnb1RvUHJldmlvdXNQYWdlKClcIlxyXG4gICAgICAobmV4dENsaWNrKT1cImdvVG9OZXh0UGFnZSgpXCJcclxuICAgICAgKHBhZ2VDbGljayk9XCJzZXRDdXJyZW50UGFnZSgkZXZlbnQpXCI+XHJcbiAgICA8L2NvLXBhZ2luYXRpb24tYmFyPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbRm9ybU1hc3RlclNlcnZpY2VdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaW1wbGVHcmlkQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNpbXBsZUdyaWRDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0VGV4dEFsaWduOiBDb2x1bW5BbGlnbiA9IENvbHVtbkFsaWduLkxlZnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2hlYWRlckNlbGwnKSBzZXQgaGVhZGVyQ2VsbHMoY2VsbHMpIHtcclxuICAgIGNvbnN0IGhlYWRlckVsZW1lbnRzID0gY2VsbHMudG9BcnJheSgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoZWFkZXJFbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICB0aGlzLmNvbHVtbnNbaV0uZWxlbWVudFJlZiA9IGhlYWRlckVsZW1lbnRzW2ldO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZHJlbigncm93RWxlbWVudCcpIHJvd0VsZW1lbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dBZGQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0RlbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlZGl0T25DZWxsQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByaWdodFRvb2xiYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0dyaWRTZXR0aW5nczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3dzUGVyUGFnZTogbnVtYmVyID0gNTA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd0Rpc2FibGVkRm46IEZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q29sdW1uU29ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Um93QnV0dG9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBQcm9taXNlIGZ1bmN0aW9uLCBpZiBwcm92aWRlZCBzaG91bGQgcmV0dXJuIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5Sb3dCZUVkaXR0ZWRGbjogRnVuY3Rpb247XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2ltcGxlLWdyaWQnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaW5saW5lRWRpdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdUYWInKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuX25leHRBdmFpbGFibGVDZWxsVG9FZGl0KCFldmVudC5zaGlmdEtleSwgdGhpcy5lZGl0Q2VsbEluZGV4KVxyXG4gICAgICAgIC50aGVuKChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSBpbmRleDtcclxuICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChldmVudC5jb2RlID09PSAnRXNjYXBlJykge1xyXG4gICAgICB0aGlzLmNhbmNlbEVkaXRSb3coKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLnZhbGlkYXRlQW5kU2F2ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNTZXR0aW5nc01lbnVPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGVkaXRSb3dJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgcHVibGljIGVkaXRDZWxsSW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFJvd0luZGV4OiBudW1iZXIgPSAtMTtcclxuICBwdWJsaWMgcm93VG9FZGl0OiBhbnk7XHJcbiAgcHVibGljIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIHB1YmxpYyBzb3J0Q29sdW1uVmFsdWU6IHN0cmluZztcclxuICBwdWJsaWMgc29ydERpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJztcclxuICBwdWJsaWMgaG92ZXJlZFJvd0luZGV4OiBudW1iZXIgPSAtMTtcclxuICBwdWJsaWMgcmVhZG9ubHkgSWNvbnMgPSBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gIHByaXZhdGUgX2RvdWJsZUNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9uZXdSb3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9uZXdSb3dSZWZlcmVuY2U6IGFueTtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEljb25DYWNoZVNlcnZpY2UgPSBJY29uQ2FjaGVTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25zOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX2Zvcm1NYXN0ZXI6IEZvcm1NYXN0ZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5kYXRhQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNsaWNrT3V0c2lkZVJvdygpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsaWRhdGVBbmRTYXZlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SXNSb3dEaXNhYmxlZChpZHg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRSb3dzLmluZGV4T2YoaWR4KSA+IC0xO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGlzUm93RGlzYWJsZWQocm93OiBhbnksIGluZGV4OiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGlmICh0aGlzLnJvd0Rpc2FibGVkRm4gJiYgKHR5cGVvZiB0aGlzLnJvd0Rpc2FibGVkRm4gPT09ICdmdW5jdGlvbicpKSB7XHJcbiAgICAgIGNvbnN0IGRpc2FibGVkID0gYXdhaXQgdGhpcy5yb3dEaXNhYmxlZEZuLmNhbGwodGhpcywgcm93KTtcclxuICAgICAgY29uc3QgaWR4Um93OiBudW1iZXIgPSB0aGlzLmRpc2FibGVkUm93cy5pbmRleE9mKGluZGV4KTtcclxuICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgaWYgKGlkeFJvdyA8IDApIHtcclxuICAgICAgICAgIHRoaXMuZGlzYWJsZWRSb3dzLnB1c2goaW5kZXgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoaWR4Um93ID4gLTEpIHtcclxuICAgICAgICAgIHRoaXMuZGlzYWJsZWRSb3dzLnNwbGljZShpZHhSb3csIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZGlzYWJsZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkTmV3Um93KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuaW5saW5lRWRpdCkge1xyXG4gICAgICBjb25zdCB2YWxpZDogYm9vbGVhbiA9IHRoaXMudmFsaWRhdGVBbmRTYXZlKCk7XHJcbiAgICAgIGlmICh2YWxpZCkge1xyXG4gICAgICAgIHRoaXMuX25ld1Jvd1JlZmVyZW5jZSA9IHt9O1xyXG4gICAgICAgIHRoaXMuZGF0YS5wdXNoKHRoaXMuX25ld1Jvd1JlZmVyZW5jZSk7XHJcbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuX25ld1JvdyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucm93c1BlclBhZ2UgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IHRoaXMucm93c1BlclBhZ2UpIHtcclxuICAgICAgICAgIC8vIG5hdmlnYXRlIHRvIGxhc3QgcGFnZVxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IE1hdGguY2VpbCh0aGlzLmRhdGEubGVuZ3RoIC8gdGhpcy5yb3dzUGVyUGFnZSk7XHJcbiAgICAgICAgICBjb25zdCByZWxhdGl2ZUluZGV4OiBudW1iZXIgPSAodGhpcy5kYXRhLmxlbmd0aCAtIDEpICUgdGhpcy5yb3dzUGVyUGFnZTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IHJlbGF0aXZlSW5kZXg7XHJcbiAgICAgICAgICB0aGlzLmVkaXRSb3dJbmRleCA9IHJlbGF0aXZlSW5kZXg7XHJcblxyXG4gICAgICAgICAgLy8gc3RvcmUgcmVmZXJlbmNlXHJcbiAgICAgICAgICB0aGlzLnJvd1RvRWRpdCA9IHRoaXMuX25ld1Jvd1JlZmVyZW5jZTtcclxuICAgICAgICAgIHRoaXMuZWRpdENlbGxJbmRleCA9IGF3YWl0IHRoaXMuX25leHRBdmFpbGFibGVDZWxsVG9FZGl0KHRydWUpO1xyXG5cclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMucm93RWxlbWVudHM/Lmxhc3Q/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmIChlbCkge1xyXG4gICAgICAgICAgICAgIGVsLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJ30pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAyMDApO1xyXG5cclxuICAgICAgICAgIC8vIHJlc2V0IHJlZmVyZW5jZSB0byB0aGUgbmV3IHJvdyBhZnRlciBlZGl0Q2VsbEluZGV4XHJcbiAgICAgICAgICB0aGlzLnJvd1RvRWRpdCA9IHRoaXMuX25ld1Jvd1JlZmVyZW5jZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5lZGl0Um93SW5kZXggPSB0aGlzLmRhdGEubGVuZ3RoIC0gMTtcclxuICAgICAgICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5fbmV3Um93UmVmZXJlbmNlO1xyXG4gICAgICAgICAgdGhpcy5lZGl0Q2VsbEluZGV4ID0gYXdhaXQgdGhpcy5fbmV4dEF2YWlsYWJsZUNlbGxUb0VkaXQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hZGRSb3cubmV4dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHZhbGlkYXRlQW5kU2F2ZShzdG9wZWRpdGluZzogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5lZGl0aW5nKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmFsaWQ6IGJvb2xlYW4gPSB0aGlzLl9mb3JtTWFzdGVyLnN1Ym1pdFNsYXZlcygpO1xyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgaWYgKHZhbGlkKSB7XHJcbiAgICAgIHRoaXMuX3NhdmVSb3coc3RvcGVkaXRpbmcpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWxFZGl0Um93KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmVkaXRpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX25ld1Jvdykge1xyXG4gICAgICB0aGlzLmRhdGEuc3BsaWNlKHRoaXMuZGF0YS5sZW5ndGggLSAxLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0YVt0aGlzLmVkaXRSb3dJbmRleF0gPSB0aGlzLnJvd1RvRWRpdDtcclxuICAgIH1cclxuICAgIHRoaXMuX3Jlc2V0RWRpdCgpO1xyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZVJvdygpOiB2b2lkIHtcclxuICAgIGxldCBhYnNvbHV0ZUluZGV4OiBudW1iZXIgPSB0aGlzLnNlbGVjdGVkUm93SW5kZXg7XHJcbiAgICBpZiAodGhpcy5yb3dzUGVyUGFnZSkge1xyXG4gICAgICBhYnNvbHV0ZUluZGV4ID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucm93c1BlclBhZ2UgKyB0aGlzLnNlbGVjdGVkUm93SW5kZXg7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlbGV0ZVJvdy5uZXh0KHRoaXMuZGF0YVthYnNvbHV0ZUluZGV4XSk7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50UGFnZSAhPT0gMSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvd0luZGV4ID0gLTE7XHJcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7dG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCd9KTtcclxuICAgIH1cclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGlja1JvdyhldmVudDogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5saW5lRWRpdCAmJiB0aGlzLnNob3dSb3dCdXR0b25zICYmICF0aGlzLmVkaXRpbmcpIHtcclxuICAgICAgdGhpcy5lZGl0aW5nID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5fZG91YmxlQ2xpY2tlZCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdFRoZVJvdyhpbmRleCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCAmJiAhdGhpcy5zaG93Um93QnV0dG9ucykge1xyXG4gICAgICAgICAgdGhpcy5lZGl0Um93KGV2ZW50LCB0cnVlLCBpbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAyMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFRoZVJvdyhpbmRleDogbnVtYmVyLCBlbWl0OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9PT0gLTEgfHwgKHRoaXMuc2VsZWN0ZWRSb3dJbmRleCAhPT0gaW5kZXggJiYgKCh0aGlzLmVkaXRpbmcgJiYgdGhpcy52YWxpZGF0ZUFuZFNhdmUoKSkgfHwgIXRoaXMuZWRpdGluZykpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IGluZGV4O1xyXG4gICAgICBjb25zdCBhYnNvbHV0ZUluZGV4OiBudW1iZXIgPSB0aGlzLnJvd3NQZXJQYWdlID8gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucm93c1BlclBhZ2UgKyBpbmRleCA6IGluZGV4O1xyXG4gICAgICBpZiAoZW1pdCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0Um93Lm5leHQodGhpcy5kYXRhW2Fic29sdXRlSW5kZXhdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZURibENsaWNrUm93KGV2ZW50OiBNb3VzZUV2ZW50LCBpbmRleDogbnVtYmVyLCByb3c6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKGF3YWl0IHRoaXMuaXNSb3dEaXNhYmxlZChyb3csIGluZGV4KSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXggPSAtMTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGNhbkVkaXQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuY2FuUm93QmVFZGl0dGVkRm4gJiYgdHlwZW9mIHRoaXMuY2FuUm93QmVFZGl0dGVkRm4gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY2FuRWRpdCA9IGF3YWl0IHRoaXMuY2FuUm93QmVFZGl0dGVkRm4uY2FsbCh0aGlzLCByb3cpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNhbkVkaXQpIHtcclxuICAgICAgdGhpcy5fZG91YmxlQ2xpY2tlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGJsQ2xpY2tSb3cubmV4dCh0aGlzLmRhdGFbaW5kZXhdKTtcclxuICAgICAgdGhpcy5zZWxlY3RUaGVSb3coaW5kZXgsIGZhbHNlKTtcclxuICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCAmJiAhdGhpcy5zaG93Um93QnV0dG9ucykge1xyXG4gICAgICAgIHRoaXMuZWRpdFJvdyhldmVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX3Jlc2V0RGJsQ2xpY2soKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBlZGl0Um93KGV2ZW50OiBNb3VzZUV2ZW50LCBzZWxlY3RDZWxsOiBib29sZWFuID0gdHJ1ZSwgcm93SW5kZXg/OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChyb3dJbmRleCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0VGhlUm93KHJvd0luZGV4KTtcclxuICAgIH1cclxuICAgIHRoaXMuZWRpdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVkaXRSb3dJbmRleCA9IHRoaXMuc2VsZWN0ZWRSb3dJbmRleDtcclxuICAgIHRoaXMucm93VG9FZGl0ID0gdGhpcy5kYXRhW3RoaXMuZWRpdFJvd0luZGV4XTtcclxuXHJcbiAgICBpZiAodGhpcy5zaG93Um93QnV0dG9ucyAmJiB0aGlzLmlubGluZUVkaXQgJiYgc2VsZWN0Q2VsbCkge1xyXG4gICAgICB0aGlzLmVkaXRDZWxsSW5kZXggPSBhd2FpdCB0aGlzLl9uZXh0QXZhaWxhYmxlQ2VsbFRvRWRpdCh0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDZWxsQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIHJvdzogYW55LCByb3dJbmRleDogbnVtYmVyLCBjZWxsSW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuZWRpdE9uQ2VsbENsaWNrKSB7XHJcbiAgICAgIGlmIChhd2FpdCB0aGlzLmlzUm93RGlzYWJsZWQocm93LCByb3dJbmRleCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXggPSAtMTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCkge1xyXG4gICAgICAgIHRoaXMuZWRpdFJvd0luZGV4ID0gcm93SW5kZXg7XHJcbiAgICAgICAgdGhpcy5lZGl0Q2VsbEluZGV4ID0gY2VsbEluZGV4O1xyXG4gICAgICAgIHRoaXMuZWRpdGluZyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdENlbGxJbmRleCA9IGNlbGxJbmRleDtcclxuICAgIH1cclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVTZXR0aW5nc01lbnUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhlYWRlckNvbHVtbnNDb3B5LmZvckVhY2goaSA9PiBpLmlzU2VsZWN0ZWQgPSBmYWxzZSk7XHJcbiAgICB0aGlzLmlzU2V0dGluZ3NNZW51T3BlbiA9ICF0aGlzLmlzU2V0dGluZ3NNZW51T3BlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVDb2x1bW5NZW51KGNvbDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2hvd0dyaWRTZXR0aW5ncykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc1NldHRpbmdzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgIGlmIChjb2wuaXNTZWxlY3RlZCkge1xyXG4gICAgICBjb2wuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5oZWFkZXJDb2x1bW5zQ29weS5mb3JFYWNoKGkgPT4gaS5pc1NlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgICBjb2wuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZUNvbHVtbihjb2w6IGFueSk6IHZvaWQge1xyXG4gICAgY29sLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkgPSB0aGlzLmhlYWRlckNvbHVtbnNDb3B5LmZpbHRlcigob2JqKSA9PiB7XHJcbiAgICAgIHJldHVybiBvYmogIT09IGNvbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNvcnRDb2x1bW4oY29sOiBhbnksIGNvbHVtblZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbC5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMuc29ydENvbHVtblZhbHVlID09PSBjb2x1bW5WYWx1ZSkge1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRDb2x1bW5WYWx1ZSA9IGNvbHVtblZhbHVlO1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSAnYXNjJztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG5cclxuICAgIGNvbnN0IHNvcnRlZCA9IFsuLi50aGlzLmRhdGFdLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgbGV0IHZhbEEgPSBhW2NvbHVtblZhbHVlXTtcclxuICAgICAgbGV0IHZhbEIgPSBiW2NvbHVtblZhbHVlXTtcclxuXHJcbiAgICAgIGlmICh2YWxBID09IG51bGwgJiYgdmFsQiA9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHZhbEEgPT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiAtMSAqIGRpcmVjdGlvbjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsQiA9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIDEgKiBkaXJlY3Rpb247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEhhbmRsZSBJU08gZGF0ZSBzdHJpbmdcclxuICAgICAgY29uc3QgaXNEYXRlQSA9IHR5cGVvZiB2YWxBID09PSAnc3RyaW5nJyAmJiAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VC8udGVzdCh2YWxBKTtcclxuICAgICAgY29uc3QgaXNEYXRlQiA9IHR5cGVvZiB2YWxCID09PSAnc3RyaW5nJyAmJiAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VC8udGVzdCh2YWxCKTtcclxuXHJcbiAgICAgIGlmIChpc0RhdGVBICYmIGlzRGF0ZUIpIHtcclxuICAgICAgICBjb25zdCB0aW1lQSA9IG5ldyBEYXRlKHZhbEEpLmdldFRpbWUoKTtcclxuICAgICAgICBjb25zdCB0aW1lQiA9IG5ldyBEYXRlKHZhbEIpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gKHRpbWVBIC0gdGltZUIpICogZGlyZWN0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBGYWxsYmFjayBmb3IgbnVtYmVycy9zdHJpbmdzXHJcbiAgICAgIGlmICh0eXBlb2YgdmFsQSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbEIgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbEEubG9jYWxlQ29tcGFyZSh2YWxCKSAqIGRpcmVjdGlvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuICh2YWxBID4gdmFsQiA/IDEgOiB2YWxBIDwgdmFsQiA/IC0xIDogMCkgKiBkaXJlY3Rpb247XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmRhdGEgPSBzb3J0ZWQ7XHJcbiAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0FsbENvbHVtbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzU2V0dGluZ3NNZW51T3BlbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5oZWFkZXJDb2x1bW5zQ29weSA9IHRoaXMuaGVhZGVyQ29sdW1ucztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnRUb0V4Y2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc1NldHRpbmdzTWVudU9wZW4gPSBmYWxzZTtcclxuICAgIGNvbnN0IGV4cG9ydERhdGE6IE9iamVjdFtdID0gdGhpcy5leHBvcnREYXRhLmxlbmd0aCA+IDAgPyB0aGlzLl9maWx0ZXJTZWxlY3RlZE9yUmV0dXJuQWxsKHRoaXMuZXhwb3J0RGF0YSkgOiB0aGlzLl9maWx0ZXJTZWxlY3RlZE9yUmV0dXJuQWxsKHRoaXMuZGF0YSk7XHJcbiAgICBjb25zdCBjb2x1bW5zOiBFeHBvcnRDb2x1bW5bXSA9IHRoaXMuaGVhZGVyQ29sdW1uc0NvcHkubWFwKGNvbHVtbiA9PiB7XHJcbiAgICAgIHJldHVybiAoe1xyXG4gICAgICAgIGtleTogY29sdW1uLmZpZWxkLFxyXG4gICAgICAgIGhlYWRlcjogY29sdW1uLmhlYWRlclRleHRcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gY29sdW1ucy5tYXAoY29sID0+IGNvbC5oZWFkZXIpO1xyXG4gICAgY29uc3Qgcm93cyA9IGV4cG9ydERhdGEubWFwKHJvdyA9PlxyXG4gICAgICBjb2x1bW5zLm1hcChjb2wgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gcm93W2NvbC5rZXldO1xyXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB2YWx1ZS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF07XHJcbiAgICAgICAgICBjb25zdCBbeWVhciwgbW9udGgsIGRheV0gPSBmb3JtYXR0ZWREYXRlLnNwbGl0KCctJyk7XHJcbiAgICAgICAgICByZXR1cm4gYCR7ZGF5fS0ke21vbnRofS0ke3llYXJ9YDtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgIGNvbnN0IGhhc0RlY2ltYWwgPSAobnVtKSA9PiAhTnVtYmVyLmlzSW50ZWdlcihudW0pO1xyXG4gICAgICAgICAgcmV0dXJuIGhhc0RlY2ltYWwodmFsdWUpID8gdmFsdWUudG9GaXhlZCgyKSA6IHZhbHVlLnRvRml4ZWQoMCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlLmpvaW4oJywgJyk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5pbmNsdWRlcygnVDAwOjAwOjAwJykpIHtcclxuICAgICAgICAgICAgY29uc3QgW3llYXIsIG1vbnRoLCBkYXldID0gdmFsdWUucmVwbGFjZSgnVDAwOjAwOjAwJywgJycpLnNwbGl0KCctJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBjb25zdCBjc3ZDb250ZW50ID0gW2hlYWRlcnMsIC4uLnJvd3NdLm1hcChyb3cgPT5cclxuICAgIC8vICAgcm93Lm1hcChjZWxsID0+IGBcIiR7Y2VsbC5yZXBsYWNlKC9cIi9nLCAnXCJcIicpfVwiYCkuam9pbignLCcpXHJcbiAgICAvLyApLmpvaW4oJ1xcclxcbicpO1xyXG5cclxuICAgIGNvbnN0IGNzdkNvbnRlbnQ6IHN0cmluZyA9IFtoZWFkZXJzLCAuLi5yb3dzXS5tYXAocm93ID0+XHJcbiAgICAgIHJvdy5tYXAoKGNlbGw6IHN0cmluZykgPT4gYFwiJHtTdHJpbmcoY2VsbCkucmVwbGFjZSgvXCIvZywgJ1wiXCInKX1cImApLmpvaW4oJywnKVxyXG4gICAgKS5qb2luKCdcXHJcXG4nKTtcclxuXHJcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NzdkNvbnRlbnRdLCB7dHlwZTogJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTg7J30pO1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcblxyXG4gICAgbGluay5ocmVmID0gdXJsO1xyXG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgJ0V4Y2VsU2hlZXQnKTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG5cclxuICAgIC8vIHRoaXMuZXhjZWxFeHBvcnRTZXJ2aWNlLmV4cG9ydFRvRXhjZWwoXHJcbiAgICAvLyAgIHRoaXMuZGF0YSxcclxuICAgIC8vICAgY29sdW1ucyxcclxuICAgIC8vICAgJ0V4Y2VsU2hlZXQnLFxyXG4gICAgLy8gICAnU2hlZXQxJ1xyXG4gICAgLy8gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb1RvUHJldmlvdXNQYWdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSAtPSAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9OZXh0UGFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgKz0gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRDdXJyZW50UGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBwYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc05ld1JvdygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9uZXdSb3c7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWx0ZXJTZWxlY3RlZE9yUmV0dXJuQWxsKGl0ZW1zOiBhbnkpIHtcclxuICAgIGNvbnN0IGhhc1NlbGVjdGVkVHJ1ZTogYm9vbGVhbiA9IGl0ZW1zLnNvbWUoaXRlbSA9PiBpdGVtLnNlbGVjdGVkID09PSB0cnVlKTtcclxuICAgIHJldHVybiBoYXNTZWxlY3RlZFRydWUgPyBpdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnNlbGVjdGVkID09PSB0cnVlKSA6IGl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHByZXBhcmVEYXRhUm93KHJvdzogYW55LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzUm93RGlzYWJsZWQocm93LCBpbmRleCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZXNldERibENsaWNrKCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2RvdWJsZUNsaWNrZWQgPSBmYWxzZTtcclxuICAgIH0sIDUwMCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBuZXh0OyBNb3ZlIHRvIG5leHQgb3IgcHJldmlvdXMgY2VsbFxyXG4gICAqIEBwYXJhbSBzdGFydDsgU3RhcnQgZnJvbSBjZWxsaW5kZXhcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX25leHRBdmFpbGFibGVDZWxsVG9FZGl0KG5leHQ6IGJvb2xlYW4sIHN0YXJ0OiBudW1iZXIgPSAtMSk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bUVkaXRhYmxlQ29sdW1uczogbnVtYmVyID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjID0+ICFjLnJlYWRvbmx5KS5sZW5ndGg7XHJcbiAgICAgIGNvbnN0IHdhbnRlZEluZGV4ID0gc3RhcnQgKyAobmV4dCA/IDEgOiAtMSk7XHJcbiAgICAgIGlmICh3YW50ZWRJbmRleCA+PSBudW1FZGl0YWJsZUNvbHVtbnMpIHtcclxuICAgICAgICB0aGlzLl9nZXROZXh0RWRpdFJvd0luZGV4KClcclxuICAgICAgICAgIC50aGVuKChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdFJvd0luZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fZ2V0TmV4dEVkaXRDZWxsSW5kZXgoMCkpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xyXG4gICAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHdhbnRlZEluZGV4IDwgMCkge1xyXG4gICAgICAgIHRoaXMuX2dldFByZXZpb3VzRWRpdFJvd0luZGV4KClcclxuICAgICAgICAgIC50aGVuKChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdFJvd0luZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fZ2V0UHJldmlvdXNFZGl0Q2VsbEluZGV4KHRoaXMuY29sdW1ucy5sZW5ndGggLSAxKSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzb2x2ZShuZXh0ID8gdGhpcy5fZ2V0TmV4dEVkaXRDZWxsSW5kZXgoc3RhcnQgKyAxKSA6IHRoaXMuX2dldFByZXZpb3VzRWRpdENlbGxJbmRleChzdGFydCAtIDEpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXROZXh0RWRpdENlbGxJbmRleChzdGFydDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IHN0YXJ0OyBpIDwgdGhpcy5jb2x1bW5zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICghdGhpcy5jb2x1bW5zW2ldLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByZXZpb3VzRWRpdENlbGxJbmRleChzdGFydDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IHN0YXJ0OyBpID49IDA7IGktLSkge1xyXG4gICAgICBpZiAoIXRoaXMuY29sdW1uc1tpXS5yZWFkb25seSkge1xyXG4gICAgICAgIHJldHVybiBpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXROZXh0RWRpdFJvd0luZGV4KCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIGxldCBuZXdSb3dJbmRleDogbnVtYmVyID0gMDtcclxuICAgICAgaWYgKHRoaXMuZWRpdFJvd0luZGV4ICsgMSA+PSB0aGlzLmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b0FkZFJvdykge1xyXG4gICAgICAgICAgdGhpcy5hZGROZXdSb3coKTtcclxuICAgICAgICAgIG5ld1Jvd0luZGV4ID0gdGhpcy5lZGl0Um93SW5kZXg7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG5ld1Jvd0luZGV4ID0gMDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3Um93SW5kZXggPSB0aGlzLmVkaXRSb3dJbmRleCArIDE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5ld1Jvd0luZGV4ICE9PSB0aGlzLmVkaXRSb3dJbmRleCkgeyAvLyBnbyB0byBkaWZmZXJlbnQgcm93IHZhbGlkYXRlIGN1cnJlbnQgb25lIGZpcnN0XHJcbiAgICAgICAgaWYgKHRoaXMudmFsaWRhdGVBbmRTYXZlKGZhbHNlKSkge1xyXG4gICAgICAgICAgdGhpcy5yb3dUb0VkaXQgPSB0aGlzLmRhdGFbbmV3Um93SW5kZXhdO1xyXG4gICAgICAgICAgcmVzb2x2ZShuZXdSb3dJbmRleCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXNvbHZlKG5ld1Jvd0luZGV4KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRQcmV2aW91c0VkaXRSb3dJbmRleCgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICBsZXQgbmV3Um93SW5kZXg6IG51bWJlciA9IDA7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRSb3dJbmRleCAtIDEgPCAwKSB7XHJcbiAgICAgICAgbmV3Um93SW5kZXggPSB0aGlzLmRhdGEubGVuZ3RoIC0gMTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdSb3dJbmRleCA9IHRoaXMuZWRpdFJvd0luZGV4IC0gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobmV3Um93SW5kZXggIT09IHRoaXMuZWRpdFJvd0luZGV4KSB7IC8vIGdvIHRvIGRpZmZlcmVudCByb3cgdmFsaWRhdGUgY3VycmVudCBvbmUgZmlyc3RcclxuICAgICAgICBpZiAodGhpcy52YWxpZGF0ZUFuZFNhdmUoZmFsc2UpKSB7XHJcbiAgICAgICAgICB0aGlzLnJvd1RvRWRpdCA9IHRoaXMuZGF0YVtuZXdSb3dJbmRleF07XHJcbiAgICAgICAgICByZXNvbHZlKG5ld1Jvd0luZGV4KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc29sdmUobmV3Um93SW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NhdmVSb3coc3RvcGVkaXRpbmc6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fbmV3Um93KSB7XHJcbiAgICAgIHRoaXMuc2F2ZVJvdy5uZXh0KHRoaXMuX25ld1Jvd1JlZmVyZW5jZSk7XHJcbiAgICAgIHRoaXMuX25ld1Jvd1JlZmVyZW5jZSA9IG51bGw7IC8vIGNsZWFyXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaW5kZXg6IG51bWJlciA9IC0xOyAvLyBleGlzdGluZyByb3dcclxuXHJcbiAgICAgIGlmICh0aGlzLnJvd3NQZXJQYWdlKSB7XHJcbiAgICAgICAgaW5kZXggPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5yb3dzUGVyUGFnZSArIHRoaXMuZWRpdFJvd0luZGV4O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGluZGV4ID0gdGhpcy5lZGl0Um93SW5kZXg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleCA+PSAwICYmIGluZGV4IDwgdGhpcy5kYXRhLmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuc2F2ZVJvdy5uZXh0KHRoaXMuZGF0YVtpbmRleF0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXJyZW50UGFnZSAhPT0gMSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJvd0luZGV4ID0gLTE7XHJcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7dG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCd9KTtcclxuICAgIH1cclxuICAgIHRoaXMuX25ld1JvdyA9IGZhbHNlO1xyXG4gICAgaWYgKHN0b3BlZGl0aW5nKSB7XHJcbiAgICAgIHRoaXMuX3Jlc2V0RWRpdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdGlvbi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZXNldEVkaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9uZXdSb3cgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleCA9IC0xO1xyXG4gICAgdGhpcy5lZGl0Um93SW5kZXggPSAtMTtcclxuICAgIHRoaXMuZWRpdENlbGxJbmRleCA9IC0xO1xyXG4gICAgdGhpcy5lZGl0aW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLnJvd1RvRWRpdCA9IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIl19
@@ -184,6 +184,7 @@ export var CoreComponentsIcon;
184
184
  CoreComponentsIcon["Orderpicking"] = "orderpicking";
185
185
  CoreComponentsIcon["OutgoingStorage"] = "outgoing_storage";
186
186
  CoreComponentsIcon["OverBooking"] = "over_booking";
187
+ CoreComponentsIcon["ParagraphSolid"] = "paragraph_solid";
187
188
  CoreComponentsIcon["PauseCircle"] = "pause_circle";
188
189
  CoreComponentsIcon["PencilRoundOpen"] = "pencil_round_open";
189
190
  CoreComponentsIcon["PenToSquareSolid"] = "pen_to_square_solid";
@@ -301,4 +302,4 @@ export var CoreComponentsIcon;
301
302
  CoreComponentsIcon["XAxis"] = "x_axis";
302
303
  CoreComponentsIcon["YAxis"] = "y_axis";
303
304
  })(CoreComponentsIcon || (CoreComponentsIcon = {}));
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb21wb25lbnRzLWljb24uZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0dBQWdHO0FBRWhHLE1BQU0sQ0FBTixJQUFZLGtCQTRTWDtBQTVTRCxXQUFZLGtCQUFrQjtJQUMxQix5Q0FBbUIsQ0FBQTtJQUNuQiw2REFBdUMsQ0FBQTtJQUN2QywrQ0FBeUIsQ0FBQTtJQUN6Qix3REFBa0MsQ0FBQTtJQUNsQyw4Q0FBd0IsQ0FBQTtJQUN4QixxREFBK0IsQ0FBQTtJQUMvQix1REFBaUMsQ0FBQTtJQUNqQyw4Q0FBd0IsQ0FBQTtJQUN4QixrRUFBNEMsQ0FBQTtJQUM1Qyx5REFBbUMsQ0FBQTtJQUNuQyx5REFBbUMsQ0FBQTtJQUNuQywyREFBcUMsQ0FBQTtJQUNyQyxxREFBK0IsQ0FBQTtJQUMvQixvRUFBOEMsQ0FBQTtJQUM5QywyREFBcUMsQ0FBQTtJQUNyQywyREFBcUMsQ0FBQTtJQUNyQyw2REFBdUMsQ0FBQTtJQUN2Qyx1REFBaUMsQ0FBQTtJQUNqQywwQ0FBb0IsQ0FBQTtJQUNwQiw4REFBd0MsQ0FBQTtJQUN4Qyx5Q0FBbUIsQ0FBQTtJQUNuQiwyREFBcUMsQ0FBQTtJQUNyQyxzREFBZ0MsQ0FBQTtJQUNoQyxpREFBMkIsQ0FBQTtJQUMzQiwrQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBbUIsQ0FBQTtJQUNuQix3Q0FBa0IsQ0FBQTtJQUNsQixxQ0FBZSxDQUFBO0lBQ2YsbUVBQTZDLENBQUE7SUFDN0MscUNBQWUsQ0FBQTtJQUNmLHlEQUFtQyxDQUFBO0lBQ25DLDBEQUFvQyxDQUFBO0lBQ3BDLHFEQUErQixDQUFBO0lBQy9CLDJDQUFxQixDQUFBO0lBQ3JCLGtEQUE0QixDQUFBO0lBQzVCLGlFQUEyQyxDQUFBO0lBQzND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QixDQUFBO0lBQ3ZCLDZDQUF1QixDQUFBO0lBQ3ZCLHlDQUFtQixDQUFBO0lBQ25CLHVDQUFpQixDQUFBO0lBQ2pCLGlDQUFXLENBQUE7SUFDWCx5REFBbUMsQ0FBQTtJQUNuQyw2RUFBdUQsQ0FBQTtJQUN2RCx1Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZ0IsQ0FBQTtJQUNoQixzQ0FBZ0IsQ0FBQTtBQUNwQixDQUFDLEVBNVNXLGtCQUFrQixLQUFsQixrQkFBa0IsUUE0UzdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEFVVE8gR0VORVJBVEVEIEZJTEUuIERPIE5PVCBDSEFOR0UuLiBPUiBZT1UgV0lMTCBTVUZGRVIgVEhFIENPTlNFUVVFTkNFUyBPRiBZT1VSIEFDVElPTlMgKiovXG5cbmV4cG9ydCBlbnVtIENvcmVDb21wb25lbnRzSWNvbiB7XG4gICAgQWNjb3VudCA9IFwiYWNjb3VudFwiLFxuICAgIEFjY291bnRSb3VuZE9wZW4gPSBcImFjY291bnRfcm91bmRfb3BlblwiLFxuICAgIEFjdGl2aXRpZXMgPSBcImFjdGl2aXRpZXNcIixcbiAgICBBZGRUb0NhcnREcm9wID0gXCJhZGRfdG9fY2FydF9kcm9wXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dGYXRMZWZ0ID0gXCJhcnJvd19mYXRfbGVmdFwiLFxuICAgIEFycm93RmF0UmlnaHQgPSBcImFycm93X2ZhdF9yaWdodFwiLFxuICAgIEFycm93TGVmdCA9IFwiYXJyb3dfbGVmdFwiLFxuICAgIEFycm93TGVmdFJvdW5kT3BlbiA9IFwiYXJyb3dfbGVmdF9yb3VuZF9vcGVuXCIsXG4gICAgQXJyb3dQb2ludERvd24gPSBcImFycm93X3BvaW50X2Rvd25cIixcbiAgICBBcnJvd1BvaW50TGVmdCA9IFwiYXJyb3dfcG9pbnRfbGVmdFwiLFxuICAgIEFycm93UG9pbnRSaWdodCA9IFwiYXJyb3dfcG9pbnRfcmlnaHRcIixcbiAgICBBcnJvd1BvaW50VXAgPSBcImFycm93X3BvaW50X3VwXCIsXG4gICAgQXJyb3dSaWdodFJvdW5kT3BlbiA9IFwiYXJyb3dfcmlnaHRfcm91bmRfb3BlblwiLFxuICAgIEFycm93U2Nyb2xsRG93biA9IFwiYXJyb3dfc2Nyb2xsX2Rvd25cIixcbiAgICBBcnJvd1Njcm9sbExlZnQgPSBcImFycm93X3Njcm9sbF9sZWZ0XCIsXG4gICAgQXJyb3dTY3JvbGxSaWdodCA9IFwiYXJyb3dfc2Nyb2xsX3JpZ2h0XCIsXG4gICAgQXJyb3dTY3JvbGxVcCA9IFwiYXJyb3dfc2Nyb2xsX3VwXCIsXG4gICAgQXJyb3dVcCA9IFwiYXJyb3dfdXBcIixcbiAgICBBcnJvd1VwQXJyb3dEb3duID0gXCJhcnJvd191cF9hcnJvd19kb3duXCIsXG4gICAgQXJ0aWNsZSA9IFwiYXJ0aWNsZVwiLFxuICAgIEFydGljbGVXaXRoRm9sZCA9IFwiYXJ0aWNsZV93aXRoX2ZvbGRcIixcbiAgICBBc3Rlcmlza1NtYWxsID0gXCJhc3Rlcmlza19zbWFsbFwiLFxuICAgIEF0dGFjaG1lbnRzID0gXCJhdHRhY2htZW50c1wiLFxuICAgIEJhY2tUb1RvcCA9IFwiYmFja190b190b3BcIixcbiAgICBCYXJjb2RlID0gXCJCYXJjb2RlXCIsXG4gICAgQmlnTWFjID0gXCJiaWdfbWFjXCIsXG4gICAgQm94ZXMgPSBcImJveGVzXCIsXG4gICAgQm94ZXNQYWNraW5nUmVndWxhciA9IFwiYm94ZXNfcGFja2luZ19yZWd1bGFyXCIsXG4gICAgQnJ1c2ggPSBcImJydXNoXCIsXG4gICAgQnJ1c2hSb3VuZE9wZW4gPSBcImJydXNoX3JvdW5kX29wZW5cIixcbiAgICBCdWlsZGluZ0NvbHVtbnMgPSBcImJ1aWxkaW5nX2NvbHVtbnNcIixcbiAgICBCdXNpbmVzc3J1bGVzID0gXCJidXNpbmVzc3J1bGVzXCIsXG4gICAgQ2FsZW5kYXIgPSBcImNhbGVuZGFyXCIsXG4gICAgQ2FsZW5kYXJEYXkgPSBcImNhbGVuZGFyX2RheVwiLFxuICAgIENhbGVuZGFyRGF5UmVndWxhciA9IFwiY2FsZW5kYXJfZGF5X3JlZ3VsYXJcIixcbiAgICBDYWxlbmRhckVtcHR5ID0gXCJjYWxlbmRhcl9lbXB0eVwiLFxuICAgIENhbGVuZGFyUmFuZ2UgPSBcImNhbGVuZGFyX3JhbmdlXCIsXG4gICAgQ2FsZW5kYXJSb3VuZE9wZW4gPSBcImNhbGVuZGFyX3JvdW5kX29wZW5cIixcbiAgICBDYW1lcmEgPSBcImNhbWVyYVwiLFxuICAgIENhbmNlbCA9IFwiY2FuY2VsXCIsXG4gICAgQ2FuY2VsUm91bmRGaWxsZWQgPSBcImNhbmNlbF9yb3VuZF9maWxsZWRcIixcbiAgICBDYW5jZWxSb3VuZE9wZW4gPSBcImNhbmNlbF9yb3VuZF9vcGVuXCIsXG4gICAgQ2FydCA9IFwiY2FydFwiLFxuICAgIENhcnRPcGVuID0gXCJjYXJ0X29wZW5cIixcbiAgICBDYXNlTWFuYWdlciA9IFwiY2FzZV9tYW5hZ2VyXCIsXG4gICAgQ2FzaFJlZ2lzdGVyID0gXCJDYXNoUmVnaXN0ZXJcIixcbiAgICBDYXNoUmVnaXN0ZXJTaW1wbGUgPSBcImNhc2hfcmVnaXN0ZXJfc2ltcGxlXCIsXG4gICAgQ2hhbmdlTG9jYXRpb24gPSBcImNoYW5nZV9sb2NhdGlvblwiLFxuICAgIENoZWNrID0gXCJjaGVja1wiLFxuICAgIENoZWNrRHVvdG9uZSA9IFwiY2hlY2tfZHVvdG9uZVwiLFxuICAgIENoZWNrUm91bmQgPSBcImNoZWNrX3JvdW5kXCIsXG4gICAgQ2hlY2tSb3VuZE9wZW4gPSBcImNoZWNrX3JvdW5kX29wZW5cIixcbiAgICBDaGVja1NpbXBsZSA9IFwiY2hlY2tfc2ltcGxlXCIsXG4gICAgQ2hlY2tUaGluID0gXCJjaGVja190aGluXCIsXG4gICAgQ2hldnJvbkRvd25SZWd1bGFyID0gXCJjaGV2cm9uX2Rvd25fcmVndWxhclwiLFxuICAgIENoZXZyb25VcFJlZ3VsYXIgPSBcImNoZXZyb25fdXBfcmVndWxhclwiLFxuICAgIENpcmNsZVBsdXNTa2lubnkgPSBcIkNpcmNsZVBsdXNTa2lubnlcIixcbiAgICBDbGllbnQgPSBcImNsaWVudFwiLFxuICAgIENsb2NrID0gXCJjbG9ja1wiLFxuICAgIENsb2NrQXJyb3cgPSBcImNsb2NrQXJyb3dcIixcbiAgICBDb2dXaGVlbFBsdXMgPSBcImNvZ1doZWVsUGx1c1wiLFxuICAgIENvZ1doZWVscyA9IFwiY29nV2hlZWxzXCIsXG4gICAgQ29sdW1uT3B0aW9ucyA9IFwiY29sdW1uX29wdGlvbnNcIixcbiAgICBDb21wYW55ID0gXCJjb21wYW55XCIsXG4gICAgQ29tcGFueUZsYXQgPSBcImNvbXBhbnlfZmxhdFwiLFxuICAgIENvbmZpZ3VyYWJsZSA9IFwiY29uZmlndXJhYmxlXCIsXG4gICAgQ29uc3VsdGFudCA9IFwiY29uc3VsdGFudFwiLFxuICAgIENvcHkgPSBcImNvcHlcIixcbiAgICBDcm9zc2hhaXIxID0gXCJjcm9zc2hhaXJfMVwiLFxuICAgIENyb3NzU2tpbm55ID0gXCJDcm9zc1NraW5ueVwiLFxuICAgIERhc2hib2FyZCA9IFwiZGFzaGJvYXJkXCIsXG4gICAgRGVsaXZlcnlNZXRob2QgPSBcImRlbGl2ZXJ5X21ldGhvZFwiLFxuICAgIERlbGl2ZXJ5U3RhdHVzVW5jaGVjayA9IFwiZGVsaXZlcnlfc3RhdHVzX3VuY2hlY2tcIixcbiAgICBEZWxpdmVyeVRydWNrID0gXCJkZWxpdmVyeV90cnVja1wiLFxuICAgIERldGFpbFJlY29yZCA9IFwiZGV0YWlsX3JlY29yZFwiLFxuICAgIERldGFpbFZpZXcgPSBcImRldGFpbF92aWV3XCIsXG4gICAgRGljdGlvbmFyeSA9IFwiZGljdGlvbmFyeVwiLFxuICAgIERvY3VtZW50cyA9IFwiZG9jdW1lbnRzXCIsXG4gICAgRG9jdW1lbnRXcmVuY2ggPSBcImRvY3VtZW50V3JlbmNoXCIsXG4gICAgRG9sbGFyID0gXCJkb2xsYXJcIixcbiAgICBEb3dubG9hZCA9IFwiZG93bmxvYWRcIixcbiAgICBEcm9wZG93biA9IFwiZHJvcGRvd25cIixcbiAgICBEcm9wem9uZSA9IFwiZHJvcHpvbmVcIixcbiAgICBFZGl0UGVuY2lsID0gXCJlZGl0X3BlbmNpbFwiLFxuICAgIEVkaXRQZW5jaWxDaXJjbGUgPSBcImVkaXRfcGVuY2lsX2NpcmNsZVwiLFxuICAgIEVkaXRQZW5jaWxSb3VuZCA9IFwiZWRpdF9wZW5jaWxfcm91bmRcIixcbiAgICBFZGl0UGVuY2lsU2ltcGxlID0gXCJlZGl0X3BlbmNpbF9zaW1wbGVcIixcbiAgICBFbWFpbCA9IFwiZW1haWxcIixcbiAgICBFbWFpbFJvdW5kT3BlbiA9IFwiZW1haWxfcm91bmRfb3BlblwiLFxuICAgIEVtcGxveWVlID0gXCJlbXBsb3llZVwiLFxuICAgIEVtcGxveWVlVHdvID0gXCJlbXBsb3llZV90d29cIixcbiAgICBFbXBsb3llciA9IFwiZW1wbG95ZXJcIixcbiAgICBFbXBsb3ltZW50ID0gXCJlbXBsb3ltZW50XCIsXG4gICAgRW1wbG95bWVudEVuZCA9IFwiZW1wbG95bWVudF9lbmRcIixcbiAgICBFcXVhbCA9IFwiZXF1YWxcIixcbiAgICBFdXJvID0gXCJldXJvXCIsXG4gICAgRXhjbGFtYXRpb24gPSBcImV4Y2xhbWF0aW9uXCIsXG4gICAgRXhjbGFtYXRpb25Sb3VuZE9wZW4gPSBcImV4Y2xhbWF0aW9uX3JvdW5kX29wZW5cIixcbiAgICBFeWVDaXJjbGUgPSBcImV5ZV9jaXJjbGVcIixcbiAgICBFeWVDaXJjbGVMYXJnZSA9IFwiZXllX2NpcmNsZV9sYXJnZVwiLFxuICAgIEV5ZVJvdW5kRmlsbGVkID0gXCJleWVfcm91bmRfZmlsbGVkXCIsXG4gICAgRmFjdG9yeSA9IFwiZmFjdG9yeVwiLFxuICAgIEZhc3R0cmFjayA9IFwiZmFzdHRyYWNrXCIsXG4gICAgRmlsdGVyID0gXCJmaWx0ZXJcIixcbiAgICBGaW5pc2ggPSBcImZpbmlzaFwiLFxuICAgIEZpeGVkT3B0aW9uVmFsdWVUcmVlID0gXCJmaXhlZF9vcHRpb25fdmFsdWVfdHJlZVwiLFxuICAgIEZpeGVkVHJlZU9wdGlvblZhbHVlID0gXCJmaXhlZF90cmVlX29wdGlvbl92YWx1ZVwiLFxuICAgIEZsb3BweURpc2tTb2xpZCA9IFwiZmxvcHB5X2Rpc2tfc29saWRcIixcbiAgICBGb2xkZXJBcnJvdyA9IFwiRm9sZGVyQXJyb3dcIixcbiAgICBGb2xkZXJBcnJvd0luID0gXCJmb2xkZXJfYXJyb3dfaW5cIixcbiAgICBGb3JtdWxhID0gXCJmb3JtdWxhXCIsXG4gICAgRnVsbHNjcmVlbiA9IFwiZnVsbHNjcmVlblwiLFxuICAgIEdlYXJEb3VibGUgPSBcImdlYXJfZG91YmxlXCIsXG4gICAgR2xvYmFsU2VhcmNoID0gXCJnbG9iYWxfc2VhcmNoXCIsXG4gICAgR2xvYmUgPSBcImdsb2JlXCIsXG4gICAgR3JlYXRlclRoYW4gPSBcImdyZWF0ZXJfdGhhblwiLFxuICAgIEdyaXBEb3RzVmVydGljYWxTb2xpZCA9IFwiZ3JpcF9kb3RzX3ZlcnRpY2FsX3NvbGlkXCIsXG4gICAgR3JvdXBieSA9IFwiZ3JvdXBieVwiLFxuICAgIEhhbWJ1cmdlciA9IFwiaGFtYnVyZ2VyXCIsXG4gICAgSGFuZFBvaW50ZXIgPSBcImhhbmRfcG9pbnRlclwiLFxuICAgIEhiYXJjaGFydCA9IFwiaGJhcmNoYXJ0XCIsXG4gICAgSG9tZSA9IFwiSG9tZVwiLFxuICAgIEhvbWVDaXJjbGUgPSBcImhvbWVfY2lyY2xlXCIsXG4gICAgSG9tZU9wZW4gPSBcImhvbWVfb3BlblwiLFxuICAgIEhvbWVSb3VuZE9wZW4gPSBcImhvbWVfcm91bmRfb3BlblwiLFxuICAgIEhvdXJnbGFzcyA9IFwiaG91cmdsYXNzXCIsXG4gICAgSWNvbjNkID0gXCJpY29uXzNkXCIsXG4gICAgSWQgPSBcImlkXCIsXG4gICAgSW1hZ2UgPSBcImltYWdlXCIsXG4gICAgSW5jb21pbmdTdG9yYWdlID0gXCJpbmNvbWluZ19zdG9yYWdlXCIsXG4gICAgSW5mb3JtYXRpb24gPSBcImluZm9ybWF0aW9uXCIsXG4gICAgSW5mb3JtYXRpb25Sb3VuZE9wZW4gPSBcImluZm9ybWF0aW9uX3JvdW5kX29wZW5cIixcbiAgICBJbnB1dE11bHRpcGxlY2hvaWNlID0gXCJpbnB1dF9tdWx0aXBsZWNob2ljZVwiLFxuICAgIElucHV0VGV4dCA9IFwiaW5wdXRfdGV4dFwiLFxuICAgIElucHV0VGV4dGFyZWEgPSBcImlucHV0X3RleHRhcmVhXCIsXG4gICAgSW52ZW50b3J5ID0gXCJpbnZlbnRvcnlcIixcbiAgICBJbnZvaWNlID0gXCJpbnZvaWNlXCIsXG4gICAgSW9uZUxvZ28gPSBcImlvbmVfbG9nb1wiLFxuICAgIElvbmVMb2dvRmF0ID0gXCJpb25lX2xvZ29fZmF0XCIsXG4gICAgSW9uZVN0YXR1c05leHQgPSBcImlvbmVfc3RhdHVzX25leHRcIixcbiAgICBJb25lV29ya2Zsb3cgPSBcImlvbmVfd29ya2Zsb3dcIixcbiAgICBLZXlib2FyZCA9IFwia2V5Ym9hcmRcIixcbiAgICBLZXljaGFpbiA9IFwia2V5Y2hhaW5cIixcbiAgICBMYWJlbCA9IFwibGFiZWxcIixcbiAgICBMYWJlbFJvdW5kT3BlbiA9IFwibGFiZWxfcm91bmRfb3BlblwiLFxuICAgIExhbmRtYXJrRmxhZyA9IFwibGFuZG1hcmtfZmxhZ1wiLFxuICAgIExpYnJhcnkgPSBcImxpYnJhcnlcIixcbiAgICBMaW5lY2hhcnQgPSBcImxpbmVjaGFydFwiLFxuICAgIExpbmtlZFByb2R1Y3RzID0gXCJsaW5rZWRfcHJvZHVjdHNcIixcbiAgICBMaW5rQ2lyY2xlID0gXCJsaW5rX2NpcmNsZVwiLFxuICAgIExpc3RWaWV3ID0gXCJsaXN0X3ZpZXdcIixcbiAgICBMb2NhdGlvbiA9IFwibG9jYXRpb25cIixcbiAgICBMb2NrID0gXCJsb2NrXCIsXG4gICAgTG9ja1JvdW5kT3BlbiA9IFwibG9ja19yb3VuZF9vcGVuXCIsXG4gICAgTG9nbyA9IFwibG9nb1wiLFxuICAgIExvZ291dCA9IFwibG9nb3V0XCIsXG4gICAgTWFnaWNXYW5kID0gXCJtYWdpY193YW5kXCIsXG4gICAgTWFnbmlmaWVyID0gXCJtYWduaWZpZXJcIixcbiAgICBNYW5hZ2VyID0gXCJtYW5hZ2VyXCIsXG4gICAgTWFzayA9IFwibWFza1wiLFxuICAgIE1hc3RlckRldGFpbCA9IFwibWFzdGVyX2RldGFpbFwiLFxuICAgIE1hdGVyaWFsQ2lyY2xlTGFyZ2UgPSBcIm1hdGVyaWFsX2NpcmNsZV9sYXJnZVwiLFxuICAgIE1lZGFsQnJvbnplID0gXCJtZWRhbF9icm9uemVcIixcbiAgICBNZWRhbEdvbGQgPSBcIm1lZGFsX2dvbGRcIixcbiAgICBNZWRhbFNpbHZlciA9IFwibWVkYWxfc2lsdmVyXCIsXG4gICAgTWVkaWNhbE9mZmljZXIgPSBcIm1lZGljYWxfb2ZmaWNlclwiLFxuICAgIE1pY3JvcGhvbmUgPSBcIm1pY3JvcGhvbmVcIixcbiAgICBNaW51c1JvdW5kT3BlbiA9IFwibWludXNfcm91bmRfb3BlblwiLFxuICAgIE1pbnVzU2ltcGxlID0gXCJtaW51c19zaW1wbGVcIixcbiAgICBNb2JpbGUgPSBcIm1vYmlsZVwiLFxuICAgIE11bHRpU2VsZWN0Q2hlY2sgPSBcIm11bHRpX3NlbGVjdF9jaGVja1wiLFxuICAgIE5ld1Rhc2sgPSBcIm5ld190YXNrXCIsXG4gICAgTm90ZSA9IFwibm90ZVwiLFxuICAgIE5vdGVCb3JkZXJlZCA9IFwibm90ZV9ib3JkZXJlZFwiLFxuICAgIE5vdGlmaWNhdGlvbiA9IFwibm90aWZpY2F0aW9uXCIsXG4gICAgTm90RXF1YWwgPSBcIm5vdF9lcXVhbFwiLFxuICAgIE9wdGlvbiA9IFwib3B0aW9uXCIsXG4gICAgT3B0aW9uc2V0ID0gXCJvcHRpb25zZXRcIixcbiAgICBPcmRlciA9IFwib3JkZXJcIixcbiAgICBPcmRlcnBpY2tpbmcgPSBcIm9yZGVycGlja2luZ1wiLFxuICAgIE91dGdvaW5nU3RvcmFnZSA9IFwib3V0Z29pbmdfc3RvcmFnZVwiLFxuICAgIE92ZXJCb29raW5nID0gXCJvdmVyX2Jvb2tpbmdcIixcbiAgICBQYXVzZUNpcmNsZSA9IFwicGF1c2VfY2lyY2xlXCIsXG4gICAgUGVuY2lsUm91bmRPcGVuID0gXCJwZW5jaWxfcm91bmRfb3BlblwiLFxuICAgIFBlblRvU3F1YXJlU29saWQgPSBcInBlbl90b19zcXVhcmVfc29saWRcIixcbiAgICBQaG9uZSA9IFwicGhvbmVcIixcbiAgICBQaG9uZVJvdW5kT3BlbiA9IFwicGhvbmVfcm91bmRfb3BlblwiLFxuICAgIFBpZWNoYXJ0ID0gXCJwaWVjaGFydFwiLFxuICAgIFBpbiA9IFwicGluXCIsXG4gICAgUGluUm91bmRPcGVuID0gXCJwaW5fcm91bmRfb3BlblwiLFxuICAgIFBsYXlDaXJjbGUgPSBcInBsYXlfY2lyY2xlXCIsXG4gICAgUGx1c1JvdW5kID0gXCJwbHVzX3JvdW5kXCIsXG4gICAgUGx1c1JvdW5kT3BlbiA9IFwicGx1c19yb3VuZF9vcGVuXCIsXG4gICAgUGx1c1NpbXBsZSA9IFwicGx1c19zaW1wbGVcIixcbiAgICBQbHVzU2tpbm55ID0gXCJwbHVzX3NraW5ueVwiLFxuICAgIFBsdXNTb2xpZCA9IFwicGx1c19zb2xpZFwiLFxuICAgIFBsdXNTdGFycyA9IFwicGx1c19zdGFyc1wiLFxuICAgIFBvaW50ZXIgPSBcInBvaW50ZXJcIixcbiAgICBQb2ludGVyM2QgPSBcInBvaW50ZXJfM2RcIixcbiAgICBQb2ludGVyRmlsbGVkID0gXCJwb2ludGVyX2ZpbGxlZFwiLFxuICAgIFBPUyA9IFwiUE9TXCIsXG4gICAgUG9zaXRpb25pbmcgPSBcInBvc2l0aW9uaW5nXCIsXG4gICAgUHJlZ25hbmN5ID0gXCJwcmVnbmFuY3lcIixcbiAgICBQcmVzZXQgPSBcInByZXNldFwiLFxuICAgIFByaW50ID0gXCJwcmludFwiLFxuICAgIFByb2R1Y3RQcm9wZXJ0aWVzID0gXCJwcm9kdWN0X3Byb3BlcnRpZXNcIixcbiAgICBQdXJjaGFzZSA9IFwicHVyY2hhc2VcIixcbiAgICBRcmNvZGUgPSBcInFyY29kZVwiLFxuICAgIFF1ZXN0aW9uID0gXCJxdWVzdGlvblwiLFxuICAgIFJhZGlvVW5jaGVjayA9IFwicmFkaW9fdW5jaGVja1wiLFxuICAgIFJhbmdlID0gXCJyYW5nZVwiLFxuICAgIFJhbmdlU2VsZWN0ID0gXCJyYW5nZV9zZWxlY3RcIixcbiAgICBSZWN0YW5nbGVzID0gXCJyZWN0YW5nbGVzXCIsXG4gICAgUmVmcmVzaCA9IFwicmVmcmVzaFwiLFxuICAgIFJlZ3VsYXJCb3hlc1BhY2tpbmdDaXJjbGVDaGVjayA9IFwicmVndWxhcl9ib3hlc19wYWNraW5nX2NpcmNsZV9jaGVja1wiLFxuICAgIFJlbGF0aW9ucyA9IFwicmVsYXRpb25zXCIsXG4gICAgUmVtYXJrID0gXCJyZW1hcmtcIixcbiAgICBSZW1hcmtSb3VuZE9wZW4gPSBcInJlbWFya19yb3VuZF9vcGVuXCIsXG4gICAgUmVwb3J0SW5UeXBlID0gXCJyZXBvcnRfaW5fdHlwZVwiLFxuICAgIFJlc2l6ZSA9IFwicmVzaXplXCIsXG4gICAgUmVzaXplRG93biA9IFwicmVzaXplX2Rvd25cIixcbiAgICBSZXNpemVVcCA9IFwicmVzaXplX3VwXCIsXG4gICAgUmV0dXJucyA9IFwicmV0dXJuc1wiLFxuICAgIFJldHVybkdvb2RzID0gXCJyZXR1cm5fZ29vZHNcIixcbiAgICBSb3RhdGVMZWZ0U29saWQgPSBcInJvdGF0ZV9sZWZ0X3NvbGlkXCIsXG4gICAgU2F2ZURpc2sgPSBcInNhdmVfZGlza1wiLFxuICAgIFNhdmVTa2lubnkgPSBcInNhdmVfc2tpbm55XCIsXG4gICAgU2NhbGVCYWxhbmNlZCA9IFwic2NhbGVfYmFsYW5jZWRcIixcbiAgICBTY2FubmVyID0gXCJzY2FubmVyXCIsXG4gICAgU2VhcmNoUm91bmRPcGVuID0gXCJzZWFyY2hfcm91bmRfb3BlblwiLFxuICAgIFNlY3Rpb25zID0gXCJzZWN0aW9uc1wiLFxuICAgIFNlbGVjdEFsbFJvdW5kID0gXCJzZWxlY3RfYWxsX3JvdW5kXCIsXG4gICAgU2VydmljZXMgPSBcInNlcnZpY2VzXCIsXG4gICAgU2V0dGluZ3MgPSBcInNldHRpbmdzXCIsXG4gICAgU2hvcCA9IFwiU2hvcFwiLFxuICAgIFNob3BwaW5nQ2FydCA9IFwic2hvcHBpbmdfY2FydFwiLFxuICAgIFNob3BwaW5nQ2FydE5yID0gXCJzaG9wcGluZ19jYXJ0X25yXCIsXG4gICAgU2hvcnRjdXQgPSBcInNob3J0Y3V0XCIsXG4gICAgU2luZ2xlUGVyc29uID0gXCJTaW5nbGVQZXJzb25cIixcbiAgICBTa2lsbHMgPSBcInNraWxsc1wiLFxuICAgIFNsaWRlclBhbmVsID0gXCJzbGlkZXJfcGFuZWxcIixcbiAgICBTbGlkZUluID0gXCJzbGlkZV9pblwiLFxuICAgIFNtYWxsZXJUaGFuID0gXCJzbWFsbGVyX3RoYW5cIixcbiAgICBTbWFsbFRpbGVzID0gXCJzbWFsbF90aWxlc1wiLFxuICAgIFNvcnRBc2MgPSBcInNvcnRfYXNjXCIsXG4gICAgU29ydERlc2MgPSBcInNvcnRfZGVzY1wiLFxuICAgIFN0YXIgPSBcIlN0YXJcIixcbiAgICBTdGFyUm91bmRPcGVuID0gXCJzdGFyX3JvdW5kX29wZW5cIixcbiAgICBTdGF0dXNBY3RpdmUgPSBcInN0YXR1c19hY3RpdmVcIixcbiAgICBTdGF0dXNBZG9wdGlvbiA9IFwic3RhdHVzX2Fkb3B0aW9uXCIsXG4gICAgU3RhdHVzRm9zdGVyY2FyZSA9IFwic3RhdHVzX2Zvc3RlcmNhcmVcIixcbiAgICBTdGF0dXNJbGwgPSBcInN0YXR1c19pbGxcIixcbiAgICBTdGF0dXNMZWF2ZSA9IFwic3RhdHVzX2xlYXZlXCIsXG4gICAgU3RhdHVzUHJlZ25hbmN5ID0gXCJzdGF0dXNfcHJlZ25hbmN5XCIsXG4gICAgU3RvY2sgPSBcInN0b2NrXCIsXG4gICAgU3RvY2tNYW5hZ2VtZW50ID0gXCJzdG9ja19tYW5hZ2VtZW50XCIsXG4gICAgU3RvcmFnZSA9IFwic3RvcmFnZVwiLFxuICAgIFN1cGVydmlzb3IgPSBcInN1cGVydmlzb3JcIixcbiAgICBTdXBwbGllciA9IFwic3VwcGxpZXJcIixcbiAgICBTdXJnZXJ5ID0gXCJzdXJnZXJ5XCIsXG4gICAgVGFibGVjaGFydCA9IFwidGFibGVjaGFydFwiLFxuICAgIFRhZyA9IFwidGFnXCIsXG4gICAgVGFsa1Rvb011Y2ggPSBcInRhbGtfdG9vX211Y2hcIixcbiAgICBUYXJnZXQgPSBcInRhcmdldFwiLFxuICAgIFRhc2sgPSBcInRhc2tcIixcbiAgICBUaGlja0xpbmVzID0gXCJ0aGlja19saW5lc1wiLFxuICAgIFRoaW5MaW5lcyA9IFwidGhpbl9saW5lc1wiLFxuICAgIFRocmVlU2l4dHlWaWV3ID0gXCJ0aHJlZV9zaXh0eV92aWV3XCIsXG4gICAgVGh1bWJCcm9uemUgPSBcInRodW1iX2Jyb256ZVwiLFxuICAgIFRodW1iR29sZCA9IFwidGh1bWJfZ29sZFwiLFxuICAgIFRodW1iU2lsdmVyID0gXCJ0aHVtYl9zaWx2ZXJcIixcbiAgICBUaW1lbGluZSA9IFwidGltZWxpbmVcIixcbiAgICBUcmFuc2FjdGlvbnMgPSBcInRyYW5zYWN0aW9uc1wiLFxuICAgIFRyYW5zYWN0aW9uRGV0YWlsID0gXCJ0cmFuc2FjdGlvbl9kZXRhaWxcIixcbiAgICBUcmFzaEJpbiA9IFwiVHJhc2hCaW5cIixcbiAgICBUcmFzaENhblNvbGlkID0gXCJ0cmFzaF9jYW5fc29saWRcIixcbiAgICBUcmlhbmdsZURvd24gPSBcInRyaWFuZ2xlX2Rvd25cIixcbiAgICBUcmlhbmdsZUxhcmdlID0gXCJ0cmlhbmdsZV9sYXJnZVwiLFxuICAgIFRyaWFuZ2xlTGVmdCA9IFwidHJpYW5nbGVfbGVmdFwiLFxuICAgIFRyaWFuZ2xlUmlnaHQgPSBcInRyaWFuZ2xlX3JpZ2h0XCIsXG4gICAgVHJpYW5nbGVVcCA9IFwidHJpYW5nbGVfdXBcIixcbiAgICBUcnVjayA9IFwidHJ1Y2tcIixcbiAgICBUcnVja0NhbGVuZGFyID0gXCJ0cnVja19jYWxlbmRhclwiLFxuICAgIFVuZG9Sb3VuZE9wZW4gPSBcInVuZG9fcm91bmRfb3BlblwiLFxuICAgIFVzZXIgPSBcInVzZXJcIixcbiAgICBWYXJpYW50cyA9IFwidmFyaWFudHNcIixcbiAgICBWYmFyY2hhcnQgPSBcInZiYXJjaGFydFwiLFxuICAgIFZpZXcgPSBcInZpZXdcIixcbiAgICBXYXJlaG91c2UgPSBcIndhcmVob3VzZVwiLFxuICAgIFdhdGVybWFyayA9IFwid2F0ZXJtYXJrXCIsXG4gICAgV2Vic2l0ZSA9IFwid2Vic2l0ZVwiLFxuICAgIFdpemFyZCA9IFwid2l6YXJkXCIsXG4gICAgV21zID0gXCJ3bXNcIixcbiAgICBXb3JrSW5Qcm9ncmVzcyA9IFwid29ya19pbl9wcm9ncmVzc1wiLFxuICAgIFdvcmtJblByb2dyZXNzUm91bmRPcGVuID0gXCJ3b3JrX2luX3Byb2dyZXNzX3JvdW5kX29wZW5cIixcbiAgICBXcmVuY2ggPSBcIndyZW5jaFwiLFxuICAgIFhBeGlzID0gXCJ4X2F4aXNcIixcbiAgICBZQXhpcyA9IFwieV9heGlzXCJcbn0iXX0=
305
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1jb21wb25lbnRzLWljb24uZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0dBQWdHO0FBRWhHLE1BQU0sQ0FBTixJQUFZLGtCQTZTWDtBQTdTRCxXQUFZLGtCQUFrQjtJQUMxQix5Q0FBbUIsQ0FBQTtJQUNuQiw2REFBdUMsQ0FBQTtJQUN2QywrQ0FBeUIsQ0FBQTtJQUN6Qix3REFBa0MsQ0FBQTtJQUNsQyw4Q0FBd0IsQ0FBQTtJQUN4QixxREFBK0IsQ0FBQTtJQUMvQix1REFBaUMsQ0FBQTtJQUNqQyw4Q0FBd0IsQ0FBQTtJQUN4QixrRUFBNEMsQ0FBQTtJQUM1Qyx5REFBbUMsQ0FBQTtJQUNuQyx5REFBbUMsQ0FBQTtJQUNuQywyREFBcUMsQ0FBQTtJQUNyQyxxREFBK0IsQ0FBQTtJQUMvQixvRUFBOEMsQ0FBQTtJQUM5QywyREFBcUMsQ0FBQTtJQUNyQywyREFBcUMsQ0FBQTtJQUNyQyw2REFBdUMsQ0FBQTtJQUN2Qyx1REFBaUMsQ0FBQTtJQUNqQywwQ0FBb0IsQ0FBQTtJQUNwQiw4REFBd0MsQ0FBQTtJQUN4Qyx5Q0FBbUIsQ0FBQTtJQUNuQiwyREFBcUMsQ0FBQTtJQUNyQyxzREFBZ0MsQ0FBQTtJQUNoQyxpREFBMkIsQ0FBQTtJQUMzQiwrQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBbUIsQ0FBQTtJQUNuQix3Q0FBa0IsQ0FBQTtJQUNsQixxQ0FBZSxDQUFBO0lBQ2YsbUVBQTZDLENBQUE7SUFDN0MscUNBQWUsQ0FBQTtJQUNmLHlEQUFtQyxDQUFBO0lBQ25DLDBEQUFvQyxDQUFBO0lBQ3BDLHFEQUErQixDQUFBO0lBQy9CLDJDQUFxQixDQUFBO0lBQ3JCLGtEQUE0QixDQUFBO0lBQzVCLGlFQUEyQyxDQUFBO0lBQzND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QWEsQ0FBQTtJQUNiLDZDQUF1QixDQUFBO0lBQ3ZCLDZDQUF1QixDQUFBO0lBQ3ZCLHlDQUFtQixDQUFBO0lBQ25CLHVDQUFpQixDQUFBO0lBQ2pCLGlDQUFXLENBQUE7SUFDWCx5REFBbUMsQ0FBQTtJQUNuQyw2RUFBdUQsQ0FBQTtJQUN2RCx1Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZ0IsQ0FBQTtJQUNoQixzQ0FBZ0IsQ0FBQTtBQUNwQixDQUFDLEVBN1NXLGtCQUFrQixLQUFsQixrQkFBa0IsUUE2UzdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEFVVE8gR0VORVJBVEVEIEZJTEUuIERPIE5PVCBDSEFOR0UuLiBPUiBZT1UgV0lMTCBTVUZGRVIgVEhFIENPTlNFUVVFTkNFUyBPRiBZT1VSIEFDVElPTlMgKiovXG5cbmV4cG9ydCBlbnVtIENvcmVDb21wb25lbnRzSWNvbiB7XG4gICAgQWNjb3VudCA9IFwiYWNjb3VudFwiLFxuICAgIEFjY291bnRSb3VuZE9wZW4gPSBcImFjY291bnRfcm91bmRfb3BlblwiLFxuICAgIEFjdGl2aXRpZXMgPSBcImFjdGl2aXRpZXNcIixcbiAgICBBZGRUb0NhcnREcm9wID0gXCJhZGRfdG9fY2FydF9kcm9wXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dGYXRMZWZ0ID0gXCJhcnJvd19mYXRfbGVmdFwiLFxuICAgIEFycm93RmF0UmlnaHQgPSBcImFycm93X2ZhdF9yaWdodFwiLFxuICAgIEFycm93TGVmdCA9IFwiYXJyb3dfbGVmdFwiLFxuICAgIEFycm93TGVmdFJvdW5kT3BlbiA9IFwiYXJyb3dfbGVmdF9yb3VuZF9vcGVuXCIsXG4gICAgQXJyb3dQb2ludERvd24gPSBcImFycm93X3BvaW50X2Rvd25cIixcbiAgICBBcnJvd1BvaW50TGVmdCA9IFwiYXJyb3dfcG9pbnRfbGVmdFwiLFxuICAgIEFycm93UG9pbnRSaWdodCA9IFwiYXJyb3dfcG9pbnRfcmlnaHRcIixcbiAgICBBcnJvd1BvaW50VXAgPSBcImFycm93X3BvaW50X3VwXCIsXG4gICAgQXJyb3dSaWdodFJvdW5kT3BlbiA9IFwiYXJyb3dfcmlnaHRfcm91bmRfb3BlblwiLFxuICAgIEFycm93U2Nyb2xsRG93biA9IFwiYXJyb3dfc2Nyb2xsX2Rvd25cIixcbiAgICBBcnJvd1Njcm9sbExlZnQgPSBcImFycm93X3Njcm9sbF9sZWZ0XCIsXG4gICAgQXJyb3dTY3JvbGxSaWdodCA9IFwiYXJyb3dfc2Nyb2xsX3JpZ2h0XCIsXG4gICAgQXJyb3dTY3JvbGxVcCA9IFwiYXJyb3dfc2Nyb2xsX3VwXCIsXG4gICAgQXJyb3dVcCA9IFwiYXJyb3dfdXBcIixcbiAgICBBcnJvd1VwQXJyb3dEb3duID0gXCJhcnJvd191cF9hcnJvd19kb3duXCIsXG4gICAgQXJ0aWNsZSA9IFwiYXJ0aWNsZVwiLFxuICAgIEFydGljbGVXaXRoRm9sZCA9IFwiYXJ0aWNsZV93aXRoX2ZvbGRcIixcbiAgICBBc3Rlcmlza1NtYWxsID0gXCJhc3Rlcmlza19zbWFsbFwiLFxuICAgIEF0dGFjaG1lbnRzID0gXCJhdHRhY2htZW50c1wiLFxuICAgIEJhY2tUb1RvcCA9IFwiYmFja190b190b3BcIixcbiAgICBCYXJjb2RlID0gXCJCYXJjb2RlXCIsXG4gICAgQmlnTWFjID0gXCJiaWdfbWFjXCIsXG4gICAgQm94ZXMgPSBcImJveGVzXCIsXG4gICAgQm94ZXNQYWNraW5nUmVndWxhciA9IFwiYm94ZXNfcGFja2luZ19yZWd1bGFyXCIsXG4gICAgQnJ1c2ggPSBcImJydXNoXCIsXG4gICAgQnJ1c2hSb3VuZE9wZW4gPSBcImJydXNoX3JvdW5kX29wZW5cIixcbiAgICBCdWlsZGluZ0NvbHVtbnMgPSBcImJ1aWxkaW5nX2NvbHVtbnNcIixcbiAgICBCdXNpbmVzc3J1bGVzID0gXCJidXNpbmVzc3J1bGVzXCIsXG4gICAgQ2FsZW5kYXIgPSBcImNhbGVuZGFyXCIsXG4gICAgQ2FsZW5kYXJEYXkgPSBcImNhbGVuZGFyX2RheVwiLFxuICAgIENhbGVuZGFyRGF5UmVndWxhciA9IFwiY2FsZW5kYXJfZGF5X3JlZ3VsYXJcIixcbiAgICBDYWxlbmRhckVtcHR5ID0gXCJjYWxlbmRhcl9lbXB0eVwiLFxuICAgIENhbGVuZGFyUmFuZ2UgPSBcImNhbGVuZGFyX3JhbmdlXCIsXG4gICAgQ2FsZW5kYXJSb3VuZE9wZW4gPSBcImNhbGVuZGFyX3JvdW5kX29wZW5cIixcbiAgICBDYW1lcmEgPSBcImNhbWVyYVwiLFxuICAgIENhbmNlbCA9IFwiY2FuY2VsXCIsXG4gICAgQ2FuY2VsUm91bmRGaWxsZWQgPSBcImNhbmNlbF9yb3VuZF9maWxsZWRcIixcbiAgICBDYW5jZWxSb3VuZE9wZW4gPSBcImNhbmNlbF9yb3VuZF9vcGVuXCIsXG4gICAgQ2FydCA9IFwiY2FydFwiLFxuICAgIENhcnRPcGVuID0gXCJjYXJ0X29wZW5cIixcbiAgICBDYXNlTWFuYWdlciA9IFwiY2FzZV9tYW5hZ2VyXCIsXG4gICAgQ2FzaFJlZ2lzdGVyID0gXCJDYXNoUmVnaXN0ZXJcIixcbiAgICBDYXNoUmVnaXN0ZXJTaW1wbGUgPSBcImNhc2hfcmVnaXN0ZXJfc2ltcGxlXCIsXG4gICAgQ2hhbmdlTG9jYXRpb24gPSBcImNoYW5nZV9sb2NhdGlvblwiLFxuICAgIENoZWNrID0gXCJjaGVja1wiLFxuICAgIENoZWNrRHVvdG9uZSA9IFwiY2hlY2tfZHVvdG9uZVwiLFxuICAgIENoZWNrUm91bmQgPSBcImNoZWNrX3JvdW5kXCIsXG4gICAgQ2hlY2tSb3VuZE9wZW4gPSBcImNoZWNrX3JvdW5kX29wZW5cIixcbiAgICBDaGVja1NpbXBsZSA9IFwiY2hlY2tfc2ltcGxlXCIsXG4gICAgQ2hlY2tUaGluID0gXCJjaGVja190aGluXCIsXG4gICAgQ2hldnJvbkRvd25SZWd1bGFyID0gXCJjaGV2cm9uX2Rvd25fcmVndWxhclwiLFxuICAgIENoZXZyb25VcFJlZ3VsYXIgPSBcImNoZXZyb25fdXBfcmVndWxhclwiLFxuICAgIENpcmNsZVBsdXNTa2lubnkgPSBcIkNpcmNsZVBsdXNTa2lubnlcIixcbiAgICBDbGllbnQgPSBcImNsaWVudFwiLFxuICAgIENsb2NrID0gXCJjbG9ja1wiLFxuICAgIENsb2NrQXJyb3cgPSBcImNsb2NrQXJyb3dcIixcbiAgICBDb2dXaGVlbFBsdXMgPSBcImNvZ1doZWVsUGx1c1wiLFxuICAgIENvZ1doZWVscyA9IFwiY29nV2hlZWxzXCIsXG4gICAgQ29sdW1uT3B0aW9ucyA9IFwiY29sdW1uX29wdGlvbnNcIixcbiAgICBDb21wYW55ID0gXCJjb21wYW55XCIsXG4gICAgQ29tcGFueUZsYXQgPSBcImNvbXBhbnlfZmxhdFwiLFxuICAgIENvbmZpZ3VyYWJsZSA9IFwiY29uZmlndXJhYmxlXCIsXG4gICAgQ29uc3VsdGFudCA9IFwiY29uc3VsdGFudFwiLFxuICAgIENvcHkgPSBcImNvcHlcIixcbiAgICBDcm9zc2hhaXIxID0gXCJjcm9zc2hhaXJfMVwiLFxuICAgIENyb3NzU2tpbm55ID0gXCJDcm9zc1NraW5ueVwiLFxuICAgIERhc2hib2FyZCA9IFwiZGFzaGJvYXJkXCIsXG4gICAgRGVsaXZlcnlNZXRob2QgPSBcImRlbGl2ZXJ5X21ldGhvZFwiLFxuICAgIERlbGl2ZXJ5U3RhdHVzVW5jaGVjayA9IFwiZGVsaXZlcnlfc3RhdHVzX3VuY2hlY2tcIixcbiAgICBEZWxpdmVyeVRydWNrID0gXCJkZWxpdmVyeV90cnVja1wiLFxuICAgIERldGFpbFJlY29yZCA9IFwiZGV0YWlsX3JlY29yZFwiLFxuICAgIERldGFpbFZpZXcgPSBcImRldGFpbF92aWV3XCIsXG4gICAgRGljdGlvbmFyeSA9IFwiZGljdGlvbmFyeVwiLFxuICAgIERvY3VtZW50cyA9IFwiZG9jdW1lbnRzXCIsXG4gICAgRG9jdW1lbnRXcmVuY2ggPSBcImRvY3VtZW50V3JlbmNoXCIsXG4gICAgRG9sbGFyID0gXCJkb2xsYXJcIixcbiAgICBEb3dubG9hZCA9IFwiZG93bmxvYWRcIixcbiAgICBEcm9wZG93biA9IFwiZHJvcGRvd25cIixcbiAgICBEcm9wem9uZSA9IFwiZHJvcHpvbmVcIixcbiAgICBFZGl0UGVuY2lsID0gXCJlZGl0X3BlbmNpbFwiLFxuICAgIEVkaXRQZW5jaWxDaXJjbGUgPSBcImVkaXRfcGVuY2lsX2NpcmNsZVwiLFxuICAgIEVkaXRQZW5jaWxSb3VuZCA9IFwiZWRpdF9wZW5jaWxfcm91bmRcIixcbiAgICBFZGl0UGVuY2lsU2ltcGxlID0gXCJlZGl0X3BlbmNpbF9zaW1wbGVcIixcbiAgICBFbWFpbCA9IFwiZW1haWxcIixcbiAgICBFbWFpbFJvdW5kT3BlbiA9IFwiZW1haWxfcm91bmRfb3BlblwiLFxuICAgIEVtcGxveWVlID0gXCJlbXBsb3llZVwiLFxuICAgIEVtcGxveWVlVHdvID0gXCJlbXBsb3llZV90d29cIixcbiAgICBFbXBsb3llciA9IFwiZW1wbG95ZXJcIixcbiAgICBFbXBsb3ltZW50ID0gXCJlbXBsb3ltZW50XCIsXG4gICAgRW1wbG95bWVudEVuZCA9IFwiZW1wbG95bWVudF9lbmRcIixcbiAgICBFcXVhbCA9IFwiZXF1YWxcIixcbiAgICBFdXJvID0gXCJldXJvXCIsXG4gICAgRXhjbGFtYXRpb24gPSBcImV4Y2xhbWF0aW9uXCIsXG4gICAgRXhjbGFtYXRpb25Sb3VuZE9wZW4gPSBcImV4Y2xhbWF0aW9uX3JvdW5kX29wZW5cIixcbiAgICBFeWVDaXJjbGUgPSBcImV5ZV9jaXJjbGVcIixcbiAgICBFeWVDaXJjbGVMYXJnZSA9IFwiZXllX2NpcmNsZV9sYXJnZVwiLFxuICAgIEV5ZVJvdW5kRmlsbGVkID0gXCJleWVfcm91bmRfZmlsbGVkXCIsXG4gICAgRmFjdG9yeSA9IFwiZmFjdG9yeVwiLFxuICAgIEZhc3R0cmFjayA9IFwiZmFzdHRyYWNrXCIsXG4gICAgRmlsdGVyID0gXCJmaWx0ZXJcIixcbiAgICBGaW5pc2ggPSBcImZpbmlzaFwiLFxuICAgIEZpeGVkT3B0aW9uVmFsdWVUcmVlID0gXCJmaXhlZF9vcHRpb25fdmFsdWVfdHJlZVwiLFxuICAgIEZpeGVkVHJlZU9wdGlvblZhbHVlID0gXCJmaXhlZF90cmVlX29wdGlvbl92YWx1ZVwiLFxuICAgIEZsb3BweURpc2tTb2xpZCA9IFwiZmxvcHB5X2Rpc2tfc29saWRcIixcbiAgICBGb2xkZXJBcnJvdyA9IFwiRm9sZGVyQXJyb3dcIixcbiAgICBGb2xkZXJBcnJvd0luID0gXCJmb2xkZXJfYXJyb3dfaW5cIixcbiAgICBGb3JtdWxhID0gXCJmb3JtdWxhXCIsXG4gICAgRnVsbHNjcmVlbiA9IFwiZnVsbHNjcmVlblwiLFxuICAgIEdlYXJEb3VibGUgPSBcImdlYXJfZG91YmxlXCIsXG4gICAgR2xvYmFsU2VhcmNoID0gXCJnbG9iYWxfc2VhcmNoXCIsXG4gICAgR2xvYmUgPSBcImdsb2JlXCIsXG4gICAgR3JlYXRlclRoYW4gPSBcImdyZWF0ZXJfdGhhblwiLFxuICAgIEdyaXBEb3RzVmVydGljYWxTb2xpZCA9IFwiZ3JpcF9kb3RzX3ZlcnRpY2FsX3NvbGlkXCIsXG4gICAgR3JvdXBieSA9IFwiZ3JvdXBieVwiLFxuICAgIEhhbWJ1cmdlciA9IFwiaGFtYnVyZ2VyXCIsXG4gICAgSGFuZFBvaW50ZXIgPSBcImhhbmRfcG9pbnRlclwiLFxuICAgIEhiYXJjaGFydCA9IFwiaGJhcmNoYXJ0XCIsXG4gICAgSG9tZSA9IFwiSG9tZVwiLFxuICAgIEhvbWVDaXJjbGUgPSBcImhvbWVfY2lyY2xlXCIsXG4gICAgSG9tZU9wZW4gPSBcImhvbWVfb3BlblwiLFxuICAgIEhvbWVSb3VuZE9wZW4gPSBcImhvbWVfcm91bmRfb3BlblwiLFxuICAgIEhvdXJnbGFzcyA9IFwiaG91cmdsYXNzXCIsXG4gICAgSWNvbjNkID0gXCJpY29uXzNkXCIsXG4gICAgSWQgPSBcImlkXCIsXG4gICAgSW1hZ2UgPSBcImltYWdlXCIsXG4gICAgSW5jb21pbmdTdG9yYWdlID0gXCJpbmNvbWluZ19zdG9yYWdlXCIsXG4gICAgSW5mb3JtYXRpb24gPSBcImluZm9ybWF0aW9uXCIsXG4gICAgSW5mb3JtYXRpb25Sb3VuZE9wZW4gPSBcImluZm9ybWF0aW9uX3JvdW5kX29wZW5cIixcbiAgICBJbnB1dE11bHRpcGxlY2hvaWNlID0gXCJpbnB1dF9tdWx0aXBsZWNob2ljZVwiLFxuICAgIElucHV0VGV4dCA9IFwiaW5wdXRfdGV4dFwiLFxuICAgIElucHV0VGV4dGFyZWEgPSBcImlucHV0X3RleHRhcmVhXCIsXG4gICAgSW52ZW50b3J5ID0gXCJpbnZlbnRvcnlcIixcbiAgICBJbnZvaWNlID0gXCJpbnZvaWNlXCIsXG4gICAgSW9uZUxvZ28gPSBcImlvbmVfbG9nb1wiLFxuICAgIElvbmVMb2dvRmF0ID0gXCJpb25lX2xvZ29fZmF0XCIsXG4gICAgSW9uZVN0YXR1c05leHQgPSBcImlvbmVfc3RhdHVzX25leHRcIixcbiAgICBJb25lV29ya2Zsb3cgPSBcImlvbmVfd29ya2Zsb3dcIixcbiAgICBLZXlib2FyZCA9IFwia2V5Ym9hcmRcIixcbiAgICBLZXljaGFpbiA9IFwia2V5Y2hhaW5cIixcbiAgICBMYWJlbCA9IFwibGFiZWxcIixcbiAgICBMYWJlbFJvdW5kT3BlbiA9IFwibGFiZWxfcm91bmRfb3BlblwiLFxuICAgIExhbmRtYXJrRmxhZyA9IFwibGFuZG1hcmtfZmxhZ1wiLFxuICAgIExpYnJhcnkgPSBcImxpYnJhcnlcIixcbiAgICBMaW5lY2hhcnQgPSBcImxpbmVjaGFydFwiLFxuICAgIExpbmtlZFByb2R1Y3RzID0gXCJsaW5rZWRfcHJvZHVjdHNcIixcbiAgICBMaW5rQ2lyY2xlID0gXCJsaW5rX2NpcmNsZVwiLFxuICAgIExpc3RWaWV3ID0gXCJsaXN0X3ZpZXdcIixcbiAgICBMb2NhdGlvbiA9IFwibG9jYXRpb25cIixcbiAgICBMb2NrID0gXCJsb2NrXCIsXG4gICAgTG9ja1JvdW5kT3BlbiA9IFwibG9ja19yb3VuZF9vcGVuXCIsXG4gICAgTG9nbyA9IFwibG9nb1wiLFxuICAgIExvZ291dCA9IFwibG9nb3V0XCIsXG4gICAgTWFnaWNXYW5kID0gXCJtYWdpY193YW5kXCIsXG4gICAgTWFnbmlmaWVyID0gXCJtYWduaWZpZXJcIixcbiAgICBNYW5hZ2VyID0gXCJtYW5hZ2VyXCIsXG4gICAgTWFzayA9IFwibWFza1wiLFxuICAgIE1hc3RlckRldGFpbCA9IFwibWFzdGVyX2RldGFpbFwiLFxuICAgIE1hdGVyaWFsQ2lyY2xlTGFyZ2UgPSBcIm1hdGVyaWFsX2NpcmNsZV9sYXJnZVwiLFxuICAgIE1lZGFsQnJvbnplID0gXCJtZWRhbF9icm9uemVcIixcbiAgICBNZWRhbEdvbGQgPSBcIm1lZGFsX2dvbGRcIixcbiAgICBNZWRhbFNpbHZlciA9IFwibWVkYWxfc2lsdmVyXCIsXG4gICAgTWVkaWNhbE9mZmljZXIgPSBcIm1lZGljYWxfb2ZmaWNlclwiLFxuICAgIE1pY3JvcGhvbmUgPSBcIm1pY3JvcGhvbmVcIixcbiAgICBNaW51c1JvdW5kT3BlbiA9IFwibWludXNfcm91bmRfb3BlblwiLFxuICAgIE1pbnVzU2ltcGxlID0gXCJtaW51c19zaW1wbGVcIixcbiAgICBNb2JpbGUgPSBcIm1vYmlsZVwiLFxuICAgIE11bHRpU2VsZWN0Q2hlY2sgPSBcIm11bHRpX3NlbGVjdF9jaGVja1wiLFxuICAgIE5ld1Rhc2sgPSBcIm5ld190YXNrXCIsXG4gICAgTm90ZSA9IFwibm90ZVwiLFxuICAgIE5vdGVCb3JkZXJlZCA9IFwibm90ZV9ib3JkZXJlZFwiLFxuICAgIE5vdGlmaWNhdGlvbiA9IFwibm90aWZpY2F0aW9uXCIsXG4gICAgTm90RXF1YWwgPSBcIm5vdF9lcXVhbFwiLFxuICAgIE9wdGlvbiA9IFwib3B0aW9uXCIsXG4gICAgT3B0aW9uc2V0ID0gXCJvcHRpb25zZXRcIixcbiAgICBPcmRlciA9IFwib3JkZXJcIixcbiAgICBPcmRlcnBpY2tpbmcgPSBcIm9yZGVycGlja2luZ1wiLFxuICAgIE91dGdvaW5nU3RvcmFnZSA9IFwib3V0Z29pbmdfc3RvcmFnZVwiLFxuICAgIE92ZXJCb29raW5nID0gXCJvdmVyX2Jvb2tpbmdcIixcbiAgICBQYXJhZ3JhcGhTb2xpZCA9IFwicGFyYWdyYXBoX3NvbGlkXCIsXG4gICAgUGF1c2VDaXJjbGUgPSBcInBhdXNlX2NpcmNsZVwiLFxuICAgIFBlbmNpbFJvdW5kT3BlbiA9IFwicGVuY2lsX3JvdW5kX29wZW5cIixcbiAgICBQZW5Ub1NxdWFyZVNvbGlkID0gXCJwZW5fdG9fc3F1YXJlX3NvbGlkXCIsXG4gICAgUGhvbmUgPSBcInBob25lXCIsXG4gICAgUGhvbmVSb3VuZE9wZW4gPSBcInBob25lX3JvdW5kX29wZW5cIixcbiAgICBQaWVjaGFydCA9IFwicGllY2hhcnRcIixcbiAgICBQaW4gPSBcInBpblwiLFxuICAgIFBpblJvdW5kT3BlbiA9IFwicGluX3JvdW5kX29wZW5cIixcbiAgICBQbGF5Q2lyY2xlID0gXCJwbGF5X2NpcmNsZVwiLFxuICAgIFBsdXNSb3VuZCA9IFwicGx1c19yb3VuZFwiLFxuICAgIFBsdXNSb3VuZE9wZW4gPSBcInBsdXNfcm91bmRfb3BlblwiLFxuICAgIFBsdXNTaW1wbGUgPSBcInBsdXNfc2ltcGxlXCIsXG4gICAgUGx1c1NraW5ueSA9IFwicGx1c19za2lubnlcIixcbiAgICBQbHVzU29saWQgPSBcInBsdXNfc29saWRcIixcbiAgICBQbHVzU3RhcnMgPSBcInBsdXNfc3RhcnNcIixcbiAgICBQb2ludGVyID0gXCJwb2ludGVyXCIsXG4gICAgUG9pbnRlcjNkID0gXCJwb2ludGVyXzNkXCIsXG4gICAgUG9pbnRlckZpbGxlZCA9IFwicG9pbnRlcl9maWxsZWRcIixcbiAgICBQT1MgPSBcIlBPU1wiLFxuICAgIFBvc2l0aW9uaW5nID0gXCJwb3NpdGlvbmluZ1wiLFxuICAgIFByZWduYW5jeSA9IFwicHJlZ25hbmN5XCIsXG4gICAgUHJlc2V0ID0gXCJwcmVzZXRcIixcbiAgICBQcmludCA9IFwicHJpbnRcIixcbiAgICBQcm9kdWN0UHJvcGVydGllcyA9IFwicHJvZHVjdF9wcm9wZXJ0aWVzXCIsXG4gICAgUHVyY2hhc2UgPSBcInB1cmNoYXNlXCIsXG4gICAgUXJjb2RlID0gXCJxcmNvZGVcIixcbiAgICBRdWVzdGlvbiA9IFwicXVlc3Rpb25cIixcbiAgICBSYWRpb1VuY2hlY2sgPSBcInJhZGlvX3VuY2hlY2tcIixcbiAgICBSYW5nZSA9IFwicmFuZ2VcIixcbiAgICBSYW5nZVNlbGVjdCA9IFwicmFuZ2Vfc2VsZWN0XCIsXG4gICAgUmVjdGFuZ2xlcyA9IFwicmVjdGFuZ2xlc1wiLFxuICAgIFJlZnJlc2ggPSBcInJlZnJlc2hcIixcbiAgICBSZWd1bGFyQm94ZXNQYWNraW5nQ2lyY2xlQ2hlY2sgPSBcInJlZ3VsYXJfYm94ZXNfcGFja2luZ19jaXJjbGVfY2hlY2tcIixcbiAgICBSZWxhdGlvbnMgPSBcInJlbGF0aW9uc1wiLFxuICAgIFJlbWFyayA9IFwicmVtYXJrXCIsXG4gICAgUmVtYXJrUm91bmRPcGVuID0gXCJyZW1hcmtfcm91bmRfb3BlblwiLFxuICAgIFJlcG9ydEluVHlwZSA9IFwicmVwb3J0X2luX3R5cGVcIixcbiAgICBSZXNpemUgPSBcInJlc2l6ZVwiLFxuICAgIFJlc2l6ZURvd24gPSBcInJlc2l6ZV9kb3duXCIsXG4gICAgUmVzaXplVXAgPSBcInJlc2l6ZV91cFwiLFxuICAgIFJldHVybnMgPSBcInJldHVybnNcIixcbiAgICBSZXR1cm5Hb29kcyA9IFwicmV0dXJuX2dvb2RzXCIsXG4gICAgUm90YXRlTGVmdFNvbGlkID0gXCJyb3RhdGVfbGVmdF9zb2xpZFwiLFxuICAgIFNhdmVEaXNrID0gXCJzYXZlX2Rpc2tcIixcbiAgICBTYXZlU2tpbm55ID0gXCJzYXZlX3NraW5ueVwiLFxuICAgIFNjYWxlQmFsYW5jZWQgPSBcInNjYWxlX2JhbGFuY2VkXCIsXG4gICAgU2Nhbm5lciA9IFwic2Nhbm5lclwiLFxuICAgIFNlYXJjaFJvdW5kT3BlbiA9IFwic2VhcmNoX3JvdW5kX29wZW5cIixcbiAgICBTZWN0aW9ucyA9IFwic2VjdGlvbnNcIixcbiAgICBTZWxlY3RBbGxSb3VuZCA9IFwic2VsZWN0X2FsbF9yb3VuZFwiLFxuICAgIFNlcnZpY2VzID0gXCJzZXJ2aWNlc1wiLFxuICAgIFNldHRpbmdzID0gXCJzZXR0aW5nc1wiLFxuICAgIFNob3AgPSBcIlNob3BcIixcbiAgICBTaG9wcGluZ0NhcnQgPSBcInNob3BwaW5nX2NhcnRcIixcbiAgICBTaG9wcGluZ0NhcnROciA9IFwic2hvcHBpbmdfY2FydF9uclwiLFxuICAgIFNob3J0Y3V0ID0gXCJzaG9ydGN1dFwiLFxuICAgIFNpbmdsZVBlcnNvbiA9IFwiU2luZ2xlUGVyc29uXCIsXG4gICAgU2tpbGxzID0gXCJza2lsbHNcIixcbiAgICBTbGlkZXJQYW5lbCA9IFwic2xpZGVyX3BhbmVsXCIsXG4gICAgU2xpZGVJbiA9IFwic2xpZGVfaW5cIixcbiAgICBTbWFsbGVyVGhhbiA9IFwic21hbGxlcl90aGFuXCIsXG4gICAgU21hbGxUaWxlcyA9IFwic21hbGxfdGlsZXNcIixcbiAgICBTb3J0QXNjID0gXCJzb3J0X2FzY1wiLFxuICAgIFNvcnREZXNjID0gXCJzb3J0X2Rlc2NcIixcbiAgICBTdGFyID0gXCJTdGFyXCIsXG4gICAgU3RhclJvdW5kT3BlbiA9IFwic3Rhcl9yb3VuZF9vcGVuXCIsXG4gICAgU3RhdHVzQWN0aXZlID0gXCJzdGF0dXNfYWN0aXZlXCIsXG4gICAgU3RhdHVzQWRvcHRpb24gPSBcInN0YXR1c19hZG9wdGlvblwiLFxuICAgIFN0YXR1c0Zvc3RlcmNhcmUgPSBcInN0YXR1c19mb3N0ZXJjYXJlXCIsXG4gICAgU3RhdHVzSWxsID0gXCJzdGF0dXNfaWxsXCIsXG4gICAgU3RhdHVzTGVhdmUgPSBcInN0YXR1c19sZWF2ZVwiLFxuICAgIFN0YXR1c1ByZWduYW5jeSA9IFwic3RhdHVzX3ByZWduYW5jeVwiLFxuICAgIFN0b2NrID0gXCJzdG9ja1wiLFxuICAgIFN0b2NrTWFuYWdlbWVudCA9IFwic3RvY2tfbWFuYWdlbWVudFwiLFxuICAgIFN0b3JhZ2UgPSBcInN0b3JhZ2VcIixcbiAgICBTdXBlcnZpc29yID0gXCJzdXBlcnZpc29yXCIsXG4gICAgU3VwcGxpZXIgPSBcInN1cHBsaWVyXCIsXG4gICAgU3VyZ2VyeSA9IFwic3VyZ2VyeVwiLFxuICAgIFRhYmxlY2hhcnQgPSBcInRhYmxlY2hhcnRcIixcbiAgICBUYWcgPSBcInRhZ1wiLFxuICAgIFRhbGtUb29NdWNoID0gXCJ0YWxrX3Rvb19tdWNoXCIsXG4gICAgVGFyZ2V0ID0gXCJ0YXJnZXRcIixcbiAgICBUYXNrID0gXCJ0YXNrXCIsXG4gICAgVGhpY2tMaW5lcyA9IFwidGhpY2tfbGluZXNcIixcbiAgICBUaGluTGluZXMgPSBcInRoaW5fbGluZXNcIixcbiAgICBUaHJlZVNpeHR5VmlldyA9IFwidGhyZWVfc2l4dHlfdmlld1wiLFxuICAgIFRodW1iQnJvbnplID0gXCJ0aHVtYl9icm9uemVcIixcbiAgICBUaHVtYkdvbGQgPSBcInRodW1iX2dvbGRcIixcbiAgICBUaHVtYlNpbHZlciA9IFwidGh1bWJfc2lsdmVyXCIsXG4gICAgVGltZWxpbmUgPSBcInRpbWVsaW5lXCIsXG4gICAgVHJhbnNhY3Rpb25zID0gXCJ0cmFuc2FjdGlvbnNcIixcbiAgICBUcmFuc2FjdGlvbkRldGFpbCA9IFwidHJhbnNhY3Rpb25fZGV0YWlsXCIsXG4gICAgVHJhc2hCaW4gPSBcIlRyYXNoQmluXCIsXG4gICAgVHJhc2hDYW5Tb2xpZCA9IFwidHJhc2hfY2FuX3NvbGlkXCIsXG4gICAgVHJpYW5nbGVEb3duID0gXCJ0cmlhbmdsZV9kb3duXCIsXG4gICAgVHJpYW5nbGVMYXJnZSA9IFwidHJpYW5nbGVfbGFyZ2VcIixcbiAgICBUcmlhbmdsZUxlZnQgPSBcInRyaWFuZ2xlX2xlZnRcIixcbiAgICBUcmlhbmdsZVJpZ2h0ID0gXCJ0cmlhbmdsZV9yaWdodFwiLFxuICAgIFRyaWFuZ2xlVXAgPSBcInRyaWFuZ2xlX3VwXCIsXG4gICAgVHJ1Y2sgPSBcInRydWNrXCIsXG4gICAgVHJ1Y2tDYWxlbmRhciA9IFwidHJ1Y2tfY2FsZW5kYXJcIixcbiAgICBVbmRvUm91bmRPcGVuID0gXCJ1bmRvX3JvdW5kX29wZW5cIixcbiAgICBVc2VyID0gXCJ1c2VyXCIsXG4gICAgVmFyaWFudHMgPSBcInZhcmlhbnRzXCIsXG4gICAgVmJhcmNoYXJ0ID0gXCJ2YmFyY2hhcnRcIixcbiAgICBWaWV3ID0gXCJ2aWV3XCIsXG4gICAgV2FyZWhvdXNlID0gXCJ3YXJlaG91c2VcIixcbiAgICBXYXRlcm1hcmsgPSBcIndhdGVybWFya1wiLFxuICAgIFdlYnNpdGUgPSBcIndlYnNpdGVcIixcbiAgICBXaXphcmQgPSBcIndpemFyZFwiLFxuICAgIFdtcyA9IFwid21zXCIsXG4gICAgV29ya0luUHJvZ3Jlc3MgPSBcIndvcmtfaW5fcHJvZ3Jlc3NcIixcbiAgICBXb3JrSW5Qcm9ncmVzc1JvdW5kT3BlbiA9IFwid29ya19pbl9wcm9ncmVzc19yb3VuZF9vcGVuXCIsXG4gICAgV3JlbmNoID0gXCJ3cmVuY2hcIixcbiAgICBYQXhpcyA9IFwieF9heGlzXCIsXG4gICAgWUF4aXMgPSBcInlfYXhpc1wiXG59Il19