@rangertechnologies/ngnxt 2.1.87 → 2.1.89

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.
@@ -41,7 +41,6 @@ export class PropertiesComponent {
41
41
  onAlignSelect(value) {
42
42
  if (this.selectedElement) {
43
43
  this.selectedElement.textAlign = value;
44
- console.log(`Selected alignment: ${value}`);
45
44
  }
46
45
  }
47
46
  onStyleSelect(value) {
@@ -51,7 +50,6 @@ export class PropertiesComponent {
51
50
  this.selectedElement.styles = this.selectedElement.styles || [];
52
51
  // Ensure only one style is selected at a time
53
52
  this.selectedElement.styles = [value];
54
- console.log('Updated styles:', this.selectedElement.styles);
55
53
  }
56
54
  isStyleActive(value) {
57
55
  return this.selectedElement?.styles?.includes(value) || false;
@@ -369,7 +367,6 @@ export class PropertiesComponent {
369
367
  this.selectedElementIndex = index;
370
368
  if (index >= 0) {
371
369
  const elements = this.formBuilderService.getElements();
372
- console.log('Selected element:', elements);
373
370
  this.selectedElement = elements[index];
374
371
  }
375
372
  });
@@ -464,4 +461,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
464
461
  }], selectedElementType: [{
465
462
  type: Input
466
463
  }] } });
467
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvcGFnZXMvYnVpbGRlci9wcm9wZXJ0aWVzL3Byb3BlcnRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL3BhZ2VzL2J1aWxkZXIvcHJvcGVydGllcy9wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXJILE1BQU0sT0FBTyxtQkFBbUI7SUFrWVY7SUFBeUI7SUFqWTdDLHdCQUF3QjtJQUNDLFVBQVUsQ0FBZ0M7SUFDM0QsR0FBRyxDQUEyQjtJQUM1QixpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRXRELGNBQWMsR0FBVyxFQUFFLENBQUM7SUFFNUIsb0JBQW9CLEdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbEMsaUNBQWlDO0lBQ3hCLG1CQUFtQixHQUFXLEVBQUUsQ0FBQztJQUMxQyxhQUFhLEdBQVcsWUFBWSxDQUFDLENBQUUsb0JBQW9CO0lBQzNELGNBQWMsR0FBYSxFQUFFLENBQUMsQ0FBRSxvREFBb0Q7SUFDcEYsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUUxQixlQUFlLEdBQVEsSUFBSSxDQUFDLENBQUUsK0JBQStCO0lBSTdELGNBQWMsQ0FBQyxRQUFnQixFQUFFLEtBQVU7UUFDekMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxF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LyBBUCAyMkpBTjI1XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1idWlsZGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJvcGVydGllcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb3BlcnRpZXMuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0aWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvLyBzZWxlY3RlZEVsZW1lbnQ6IGFueTtcclxuICBAVmlld0NoaWxkKCdjb2xvcldoZWVsJykgY29sb3JXaGVlbDogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XHJcbiAgcHJpdmF0ZSBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcclxuICBAT3V0cHV0KCkgZm9ybUJ1dHRvbkhhbmRsZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTsgXHJcblxyXG4gIHNlbGVjdGVkT3B0aW9uOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgc2VsZWN0ZWRFbGVtZW50SW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIC8vIEBJbnB1dCgpIHNlbGVjdGVkRWxlbWVudDogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRWxlbWVudFR5cGU6IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkQWxpZ246IHN0cmluZyA9ICdhbGlnbi1sZWZ0JzsgIC8vIEFkZCB0aGlzIHByb3BlcnR5XHJcbiAgc2VsZWN0ZWRTdHlsZXM6IHN0cmluZ1tdID0gW107ICAvLyBVc2luZyBhcnJheSBzaW5jZSBtdWx0aXBsZSBzdHlsZXMgY2FuIGJlIHNlbGVjdGVkXHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgc2VsZWN0ZWRFbGVtZW50OiBhbnkgPSBudWxsOyAgLy8gUmVjZWl2ZSB0aGUgc2VsZWN0ZWQgZWxlbWVudFxyXG5cclxuXHJcblxyXG4gIG9uVG9nZ2xlQ2hhbmdlKHByb3BlcnR5OiBzdHJpbmcsIGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgdXBkYXRlID0geyBbcHJvcGVydHldOiB2YWx1ZSB9O1xyXG4gICAgICB0aGlzLmZvcm1CdWlsZGVyU2VydmljZS51cGRhdGVFbGVtZW50KHRoaXMuc2VsZWN0ZWRFbGVtZW50SW5kZXgsIHVwZGF0ZSk7XHJcblxyXG4gICAgICAvLyBVcGRhdGUgdGhlIHNlbGVjdGVkIGVsZW1lbnQgZGlyZWN0bHkgZm9yIGltbWVkaWF0ZSBVSSBmZWVkYmFja1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudFtwcm9wZXJ0eV0gPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICB1cGRhdGVQcm9wZXJ0aWVzKGVsZW1lbnRUeXBlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vIFJlc2V0IGFsaWdubWVudCBhbmQgc3R5bGVzIGlmIHN3aXRjaGluZyBlbGVtZW50c1xyXG4gICAgdGhpcy5zZWxlY3RlZEFsaWduID0gJ2FsaWduLWxlZnQnO1xyXG4gICAgdGhpcy5zZWxlY3RlZFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIC8vIEZldGNoIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZWxlY3RlZCBlbGVtZW50IHR5cGVcclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmdldFByb3BlcnRpZXMoKTtcclxuICAgIGlmIChwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcHJvcGVydGllcyBhcmUgZHluYW1pY2FsbHkgdXBkYXRlZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BbGlnblNlbGVjdCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQudGV4dEFsaWduID0gdmFsdWU7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBTZWxlY3RlZCBhbGlnbm1lbnQ6ICR7dmFsdWV9YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgb25TdHlsZVNlbGVjdCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRFbGVtZW50KSByZXR1cm47XHJcblxyXG4gICAgLy8gSW5pdGlhbGl6ZSBzdHlsZXMgYXJyYXkgaWYgaXQgZG9lc24ndCBleGlzdFxyXG4gICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQuc3R5bGVzID0gdGhpcy5zZWxlY3RlZEVsZW1lbnQuc3R5bGVzIHx8IFtdO1xyXG5cclxuICAgIC8vIEVuc3VyZSBvbmx5IG9uZSBzdHlsZSBpcyBzZWxlY3RlZCBhdCBhIHRpbWVcclxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnN0eWxlcyA9IFt2YWx1ZV07XHJcblxyXG4gICAgY29uc29sZS5sb2coJ1VwZGF0ZWQgc3R5bGVzOicsIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnN0eWxlcyk7XHJcbn1cclxuXHJcblxyXG4gIGlzU3R5bGVBY3RpdmUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRFbGVtZW50Py5zdHlsZXM/LmluY2x1ZGVzKHZhbHVlKSB8fCBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuICBlbGVtZW50UHJvcGVydGllcyA9IHtcclxuXHJcbiAgICAgICAgLy8gQWRkIG90aGVyIGVsZW1lbnQgdHlwZXMgaGVyZSBzaW1pbGFybHlcclxuICAgJ1RleHQnOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG5cclxuICAgICAgICAvLyBxdWVzdGlvblRleHQgLSBMYWJlbC1mb2xsb3cgYWxsIGVsZW1lbnQgcHJvcGVydGllc1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCAnLCB0eXBlOiAndGV4dCcsa2V5OiAncXVlc3Rpb25UZXh0JyB9LFxyXG5cclxuICAgICAgICAvLyBxdWVzdGlvbiAtIFBsYWNlaG9sZGVyLWZvbGxvdyBhbGwgZWxlbWVudCBwcm9wZXJ0aWVzXHJcbiAgICAgICAgeyBsYWJlbDogJ3BsYWNlaG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnICwga2V5OiAncXVlc3Rpb24nfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0ICcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG5cclxuICAgICAgICAvLyBlcnJvck1lc3NhZ2UgLSBFcnJvciBNc2ctZm9sbG93IGFsbCBlbGVtZW50IHByb3BlcnRpZXNcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0ICcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdlcnJvck1zZycgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRm9udCcsIHR5cGU6ICdzZWxlY3QnLCAga2V5OiAnZm9udCcgLFxyXG4gICAgICAgICAgb3B0aW9uczogWydIZWx2ZXRpY2EgTmV1ZScsICdBcmlhbCcsICdUaW1lcyBOZXcgUm9tYW4nLCAnUm9ib3RvJ10gfSxcclxuICAgICAgICB7IGxhYmVsOiAnV2VpZ2h0JywgdHlwZTogJ3NlbGVjdCcsa2V5OiAnZm9udFdlaWdodCcsXHJcbiAgICAgICAgICBvcHRpb25zOiBbXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICc0MDAnLCBsYWJlbDogJzQwMC1Ob3JtYWwnIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICc1MDAnLCBsYWJlbDogJzUwMC1NZWRpdW0nIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICc2MDAnLCBsYWJlbDogJzYwMC1TZW1pIEJvbGQnIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICc3MDAnLCBsYWJlbDogJzcwMC1Cb2xkJyB9XHJcbiAgICAgICAgICBdIH0sXHJcbiAgICAgICAgLy8geyBsYWJlbDogJ1NpemUnLCB1bml0OiAnUFgnLCB0eXBlOiAnbnVtYmVyJywga2V5OiAnc2l6ZScgIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0FsaWduJywgdHlwZTogJ2FsaWduJywga2V5OiAndGV4dEFsaWduJyxcclxuICAgICAgICAgIG9wdGlvbnM6IFtcclxuICAgICAgICAgICAgeyB2YWx1ZTogJ2xlZnQnLCBpY29uOiAndGV4dGFsaWduLWxlZnQnIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICdjZW50ZXInLCBpY29uOiAnYWxpZ24tY2VudGVyJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAncmlnaHQnLCBpY29uOiAnYWxpZ24tcmlnaHQnIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICdqdXN0aWZ5bGVmdCcsIGljb246ICdhbGlnbi1qdXN0aWZ5bGVmdCcgfSxcclxuICAgICAgICAgICAgeyB2YWx1ZTogJ2p1c3RpZnlyaWdodCcsIGljb246ICdhbGlnbi1qdXN0aWZ5cmlnaHQnIH1cclxuXHJcbiAgICAgICAgICBdIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgdHlwZTogJ3N0eWxlJyxrZXk6ICdzdHlsZXMnLFxyXG5cclxuICAgICAgICAgIG9wdGlvbnM6IFtcclxuICAgICAgICAgICAgeyB2YWx1ZTogJ2l0YWxpYycsIGljb246ICdpdGFsaWMnIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICdib2xkJywgaWNvbjogJ2JvbGQnIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICd1bmRlcmxpbmUnLCBpY29uOiAndW5kZXJsaW5lJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAndGV4dGljb24nLCBpY29uOiAndGV4dGljb24nIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICdjYXBpdGFsaXplJywgaWNvbjogJ2NhcGl0YWxpemUnIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICdyZXNpemUnLCBpY29uOiAncmVzaXplJyB9XHJcblxyXG5cclxuICAgICAgICAgIF0gfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfVxyXG5cclxuICAgICAgXSxcclxuICAgICAgZmllbGRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBSZXF1aXJlZCcsIHR5cGU6ICdyYWRpbycgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCAnLCB0eXBlOiAndGV4dCcsa2V5OiAnZGVmYXVsdFZhbHVlJyAgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQgICcsIHR5cGU6ICd0ZXh0JyB9XHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICAnQ2hlY2tCb3gnOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCAnLCB0eXBlOiAndGV4dCcsa2V5OiAncXVlc3Rpb25UZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdQbGFjZSBIb2xkZXInLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQgJywgdHlwZTogJ3RleHQnICwga2V5OiAncXVlc3Rpb24nfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0ICcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdDaGsgT3B0aW9ucycsXHJcbiAgICAgICAgICB0eXBlOiAnb3B0aW9uc0dyb3VwJyxcclxuICAgICAgICAgIGtleTogJ2Noa09wdGlvbnMnLFxyXG4gICAgICAgICAgb3B0aW9uczogW1xyXG4gICAgICAgICAgICB7IGxhYmVsOiAnT3B0aW9uIDEnLCB2YWx1ZTogJycsIHR5cGU6ICd0ZXh0Jywga2V5OiAnb3B0aW9uMScgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBhZGRPcHRpb25MYWJlbDogJ0FkZCBWYXJpYW50JywgLy8gVGV4dCBmb3IgdGhlIHBsdXMgaWNvblxyXG4gICAgICAgICAgaWNvbjogJ3BsdXMnIC8vIEljb24gZm9yIGFkZGluZyBvcHRpb25zXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG5cclxuICAgICdDYWxlbmRhcic6IHtcclxuICAgICAgZWxlbWVudFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0xhYmVsJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnICwga2V5OiAncXVlc3Rpb24nfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2hlbHBUZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICcnLCB0eXBlOiAndG9nZ2xlR3JvdXAnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFNpemUnLCB0eXBlOiAnZmllbGRTaXplJywga2V5OiAnZmllbGRTaXplJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgJ1RpbWUnOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdsYWJlbCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnICwga2V5OiAncGxhY2Vob2xkZXInfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2hlbHBUZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICcnLCB0eXBlOiAndG9nZ2xlR3JvdXAnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFNpemUnLCB0eXBlOiAnZmllbGRTaXplJywga2V5OiAnZmllbGRTaXplJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgJ0VtYWlsJzoge1xyXG4gICAgICBlbGVtZW50UHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAncXVlc3Rpb25UZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdQbGFjZSBIb2xkZXInLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgLCBrZXk6ICdxdWVzdGlvbid9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdIZWxwIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnaGVscFRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgU2l6ZScsIHR5cGU6ICdmaWVsZFNpemUnLCBrZXk6ICdmaWVsZFNpemUnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0Vycm9yIE1zZycsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdlcnJvck1zZycgfSxcclxuICAgICAgXSxcclxuICAgICAgZmllbGRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBSZXF1aXJlZCcsIHR5cGU6ICdyYWRpbycgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdSZWZlcmVuY2UnLCBwbGFjZWhvbGRlcjogJ1JlZmVyZW5jZSBGaWVsZCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdHlsZScsIHBsYWNlaG9sZGVyOiAnU3R5bGUgSlNPTicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdWIgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9XHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICAgICdGaWxlJzoge1xyXG4gICAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgICAgeyBsYWJlbDogJ0xhYmVsJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLCBrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLCBrZXk6ICdxdWVzdGlvbicgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdIZWxwIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsIGtleTogJ2hlbHBUZXh0JyB9LFxyXG5cclxuICAgICAgICAgIHsgbGFiZWw6ICdTdXBwb3J0IFR5cGUnLCB0eXBlOiAnc2VsZWN0Jywga2V5OiAnc3VwcG9ydFR5cGUnLCBvcHRpb25zOiBbXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdJbWFnZXMgKEpQRUcsIFBORywgR0lGKScsIHZhbHVlOiAnaW1hZ2UvKicsIGV4dGVuc2lvbnM6IFsnLmpwZycsJy5qcGVnJywnLnBuZycsJy5naWYnXSB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnQXVkaW8gKE1QMywgV0FWLCBBSUZGKScsIHZhbHVlOiAnYXVkaW8vKicsIGV4dGVuc2lvbnM6IFsnLm1wMycsJy53YXYnLCcuYWlmZiddIH0sXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdWaWRlbyAoTVA0LCBBVkksIEhFVkMpJywgdmFsdWU6ICd2aWRlby8qJywgZXh0ZW5zaW9uczogWycubXA0JywnLmF2aScsJy5oZXZjJ10gfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ0RvY3VtZW50cyAoRE9DLCBET0NYLCBQUFQsIFBERiknLCB2YWx1ZTogJ2FwcGxpY2F0aW9uL3BkZixhcHBsaWNhdGlvbi9tc3dvcmQsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQsYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLCBleHRlbnNpb25zOiBbJy5kb2MnLCcuZG9jeCcsJy5wcHQnLCcucGRmJ10gfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ0V4ZWN1dGFibGVzIChFWEUsIEJBRCwgU0gpJywgdmFsdWU6ICdhcHBsaWNhdGlvbi94LW1zZG93bmxvYWQsYXBwbGljYXRpb24veC1zaCcsIGV4dGVuc2lvbnM6IFsnLmV4ZScsJy5iYWQnLCcuc2gnXSB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnQXJjaGl2ZXMgKFpJUCwgUkFSLCBHaXQtaHViKScsIHZhbHVlOiAnYXBwbGljYXRpb24vemlwLGFwcGxpY2F0aW9uL3gtcmFyLWNvbXByZXNzZWQsYXBwbGljYXRpb24veC1naXQnLCBleHRlbnNpb25zOiBbJy56aXAnLCcucmFyJywnLmdpdCddIH1cclxuICAgICAgICAgIF19LFxyXG4gICAgICAgICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsIGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZmllbGRQcm9wczogW1xyXG4gICAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdSZWZlcmVuY2UnLCBwbGFjZWhvbGRlcjogJ1JlZmVyZW5jZSBGaWVsZCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAgJ0xpc3QnOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSwgJ1RleHRBcmVhJzoge1xyXG4gICAgICBlbGVtZW50UHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAncXVlc3Rpb25UZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdQbGFjZSBIb2xkZXInLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgLCBrZXk6ICdxdWVzdGlvbid9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdIZWxwIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnaGVscFRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgU2l6ZScsIHR5cGU6ICdmaWVsZFNpemUnLCBrZXk6ICdmaWVsZFNpemUnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0Vycm9yIE1zZycsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdlcnJvck1zZycgfSxcclxuICAgICAgXSxcclxuICAgICAgZmllbGRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBSZXF1aXJlZCcsIHR5cGU6ICdyYWRpbycsIGtleTogJ3JlcXVpcmVkJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLCBrZXk6ICdkZWZhdWx0VmFsdWUnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSwnTnVtYmVycyc6IHtcclxuICAgICAgZWxlbWVudFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0xhYmVsJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnICwga2V5OiAncXVlc3Rpb24nfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2hlbHBUZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICcnLCB0eXBlOiAndG9nZ2xlR3JvdXAnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFNpemUnLCB0eXBlOiAnZmllbGRTaXplJywga2V5OiAnZmllbGRTaXplJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfVxyXG4gICAgICBdXHJcbiAgICB9LCdEcm9wZG93bic6IHtcclxuICAgICAgZWxlbWVudFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0xhYmVsJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnICwga2V5OiAncXVlc3Rpb24nfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2hlbHBUZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICcnLCB0eXBlOiAndG9nZ2xlR3JvdXAnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFNpemUnLCB0eXBlOiAnZmllbGRTaXplJywga2V5OiAnZmllbGRTaXplJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ0NoayBPcHRpb25zJyxcclxuICAgICAgICAgIHR5cGU6ICdvcHRpb25zR3JvdXAnLFxyXG4gICAgICAgICAga2V5OiAnY2hrT3B0aW9ucycsXHJcbiAgICAgICAgICBvcHRpb25zOiBbXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdPcHRpb24gMScsIHZhbHVlOiAnJywgdHlwZTogJ3RleHQnLCBrZXk6ICdvcHRpb24xJyB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIGFkZE9wdGlvbkxhYmVsOiAnQWRkIFZhcmlhbnQnLCAvLyBUZXh0IGZvciB0aGUgcGx1cyBpY29uXHJcbiAgICAgICAgICBpY29uOiAncGx1cycgLy8gSWNvbiBmb3IgYWRkaW5nIG9wdGlvbnNcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdSZWZlcmVuY2UnLCBwbGFjZWhvbGRlcjogJ1JlZmVyZW5jZSBGaWVsZCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdHlsZScsIHBsYWNlaG9sZGVyOiAnU3R5bGUgSlNPTicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdWIgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG5cclxuICAgICAgXVxyXG4gICAgfSwnSW1hZ2UnOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSwnUmFkaW8nOiB7XHJcbiAgZWxlbWVudFByb3BzOiBbXHJcbiAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsIGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuICAgIHsgbGFiZWw6ICdQbGFjZSBIb2xkZXInLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsIGtleTogJ3F1ZXN0aW9uJyB9LFxyXG4gICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0Jywga2V5OiAnaGVscFRleHQnIH0sXHJcbiAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgeyBsYWJlbDogJ0ZpZWxkIFNpemUnLCB0eXBlOiAnZmllbGRTaXplJywga2V5OiAnZmllbGRTaXplJyB9LFxyXG4gICAgeyBsYWJlbDogJ0Vycm9yIE1zZycsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0Jywga2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgXSxcclxuICBmaWVsZFByb3BzOiBbXHJcbiAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nIH0sXHJcbiAgICB7IGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAge1xyXG4gICAgICBsYWJlbDogJ1JhZGlvIE9wdGlvbnMnLCAvLyBVcGRhdGVkIGxhYmVsIHRvIHJlZmxlY3QgcmFkaW8gY29udGV4dFxyXG4gICAgICB0eXBlOiAnb3B0aW9uc0dyb3VwJyxcclxuICAgICAga2V5OiAncmFkaW9PcHRpb25zJywgLy8gVXBkYXRlZCBrZXkgZm9yIHJhZGlvIGNvbnRleHRcclxuICAgICAgb3B0aW9uczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdPcHRpb24gMScsIHZhbHVlOiAnJywgdHlwZTogJ3RleHQnLCBrZXk6ICdvcHRpb24xJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdPcHRpb24gMicsIHZhbHVlOiAnJywgdHlwZTogJ3RleHQnLCBrZXk6ICdvcHRpb24yJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhZGRPcHRpb25MYWJlbDogJ0FkZCBPcHRpb24nLCAvLyBVcGRhdGVkIGxhYmVsIGZvciBhZGQgYnV0dG9uXHJcbiAgICAgIGljb246ICdwbHVzJywgLy8gSWNvbiBmb3IgYWRkaW5nIG9wdGlvbnNcclxuICAgIH0sXHJcbiAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgIHsgbGFiZWw6ICdTdHlsZScsIHBsYWNlaG9sZGVyOiAnU3R5bGUgSlNPTicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgXVxyXG59XHJcbiwnQm9vayc6IHtcclxuICAgICAgZWxlbWVudFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0xhYmVsJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnICwga2V5OiAncXVlc3Rpb24nfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2hlbHBUZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICcnLCB0eXBlOiAndG9nZ2xlR3JvdXAnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFNpemUnLCB0eXBlOiAnZmllbGRTaXplJywga2V5OiAnZmllbGRTaXplJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfVxyXG4gICAgICBdXHJcbiAgICB9LCdCdXR0b24nOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQscHJpdmF0ZSBmb3JtQnVpbGRlclNlcnZpY2U6IEZvcm1CdWlsZGVyU2VydmljZSkge31cclxuXHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5mb3JtQnVpbGRlclNlcnZpY2Uuc2VsZWN0ZWRFbGVtZW50JC5zdWJzY3JpYmUoaW5kZXggPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudEluZGV4ID0gaW5kZXg7XHJcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmZvcm1CdWlsZGVyU2VydmljZS5nZXRFbGVtZW50cygpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdTZWxlY3RlZCBlbGVtZW50OicsIGVsZW1lbnRzKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IGVsZW1lbnRzW2luZGV4XTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgdmFsaWRhdGVJbnB1dCh2YWx1ZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmICh0eXBlID09PSAnbGFiZWwnIHx8IHR5cGUgPT09ICdwbGFjZWhvbGRlcicpIHtcclxuICAgICAgY29uc3QgcmVnZXggPSAvXlthLXpBLVowLTlcXHNdKiQvO1xyXG4gICAgICBpZiAoIXJlZ2V4LnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnT25seSBsZXR0ZXJzIGFuZCBudW1iZXJzIGFyZSBhbGxvd2VkJztcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BlcnR5KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnRJbmRleCA+PSAwKSB7XHJcbiAgICAgIGlmIChrZXkgPT09ICdxdWVzdGlvblRleHQnIHx8IGtleSA9PT0gJ3F1ZXN0aW9uJykge1xyXG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUlucHV0KHZhbHVlLCBrZXkpKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoa2V5ID09PSAnZm9udFdlaWdodCcpIHtcclxuICAgICAgICAvLyBFeHRyYWN0IGp1c3QgdGhlIG51bWJlciB2YWx1ZSBmcm9tIHRoZSBvcHRpb25cclxuICAgICAgICB2YWx1ZSA9IHZhbHVlLnNwbGl0KCctJylbMF07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGtleSA9PT0gJ3N0eWxlcycpIHtcclxuICAgICAgICBjb25zdCBjdXJyZW50U3R5bGVzID0gdGhpcy5zZWxlY3RlZEVsZW1lbnQuc3R5bGVzIHx8IFtdO1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ2NhcGl0YWxpemUnIHx8IHZhbHVlID09PSAnbG93ZXJjYXNlJykge1xyXG4gICAgICAgICAgLy8gUmVtb3ZlIHRoZSBvcHBvc2l0ZSBjYXNlIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgICAgY29uc3Qgb3Bwb3NpdGVTdHlsZSA9IHZhbHVlID09PSAnY2FwaXRhbGl6ZScgPyAnbG93ZXJjYXNlJyA6ICdjYXBpdGFsaXplJztcclxuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU3R5bGVzID0gY3VycmVudFN0eWxlcy5maWx0ZXIocyA9PiBzICE9PSBvcHBvc2l0ZVN0eWxlKTtcclxuICAgICAgICAgIHZhbHVlID0gY3VycmVudFN0eWxlcy5pbmNsdWRlcyh2YWx1ZSlcclxuICAgICAgICAgICAgPyBmaWx0ZXJlZFN0eWxlcy5maWx0ZXIocyA9PiBzICE9PSB2YWx1ZSlcclxuICAgICAgICAgICAgOiBbLi4uZmlsdGVyZWRTdHlsZXMsIHZhbHVlXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gVG9nZ2xlIG90aGVyIHN0eWxlc1xyXG4gICAgICAgICAgdmFsdWUgPSBjdXJyZW50U3R5bGVzLmluY2x1ZGVzKHZhbHVlKVxyXG4gICAgICAgICAgICA/IGN1cnJlbnRTdHlsZXMuZmlsdGVyKHMgPT4gcyAhPT0gdmFsdWUpXHJcbiAgICAgICAgICAgIDogWy4uLmN1cnJlbnRTdHlsZXMsIHZhbHVlXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgW2tleV06IHZhbHVlIH07XHJcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXJTZXJ2aWNlLnVwZGF0ZUVsZW1lbnQodGhpcy5zZWxlY3RlZEVsZW1lbnRJbmRleCwgdXBkYXRlKTtcclxuXHJcbiAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIGZvbnQgYW5kIGZvbnQgd2VpZ2h0XHJcbiAgICAgIGlmIChrZXkgPT09ICdmb250Jykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LmZvbnQgPSB2YWx1ZTsgLy8gRGlyZWN0bHkgdXBkYXRlIHRoZSBzZWxlY3RlZCBlbGVtZW50J3MgZm9udCBwcm9wZXJ0eVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgb25SZXF1aXJlZENoYW5nZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRFbGVtZW50KSB7XHJcbiAgICAgIC8vIFJlbW92ZSBhbnkgZXhpc3RpbmcgYXN0ZXJpc2tzIGZpcnN0XHJcbiAgICAgIGxldCBsYWJlbCA9IHRoaXMuc2VsZWN0ZWRFbGVtZW50LmxhYmVsLnJlcGxhY2UoL1xccypcXCorJC8sICcnKTtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgbGFiZWwgPSBgJHtsYWJlbH0gKmA7IC8vIEFkZCBzaW5nbGUgYXN0ZXJpc2tcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KCdsYWJlbCcsIGxhYmVsKTtcclxuICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eSgncmVxdWlyZWQnLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFByb3BlcnRpZXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRFbGVtZW50KSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzW3RoaXMuc2VsZWN0ZWRFbGVtZW50LnR5cGVdO1xyXG4gIH1cclxuICBcclxuICAgYWRkT3B0aW9uKG9wdGlvbnM6IGFueVtdKSB7XHJcbiAgICBvcHRpb25zLnB1c2goeyBsYWJlbDogJycsIHZhbHVlOiAnJyB9KTtcclxuICB9XHJcbiAgLy8gRnVuY3Rpb24gdG8gcmVtb3ZlIGFuIG9wdGlvbiBmcm9tIHByb3Agb3B0aW9uc1xyXG4gIHJlbW92ZU9wdGlvbihvcHRpb25zOiBhbnlbXSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgb3B0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gIH1cclxuICBkb3dubG9hZCgpIHtcclxuICAgIGNvbnNvbGUubG9nKCdRdWVzdGlvbiBCb29rOicsIHRoaXMuZm9ybUJ1aWxkZXJTZXJ2aWNlLmRvd25sb2FkRWxlbWVudCgpKTtcclxuXHJcbiAgfVxyXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKCl7XHJcbiAgICB0aGlzLmZvcm1CdXR0b25IYW5kbGVyLmVtaXQodGhpcy5mb3JtQnVpbGRlclNlcnZpY2UuZG93bmxvYWRFbGVtZW50KCkpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLSBBUCAyMkpBTjI1IC0gRmllbGQgYW5kIEVsZW1lbnQgUHJvcGVydGllcyAtLT5cclxuPCEtLSBwcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIC0tPlxyXG4gIDxsaW5rIGhyZWY9XCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjMwMCw0MDAsNTAwJmRpc3BsYXk9c3dhcFwiIHJlbD1cInN0eWxlc2hlZXRcIj5cclxuICA8ZGl2IGNsYXNzPVwicHJvcGVydGllc1wiPlxyXG48IS0tIERlc2lnbiBIZWFkZXIgU2VjdGlvbiAtLT5cclxuPGRpdiBjbGFzcz1cImRlc2lnbi1oZWFkZXJcIj5cclxuICA8aDEgY2xhc3M9XCJoZWFkZXItdGl0bGVcIj5FbGVtZW50IFByb3BlcnRpZXM8L2gxPlxyXG4gIDxkaXYgY2xhc3M9XCJtZW51LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiIChjbGljayk9XCJkb3dubG9hZCgpXCI+XHJcbiAgICAgIDxzcGFuID5Eb3dubG9hZDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPlxyXG4gICAgICA8c3Bhbj5TdGFydDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPlxyXG4gICAgICA8c3Bhbj5QYXRoPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+XHJcbiAgICAgIDxzcGFuPkNsb25lPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSBwcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIC0tPlxyXG48ZGl2IGNsYXNzPVwiYWxsLXByb3BlcnRpZXNcIj5cclxuICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XHJcbiAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxyXG4gICAgPC9kaXY+XHJcbiAgPCEtLSBFbGVtZW50IFByb3BlcnRpZXMgLS0+XHJcbiAgPGRldGFpbHMgY2xhc3M9XCJmaXJzdC1wcm9wZXJ0aWVzXCIgb3Blbj5cclxuICAgIDxzdW1tYXJ5IGNsYXNzPVwidGV4dC1zbSBcIj5FbGVtZW50cyBQcm9wZXJ0aWVzPC9zdW1tYXJ5PlxyXG4gICAgPGRpdiBjbGFzcz1cImlubmVyLWNvbnRlbnRcIiAqbmdJZj1cImdldFByb3BlcnRpZXMoKVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9wIG9mIGdldFByb3BlcnRpZXMoKS5lbGVtZW50UHJvcHNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInRleHQtc21cIj57eyBwcm9wLmxhYmVsIH19PC9sYWJlbD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1wcm9wZXJ0aWVzXCI+XHJcbiAgICAgICAgICAgIDwhLS0gVGV4dCBJbnB1dCAtLT5cclxuICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwicHJvcC50eXBlID09PSAndGV4dCdcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkRWxlbWVudFtwcm9wLmtleV1cIlxyXG4gICAgICAgICAgICAoaW5wdXQpPVwidXBkYXRlUHJvcGVydHkocHJvcC5rZXksICRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICAgICAgW2NsYXNzLnJlYWQtb25seV09XCJzZWxlY3RlZEVsZW1lbnQucmVhZE9ubHlcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwic2VsZWN0ZWRFbGVtZW50LnJlYWRPbmx5XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtMSBcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wLmtleSA9PT0gJ2hlbHBUZXh0JyAmJiBzZWxlY3RlZEVsZW1lbnQuaGVscFRleHRcIiBjbGFzcz1cImhlbHAtdGV4dFwiPlxyXG4gICAgICAgICAgICAgIHt7IHNlbGVjdGVkRWxlbWVudC5oZWxwVGV4dCB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICA8IS0tIEZvbnQgU2VsZWN0aW9uIC0tPlxyXG48ZGl2ICpuZ0lmPVwicHJvcC5rZXkgPT09ICdmb250J1wiIGNsYXNzPVwiZm9udC1zZWxlY3Rpb25cIj5cclxuICA8IS0tIDxsYWJlbD57eyBwcm9wLmxhYmVsIH19PC9sYWJlbD4gLS0+XHJcbiAgPHNlbGVjdFxyXG4gICpuZ0lmPVwicHJvcC50eXBlID09PSAnc2VsZWN0JyAmJiBwcm9wLmtleSA9PT0gJ2ZvbnQnXCJcclxuICAgIGNsYXNzPVwiZm9udC1zZWxlY3Rpb24xXCJcclxuICAgIFt2YWx1ZV09XCJzZWxlY3RlZEVsZW1lbnQ/LmZvbnRcIlxyXG4gICAgKGNoYW5nZSk9XCJ1cGRhdGVQcm9wZXJ0eSgnZm9udCcsICRldmVudC50YXJnZXQudmFsdWUpXCI+XHJcbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcHJvcC5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICB7eyBvcHRpb24gfX1cclxuICAgIDwvb3B0aW9uPlxyXG4gIDwvc2VsZWN0PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gZmlsZSAtLT5cclxuPCEtLSBBZGQgdGhpcyBpbnNpZGUgdGhlIGVsZW1lbnRQcm9wcyBsb29wIHdoZXJlIG90aGVyIGlucHV0cyBhcmUgcmVuZGVyZWQgLS0+XHJcbjxzZWxlY3QgKm5nSWY9XCJwcm9wLnR5cGUgPT09ICdzZWxlY3QnICYmIHByb3Aua2V5ID09PSAnc3VwcG9ydFR5cGUnXCJcclxuIGNsYXNzPVwiZmlsZSBcIlxyXG5bdmFsdWVdPVwic2VsZWN0ZWRFbGVtZW50W3Byb3Aua2V5XVwiXHJcbihjaGFuZ2UpPVwidXBkYXRlUHJvcGVydHkocHJvcC5rZXksICRldmVudC50YXJnZXQudmFsdWUpXCI+XHJcbjxvcHRpb24gdmFsdWU9XCJcIj5TZWxlY3QgZmlsZSBjYXRlZ29yeTwvb3B0aW9uPlxyXG48b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcHJvcC5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxyXG57eyBvcHRpb24ubGFiZWwgfX1cclxuPC9vcHRpb24+XHJcbjwvc2VsZWN0PlxyXG5cclxuPCEtLSBGb250IFdlaWdodCBTZWxlY3Rpb24gLS0+XHJcbjxkaXYgKm5nSWY9XCJwcm9wLmtleSA9PT0gJ2ZvbnRXZWlnaHQnXCIgY2xhc3M9XCJmb250LXdlaWdodFwiPlxyXG4gIDwhLS0gPGxhYmVsPnt7IHByb3AubGFiZWwgfX08L2xhYmVsPiAtLT5cclxuICA8c2VsZWN0XHJcbiAgKm5nSWY9XCJwcm9wLnR5cGUgPT09ICdzZWxlY3QnICYmIHByb3Aua2V5ID09PSAnZm9udFdlaWdodCdcIlxyXG4gICAgY2xhc3M9XCJmb250LXdlaWdodFwiXHJcbiAgICBbdmFsdWVdPVwic2VsZWN0ZWRFbGVtZW50Py5mb250V2VpZ2h0XCJcclxuICAgIChjaGFuZ2UpPVwidXBkYXRlUHJvcGVydHkoJ2ZvbnRXZWlnaHQnLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiPlxyXG4gICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHByb3Aub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cclxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICA8L29wdGlvbj5cclxuICA8L3NlbGVjdD5cclxuPC9kaXY+XHJcblxyXG4gICAgICAgICAgXHJcbjwhLS0gVG9nZ2xlIEdyb3VwIC0tPlxyXG48ZGl2ICpuZ0lmPVwicHJvcC50eXBlID09PSAndG9nZ2xlR3JvdXAnXCIgY2xhc3M9XCJ0b2dnbGUtZ3JvdXBcIj5cclxuPGRpdiBjbGFzcz1cInRvZ2dsZS1pdGVtMVwiPlxyXG4gIDxzcGFuIGNsYXNzPVwidG9nZ2xlLWxhYmVsXCI+UmVhZCBPbmx5PC9zcGFuPlxyXG4gIDxsYWJlbCBjbGFzcz1cInN3aXRjaFwiPlxyXG4gICAgPGlucHV0ICB0eXBlPVwiY2hlY2tib3hcIi8+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNsaWRlclwiPjwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ0b2dnbGUtaXRlbTJcIj5cclxuICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1sYWJlbFwiPklzIEhpZGU8L3NwYW4+XHJcbiAgPGxhYmVsIGNsYXNzPVwic3dpdGNoXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRFbGVtZW50Py5pc0hpZGVcIlxyXG4gICAgICAoY2hhbmdlKT1cIm9uVG9nZ2xlQ2hhbmdlKCdpc0hpZGUnLCAkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNsaWRlclwiPjwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFRleHQgQWxpZ24gQnV0dG9ucyAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb3AudHlwZSA9PT0gJ2FsaWduJ1wiY2xhc3M9XCJmb250LWFsaWduXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9wLm9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWxpZ25TZWxlY3Qob3B0aW9uLnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRWxlbWVudD8udGV4dEFsaWduID09PSBvcHRpb24udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGlnbi1idG5cIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cIicuLi9hc3NldHMvaWNvbnMvJyArIG9wdGlvbi5pY29uICsgJy5zdmcnXCJcclxuICAgICAgICAgICAgICAgICAgW2FsdF09XCJvcHRpb24udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tc2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvcC5rZXkgPT09ICdzaXplJ1wiIGNsYXNzPVwic2l6ZS1jb250cm9sc1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbD57eyBwcm9wLmxhYmVsIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkRWxlbWVudFtwcm9wLmtleV1cIlxyXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cInVwZGF0ZVByb3BlcnR5KHByb3Aua2V5LCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNpemUtaW5wdXRcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaXplLXVuaXRcIj57eyBwcm9wLnVuaXQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wLnR5cGUgPT09ICdzdHlsZSdcIiAgY2xhc3M9XCJmb250LXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9wLm9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3R5bGVTZWxlY3Qob3B0aW9uLnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImlzU3R5bGVBY3RpdmUob3B0aW9uLnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInN0eWxlLWJ0blwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiJy4uL2Fzc2V0cy9pY29ucy8nICsgb3B0aW9uLmljb24gKyAnLnN2ZydcIlxyXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1zaXplXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSBGaWVsZCBTaXplIENvbnRyb2xzIC0tPlxyXG48ZGl2ICpuZ0lmPVwicHJvcC5rZXkgPT09ICdmaWVsZFNpemUnXCIgY2xhc3M9XCJmaWVsZC1zaXplLWNvbnRyb2xzXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNpemUtZ3JvdXBcIj5cclxuICAgIDxsYWJlbCAgY2xhc3M9XCJzaXplLWxhYmVsXCI+V2lkdGg8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cInZhbHVlLWNvbnRhaW5lclwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICBbdmFsdWVdPVwic2VsZWN0ZWRFbGVtZW50Py53aWR0aFwiXHJcbiAgICAgIChpbnB1dCk9XCJ1cGRhdGVQcm9wZXJ0eSgnd2lkdGgnLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXHJcbiAgICAgIGNsYXNzPVwic2l6ZS1pbnB1dFwiXHJcblxyXG4gICAgLz5cclxuXHJcbiAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2RldGFpbHM+XHJcblxyXG4gIDwhLS0gRmllbGQgRWxlbWVudHMgUHJvcGVydGllcyAtLT5cclxuPGRldGFpbHMgY2xhc3M9XCJzZWNvbmQtcHJvcGVydHlcIj5cclxuICA8c3VtbWFyeSBjbGFzcz1cInRleHQtZm9udC1tZWRpdW1cIj5GaWVsZCBFbGVtZW50cyBQcm9wZXJ0aWVzPC9zdW1tYXJ5PlxyXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTRcIiAqbmdJZj1cImdldFByb3BlcnRpZXMoKVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvcCBvZiBnZXRQcm9wZXJ0aWVzKCkuZmllbGRQcm9wc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleC1pdGVtcy1jZW50ZXIgXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwidGV4dC1zbVwiPnt7IHByb3AubGFiZWwgfX08L2xhYmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3gtZmllbGRcIj5cclxuICAgICAgICAgIDwhLS0gSW5wdXQgQm94IC0tPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICpuZ0lmPVwicHJvcC50eXBlID09PSAndGV4dCdcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmaWVsZC1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPCEtLSBSYWRpbyBHcm91cCAtLT5cclxuPGRpdiAqbmdJZj1cInByb3AudHlwZSA9PT0gJ3JhZGlvJ1wiIGNsYXNzPVwicmFkaW8taXRlbVwiPlxyXG5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaXplc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ2FwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1pdGVtc1wiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cInJhZGlvXCJcclxuICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRFbGVtZW50LnJlcXVpcmVkXCJcclxuICAgICAgKGNoYW5nZSk9XCJvblJlcXVpcmVkQ2hhbmdlKHRydWUpXCJcclxuICAgICAgbmFtZT1cInJlcXVpcmVkXCJcclxuICAgICAgY2xhc3M9XCJyYWRpby1pbnB1dFwiXHJcbiAgICAvPlxyXG4gICAgICA8bGFiZWxcclxuICAgICAgICBjbGFzcz1cInRleHQtbGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgUmVxdWlyZWRcclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtaXRlbXNcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgIFtjaGVja2VkXT1cIiFzZWxlY3RlZEVsZW1lbnQucmVxdWlyZWRcIlxyXG4gICAgICAoY2hhbmdlKT1cIm9uUmVxdWlyZWRDaGFuZ2UoZmFsc2UpXCJcclxuICAgICAgbmFtZT1cInJlcXVpcmVkXCJcclxuICAgICAgY2xhc3M9XCJyYWRpby1pbnB1dFwiXHJcbiAgICAvPlxyXG4gICAgICA8bGFiZWxcclxuICAgICAgICBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTQwMFwiXHJcbiAgICAgID5cclxuICAgICAgICBOb3QgUmVxdWlyZWRcclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbiA8IS0tIENoayBPcHRpb25zIEdyb3VwIC0tPlxyXG4gPGRpdiAqbmdJZj1cInByb3AudHlwZSA9PT0gJ29wdGlvbnNHcm91cCdcIiBjbGFzcz1cIm9wdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgPGRpdlxyXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9wLm9wdGlvbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgY2xhc3M9XCJvcHRpb24taXRlbXNcIlxyXG4gID5cclxuICAgIDwhLS0gT3B0aW9uIElucHV0IC0tPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJwcm9wLm9wdGlvbnNbaV0ubGFiZWxcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cIk9wdGlvbiB7eyBpICsgMSB9fVwiXHJcbiAgICAgIGNsYXNzPVwib3B0aW9uc1wiXHJcbiAgICAvPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJwcm9wLm9wdGlvbnNbaV0udmFsdWVcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cIlZhbHVlXCJcclxuICAgICAgY2xhc3M9XCJ2YWx1ZXNcIlxyXG4gICAgLz5cclxuICAgIDwhLS0gUmVtb3ZlIEJ1dHRvbiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJyZW1vdmVcIj5cclxuICAgIDxpbWcgc3JjPVwiLi4vYXNzZXRzL2ljb25zL1RyYXNoLnN2Z1wiIChjbGljayk9XCJyZW1vdmVPcHRpb24ocHJvcC5vcHRpb25zLCBpKVwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gQWRkIEJ1dHRvbiAtLT5cclxuICA8YnV0dG9uXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIGNsYXNzPVwiYWRkLWJ0blwiXHJcbiAgICAoY2xpY2spPVwiYWRkT3B0aW9uKHByb3Aub3B0aW9ucylcIlxyXG4gID5cclxuICA8ZGl2IGNsYXNzPVwiYWRkLXZhcmllbnRcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZ1wiPis8L3NwYW4+XHJcbiAgICA8c3Bhbj5BZGQgVmFyaWFudHM8L3NwYW4+PC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJkZXNpZ24tZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKClcIj5TYXZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGV0YWlscz5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
464
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvcGFnZXMvYnVpbGRlci9wcm9wZXJ0aWVzL3Byb3BlcnRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL3BhZ2VzL2J1aWxkZXIvcHJvcGVydGllcy9wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXJILE1BQU0sT0FBTyxtQkFBbUI7SUFnWVY7SUFBeUI7SUEvWDdDLHdCQUF3QjtJQUNDLFVBQVUsQ0FBZ0M7SUFDM0QsR0FBRyxDQUEyQjtJQUM1QixpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRXRELGNBQWMsR0FBVyxFQUFFLENBQUM7SUFFNUIsb0JBQW9CLEdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbEMsaUNBQWlDO0lBQ3hCLG1CQUFtQixHQUFXLEVBQUUsQ0FBQztJQUMxQyxhQUFhLEdBQVcsWUFBWSxDQUFDLENBQUUsb0JBQW9CO0lBQzNELGNBQWMsR0FBYSxFQUFFLENBQUMsQ0FBRSxvREFBb0Q7SUFDcEYsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUUxQixlQUFlLEdBQVEsSUFBSSxDQUFDLENBQUUsK0JBQStCO0lBSTdELGNBQWMsQ0FBQyxRQUFnQixFQUFFLEtBQVU7UUFDekMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXpFLGlFQUFpRTtZQUNqRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUdELGdCQUFnQixDQUFDLFdBQW1CO1FBQ2xDLG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUV6QixvREFBb0Q7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixtREFBbUQ7UUFDckQsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFHRCxhQUFhLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPO1FBRWxDLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFFaEUsOENBQThDO1FBQzlDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFMUMsQ0FBQztJQUdDLGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUNoRSxDQUFDO0lBR0QsaUJBQWlCLEdBQUc7UUFFZCx5Q0FBeUM7UUFDOUMsTUFBTSxFQUFFO1lBQ0wsWUFBWSxFQUFFO2dCQUVaLHFEQUFxRDtnQkFDckQsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsY0FBYyxFQUFFO2dCQUVoRix1REFBdUQ7Z0JBQ3ZELEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUcsR0FBRyxFQUFFLFVBQVUsRUFBQztnQkFDbEYsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2dCQUNoRixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFFbEMseURBQXlEO2dCQUN6RCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7Z0JBQ2hGLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFHLEdBQUcsRUFBRSxNQUFNO29CQUMzQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ3JFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDLEdBQUcsRUFBRSxZQUFZO29CQUNqRCxPQUFPLEVBQUU7d0JBQ1AsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7d0JBQ3JDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO3dCQUNyQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTt3QkFDeEMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7cUJBQ3BDLEVBQUU7Z0JBQ0wsK0RBQStEO2dCQUMvRCxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVztvQkFDL0MsT0FBTyxFQUFFO3dCQUNQLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7d0JBQ3pDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO3dCQUN6QyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTt3QkFDdkMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRTt3QkFDbkQsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRTtxQkFFdEQsRUFBRTtnQkFDTCxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxHQUFHLEVBQUUsUUFBUTtvQkFFM0MsT0FBTyxFQUFFO3dCQUNQLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO3dCQUNuQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTt3QkFDL0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7d0JBQ3pDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO3dCQUN2QyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTt3QkFDM0MsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7cUJBR3BDLEVBQUU7Z0JBQ0gsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTthQUUvRDtZQUNELFVBQVUsRUFBRTtnQkFDVixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO2dCQUMxQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUc7Z0JBQ3pGLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDcEUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDM0QsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTthQUNqRTtTQUNGO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsWUFBWSxFQUFFO2dCQUNaLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRTtnQkFDaEYsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRyxHQUFHLEVBQUUsVUFBVSxFQUFDO2dCQUNwRixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7Z0JBQ2hGLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUNsQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO2dCQUM1RCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7YUFDaEY7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtnQkFDMUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDbkU7b0JBQ0UsS0FBSyxFQUFFLGFBQWE7b0JBQ3BCLElBQUksRUFBRSxjQUFjO29CQUNwQixHQUFHLEVBQUUsWUFBWTtvQkFDakIsT0FBTyxFQUFFO3dCQUNQLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRTtxQkFDL0Q7b0JBQ0QsY0FBYyxFQUFFLGFBQWEsRUFBRSx5QkFBeUI7b0JBQ3hELElBQUksRUFBRSxNQUFNLENBQUMsMEJBQTBCO2lCQUN4QztnQkFDRCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3BFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQzNELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFDL0Q7U0FDRjtRQUVELFVBQVUsRUFBRTtZQUNWLFlBQVksRUFBRTtnQkFDWixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUU7Z0JBQy9FLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUcsR0FBRyxFQUFFLFVBQVUsRUFBQztnQkFDbkYsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2dCQUMvRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDbEMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTtnQkFDNUQsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2FBQ2hGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7Z0JBQzFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ25FLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDcEUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDM0QsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTthQUMvRDtTQUNGO1FBQ0QsTUFBTSxFQUFFO1lBQ04sWUFBWSxFQUFFO2dCQUNaLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRTtnQkFDeEUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRyxHQUFHLEVBQUUsYUFBYSxFQUFDO2dCQUN0RixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7Z0JBQy9FLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUNsQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO2dCQUM1RCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7YUFDaEY7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtnQkFDMUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDbkUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNwRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUMzRCxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2FBQy9EO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxZQUFZLEVBQUU7Z0JBQ1osRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsY0FBYyxFQUFFO2dCQUMvRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFHLEdBQUcsRUFBRSxVQUFVLEVBQUM7Z0JBQ25GLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRTtnQkFDL0UsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7Z0JBQ2xDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUU7Z0JBQzVELEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRTthQUNoRjtZQUNELFVBQVUsRUFBRTtnQkFDVixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO2dCQUMxQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNuRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3BFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQzNELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFDL0Q7U0FDRjtRQUNDLE1BQU0sRUFBRTtZQUNOLFlBQVksRUFBRTtnQkFDWixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUU7Z0JBQ2hGLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRTtnQkFDbkYsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO2dCQUVoRixFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRTt3QkFDcEUsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLENBQUMsRUFBRTt3QkFDbEcsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUMxRixFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQzFGLEVBQUUsS0FBSyxFQUFFLGlDQUFpQyxFQUFFLEtBQUssRUFBRSwwSUFBMEksRUFBRSxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLENBQUMsRUFBRTt3QkFDM08sRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLDJDQUEyQyxFQUFFLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQzlILEVBQUUsS0FBSyxFQUFFLDhCQUE4QixFQUFFLEtBQUssRUFBRSxnRUFBZ0UsRUFBRSxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFO3FCQUN2SixFQUFDO2dCQUNGLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUNsQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO2dCQUM1RCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7YUFDakY7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtnQkFDMUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDbkUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNwRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUMzRCxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2FBQy9EO1NBQ0Y7UUFDRCxNQUFNLEVBQUU7WUFDUixZQUFZLEVBQUU7Z0JBQ1osRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsY0FBYyxFQUFFO2dCQUMvRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFHLEdBQUcsRUFBRSxVQUFVLEVBQUM7Z0JBQ25GLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRTtnQkFDL0UsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7Z0JBQ2xDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUU7Z0JBQzVELEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRTthQUNoRjtZQUNELFVBQVUsRUFBRTtnQkFDVixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO2dCQUMxQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNuRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3BFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQzNELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFDL0Q7U0FDRixFQUFFLFVBQVUsRUFBRTtZQUNiLFlBQVksRUFBRTtnQkFDWixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUU7Z0JBQy9FLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUcsR0FBRyxFQUFFLFVBQVUsRUFBQztnQkFDbkYsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2dCQUMvRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDbEMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTtnQkFDNUQsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2FBQ2hGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRTtnQkFDM0QsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFO2dCQUN4RixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3BFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQzNELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFDL0Q7U0FDRixFQUFDLFNBQVMsRUFBRTtZQUNYLFlBQVksRUFBRTtnQkFDWixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUU7Z0JBQy9FLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUcsR0FBRyxFQUFFLFVBQVUsRUFBQztnQkFDbkYsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2dCQUMvRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDbEMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTtnQkFDNUQsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2FBQ2hGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7Z0JBQzFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ25FLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDcEUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDM0QsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTthQUMvRDtTQUNGLEVBQUMsVUFBVSxFQUFFO1lBQ1osWUFBWSxFQUFFO2dCQUNaLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRTtnQkFDL0UsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRyxHQUFHLEVBQUUsVUFBVSxFQUFDO2dCQUNuRixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7Z0JBQy9FLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUNsQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO2dCQUM1RCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7YUFDaEY7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtnQkFDMUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDbkU7b0JBQ0UsS0FBSyxFQUFFLGFBQWE7b0JBQ3BCLElBQUksRUFBRSxjQUFjO29CQUNwQixHQUFHLEVBQUUsWUFBWTtvQkFDakIsT0FBTyxFQUFFO3dCQUNQLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRTtxQkFDL0Q7b0JBQ0QsY0FBYyxFQUFFLGFBQWEsRUFBRSx5QkFBeUI7b0JBQ3hELElBQUksRUFBRSxNQUFNLENBQUMsMEJBQTBCO2lCQUN4QztnQkFDRCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3BFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQzNELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFFL0Q7U0FDRixFQUFDLE9BQU8sRUFBRTtZQUNULFlBQVksRUFBRTtnQkFDWixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUU7Z0JBQy9FLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUcsR0FBRyxFQUFFLFVBQVUsRUFBQztnQkFDbkYsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2dCQUMvRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDbEMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTtnQkFDNUQsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO2FBQ2hGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7Z0JBQzFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ25FLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDcEUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDM0QsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTthQUMvRDtTQUNGLEVBQUMsT0FBTyxFQUFFO1lBQ2IsWUFBWSxFQUFFO2dCQUNaLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRTtnQkFDaEYsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO2dCQUNuRixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7Z0JBQ2hGLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUNsQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO2dCQUM1RCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7YUFDakY7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtnQkFDMUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDbkU7b0JBQ0UsS0FBSyxFQUFFLGVBQWUsRUFBRSx5Q0FBeUM7b0JBQ2pFLElBQUksRUFBRSxjQUFjO29CQUNwQixHQUFHLEVBQUUsY0FBYyxFQUFFLGdDQUFnQztvQkFDckQsT0FBTyxFQUFFO3dCQUNQLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRTt3QkFDOUQsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFO3FCQUMvRDtvQkFDRCxjQUFjLEVBQUUsWUFBWSxFQUFFLCtCQUErQjtvQkFDN0QsSUFBSSxFQUFFLE1BQU0sRUFBRSwwQkFBMEI7aUJBQ3pDO2dCQUNELEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDcEUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDM0QsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTthQUMvRDtTQUNGO1FBQ0EsTUFBTSxFQUFFO1lBQ0gsWUFBWSxFQUFFO2dCQUNaLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRTtnQkFDL0UsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRyxHQUFHLEVBQUUsVUFBVSxFQUFDO2dCQUNuRixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7Z0JBQy9FLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUNsQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFO2dCQUM1RCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7YUFDaEY7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtnQkFDMUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDbkUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNwRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUMzRCxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2FBQy9EO1NBQ0YsRUFBQyxRQUFRLEVBQUU7WUFDVixZQUFZLEVBQUU7Z0JBQ1osRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLEVBQUUsY0FBYyxFQUFFO2dCQUMvRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFHLEdBQUcsRUFBRSxVQUFVLEVBQUM7Z0JBQ25GLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRTtnQkFDL0UsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7Z0JBQ2xDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUU7Z0JBQzVELEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRTthQUNoRjtZQUNELFVBQVUsRUFBRTtnQkFDVixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO2dCQUMxQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNuRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3BFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQzNELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFDL0Q7U0FDRjtLQUNGLENBQUM7SUFFRixZQUFvQixJQUFnQixFQUFTLGtCQUFzQztRQUEvRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFHdkYsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztZQUNsQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDZixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxhQUFhLENBQUMsS0FBYSxFQUFFLElBQVk7UUFDdkMsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLHNDQUFzQyxDQUFDO2dCQUMzRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3BDLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksR0FBRyxLQUFLLGNBQWMsSUFBSSxHQUFHLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNwQyxPQUFPO2dCQUNULENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxHQUFHLEtBQUssWUFBWSxFQUFFLENBQUM7Z0JBQ3pCLGdEQUFnRDtnQkFDaEQsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsQ0FBQztZQUNELElBQUksR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7Z0JBQ3hELElBQUksS0FBSyxLQUFLLFlBQVksSUFBSSxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7b0JBQ3BELHdDQUF3QztvQkFDeEMsTUFBTSxhQUFhLEdBQUcsS0FBSyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7b0JBQzFFLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssYUFBYSxDQUFDLENBQUM7b0JBQ3RFLEtBQUssR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzt3QkFDbkMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO3dCQUN6QyxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDakMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLHNCQUFzQjtvQkFDdEIsS0FBSyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO3dCQUNuQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUM7d0JBQ3hDLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO1lBQ0gsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUV6RSw0Q0FBNEM7WUFDNUMsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLHVEQUF1RDtZQUM1RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxLQUFjO1FBQzdCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLHNDQUFzQztZQUN0QyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlELElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsS0FBSyxHQUFHLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxzQkFBc0I7WUFDOUMsQ0FBQztZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVBLFNBQVMsQ0FBQyxPQUFjO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxpREFBaUQ7SUFDakQsWUFBWSxDQUFDLE9BQWMsRUFBRSxLQUFhO1FBQ3hDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUUzRSxDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO3dHQS9kVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2UUNWaEMsNnBTQXdSQTs7NEZEOVFhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0I7Z0hBTUQsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUViLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFNRSxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBUCAyMkpBTjI1XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1idWlsZGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJvcGVydGllcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb3BlcnRpZXMuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0aWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvLyBzZWxlY3RlZEVsZW1lbnQ6IGFueTtcclxuICBAVmlld0NoaWxkKCdjb2xvcldoZWVsJykgY29sb3JXaGVlbDogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XHJcbiAgcHJpdmF0ZSBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcclxuICBAT3V0cHV0KCkgZm9ybUJ1dHRvbkhhbmRsZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTsgXHJcblxyXG4gIHNlbGVjdGVkT3B0aW9uOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgc2VsZWN0ZWRFbGVtZW50SW5kZXg6IG51bWJlciA9IC0xO1xyXG4gIC8vIEBJbnB1dCgpIHNlbGVjdGVkRWxlbWVudDogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRWxlbWVudFR5cGU6IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkQWxpZ246IHN0cmluZyA9ICdhbGlnbi1sZWZ0JzsgIC8vIEFkZCB0aGlzIHByb3BlcnR5XHJcbiAgc2VsZWN0ZWRTdHlsZXM6IHN0cmluZ1tdID0gW107ICAvLyBVc2luZyBhcnJheSBzaW5jZSBtdWx0aXBsZSBzdHlsZXMgY2FuIGJlIHNlbGVjdGVkXHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgc2VsZWN0ZWRFbGVtZW50OiBhbnkgPSBudWxsOyAgLy8gUmVjZWl2ZSB0aGUgc2VsZWN0ZWQgZWxlbWVudFxyXG5cclxuXHJcblxyXG4gIG9uVG9nZ2xlQ2hhbmdlKHByb3BlcnR5OiBzdHJpbmcsIGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgdXBkYXRlID0geyBbcHJvcGVydHldOiB2YWx1ZSB9O1xyXG4gICAgICB0aGlzLmZvcm1CdWlsZGVyU2VydmljZS51cGRhdGVFbGVtZW50KHRoaXMuc2VsZWN0ZWRFbGVtZW50SW5kZXgsIHVwZGF0ZSk7XHJcblxyXG4gICAgICAvLyBVcGRhdGUgdGhlIHNlbGVjdGVkIGVsZW1lbnQgZGlyZWN0bHkgZm9yIGltbWVkaWF0ZSBVSSBmZWVkYmFja1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudFtwcm9wZXJ0eV0gPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICB1cGRhdGVQcm9wZXJ0aWVzKGVsZW1lbnRUeXBlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vIFJlc2V0IGFsaWdubWVudCBhbmQgc3R5bGVzIGlmIHN3aXRjaGluZyBlbGVtZW50c1xyXG4gICAgdGhpcy5zZWxlY3RlZEFsaWduID0gJ2FsaWduLWxlZnQnO1xyXG4gICAgdGhpcy5zZWxlY3RlZFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIC8vIEZldGNoIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZWxlY3RlZCBlbGVtZW50IHR5cGVcclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmdldFByb3BlcnRpZXMoKTtcclxuICAgIGlmIChwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcHJvcGVydGllcyBhcmUgZHluYW1pY2FsbHkgdXBkYXRlZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BbGlnblNlbGVjdCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQudGV4dEFsaWduID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgb25TdHlsZVNlbGVjdCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRFbGVtZW50KSByZXR1cm47XHJcblxyXG4gICAgLy8gSW5pdGlhbGl6ZSBzdHlsZXMgYXJyYXkgaWYgaXQgZG9lc24ndCBleGlzdFxyXG4gICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQuc3R5bGVzID0gdGhpcy5zZWxlY3RlZEVsZW1lbnQuc3R5bGVzIHx8IFtdO1xyXG5cclxuICAgIC8vIEVuc3VyZSBvbmx5IG9uZSBzdHlsZSBpcyBzZWxlY3RlZCBhdCBhIHRpbWVcclxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnN0eWxlcyA9IFt2YWx1ZV07XHJcblxyXG59XHJcblxyXG5cclxuICBpc1N0eWxlQWN0aXZlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRWxlbWVudD8uc3R5bGVzPy5pbmNsdWRlcyh2YWx1ZSkgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgZWxlbWVudFByb3BlcnRpZXMgPSB7XHJcblxyXG4gICAgICAgIC8vIEFkZCBvdGhlciBlbGVtZW50IHR5cGVzIGhlcmUgc2ltaWxhcmx5XHJcbiAgICdUZXh0Jzoge1xyXG4gICAgICBlbGVtZW50UHJvcHM6IFtcclxuXHJcbiAgICAgICAgLy8gcXVlc3Rpb25UZXh0IC0gTGFiZWwtZm9sbG93IGFsbCBlbGVtZW50IHByb3BlcnRpZXNcclxuICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQgJywgdHlwZTogJ3RleHQnLGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuXHJcbiAgICAgICAgLy8gcXVlc3Rpb24gLSBQbGFjZWhvbGRlci1mb2xsb3cgYWxsIGVsZW1lbnQgcHJvcGVydGllc1xyXG4gICAgICAgIHsgbGFiZWw6ICdwbGFjZWhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCAnLCB0eXBlOiAndGV4dCcsa2V5OiAnaGVscFRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuXHJcbiAgICAgICAgLy8gZXJyb3JNZXNzYWdlIC0gRXJyb3IgTXNnLWZvbGxvdyBhbGwgZWxlbWVudCBwcm9wZXJ0aWVzXHJcbiAgICAgICAgeyBsYWJlbDogJ0Vycm9yIE1zZycsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCAnLCB0eXBlOiAndGV4dCcsa2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZvbnQnLCB0eXBlOiAnc2VsZWN0JywgIGtleTogJ2ZvbnQnICxcclxuICAgICAgICAgIG9wdGlvbnM6IFsnSGVsdmV0aWNhIE5ldWUnLCAnQXJpYWwnLCAnVGltZXMgTmV3IFJvbWFuJywgJ1JvYm90byddIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1dlaWdodCcsIHR5cGU6ICdzZWxlY3QnLGtleTogJ2ZvbnRXZWlnaHQnLFxyXG4gICAgICAgICAgb3B0aW9uczogW1xyXG4gICAgICAgICAgICB7IHZhbHVlOiAnNDAwJywgbGFiZWw6ICc0MDAtTm9ybWFsJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAnNTAwJywgbGFiZWw6ICc1MDAtTWVkaXVtJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAnNjAwJywgbGFiZWw6ICc2MDAtU2VtaSBCb2xkJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAnNzAwJywgbGFiZWw6ICc3MDAtQm9sZCcgfVxyXG4gICAgICAgICAgXSB9LFxyXG4gICAgICAgIC8vIHsgbGFiZWw6ICdTaXplJywgdW5pdDogJ1BYJywgdHlwZTogJ251bWJlcicsIGtleTogJ3NpemUnICB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdBbGlnbicsIHR5cGU6ICdhbGlnbicsIGtleTogJ3RleHRBbGlnbicsXHJcbiAgICAgICAgICBvcHRpb25zOiBbXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICdsZWZ0JywgaWNvbjogJ3RleHRhbGlnbi1sZWZ0JyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAnY2VudGVyJywgaWNvbjogJ2FsaWduLWNlbnRlcicgfSxcclxuICAgICAgICAgICAgeyB2YWx1ZTogJ3JpZ2h0JywgaWNvbjogJ2FsaWduLXJpZ2h0JyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAnanVzdGlmeWxlZnQnLCBpY29uOiAnYWxpZ24tanVzdGlmeWxlZnQnIH0sXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICdqdXN0aWZ5cmlnaHQnLCBpY29uOiAnYWxpZ24tanVzdGlmeXJpZ2h0JyB9XHJcblxyXG4gICAgICAgICAgXSB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdHlsZScsIHR5cGU6ICdzdHlsZScsa2V5OiAnc3R5bGVzJyxcclxuXHJcbiAgICAgICAgICBvcHRpb25zOiBbXHJcbiAgICAgICAgICAgIHsgdmFsdWU6ICdpdGFsaWMnLCBpY29uOiAnaXRhbGljJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAnYm9sZCcsIGljb246ICdib2xkJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAndW5kZXJsaW5lJywgaWNvbjogJ3VuZGVybGluZScgfSxcclxuICAgICAgICAgICAgeyB2YWx1ZTogJ3RleHRpY29uJywgaWNvbjogJ3RleHRpY29uJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAnY2FwaXRhbGl6ZScsIGljb246ICdjYXBpdGFsaXplJyB9LFxyXG4gICAgICAgICAgICB7IHZhbHVlOiAncmVzaXplJywgaWNvbjogJ3Jlc2l6ZScgfVxyXG5cclxuXHJcbiAgICAgICAgICBdIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnRmllbGQgU2l6ZScsIHR5cGU6ICdmaWVsZFNpemUnLCBrZXk6ICdmaWVsZFNpemUnIH1cclxuXHJcbiAgICAgIF0sXHJcbiAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQgJywgdHlwZTogJ3RleHQnLGtleTogJ2RlZmF1bHRWYWx1ZScgIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0ICAnLCB0eXBlOiAndGV4dCcgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgJ0NoZWNrQm94Jzoge1xyXG4gICAgICBlbGVtZW50UHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQgJywgdHlwZTogJ3RleHQnLGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0ICcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCAnLCB0eXBlOiAndGV4dCcsa2V5OiAnaGVscFRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgU2l6ZScsIHR5cGU6ICdmaWVsZFNpemUnLCBrZXk6ICdmaWVsZFNpemUnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0Vycm9yIE1zZycsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdlcnJvck1zZycgfSxcclxuICAgICAgXSxcclxuICAgICAgZmllbGRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBSZXF1aXJlZCcsIHR5cGU6ICdyYWRpbycgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxhYmVsOiAnQ2hrIE9wdGlvbnMnLFxyXG4gICAgICAgICAgdHlwZTogJ29wdGlvbnNHcm91cCcsXHJcbiAgICAgICAgICBrZXk6ICdjaGtPcHRpb25zJyxcclxuICAgICAgICAgIG9wdGlvbnM6IFtcclxuICAgICAgICAgICAgeyBsYWJlbDogJ09wdGlvbiAxJywgdmFsdWU6ICcnLCB0eXBlOiAndGV4dCcsIGtleTogJ29wdGlvbjEnIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgYWRkT3B0aW9uTGFiZWw6ICdBZGQgVmFyaWFudCcsIC8vIFRleHQgZm9yIHRoZSBwbHVzIGljb25cclxuICAgICAgICAgIGljb246ICdwbHVzJyAvLyBJY29uIGZvciBhZGRpbmcgb3B0aW9uc1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuXHJcbiAgICAnQ2FsZW5kYXInOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgICdUaW1lJzoge1xyXG4gICAgICBlbGVtZW50UHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnbGFiZWwnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3BsYWNlaG9sZGVyJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgICdFbWFpbCc6IHtcclxuICAgICAgZWxlbWVudFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0xhYmVsJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnICwga2V5OiAncXVlc3Rpb24nfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2hlbHBUZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICcnLCB0eXBlOiAndG9nZ2xlR3JvdXAnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFNpemUnLCB0eXBlOiAnZmllbGRTaXplJywga2V5OiAnZmllbGRTaXplJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgICAnRmlsZSc6IHtcclxuICAgICAgICBlbGVtZW50UHJvcHM6IFtcclxuICAgICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0Jywga2V5OiAncXVlc3Rpb25UZXh0JyB9LFxyXG4gICAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0Jywga2V5OiAncXVlc3Rpb24nIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLCBrZXk6ICdoZWxwVGV4dCcgfSxcclxuXHJcbiAgICAgICAgICB7IGxhYmVsOiAnU3VwcG9ydCBUeXBlJywgdHlwZTogJ3NlbGVjdCcsIGtleTogJ3N1cHBvcnRUeXBlJywgb3B0aW9uczogW1xyXG4gICAgICAgICAgICB7IGxhYmVsOiAnSW1hZ2VzIChKUEVHLCBQTkcsIEdJRiknLCB2YWx1ZTogJ2ltYWdlLyonLCBleHRlbnNpb25zOiBbJy5qcGcnLCcuanBlZycsJy5wbmcnLCcuZ2lmJ10gfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ0F1ZGlvIChNUDMsIFdBViwgQUlGRiknLCB2YWx1ZTogJ2F1ZGlvLyonLCBleHRlbnNpb25zOiBbJy5tcDMnLCcud2F2JywnLmFpZmYnXSB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnVmlkZW8gKE1QNCwgQVZJLCBIRVZDKScsIHZhbHVlOiAndmlkZW8vKicsIGV4dGVuc2lvbnM6IFsnLm1wNCcsJy5hdmknLCcuaGV2YyddIH0sXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdEb2N1bWVudHMgKERPQywgRE9DWCwgUFBULCBQREYpJywgdmFsdWU6ICdhcHBsaWNhdGlvbi9wZGYsYXBwbGljYXRpb24vbXN3b3JkLGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50LGFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50JywgZXh0ZW5zaW9uczogWycuZG9jJywnLmRvY3gnLCcucHB0JywnLnBkZiddIH0sXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdFeGVjdXRhYmxlcyAoRVhFLCBCQUQsIFNIKScsIHZhbHVlOiAnYXBwbGljYXRpb24veC1tc2Rvd25sb2FkLGFwcGxpY2F0aW9uL3gtc2gnLCBleHRlbnNpb25zOiBbJy5leGUnLCcuYmFkJywnLnNoJ10gfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ0FyY2hpdmVzIChaSVAsIFJBUiwgR2l0LWh1YiknLCB2YWx1ZTogJ2FwcGxpY2F0aW9uL3ppcCxhcHBsaWNhdGlvbi94LXJhci1jb21wcmVzc2VkLGFwcGxpY2F0aW9uL3gtZ2l0JywgZXh0ZW5zaW9uczogWycuemlwJywnLnJhcicsJy5naXQnXSB9XHJcbiAgICAgICAgICBdfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICcnLCB0eXBlOiAndG9nZ2xlR3JvdXAnIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnRmllbGQgU2l6ZScsIHR5cGU6ICdmaWVsZFNpemUnLCBrZXk6ICdmaWVsZFNpemUnIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLCBrZXk6ICdlcnJvck1zZycgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICAgIHsgbGFiZWw6ICdGaWVsZCBSZXF1aXJlZCcsIHR5cGU6ICdyYWRpbycgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdTdHlsZScsIHBsYWNlaG9sZGVyOiAnU3R5bGUgSlNPTicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgICdMaXN0Jzoge1xyXG4gICAgICBlbGVtZW50UHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAncXVlc3Rpb25UZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdQbGFjZSBIb2xkZXInLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgLCBrZXk6ICdxdWVzdGlvbid9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdIZWxwIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnaGVscFRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgU2l6ZScsIHR5cGU6ICdmaWVsZFNpemUnLCBrZXk6ICdmaWVsZFNpemUnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0Vycm9yIE1zZycsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdlcnJvck1zZycgfSxcclxuICAgICAgXSxcclxuICAgICAgZmllbGRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBSZXF1aXJlZCcsIHR5cGU6ICdyYWRpbycgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdSZWZlcmVuY2UnLCBwbGFjZWhvbGRlcjogJ1JlZmVyZW5jZSBGaWVsZCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdHlsZScsIHBsYWNlaG9sZGVyOiAnU3R5bGUgSlNPTicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdWIgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9XHJcbiAgICAgIF1cclxuICAgIH0sICdUZXh0QXJlYSc6IHtcclxuICAgICAgZWxlbWVudFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0xhYmVsJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ3F1ZXN0aW9uVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnICwga2V5OiAncXVlc3Rpb24nfSxcclxuICAgICAgICB7IGxhYmVsOiAnSGVscCBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2hlbHBUZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICcnLCB0eXBlOiAndG9nZ2xlR3JvdXAnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFNpemUnLCB0eXBlOiAnZmllbGRTaXplJywga2V5OiAnZmllbGRTaXplJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnZXJyb3JNc2cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGZpZWxkUHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgUmVxdWlyZWQnLCB0eXBlOiAncmFkaW8nLCBrZXk6ICdyZXF1aXJlZCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0Jywga2V5OiAnZGVmYXVsdFZhbHVlJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdSZWZlcmVuY2UnLCBwbGFjZWhvbGRlcjogJ1JlZmVyZW5jZSBGaWVsZCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdHlsZScsIHBsYWNlaG9sZGVyOiAnU3R5bGUgSlNPTicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdWIgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9XHJcbiAgICAgIF1cclxuICAgIH0sJ051bWJlcnMnOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSwnRHJvcGRvd24nOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdDaGsgT3B0aW9ucycsXHJcbiAgICAgICAgICB0eXBlOiAnb3B0aW9uc0dyb3VwJyxcclxuICAgICAgICAgIGtleTogJ2Noa09wdGlvbnMnLFxyXG4gICAgICAgICAgb3B0aW9uczogW1xyXG4gICAgICAgICAgICB7IGxhYmVsOiAnT3B0aW9uIDEnLCB2YWx1ZTogJycsIHR5cGU6ICd0ZXh0Jywga2V5OiAnb3B0aW9uMScgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBhZGRPcHRpb25MYWJlbDogJ0FkZCBWYXJpYW50JywgLy8gVGV4dCBmb3IgdGhlIHBsdXMgaWNvblxyXG4gICAgICAgICAgaWNvbjogJ3BsdXMnIC8vIEljb24gZm9yIGFkZGluZyBvcHRpb25zXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IGxhYmVsOiAnUmVmZXJlbmNlJywgcGxhY2Vob2xkZXI6ICdSZWZlcmVuY2UgRmllbGQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnU3ViIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuXHJcbiAgICAgIF1cclxuICAgIH0sJ0ltYWdlJzoge1xyXG4gICAgICBlbGVtZW50UHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAncXVlc3Rpb25UZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdQbGFjZSBIb2xkZXInLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgLCBrZXk6ICdxdWVzdGlvbid9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdIZWxwIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnaGVscFRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgU2l6ZScsIHR5cGU6ICdmaWVsZFNpemUnLCBrZXk6ICdmaWVsZFNpemUnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0Vycm9yIE1zZycsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdlcnJvck1zZycgfSxcclxuICAgICAgXSxcclxuICAgICAgZmllbGRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBSZXF1aXJlZCcsIHR5cGU6ICdyYWRpbycgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdSZWZlcmVuY2UnLCBwbGFjZWhvbGRlcjogJ1JlZmVyZW5jZSBGaWVsZCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdHlsZScsIHBsYWNlaG9sZGVyOiAnU3R5bGUgSlNPTicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdWIgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9XHJcbiAgICAgIF1cclxuICAgIH0sJ1JhZGlvJzoge1xyXG4gIGVsZW1lbnRQcm9wczogW1xyXG4gICAgeyBsYWJlbDogJ0xhYmVsJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLCBrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICB7IGxhYmVsOiAnUGxhY2UgSG9sZGVyJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLCBrZXk6ICdxdWVzdGlvbicgfSxcclxuICAgIHsgbGFiZWw6ICdIZWxwIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsIGtleTogJ2hlbHBUZXh0JyB9LFxyXG4gICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgIHsgbGFiZWw6ICdFcnJvciBNc2cnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsIGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gIF0sXHJcbiAgZmllbGRQcm9wczogW1xyXG4gICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgeyBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgIHtcclxuICAgICAgbGFiZWw6ICdSYWRpbyBPcHRpb25zJywgLy8gVXBkYXRlZCBsYWJlbCB0byByZWZsZWN0IHJhZGlvIGNvbnRleHRcclxuICAgICAgdHlwZTogJ29wdGlvbnNHcm91cCcsXHJcbiAgICAgIGtleTogJ3JhZGlvT3B0aW9ucycsIC8vIFVwZGF0ZWQga2V5IGZvciByYWRpbyBjb250ZXh0XHJcbiAgICAgIG9wdGlvbnM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnT3B0aW9uIDEnLCB2YWx1ZTogJycsIHR5cGU6ICd0ZXh0Jywga2V5OiAnb3B0aW9uMScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnT3B0aW9uIDInLCB2YWx1ZTogJycsIHR5cGU6ICd0ZXh0Jywga2V5OiAnb3B0aW9uMicgfSxcclxuICAgICAgXSxcclxuICAgICAgYWRkT3B0aW9uTGFiZWw6ICdBZGQgT3B0aW9uJywgLy8gVXBkYXRlZCBsYWJlbCBmb3IgYWRkIGJ1dHRvblxyXG4gICAgICBpY29uOiAncGx1cycsIC8vIEljb24gZm9yIGFkZGluZyBvcHRpb25zXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICB7IGxhYmVsOiAnU3R5bGUnLCBwbGFjZWhvbGRlcjogJ1N0eWxlIEpTT04nLCB0eXBlOiAndGV4dCcgfSxcclxuICAgIHsgbGFiZWw6ICdTdWIgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gIF1cclxufVxyXG4sJ0Jvb2snOiB7XHJcbiAgICAgIGVsZW1lbnRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMYWJlbCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdxdWVzdGlvblRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1BsYWNlIEhvbGRlcicsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyAsIGtleTogJ3F1ZXN0aW9uJ30sXHJcbiAgICAgICAgeyBsYWJlbDogJ0hlbHAgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdoZWxwVGV4dCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnJywgdHlwZTogJ3RvZ2dsZUdyb3VwJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBTaXplJywgdHlwZTogJ2ZpZWxkU2l6ZScsIGtleTogJ2ZpZWxkU2l6ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRXJyb3IgTXNnJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnLGtleTogJ2Vycm9yTXNnJyB9LFxyXG4gICAgICBdLFxyXG4gICAgICBmaWVsZFByb3BzOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0ZpZWxkIFJlcXVpcmVkJywgdHlwZTogJ3JhZGlvJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1JlZmVyZW5jZScsIHBsYWNlaG9sZGVyOiAnUmVmZXJlbmNlIEZpZWxkJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N0eWxlJywgcGxhY2Vob2xkZXI6ICdTdHlsZSBKU09OJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ1N1YiBUZXh0JywgcGxhY2Vob2xkZXI6ICdFbnRlciBUZXh0JywgdHlwZTogJ3RleHQnIH1cclxuICAgICAgXVxyXG4gICAgfSwnQnV0dG9uJzoge1xyXG4gICAgICBlbGVtZW50UHJvcHM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAncXVlc3Rpb25UZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdQbGFjZSBIb2xkZXInLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcgLCBrZXk6ICdxdWVzdGlvbid9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdIZWxwIFRleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIFRleHQnLCB0eXBlOiAndGV4dCcsa2V5OiAnaGVscFRleHQnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJycsIHR5cGU6ICd0b2dnbGVHcm91cCcgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRmllbGQgU2l6ZScsIHR5cGU6ICdmaWVsZFNpemUnLCBrZXk6ICdmaWVsZFNpemUnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0Vycm9yIE1zZycsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyxrZXk6ICdlcnJvck1zZycgfSxcclxuICAgICAgXSxcclxuICAgICAgZmllbGRQcm9wczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdGaWVsZCBSZXF1aXJlZCcsIHR5cGU6ICdyYWRpbycgfSxcclxuICAgICAgICB7IGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdSZWZlcmVuY2UnLCBwbGFjZWhvbGRlcjogJ1JlZmVyZW5jZSBGaWVsZCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdHlsZScsIHBsYWNlaG9sZGVyOiAnU3R5bGUgSlNPTicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdTdWIgVGV4dCcsIHBsYWNlaG9sZGVyOiAnRW50ZXIgVGV4dCcsIHR5cGU6ICd0ZXh0JyB9XHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LHByaXZhdGUgZm9ybUJ1aWxkZXJTZXJ2aWNlOiBGb3JtQnVpbGRlclNlcnZpY2UpIHt9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybUJ1aWxkZXJTZXJ2aWNlLnNlbGVjdGVkRWxlbWVudCQuc3Vic2NyaWJlKGluZGV4ID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnRJbmRleCA9IGluZGV4O1xyXG4gICAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5mb3JtQnVpbGRlclNlcnZpY2UuZ2V0RWxlbWVudHMoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudCA9IGVsZW1lbnRzW2luZGV4XTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgdmFsaWRhdGVJbnB1dCh2YWx1ZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmICh0eXBlID09PSAnbGFiZWwnIHx8IHR5cGUgPT09ICdwbGFjZWhvbGRlcicpIHtcclxuICAgICAgY29uc3QgcmVnZXggPSAvXlthLXpBLVowLTlcXHNdKiQvO1xyXG4gICAgICBpZiAoIXJlZ2V4LnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnT25seSBsZXR0ZXJzIGFuZCBudW1iZXJzIGFyZSBhbGxvd2VkJztcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BlcnR5KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnRJbmRleCA+PSAwKSB7XHJcbiAgICAgIGlmIChrZXkgPT09ICdxdWVzdGlvblRleHQnIHx8IGtleSA9PT0gJ3F1ZXN0aW9uJykge1xyXG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUlucHV0KHZhbHVlLCBrZXkpKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoa2V5ID09PSAnZm9udFdlaWdodCcpIHtcclxuICAgICAgICAvLyBFeHRyYWN0IGp1c3QgdGhlIG51bWJlciB2YWx1ZSBmcm9tIHRoZSBvcHRpb25cclxuICAgICAgICB2YWx1ZSA9IHZhbHVlLnNwbGl0KCctJylbMF07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGtleSA9PT0gJ3N0eWxlcycpIHtcclxuICAgICAgICBjb25zdCBjdXJyZW50U3R5bGVzID0gdGhpcy5zZWxlY3RlZEVsZW1lbnQuc3R5bGVzIHx8IFtdO1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ2NhcGl0YWxpemUnIHx8IHZhbHVlID09PSAnbG93ZXJjYXNlJykge1xyXG4gICAgICAgICAgLy8gUmVtb3ZlIHRoZSBvcHBvc2l0ZSBjYXNlIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgICAgY29uc3Qgb3Bwb3NpdGVTdHlsZSA9IHZhbHVlID09PSAnY2FwaXRhbGl6ZScgPyAnbG93ZXJjYXNlJyA6ICdjYXBpdGFsaXplJztcclxuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU3R5bGVzID0gY3VycmVudFN0eWxlcy5maWx0ZXIocyA9PiBzICE9PSBvcHBvc2l0ZVN0eWxlKTtcclxuICAgICAgICAgIHZhbHVlID0gY3VycmVudFN0eWxlcy5pbmNsdWRlcyh2YWx1ZSlcclxuICAgICAgICAgICAgPyBmaWx0ZXJlZFN0eWxlcy5maWx0ZXIocyA9PiBzICE9PSB2YWx1ZSlcclxuICAgICAgICAgICAgOiBbLi4uZmlsdGVyZWRTdHlsZXMsIHZhbHVlXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gVG9nZ2xlIG90aGVyIHN0eWxlc1xyXG4gICAgICAgICAgdmFsdWUgPSBjdXJyZW50U3R5bGVzLmluY2x1ZGVzKHZhbHVlKVxyXG4gICAgICAgICAgICA/IGN1cnJlbnRTdHlsZXMuZmlsdGVyKHMgPT4gcyAhPT0gdmFsdWUpXHJcbiAgICAgICAgICAgIDogWy4uLmN1cnJlbnRTdHlsZXMsIHZhbHVlXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgW2tleV06IHZhbHVlIH07XHJcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXJTZXJ2aWNlLnVwZGF0ZUVsZW1lbnQodGhpcy5zZWxlY3RlZEVsZW1lbnRJbmRleCwgdXBkYXRlKTtcclxuXHJcbiAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIGZvbnQgYW5kIGZvbnQgd2VpZ2h0XHJcbiAgICAgIGlmIChrZXkgPT09ICdmb250Jykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LmZvbnQgPSB2YWx1ZTsgLy8gRGlyZWN0bHkgdXBkYXRlIHRoZSBzZWxlY3RlZCBlbGVtZW50J3MgZm9udCBwcm9wZXJ0eVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgb25SZXF1aXJlZENoYW5nZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRFbGVtZW50KSB7XHJcbiAgICAgIC8vIFJlbW92ZSBhbnkgZXhpc3RpbmcgYXN0ZXJpc2tzIGZpcnN0XHJcbiAgICAgIGxldCBsYWJlbCA9IHRoaXMuc2VsZWN0ZWRFbGVtZW50LmxhYmVsLnJlcGxhY2UoL1xccypcXCorJC8sICcnKTtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgbGFiZWwgPSBgJHtsYWJlbH0gKmA7IC8vIEFkZCBzaW5nbGUgYXN0ZXJpc2tcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KCdsYWJlbCcsIGxhYmVsKTtcclxuICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eSgncmVxdWlyZWQnLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFByb3BlcnRpZXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRFbGVtZW50KSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzW3RoaXMuc2VsZWN0ZWRFbGVtZW50LnR5cGVdO1xyXG4gIH1cclxuICBcclxuICAgYWRkT3B0aW9uKG9wdGlvbnM6IGFueVtdKSB7XHJcbiAgICBvcHRpb25zLnB1c2goeyBsYWJlbDogJycsIHZhbHVlOiAnJyB9KTtcclxuICB9XHJcbiAgLy8gRnVuY3Rpb24gdG8gcmVtb3ZlIGFuIG9wdGlvbiBmcm9tIHByb3Agb3B0aW9uc1xyXG4gIHJlbW92ZU9wdGlvbihvcHRpb25zOiBhbnlbXSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgb3B0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gIH1cclxuICBkb3dubG9hZCgpIHtcclxuICAgIGNvbnNvbGUubG9nKCdRdWVzdGlvbiBCb29rOicsIHRoaXMuZm9ybUJ1aWxkZXJTZXJ2aWNlLmRvd25sb2FkRWxlbWVudCgpKTtcclxuXHJcbiAgfVxyXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKCl7XHJcbiAgICB0aGlzLmZvcm1CdXR0b25IYW5kbGVyLmVtaXQodGhpcy5mb3JtQnVpbGRlclNlcnZpY2UuZG93bmxvYWRFbGVtZW50KCkpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLSBBUCAyMkpBTjI1IC0gRmllbGQgYW5kIEVsZW1lbnQgUHJvcGVydGllcyAtLT5cclxuPCEtLSBwcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIC0tPlxyXG4gIDxsaW5rIGhyZWY9XCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjMwMCw0MDAsNTAwJmRpc3BsYXk9c3dhcFwiIHJlbD1cInN0eWxlc2hlZXRcIj5cclxuICA8ZGl2IGNsYXNzPVwicHJvcGVydGllc1wiPlxyXG48IS0tIERlc2lnbiBIZWFkZXIgU2VjdGlvbiAtLT5cclxuPGRpdiBjbGFzcz1cImRlc2lnbi1oZWFkZXJcIj5cclxuICA8aDEgY2xhc3M9XCJoZWFkZXItdGl0bGVcIj5FbGVtZW50IFByb3BlcnRpZXM8L2gxPlxyXG4gIDxkaXYgY2xhc3M9XCJtZW51LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiIChjbGljayk9XCJkb3dubG9hZCgpXCI+XHJcbiAgICAgIDxzcGFuID5Eb3dubG9hZDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPlxyXG4gICAgICA8c3Bhbj5TdGFydDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaXRlbVwiPlxyXG4gICAgICA8c3Bhbj5QYXRoPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWVudS1pdGVtXCI+XHJcbiAgICAgIDxzcGFuPkNsb25lPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSBwcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIC0tPlxyXG48ZGl2IGNsYXNzPVwiYWxsLXByb3BlcnRpZXNcIj5cclxuICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XHJcbiAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxyXG4gICAgPC9kaXY+XHJcbiAgPCEtLSBFbGVtZW50IFByb3BlcnRpZXMgLS0+XHJcbiAgPGRldGFpbHMgY2xhc3M9XCJmaXJzdC1wcm9wZXJ0aWVzXCIgb3Blbj5cclxuICAgIDxzdW1tYXJ5IGNsYXNzPVwidGV4dC1zbSBcIj5FbGVtZW50cyBQcm9wZXJ0aWVzPC9zdW1tYXJ5PlxyXG4gICAgPGRpdiBjbGFzcz1cImlubmVyLWNvbnRlbnRcIiAqbmdJZj1cImdldFByb3BlcnRpZXMoKVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9wIG9mIGdldFByb3BlcnRpZXMoKS5lbGVtZW50UHJvcHNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInRleHQtc21cIj57eyBwcm9wLmxhYmVsIH19PC9sYWJlbD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1wcm9wZXJ0aWVzXCI+XHJcbiAgICAgICAgICAgIDwhLS0gVGV4dCBJbnB1dCAtLT5cclxuICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwicHJvcC50eXBlID09PSAndGV4dCdcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkRWxlbWVudFtwcm9wLmtleV1cIlxyXG4gICAgICAgICAgICAoaW5wdXQpPVwidXBkYXRlUHJvcGVydHkocHJvcC5rZXksICRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICAgICAgW2NsYXNzLnJlYWQtb25seV09XCJzZWxlY3RlZEVsZW1lbnQucmVhZE9ubHlcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwic2VsZWN0ZWRFbGVtZW50LnJlYWRPbmx5XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtMSBcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wLmtleSA9PT0gJ2hlbHBUZXh0JyAmJiBzZWxlY3RlZEVsZW1lbnQuaGVscFRleHRcIiBjbGFzcz1cImhlbHAtdGV4dFwiPlxyXG4gICAgICAgICAgICAgIHt7IHNlbGVjdGVkRWxlbWVudC5oZWxwVGV4dCB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICA8IS0tIEZvbnQgU2VsZWN0aW9uIC0tPlxyXG48ZGl2ICpuZ0lmPVwicHJvcC5rZXkgPT09ICdmb250J1wiIGNsYXNzPVwiZm9udC1zZWxlY3Rpb25cIj5cclxuICA8IS0tIDxsYWJlbD57eyBwcm9wLmxhYmVsIH19PC9sYWJlbD4gLS0+XHJcbiAgPHNlbGVjdFxyXG4gICpuZ0lmPVwicHJvcC50eXBlID09PSAnc2VsZWN0JyAmJiBwcm9wLmtleSA9PT0gJ2ZvbnQnXCJcclxuICAgIGNsYXNzPVwiZm9udC1zZWxlY3Rpb24xXCJcclxuICAgIFt2YWx1ZV09XCJzZWxlY3RlZEVsZW1lbnQ/LmZvbnRcIlxyXG4gICAgKGNoYW5nZSk9XCJ1cGRhdGVQcm9wZXJ0eSgnZm9udCcsICRldmVudC50YXJnZXQudmFsdWUpXCI+XHJcbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcHJvcC5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICB7eyBvcHRpb24gfX1cclxuICAgIDwvb3B0aW9uPlxyXG4gIDwvc2VsZWN0PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gZmlsZSAtLT5cclxuPCEtLSBBZGQgdGhpcyBpbnNpZGUgdGhlIGVsZW1lbnRQcm9wcyBsb29wIHdoZXJlIG90aGVyIGlucHV0cyBhcmUgcmVuZGVyZWQgLS0+XHJcbjxzZWxlY3QgKm5nSWY9XCJwcm9wLnR5cGUgPT09ICdzZWxlY3QnICYmIHByb3Aua2V5ID09PSAnc3VwcG9ydFR5cGUnXCJcclxuIGNsYXNzPVwiZmlsZSBcIlxyXG5bdmFsdWVdPVwic2VsZWN0ZWRFbGVtZW50W3Byb3Aua2V5XVwiXHJcbihjaGFuZ2UpPVwidXBkYXRlUHJvcGVydHkocHJvcC5rZXksICRldmVudC50YXJnZXQudmFsdWUpXCI+XHJcbjxvcHRpb24gdmFsdWU9XCJcIj5TZWxlY3QgZmlsZSBjYXRlZ29yeTwvb3B0aW9uPlxyXG48b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcHJvcC5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxyXG57eyBvcHRpb24ubGFiZWwgfX1cclxuPC9vcHRpb24+XHJcbjwvc2VsZWN0PlxyXG5cclxuPCEtLSBGb250IFdlaWdodCBTZWxlY3Rpb24gLS0+XHJcbjxkaXYgKm5nSWY9XCJwcm9wLmtleSA9PT0gJ2ZvbnRXZWlnaHQnXCIgY2xhc3M9XCJmb250LXdlaWdodFwiPlxyXG4gIDwhLS0gPGxhYmVsPnt7IHByb3AubGFiZWwgfX08L2xhYmVsPiAtLT5cclxuICA8c2VsZWN0XHJcbiAgKm5nSWY9XCJwcm9wLnR5cGUgPT09ICdzZWxlY3QnICYmIHByb3Aua2V5ID09PSAnZm9udFdlaWdodCdcIlxyXG4gICAgY2xhc3M9XCJmb250LXdlaWdodFwiXHJcbiAgICBbdmFsdWVdPVwic2VsZWN0ZWRFbGVtZW50Py5mb250V2VpZ2h0XCJcclxuICAgIChjaGFuZ2UpPVwidXBkYXRlUHJvcGVydHkoJ2ZvbnRXZWlnaHQnLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiPlxyXG4gICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHByb3Aub3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cclxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICA8L29wdGlvbj5cclxuICA8L3NlbGVjdD5cclxuPC9kaXY+XHJcblxyXG4gICAgICAgICAgXHJcbjwhLS0gVG9nZ2xlIEdyb3VwIC0tPlxyXG48ZGl2ICpuZ0lmPVwicHJvcC50eXBlID09PSAndG9nZ2xlR3JvdXAnXCIgY2xhc3M9XCJ0b2dnbGUtZ3JvdXBcIj5cclxuPGRpdiBjbGFzcz1cInRvZ2dsZS1pdGVtMVwiPlxyXG4gIDxzcGFuIGNsYXNzPVwidG9nZ2xlLWxhYmVsXCI+UmVhZCBPbmx5PC9zcGFuPlxyXG4gIDxsYWJlbCBjbGFzcz1cInN3aXRjaFwiPlxyXG4gICAgPGlucHV0ICB0eXBlPVwiY2hlY2tib3hcIi8+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNsaWRlclwiPjwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ0b2dnbGUtaXRlbTJcIj5cclxuICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1sYWJlbFwiPklzIEhpZGU8L3NwYW4+XHJcbiAgPGxhYmVsIGNsYXNzPVwic3dpdGNoXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRFbGVtZW50Py5pc0hpZGVcIlxyXG4gICAgICAoY2hhbmdlKT1cIm9uVG9nZ2xlQ2hhbmdlKCdpc0hpZGUnLCAkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNsaWRlclwiPjwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFRleHQgQWxpZ24gQnV0dG9ucyAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb3AudHlwZSA9PT0gJ2FsaWduJ1wiY2xhc3M9XCJmb250LWFsaWduXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9wLm9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWxpZ25TZWxlY3Qob3B0aW9uLnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRWxlbWVudD8udGV4dEFsaWduID09PSBvcHRpb24udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGlnbi1idG5cIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cIicuLi9hc3NldHMvaWNvbnMvJyArIG9wdGlvbi5pY29uICsgJy5zdmcnXCJcclxuICAgICAgICAgICAgICAgICAgW2FsdF09XCJvcHRpb24udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tc2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvcC5rZXkgPT09ICdzaXplJ1wiIGNsYXNzPVwic2l6ZS1jb250cm9sc1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbD57eyBwcm9wLmxhYmVsIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkRWxlbWVudFtwcm9wLmtleV1cIlxyXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cInVwZGF0ZVByb3BlcnR5KHByb3Aua2V5LCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNpemUtaW5wdXRcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaXplLXVuaXRcIj57eyBwcm9wLnVuaXQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wLnR5cGUgPT09ICdzdHlsZSdcIiAgY2xhc3M9XCJmb250LXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9wLm9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3R5bGVTZWxlY3Qob3B0aW9uLnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImlzU3R5bGVBY3RpdmUob3B0aW9uLnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInN0eWxlLWJ0blwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiJy4uL2Fzc2V0cy9pY29ucy8nICsgb3B0aW9uLmljb24gKyAnLnN2ZydcIlxyXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1zaXplXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSBGaWVsZCBTaXplIENvbnRyb2xzIC0tPlxyXG48ZGl2ICpuZ0lmPVwicHJvcC5rZXkgPT09ICdmaWVsZFNpemUnXCIgY2xhc3M9XCJmaWVsZC1zaXplLWNvbnRyb2xzXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNpemUtZ3JvdXBcIj5cclxuICAgIDxsYWJlbCAgY2xhc3M9XCJzaXplLWxhYmVsXCI+V2lkdGg8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cInZhbHVlLWNvbnRhaW5lclwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICBbdmFsdWVdPVwic2VsZWN0ZWRFbGVtZW50Py53aWR0aFwiXHJcbiAgICAgIChpbnB1dCk9XCJ1cGRhdGVQcm9wZXJ0eSgnd2lkdGgnLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXHJcbiAgICAgIGNsYXNzPVwic2l6ZS1pbnB1dFwiXHJcblxyXG4gICAgLz5cclxuXHJcbiAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2RldGFpbHM+XHJcblxyXG4gIDwhLS0gRmllbGQgRWxlbWVudHMgUHJvcGVydGllcyAtLT5cclxuPGRldGFpbHMgY2xhc3M9XCJzZWNvbmQtcHJvcGVydHlcIj5cclxuICA8c3VtbWFyeSBjbGFzcz1cInRleHQtZm9udC1tZWRpdW1cIj5GaWVsZCBFbGVtZW50cyBQcm9wZXJ0aWVzPC9zdW1tYXJ5PlxyXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTRcIiAqbmdJZj1cImdldFByb3BlcnRpZXMoKVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvcCBvZiBnZXRQcm9wZXJ0aWVzKCkuZmllbGRQcm9wc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleC1pdGVtcy1jZW50ZXIgXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwidGV4dC1zbVwiPnt7IHByb3AubGFiZWwgfX08L2xhYmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3gtZmllbGRcIj5cclxuICAgICAgICAgIDwhLS0gSW5wdXQgQm94IC0tPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICpuZ0lmPVwicHJvcC50eXBlID09PSAndGV4dCdcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmaWVsZC1pbnB1dFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPCEtLSBSYWRpbyBHcm91cCAtLT5cclxuPGRpdiAqbmdJZj1cInByb3AudHlwZSA9PT0gJ3JhZGlvJ1wiIGNsYXNzPVwicmFkaW8taXRlbVwiPlxyXG5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaXplc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ2FwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1pdGVtc1wiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cInJhZGlvXCJcclxuICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRFbGVtZW50LnJlcXVpcmVkXCJcclxuICAgICAgKGNoYW5nZSk9XCJvblJlcXVpcmVkQ2hhbmdlKHRydWUpXCJcclxuICAgICAgbmFtZT1cInJlcXVpcmVkXCJcclxuICAgICAgY2xhc3M9XCJyYWRpby1pbnB1dFwiXHJcbiAgICAvPlxyXG4gICAgICA8bGFiZWxcclxuICAgICAgICBjbGFzcz1cInRleHQtbGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgUmVxdWlyZWRcclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtaXRlbXNcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgIFtjaGVja2VkXT1cIiFzZWxlY3RlZEVsZW1lbnQucmVxdWlyZWRcIlxyXG4gICAgICAoY2hhbmdlKT1cIm9uUmVxdWlyZWRDaGFuZ2UoZmFsc2UpXCJcclxuICAgICAgbmFtZT1cInJlcXVpcmVkXCJcclxuICAgICAgY2xhc3M9XCJyYWRpby1pbnB1dFwiXHJcbiAgICAvPlxyXG4gICAgICA8bGFiZWxcclxuICAgICAgICBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTQwMFwiXHJcbiAgICAgID5cclxuICAgICAgICBOb3QgUmVxdWlyZWRcclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbiA8IS0tIENoayBPcHRpb25zIEdyb3VwIC0tPlxyXG4gPGRpdiAqbmdJZj1cInByb3AudHlwZSA9PT0gJ29wdGlvbnNHcm91cCdcIiBjbGFzcz1cIm9wdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgPGRpdlxyXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9wLm9wdGlvbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgY2xhc3M9XCJvcHRpb24taXRlbXNcIlxyXG4gID5cclxuICAgIDwhLS0gT3B0aW9uIElucHV0IC0tPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJwcm9wLm9wdGlvbnNbaV0ubGFiZWxcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cIk9wdGlvbiB7eyBpICsgMSB9fVwiXHJcbiAgICAgIGNsYXNzPVwib3B0aW9uc1wiXHJcbiAgICAvPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJwcm9wLm9wdGlvbnNbaV0udmFsdWVcIlxyXG4gICAgICBwbGFjZWhvbGRlcj1cIlZhbHVlXCJcclxuICAgICAgY2xhc3M9XCJ2YWx1ZXNcIlxyXG4gICAgLz5cclxuICAgIDwhLS0gUmVtb3ZlIEJ1dHRvbiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJyZW1vdmVcIj5cclxuICAgIDxpbWcgc3JjPVwiLi4vYXNzZXRzL2ljb25zL1RyYXNoLnN2Z1wiIChjbGljayk9XCJyZW1vdmVPcHRpb24ocHJvcC5vcHRpb25zLCBpKVwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gQWRkIEJ1dHRvbiAtLT5cclxuICA8YnV0dG9uXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIGNsYXNzPVwiYWRkLWJ0blwiXHJcbiAgICAoY2xpY2spPVwiYWRkT3B0aW9uKHByb3Aub3B0aW9ucylcIlxyXG4gID5cclxuICA8ZGl2IGNsYXNzPVwiYWRkLXZhcmllbnRcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZ1wiPis8L3NwYW4+XHJcbiAgICA8c3Bhbj5BZGQgVmFyaWFudHM8L3NwYW4+PC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJkZXNpZ24tZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKClcIj5TYXZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGV0YWlscz5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -21,7 +21,7 @@ export class FormBuilderService {
21
21
  if (savedFormElements) {
22
22
  this.formElements = JSON.parse(savedFormElements);
23
23
  this.formElementsSubject.next([...this.formElements]);
24
- this.book = JSON.parse(localStorage.getItem('book') || '{}');
24
+ // this.book = JSON.parse(localStorage.getItem('book') || '{}');
25
25
  this.unique_id = localStorage.getItem('unique_id');
26
26
  }
27
27
  }
@@ -34,11 +34,8 @@ export class FormBuilderService {
34
34
  }
35
35
  // Add a new element to the form
36
36
  addElement(element) {
37
- debugger;
38
37
  // const savedFormElements = localStorage.getItem('formElements');
39
- console.log("length", this.formElements.length);
40
38
  if (this.formElements.length == 0) {
41
- console.log("savedFormElements", this.formElements);
42
39
  // this.formElements = JSON.parse(savedFormElements);
43
40
  // this.formElementsSubject.next([...this.formElements]);
44
41
  // this.book = JSON.parse(localStorage.getItem('book') || '{}');
@@ -64,11 +61,11 @@ export class FormBuilderService {
64
61
  };
65
62
  }
66
63
  // this.unique_id = uuidv4();
67
- localStorage.setItem('book', JSON.stringify(this.book));
64
+ // localStorage.setItem('book', JSON.stringify(this.book));
68
65
  localStorage.setItem('unique_id', this.unique_id);
69
66
  }
70
67
  this.formElements.push(element);
71
- localStorage.setItem('formElements', JSON.stringify(this.formElements));
68
+ // localStorage.setItem('formElements', JSON.stringify(this.formElements));
72
69
  // this.formElementsSubject.next([...this.formElements]);
73
70
  }
74
71
  updateElement(index, updates) {
@@ -100,7 +97,7 @@ export class FormBuilderService {
100
97
  }
101
98
  this.formElements[index] = updatedElement;
102
99
  this.formElementsSubject.next([...this.formElements]);
103
- localStorage.setItem('formElements', JSON.stringify(this.formElements));
100
+ // localStorage.setItem('formElements', JSON.stringify(this.formElements));
104
101
  }
105
102
  }
106
103
  setSelectedElement(index) {
@@ -110,7 +107,6 @@ export class FormBuilderService {
110
107
  return this.formElements;
111
108
  }
112
109
  downloadElement() {
113
- console.log("book", this.book);
114
110
  this.book.bookQuestionsMap[this.unique_id].subQuestions = this.formElements;
115
111
  let tempElement = {};
116
112
  this.formElements.forEach((element) => {
@@ -136,7 +132,7 @@ export class FormBuilderService {
136
132
  }
137
133
  });
138
134
  this.formElements = this.tempElem;
139
- localStorage.setItem('formElements', JSON.stringify(this.formElements));
135
+ // localStorage.setItem('formElements', JSON.stringify(this.formElements));
140
136
  this.formElementsSubject.next([...this.formElements]);
141
137
  }
142
138
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -148,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
148
144
  providedIn: 'root',
149
145
  }]
150
146
  }], ctorParameters: () => [] });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvc2VydmljZXMvZm9ybS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQW9EdkMsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxrQkFBa0I7SUFDckIsWUFBWSxHQUFrQixFQUFFLENBQUM7SUFDakMsbUJBQW1CLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzdELHNCQUFzQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsZ0JBQWdCLEdBQTRCLElBQUksQ0FBQztJQUN6RCxJQUFJLENBQUs7SUFFVCxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hELGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5RCxTQUFTLENBQU07SUFDZixRQUFRLENBQVE7SUFDaEIseUVBQXlFO0lBRXpFO1FBQ0Usd0NBQXdDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRCxJQUFJLGlCQUFpQixFQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUks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QUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDdEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsdURBQXVEO0lBQ3ZELHNCQUFzQixDQUFDLEVBQU87UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUN6QyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7d0dBdEpVLGtCQUFrQjs0R0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBUCAyMkpBTjI1XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9wYWdlcy9idWlsZGVyL2VsZW1lbnQvZWxlbWVudC5jb21wb25lbnQnO1xyXG5cclxuaW50ZXJmYWNlIEZvcm1FbGVtZW50IHtcclxuICBpZDogYW55O1xyXG4gIG5hbWU6IGFueTtcclxuICB2YWx1ZT86IGFueTtcclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHF1ZXN0aW9uVGV4dD86IHN0cmluZztcclxuICBxdWVzdGlvbj86IHN0cmluZztcclxuICBoZWxwVGV4dD86IHN0cmluZztcclxuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XHJcbiAgaXNIaWRkZW4/OiBib29sZWFuO1xyXG4gIGlzRGF0ZUJhY2t3YXJkPzogYm9vbGVhbjtcclxuICBpc0RhdGVGb3J3YXJkPzogYm9vbGVhbjtcclxuICBpc09wdGlvbmFsPzogYm9vbGVhbjtcclxuICBpc1RpdGxlPzogYm9vbGVhbjtcclxuICBuZXh0UXVlc3Rpb24/OiBzdHJpbmc7XHJcbiAgYWxsb3dlZEZpbGVFeHRlbnNpb25zPzogc3RyaW5nO1xyXG4gIHF1ZXN0aW9uTnVtYmVyPzogbnVtYmVyO1xyXG4gIHF1ZXN0aW9uQm9va0lkPzogc3RyaW5nO1xyXG4gIHNpemU/OiBudW1iZXI7XHJcbiAgcGFyZW50UXVlc3Rpb24/OiBzdHJpbmc7XHJcbiAgc3ViVGV4dD86IHN0cmluZztcclxuICBmaWVsZHNNZXRhPzogc3RyaW5nO1xyXG4gIHJlY29yZFR5cGVOYW1lPzogc3RyaW5nO1xyXG4gIHJlY29yZFR5cGVJZD86IHN0cmluZztcclxuICB0cmFja2luZ0lkPzogc3RyaW5nO1xyXG4gIGRhdGVUZXh0Pzogc3RyaW5nO1xyXG4gIHRpbWVUZXh0Pzogc3RyaW5nO1xyXG4gIHJlY29yZElkPzogc3RyaW5nO1xyXG4gIHFiUmVmZXJlbmNlPzogc3RyaW5nO1xyXG4gIHFiUmVmZXJlbmNlUXVlc3Rpb25zPzogc3RyaW5nO1xyXG4gIHF1ZXN0aW9uQm9va1N1YlRpdGxlPzogc3RyaW5nO1xyXG4gIHN0eWxlPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHN1YlRpdGxlPzogc3RyaW5nO1xyXG4gIHJlZmVyZW5jZUZpZWxkPzogc3RyaW5nO1xyXG4gIGFkZGl0aW9uYWxSaWNoQ29udGVudD86IHN0cmluZztcclxuICBncm91cE5hbWU/OiBzdHJpbmc7XHJcbiAgeDI0SG91cnM/OiBib29sZWFuO1xyXG5cclxuICAvLyBPcHRpb25zIGZvciBlbGVtZW50cyBsaWtlIERyb3Bkb3duLCBSYWRpbywgQ2hlY2tib3hcclxuICBvcHRpb25zPzogQXJyYXk8e1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHZhbHVlOiBhbnk7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICB9PjtcclxufVxyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQnVpbGRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgZm9ybUVsZW1lbnRzOiBGb3JtRWxlbWVudFtdID0gW107XHJcbiAgcHJpdmF0ZSBmb3JtRWxlbWVudHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRWxlbWVudFtdPihbXSk7XHJcbiAgcHJpdmF0ZSBzZWxlY3RlZEVsZW1lbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KC0xKTtcclxuICBwcml2YXRlIGVsZW1lbnRDb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQgfCBudWxsID0gbnVsbDtcclxuICBib29rOmFueTtcclxuXHJcbiAgZm9ybUVsZW1lbnRzJCA9IHRoaXMuZm9ybUVsZW1lbnRzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICBzZWxlY3RlZEVsZW1lbnQkID0gdGhpcy5zZWxlY3RlZEVsZW1lbnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHVuaXF1ZV9pZDogYW55O1xyXG4gIHRlbXBFbGVtOiBhbnlbXTtcclxuICAvLyBib29rOiB7IGJvb2tRdWVzdGlvbnNNYXA6IHsgdW5pcXVlX2lkOiB7IHN1YlF1ZXN0aW9uczogYW55W107IH07IH07IH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgLy8gTG9hZCBzYXZlZCBlbGVtZW50cyBmcm9tIGxvY2FsU3RvcmFnZVxyXG4gICB0aGlzLmZvcm1FbGVtZW50cyA9IFtdO1xyXG4gICAgY29uc3Qgc2F2ZWRGb3JtRWxlbWVudHMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9ybUVsZW1lbnRzJyk7XHJcbiAgICBpZiAoc2F2ZWRGb3JtRWxlbWVudHMgKSB7XHJcbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRzID0gSlNPTi5wYXJzZShzYXZlZEZvcm1FbGVtZW50cyk7XHJcbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRzU3ViamVjdC5uZXh0KFsuLi50aGlzLmZvcm1FbGVtZW50c10pO1xyXG4gICAgICB0aGlzLmJvb2sgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdib29rJykgfHwgJ3t9Jyk7XHJcbiAgICAgIHRoaXMudW5pcXVlX2lkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VuaXF1ZV9pZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gR2V0IHRoZSBlbGVtZW50IGNvbXBvbmVudCByZWZlcmVuY2VcclxuICBnZXRFbGVtZW50Q29tcG9uZW50KCk6IEVsZW1lbnRDb21wb25lbnQgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRDb21wb25lbnQ7XHJcbiAgfVxyXG5cclxuICBzZXRFbGVtZW50Q29tcG9uZW50KGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCkge1xyXG4gICAgdGhpcy5lbGVtZW50Q29tcG9uZW50ID0gY29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gQWRkIGEgbmV3IGVsZW1lbnQgdG8gdGhlIGZvcm1cclxuICBhZGRFbGVtZW50KGVsZW1lbnQ6IEZvcm1FbGVtZW50KTogdm9pZCB7XHJcbiAgICBkZWJ1Z2dlclxyXG5cclxuICAgIC8vIGNvbnN0IHNhdmVkRm9ybUVsZW1lbnRzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Zvcm1FbGVtZW50cycpO1xyXG4gICAgY29uc29sZS5sb2coXCJsZW5ndGhcIix0aGlzLmZvcm1FbGVtZW50cy5sZW5ndGgpO1xyXG4gICAgaWYgKHRoaXMuZm9ybUVsZW1lbnRzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwic2F2ZWRGb3JtRWxlbWVudHNcIix0aGlzLmZvcm1FbGVtZW50cyk7XHJcbiAgICAgIC8vIHRoaXMuZm9ybUVsZW1lbnRzID0gSlNPTi5wYXJzZShzYXZlZEZvcm1FbGVtZW50cyk7XHJcbiAgICAgIC8vIHRoaXMuZm9ybUVsZW1lbnRzU3ViamVjdC5uZXh0KFsuLi50aGlzLmZvcm1FbGVtZW50c10pO1xyXG4gICAgICAvLyB0aGlzLmJvb2sgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdib29rJykgfHwgJ3t9Jyk7XHJcbiAgICAgIHRoaXMuYm9vayA9IHt9O1xyXG4gICAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc3RhdHVzJykgPT0gXCJlZGl0XCIpe1xyXG4gICAgICAgIHRoaXMudW5pcXVlX2lkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VuaXF1ZV9pZCcpO1xyXG4gICAgICAgIHRoaXMuYm9vayA9IHtcclxuICAgICAgICAgICdib29rUXVlc3Rpb25zTWFwJzoge1xyXG4gICAgICAgICAgICAgW3RoaXMudW5pcXVlX2lkXToge1xyXG4gICAgICAgICAgICAgJ3N1YlF1ZXN0aW9ucyc6IFtdXHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICB9O1xyXG5cclxuICAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMudW5pcXVlX2lkID0gdXVpZHY0KCk7XHJcbiAgICAgICAgdGhpcy5ib29rID0ge1xyXG4gICAgICAgICAgJ2Jvb2tRdWVzdGlvbnNNYXAnOiB7XHJcbiAgICAgICAgICAgICBbdGhpcy51bmlxdWVfaWRdOiB7XHJcbiAgICAgICAgICAgICAnc3ViUXVlc3Rpb25zJzogW11cclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgIH07XHJcblxyXG4gICAgICAgfVxyXG4gICAgICAvLyB0aGlzLnVuaXF1ZV9pZCA9IHV1aWR2NCgpO1xyXG5cclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYm9vaycsIEpTT04uc3RyaW5naWZ5KHRoaXMuYm9vaykpO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1bmlxdWVfaWQnLCB0aGlzLnVuaXF1ZV9pZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1FbGVtZW50cy5wdXNoKGVsZW1lbnQpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2Zvcm1FbGVtZW50cycsIEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybUVsZW1lbnRzKSk7XHJcbiAgICAvLyB0aGlzLmZvcm1FbGVtZW50c1N1YmplY3QubmV4dChbLi4udGhpcy5mb3JtRWxlbWVudHNdKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUVsZW1lbnQoaW5kZXg6IG51bWJlciwgdXBkYXRlczogUGFydGlhbDxGb3JtRWxlbWVudD4pIHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gWy4uLnRoaXMuZ2V0RWxlbWVudHMoKV07XHJcbiAgICBpZiAoZWxlbWVudHNbaW5kZXhdKSB7XHJcbiAgICAgICAgZWxlbWVudHNbaW5kZXhdID0ge1xyXG4gICAgICAgICAgLi4uZWxlbWVudHNbaW5kZXhdLFxyXG4gICAgICAgICAgLi4udXBkYXRlc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5mb3JtRWxlbWVudHNTdWJqZWN0Lm5leHQoZWxlbWVudHMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLmZvcm1FbGVtZW50cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgdXBkYXRlZEVsZW1lbnQgPSB7XHJcbiAgICAgICAgLi4udGhpcy5mb3JtRWxlbWVudHNbaW5kZXhdLFxyXG4gICAgICAgIC4uLnVwZGF0ZXNcclxuICAgICAgfTtcclxuICAgICAgaWYgKHVwZGF0ZXMucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmICh1cGRhdGVkRWxlbWVudC5xdWVzdGlvblRleHQpIHtcclxuICAgICAgICAgIGNvbnN0IHF1ZXN0aW9uVGV4dCA9IHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dC5yZXBsYWNlKC9cXHMqXFwqKyQvLCAnJyk7XHJcbiAgICAgICAgICB1cGRhdGVkRWxlbWVudC5xdWVzdGlvblRleHQgPSB1cGRhdGVzLnJlcXVpcmVkID8gYCR7cXVlc3Rpb25UZXh0fSAqYCA6IHF1ZXN0aW9uVGV4dDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEhhbmRsZSBzcGVjaWFsIGNhc2VzXHJcbiAgICAgIGlmICh1cGRhdGVzLnJlcXVpcmVkID09PSB0cnVlICYmIHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dCAmJiAhdXBkYXRlZEVsZW1lbnQucXVlc3Rpb25UZXh0LmVuZHNXaXRoKCcqJykpIHtcclxuICAgICAgICB1cGRhdGVkRWxlbWVudC5xdWVzdGlvblRleHQgPSBgJHt1cGRhdGVkRWxlbWVudC5xdWVzdGlvblRleHR9ICpgO1xyXG4gICAgICB9IGVsc2UgaWYgKHVwZGF0ZXMucmVxdWlyZWQgPT09IGZhbHNlICYmIHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dCAmJiB1cGRhdGVkRWxlbWVudC5xdWVzdGlvblRleHQuZW5kc1dpdGgoJyonKSkge1xyXG4gICAgICAgIHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dCA9IHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dC5zbGljZSgwLCAtMik7XHJcbiAgICB9XHJcblxyXG4gICAgICB0aGlzLmZvcm1FbGVtZW50c1tpbmRleF0gPSB1cGRhdGVkRWxlbWVudDtcclxuICAgICAgdGhpcy5mb3JtRWxlbWVudHNTdWJqZWN0Lm5leHQoWy4uLnRoaXMuZm9ybUVsZW1lbnRzXSk7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdmb3JtRWxlbWVudHMnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm1FbGVtZW50cykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRFbGVtZW50KGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50U3ViamVjdC5uZXh0KGluZGV4KTtcclxuICB9XHJcblxyXG4gIGdldEVsZW1lbnRzKCk6IEZvcm1FbGVtZW50W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUVsZW1lbnRzO1xyXG4gIH1cclxuICBkb3dubG9hZEVsZW1lbnQoKXtcclxuICAgIGNvbnNvbGUubG9nKFwiYm9va1wiLHRoaXMuYm9vayk7XHJcbiAgICB0aGlzLmJvb2suYm9va1F1ZXN0aW9uc01hcFt0aGlzLnVuaXF1ZV9pZF0uc3ViUXVlc3Rpb25zID0gdGhpcy5mb3JtRWxlbWVudHM7XHJcbiAgICBsZXQgdGVtcEVsZW1lbnQgPSB7fTtcclxuICAgIHRoaXMuZm9ybUVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICBpZiAoZWxlbWVudC50eXBlID09PSAnRHJvcGRvd24nIHx8IGVsZW1lbnQudHlwZSA9PT0gJ1JhZGlvJyB8fCBlbGVtZW50LnR5cGUgPT09ICdDaGVja0JveCcpIHtcclxuICAgIC8vIEluaXRpYWxpemUgdGhlIGFycmF5IGlmIGl0IGRvZXNuJ3QgZXhpc3RcclxuICAgIGlmICghdGVtcEVsZW1lbnRbZWxlbWVudC5pZF0pIHtcclxuICAgICAgdGVtcEVsZW1lbnRbZWxlbWVudC5pZF0gPSBbXTtcclxuICAgIH1cclxuICAgIC8vIFB1c2ggdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIHRoZSBhcnJheVxyXG4gICAgdGVtcEVsZW1lbnRbZWxlbWVudC5pZF0ucHVzaChlbGVtZW50KTtcclxuICB9XHJcbn0pO1xyXG5cclxuICAgIHRoaXMuYm9vay5ib29rUXVlc3Rpb25zTWFwW3RoaXMudW5pcXVlX2lkXVsnc3FPcHRpb25zJ10gPSB0ZW1wRWxlbWVudDtcclxuICAgIHJldHVybiB0aGlzLmJvb2s7XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgYW4gZWxlbWVudCBieSBJRFxyXG4gIC8vIFNhdmUgZWxlbWVudHMgdG8gbG9jYWxTdG9yYWdlIGFuZCB1cGRhdGUgdGhlIHN1YmplY3RcclxuICByZW1vdmVFbGVtZW50Q29tcG9uZW50KGlkOiBhbnkpIHtcclxuICAgIHRoaXMudGVtcEVsZW0gPSBbXTtcclxuICAgIHRoaXMuZm9ybUVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZWxlbWVudC5pZCAhPT0gaWQpIHtcclxuICAgICAgICB0aGlzLnRlbXBFbGVtLnB1c2goZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtRWxlbWVudHMgPSB0aGlzLnRlbXBFbGVtO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2Zvcm1FbGVtZW50cycsIEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybUVsZW1lbnRzKSk7XHJcbiAgICB0aGlzLmZvcm1FbGVtZW50c1N1YmplY3QubmV4dChbLi4udGhpcy5mb3JtRWxlbWVudHNdKTtcclxuICB9XHJcbn1cclxuIl19
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvc2VydmljZXMvZm9ybS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYTtBQUNiLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQW9EdkMsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxrQkFBa0I7SUFDckIsWUFBWSxHQUFrQixFQUFFLENBQUM7SUFDakMsbUJBQW1CLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQzdELHNCQUFzQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsZ0JBQWdCLEdBQTRCLElBQUksQ0FBQztJQUN6RCxJQUFJLENBQUs7SUFFVCxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hELGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5RCxTQUFTLENBQU07SUFDZixRQUFRLENBQVE7SUFDaEIseUVBQXlFO0lBRXpFO1FBQ0Usd0NBQXdDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRCxJQUFJLGlCQUFpQixFQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDdEQsZ0VBQWdFO1lBQ2hFLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELG1CQUFtQixDQUFDLFNBQTJCO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7SUFDcEMsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxVQUFVLENBQUMsT0FBb0I7UUFFN0Isa0VBQWtFO1FBQ2xFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEMscURBQXFEO1lBQ3JELHlEQUF5RDtZQUN6RCxnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDZixJQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksTUFBTSxFQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLElBQUksR0FBRztvQkFDVixrQkFBa0IsRUFBRTt3QkFDakIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7NEJBQ2xCLGNBQWMsRUFBRSxFQUFFO3lCQUNqQjtxQkFDRjtpQkFDRixDQUFDO1lBRUosQ0FBQztpQkFBSSxDQUFDO2dCQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUc7b0JBQ1Ysa0JBQWtCLEVBQUU7d0JBQ2pCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFOzRCQUNsQixjQUFjLEVBQUUsRUFBRTt5QkFDakI7cUJBQ0Y7aUJBQ0YsQ0FBQztZQUVKLENBQUM7WUFDRiw2QkFBNkI7WUFFM0IsMkRBQTJEO1lBQzNELFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsMkVBQTJFO1FBQzNFLHlEQUF5RDtJQUMzRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWEsRUFBRSxPQUE2QjtRQUN4RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDekMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUc7Z0JBQ2hCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDbEIsR0FBRyxPQUFPO2FBQ1gsQ0FBQztZQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVILElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuRCxNQUFNLGNBQWMsR0FBRztnQkFDckIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDM0IsR0FBRyxPQUFPO2FBQ1gsQ0FBQztZQUNGLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ2hDLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDeEUsY0FBYyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQ3RGLENBQUM7WUFDSCxDQUFDO1lBRUQsdUJBQXVCO1lBQ3ZCLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksY0FBYyxDQUFDLFlBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNHLGNBQWMsQ0FBQyxZQUFZLEdBQUcsR0FBRyxjQUFjLENBQUMsWUFBWSxJQUFJLENBQUM7WUFDbkUsQ0FBQztpQkFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxJQUFJLGNBQWMsQ0FBQyxZQUFZLElBQUksY0FBYyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEgsY0FBYyxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRSxDQUFDO1lBRUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxjQUFjLENBQUM7WUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDdEQsMkVBQTJFO1FBQzdFLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDNUUsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUMzRiwyQ0FBMkM7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQzdCLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvQixDQUFDO2dCQUNELDBDQUEwQztnQkFDMUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLHVEQUF1RDtJQUN2RCxzQkFBc0IsQ0FBQyxFQUFPO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDekMsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEMsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7d0dBbEpVLGtCQUFrQjs0R0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBUCAyMkpBTjI1XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9wYWdlcy9idWlsZGVyL2VsZW1lbnQvZWxlbWVudC5jb21wb25lbnQnO1xyXG5cclxuaW50ZXJmYWNlIEZvcm1FbGVtZW50IHtcclxuICBpZDogYW55O1xyXG4gIG5hbWU6IGFueTtcclxuICB2YWx1ZT86IGFueTtcclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHF1ZXN0aW9uVGV4dD86IHN0cmluZztcclxuICBxdWVzdGlvbj86IHN0cmluZztcclxuICBoZWxwVGV4dD86IHN0cmluZztcclxuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XHJcbiAgaXNIaWRkZW4/OiBib29sZWFuO1xyXG4gIGlzRGF0ZUJhY2t3YXJkPzogYm9vbGVhbjtcclxuICBpc0RhdGVGb3J3YXJkPzogYm9vbGVhbjtcclxuICBpc09wdGlvbmFsPzogYm9vbGVhbjtcclxuICBpc1RpdGxlPzogYm9vbGVhbjtcclxuICBuZXh0UXVlc3Rpb24/OiBzdHJpbmc7XHJcbiAgYWxsb3dlZEZpbGVFeHRlbnNpb25zPzogc3RyaW5nO1xyXG4gIHF1ZXN0aW9uTnVtYmVyPzogbnVtYmVyO1xyXG4gIHF1ZXN0aW9uQm9va0lkPzogc3RyaW5nO1xyXG4gIHNpemU/OiBudW1iZXI7XHJcbiAgcGFyZW50UXVlc3Rpb24/OiBzdHJpbmc7XHJcbiAgc3ViVGV4dD86IHN0cmluZztcclxuICBmaWVsZHNNZXRhPzogc3RyaW5nO1xyXG4gIHJlY29yZFR5cGVOYW1lPzogc3RyaW5nO1xyXG4gIHJlY29yZFR5cGVJZD86IHN0cmluZztcclxuICB0cmFja2luZ0lkPzogc3RyaW5nO1xyXG4gIGRhdGVUZXh0Pzogc3RyaW5nO1xyXG4gIHRpbWVUZXh0Pzogc3RyaW5nO1xyXG4gIHJlY29yZElkPzogc3RyaW5nO1xyXG4gIHFiUmVmZXJlbmNlPzogc3RyaW5nO1xyXG4gIHFiUmVmZXJlbmNlUXVlc3Rpb25zPzogc3RyaW5nO1xyXG4gIHF1ZXN0aW9uQm9va1N1YlRpdGxlPzogc3RyaW5nO1xyXG4gIHN0eWxlPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHN1YlRpdGxlPzogc3RyaW5nO1xyXG4gIHJlZmVyZW5jZUZpZWxkPzogc3RyaW5nO1xyXG4gIGFkZGl0aW9uYWxSaWNoQ29udGVudD86IHN0cmluZztcclxuICBncm91cE5hbWU/OiBzdHJpbmc7XHJcbiAgeDI0SG91cnM/OiBib29sZWFuO1xyXG5cclxuICAvLyBPcHRpb25zIGZvciBlbGVtZW50cyBsaWtlIERyb3Bkb3duLCBSYWRpbywgQ2hlY2tib3hcclxuICBvcHRpb25zPzogQXJyYXk8e1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHZhbHVlOiBhbnk7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICB9PjtcclxufVxyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQnVpbGRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgZm9ybUVsZW1lbnRzOiBGb3JtRWxlbWVudFtdID0gW107XHJcbiAgcHJpdmF0ZSBmb3JtRWxlbWVudHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRWxlbWVudFtdPihbXSk7XHJcbiAgcHJpdmF0ZSBzZWxlY3RlZEVsZW1lbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KC0xKTtcclxuICBwcml2YXRlIGVsZW1lbnRDb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQgfCBudWxsID0gbnVsbDtcclxuICBib29rOmFueTtcclxuXHJcbiAgZm9ybUVsZW1lbnRzJCA9IHRoaXMuZm9ybUVsZW1lbnRzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICBzZWxlY3RlZEVsZW1lbnQkID0gdGhpcy5zZWxlY3RlZEVsZW1lbnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHVuaXF1ZV9pZDogYW55O1xyXG4gIHRlbXBFbGVtOiBhbnlbXTtcclxuICAvLyBib29rOiB7IGJvb2tRdWVzdGlvbnNNYXA6IHsgdW5pcXVlX2lkOiB7IHN1YlF1ZXN0aW9uczogYW55W107IH07IH07IH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgLy8gTG9hZCBzYXZlZCBlbGVtZW50cyBmcm9tIGxvY2FsU3RvcmFnZVxyXG4gICB0aGlzLmZvcm1FbGVtZW50cyA9IFtdO1xyXG4gICAgY29uc3Qgc2F2ZWRGb3JtRWxlbWVudHMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9ybUVsZW1lbnRzJyk7XHJcbiAgICBpZiAoc2F2ZWRGb3JtRWxlbWVudHMgKSB7XHJcbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRzID0gSlNPTi5wYXJzZShzYXZlZEZvcm1FbGVtZW50cyk7XHJcbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRzU3ViamVjdC5uZXh0KFsuLi50aGlzLmZvcm1FbGVtZW50c10pO1xyXG4gICAgICAvLyB0aGlzLmJvb2sgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdib29rJykgfHwgJ3t9Jyk7XHJcbiAgICAgIHRoaXMudW5pcXVlX2lkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VuaXF1ZV9pZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gR2V0IHRoZSBlbGVtZW50IGNvbXBvbmVudCByZWZlcmVuY2VcclxuICBnZXRFbGVtZW50Q29tcG9uZW50KCk6IEVsZW1lbnRDb21wb25lbnQgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRDb21wb25lbnQ7XHJcbiAgfVxyXG5cclxuICBzZXRFbGVtZW50Q29tcG9uZW50KGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCkge1xyXG4gICAgdGhpcy5lbGVtZW50Q29tcG9uZW50ID0gY29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gQWRkIGEgbmV3IGVsZW1lbnQgdG8gdGhlIGZvcm1cclxuICBhZGRFbGVtZW50KGVsZW1lbnQ6IEZvcm1FbGVtZW50KTogdm9pZCB7XHJcblxyXG4gICAgLy8gY29uc3Qgc2F2ZWRGb3JtRWxlbWVudHMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9ybUVsZW1lbnRzJyk7XHJcbiAgICBpZiAodGhpcy5mb3JtRWxlbWVudHMubGVuZ3RoID09IDApIHtcclxuICAgICAgLy8gdGhpcy5mb3JtRWxlbWVudHMgPSBKU09OLnBhcnNlKHNhdmVkRm9ybUVsZW1lbnRzKTtcclxuICAgICAgLy8gdGhpcy5mb3JtRWxlbWVudHNTdWJqZWN0Lm5leHQoWy4uLnRoaXMuZm9ybUVsZW1lbnRzXSk7XHJcbiAgICAgIC8vIHRoaXMuYm9vayA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Jvb2snKSB8fCAne30nKTtcclxuICAgICAgdGhpcy5ib29rID0ge307XHJcbiAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdGF0dXMnKSA9PSBcImVkaXRcIil7XHJcbiAgICAgICAgdGhpcy51bmlxdWVfaWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndW5pcXVlX2lkJyk7XHJcbiAgICAgICAgdGhpcy5ib29rID0ge1xyXG4gICAgICAgICAgJ2Jvb2tRdWVzdGlvbnNNYXAnOiB7XHJcbiAgICAgICAgICAgICBbdGhpcy51bmlxdWVfaWRdOiB7XHJcbiAgICAgICAgICAgICAnc3ViUXVlc3Rpb25zJzogW11cclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgIH07XHJcblxyXG4gICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy51bmlxdWVfaWQgPSB1dWlkdjQoKTtcclxuICAgICAgICB0aGlzLmJvb2sgPSB7XHJcbiAgICAgICAgICAnYm9va1F1ZXN0aW9uc01hcCc6IHtcclxuICAgICAgICAgICAgIFt0aGlzLnVuaXF1ZV9pZF06IHtcclxuICAgICAgICAgICAgICdzdWJRdWVzdGlvbnMnOiBbXVxyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfTtcclxuXHJcbiAgICAgICB9XHJcbiAgICAgIC8vIHRoaXMudW5pcXVlX2lkID0gdXVpZHY0KCk7XHJcblxyXG4gICAgICAgIC8vIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdib29rJywgSlNPTi5zdHJpbmdpZnkodGhpcy5ib29rKSk7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VuaXF1ZV9pZCcsIHRoaXMudW5pcXVlX2lkKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUVsZW1lbnRzLnB1c2goZWxlbWVudCk7XHJcbiAgICAvLyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZm9ybUVsZW1lbnRzJywgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtRWxlbWVudHMpKTtcclxuICAgIC8vIHRoaXMuZm9ybUVsZW1lbnRzU3ViamVjdC5uZXh0KFsuLi50aGlzLmZvcm1FbGVtZW50c10pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRWxlbWVudChpbmRleDogbnVtYmVyLCB1cGRhdGVzOiBQYXJ0aWFsPEZvcm1FbGVtZW50Pikge1xyXG4gICAgY29uc3QgZWxlbWVudHMgPSBbLi4udGhpcy5nZXRFbGVtZW50cygpXTtcclxuICAgIGlmIChlbGVtZW50c1tpbmRleF0pIHtcclxuICAgICAgICBlbGVtZW50c1tpbmRleF0gPSB7XHJcbiAgICAgICAgICAuLi5lbGVtZW50c1tpbmRleF0sXHJcbiAgICAgICAgICAuLi51cGRhdGVzXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmZvcm1FbGVtZW50c1N1YmplY3QubmV4dChlbGVtZW50cyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMuZm9ybUVsZW1lbnRzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCB1cGRhdGVkRWxlbWVudCA9IHtcclxuICAgICAgICAuLi50aGlzLmZvcm1FbGVtZW50c1tpbmRleF0sXHJcbiAgICAgICAgLi4udXBkYXRlc1xyXG4gICAgICB9O1xyXG4gICAgICBpZiAodXBkYXRlcy5yZXF1aXJlZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dCkge1xyXG4gICAgICAgICAgY29uc3QgcXVlc3Rpb25UZXh0ID0gdXBkYXRlZEVsZW1lbnQucXVlc3Rpb25UZXh0LnJlcGxhY2UoL1xccypcXCorJC8sICcnKTtcclxuICAgICAgICAgIHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dCA9IHVwZGF0ZXMucmVxdWlyZWQgPyBgJHtxdWVzdGlvblRleHR9ICpgIDogcXVlc3Rpb25UZXh0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gSGFuZGxlIHNwZWNpYWwgY2FzZXNcclxuICAgICAgaWYgKHVwZGF0ZXMucmVxdWlyZWQgPT09IHRydWUgJiYgdXBkYXRlZEVsZW1lbnQucXVlc3Rpb25UZXh0ICYmICF1cGRhdGVkRWxlbWVudC5xdWVzdGlvblRleHQuZW5kc1dpdGgoJyonKSkge1xyXG4gICAgICAgIHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dCA9IGAke3VwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dH0gKmA7XHJcbiAgICAgIH0gZWxzZSBpZiAodXBkYXRlcy5yZXF1aXJlZCA9PT0gZmFsc2UgJiYgdXBkYXRlZEVsZW1lbnQucXVlc3Rpb25UZXh0ICYmIHVwZGF0ZWRFbGVtZW50LnF1ZXN0aW9uVGV4dC5lbmRzV2l0aCgnKicpKSB7XHJcbiAgICAgICAgdXBkYXRlZEVsZW1lbnQucXVlc3Rpb25UZXh0ID0gdXBkYXRlZEVsZW1lbnQucXVlc3Rpb25UZXh0LnNsaWNlKDAsIC0yKTtcclxuICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRzW2luZGV4XSA9IHVwZGF0ZWRFbGVtZW50O1xyXG4gICAgICB0aGlzLmZvcm1FbGVtZW50c1N1YmplY3QubmV4dChbLi4udGhpcy5mb3JtRWxlbWVudHNdKTtcclxuICAgICAgLy8gbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2Zvcm1FbGVtZW50cycsIEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybUVsZW1lbnRzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZEVsZW1lbnQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZWxlY3RlZEVsZW1lbnRTdWJqZWN0Lm5leHQoaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RWxlbWVudHMoKTogRm9ybUVsZW1lbnRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtRWxlbWVudHM7XHJcbiAgfVxyXG4gIGRvd25sb2FkRWxlbWVudCgpe1xyXG4gICAgdGhpcy5ib29rLmJvb2tRdWVzdGlvbnNNYXBbdGhpcy51bmlxdWVfaWRdLnN1YlF1ZXN0aW9ucyA9IHRoaXMuZm9ybUVsZW1lbnRzO1xyXG4gICAgbGV0IHRlbXBFbGVtZW50ID0ge307XHJcbiAgICB0aGlzLmZvcm1FbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgaWYgKGVsZW1lbnQudHlwZSA9PT0gJ0Ryb3Bkb3duJyB8fCBlbGVtZW50LnR5cGUgPT09ICdSYWRpbycgfHwgZWxlbWVudC50eXBlID09PSAnQ2hlY2tCb3gnKSB7XHJcbiAgICAvLyBJbml0aWFsaXplIHRoZSBhcnJheSBpZiBpdCBkb2Vzbid0IGV4aXN0XHJcbiAgICBpZiAoIXRlbXBFbGVtZW50W2VsZW1lbnQuaWRdKSB7XHJcbiAgICAgIHRlbXBFbGVtZW50W2VsZW1lbnQuaWRdID0gW107XHJcbiAgICB9XHJcbiAgICAvLyBQdXNoIHRoZSBjdXJyZW50IGVsZW1lbnQgaW50byB0aGUgYXJyYXlcclxuICAgIHRlbXBFbGVtZW50W2VsZW1lbnQuaWRdLnB1c2goZWxlbWVudCk7XHJcbiAgfVxyXG59KTtcclxuXHJcbiAgICB0aGlzLmJvb2suYm9va1F1ZXN0aW9uc01hcFt0aGlzLnVuaXF1ZV9pZF1bJ3NxT3B0aW9ucyddID0gdGVtcEVsZW1lbnQ7XHJcbiAgICByZXR1cm4gdGhpcy5ib29rO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIGFuIGVsZW1lbnQgYnkgSURcclxuICAvLyBTYXZlIGVsZW1lbnRzIHRvIGxvY2FsU3RvcmFnZSBhbmQgdXBkYXRlIHRoZSBzdWJqZWN0XHJcbiAgcmVtb3ZlRWxlbWVudENvbXBvbmVudChpZDogYW55KSB7XHJcbiAgICB0aGlzLnRlbXBFbGVtID0gW107XHJcbiAgICB0aGlzLmZvcm1FbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsZW1lbnQuaWQgIT09IGlkKSB7XHJcbiAgICAgICAgdGhpcy50ZW1wRWxlbS5wdXNoKGVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZm9ybUVsZW1lbnRzID0gdGhpcy50ZW1wRWxlbTtcclxuICAgIC8vIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdmb3JtRWxlbWVudHMnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm1FbGVtZW50cykpO1xyXG4gICAgdGhpcy5mb3JtRWxlbWVudHNTdWJqZWN0Lm5leHQoWy4uLnRoaXMuZm9ybUVsZW1lbnRzXSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -15,4 +15,6 @@ export * from './lib/i18n.pipe';
15
15
  export * from './lib/pages/builder/element/element.component';
16
16
  export * from './lib/pages/builder/menu/menu.component';
17
17
  export * from './lib/pages/builder/properties/properties.component';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQseURBQXlEO0FBQ3pELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBueHQtYXBwXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbnh0LWFwcC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbnh0LWFwcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ueHQtYXBwLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9ib29rbGV0L2Jvb2tsZXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvcXVlc3Rpb25ib29rL3F1ZXN0aW9uYm9vay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zdW1tYXJ5LXBhZ2Uvc3VtbWFyeS1wYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3NhbGVzZm9yY2Uuc2VydmljZSc7XHJcbi8vIEhBLTExLTAxLTIwMjQgV2UgbmVlZCB0aGVzZSBiZWxvdyBsaW5lcyB0byB3b3JrIHB1YmxpY1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pMThuLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4ucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2J1aWxkZXIvZWxlbWVudC9lbGVtZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2J1aWxkZXIvbWVudS9tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2J1aWxkZXIvcHJvcGVydGllcy9wcm9wZXJ0aWVzLmNvbXBvbmVudCc7Il19
18
+ export * from './lib/pages/builder/form/form.component';
19
+ // export * from './lib/style.css';
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQseURBQXlEO0FBQ3pELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBueHQtYXBwXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbnh0LWFwcC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbnh0LWFwcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ueHQtYXBwLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9ib29rbGV0L2Jvb2tsZXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvcXVlc3Rpb25ib29rL3F1ZXN0aW9uYm9vay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zdW1tYXJ5LXBhZ2Uvc3VtbWFyeS1wYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3NhbGVzZm9yY2Uuc2VydmljZSc7XHJcbi8vIEhBLTExLTAxLTIwMjQgV2UgbmVlZCB0aGVzZSBiZWxvdyBsaW5lcyB0byB3b3JrIHB1YmxpY1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pMThuLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2kxOG4ucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2J1aWxkZXIvZWxlbWVudC9lbGVtZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2J1aWxkZXIvbWVudS9tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2J1aWxkZXIvcHJvcGVydGllcy9wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2J1aWxkZXIvZm9ybS9mb3JtLmNvbXBvbmVudCc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3N0eWxlLmNzcyc7Il19