@scania/tegel-angular-17 1.52.0 → 1.53.0-focus-ring-beta.0

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.
@@ -2019,11 +2019,11 @@ let TdsTableFooter = class TdsTableFooter {
2019
2019
  this.el = r.nativeElement;
2020
2020
  }
2021
2021
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TdsTableFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
2022
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsTableFooter, selector: "tds-table-footer", inputs: { cols: "cols", pages: "pages", pagination: "pagination", paginationValue: "paginationValue", rowsPerPageDropdownOpenDirection: "rowsPerPageDropdownOpenDirection", rowsPerPageValues: "rowsPerPageValues", rowsperpage: "rowsperpage" }, outputs: { tdsPagination: "tdsPagination" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2022
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsTableFooter, selector: "tds-table-footer", inputs: { cols: "cols", pages: "pages", pagination: "pagination", paginationValue: "paginationValue", rowsPerPageDropdownOpenDirection: "rowsPerPageDropdownOpenDirection", rowsPerPageValue: "rowsPerPageValue", rowsPerPageValues: "rowsPerPageValues", rowsperpage: "rowsperpage" }, outputs: { tdsPagination: "tdsPagination" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2023
2023
  };
2024
2024
  TdsTableFooter = __decorate([
2025
2025
  ProxyCmp({
2026
- inputs: ['cols', 'pages', 'pagination', 'paginationValue', 'rowsPerPageDropdownOpenDirection', 'rowsPerPageValues', 'rowsperpage']
2026
+ inputs: ['cols', 'pages', 'pagination', 'paginationValue', 'rowsPerPageDropdownOpenDirection', 'rowsPerPageValue', 'rowsPerPageValues', 'rowsperpage']
2027
2027
  })
2028
2028
  ], TdsTableFooter);
2029
2029
  export { TdsTableFooter };
@@ -2034,7 +2034,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2034
2034
  changeDetection: ChangeDetectionStrategy.OnPush,
2035
2035
  template: '<ng-content></ng-content>',
2036
2036
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2037
- inputs: ['cols', 'pages', 'pagination', 'paginationValue', 'rowsPerPageDropdownOpenDirection', 'rowsPerPageValues', 'rowsperpage'],
2037
+ inputs: ['cols', 'pages', 'pagination', 'paginationValue', 'rowsPerPageDropdownOpenDirection', 'rowsPerPageValue', 'rowsPerPageValues', 'rowsperpage'],
2038
2038
  outputs: ['tdsPagination'],
2039
2039
  standalone: false
2040
2040
  }]
@@ -2324,4 +2324,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2324
2324
  standalone: false
2325
2325
  }]
2326
2326
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
2327
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFaEksT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCbEQsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOytHQUxVLFlBQVk7bUdBQVosWUFBWSwrSEFMYiwyQkFBMkI7O0FBSzFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDO0tBQzFDLENBQUM7R0FTVyxZQUFZLENBTXhCOzs0RkFOWSxZQUFZO2tCQVJ4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7b0JBQ3pDLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7QUEwQk0sSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFHM0IsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFB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RUFBRSxDQUFDLFdBQVcsQ0FBQztvQkFDdEIsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCO29JQUdXLFNBQVM7c0JBQWxCLE1BQU07O0FBMkJGLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7SUFFckIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzsrR0FMVSxVQUFVO21HQUFWLFVBQVUseVdBTFgsMkJBQTJCOztBQUsxQixVQUFVO0lBWHRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUN6SyxDQUFDO0dBU1csVUFBVSxDQU10Qjs7NEZBTlksVUFBVTtrQkFSdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO29CQUN4SyxVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAc2NhbmlhL3RlZ2VsJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUxhc3RCb3JkZXInLCAnbW9kZVZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVMYXN0Qm9yZGVyJywgJ21vZGVWYXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0FjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0FjY29yZGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0FjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuVGRzQWNjb3JkaW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMZXZlbFZhbHVlJywgJ2Rpc2FibGVkJywgJ2V4cGFuZEljb25Qb3NpdGlvbicsICdleHBhbmRlZCcsICdoZWFkZXInLCAncGFkZGluZ1Jlc2V0J10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlQWNjb3JkaW9uSXRlbScsICdleHBhbmQnLCAnY29sbGFwc2UnLCAnaXNFeHBhbmRlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWFjY29yZGlvbi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGV2ZWxWYWx1ZScsICdkaXNhYmxlZCcsICdleHBhbmRJY29uUG9zaXRpb24nLCAnZXhwYW5kZWQnLCAnaGVhZGVyJywgJ3BhZGRpbmdSZXNldCddLFxuICBvdXRwdXRzOiBbJ3Rkc1RvZ2dsZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNBY2NvcmRpb25JdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQWNjb3JkaW9uSXRlbUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXhwYW5kZWQ6IGJvb2xlYW47IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNBY2NvcmRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNBY2NvcmRpb25JdGVtIHtcbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIEFjY29yZGlvbiBJdGVtIGlzIGNsaWNrZWQsIGJ1dCBiZWZvcmUgaXQgaXMgY2xvc2VkIG9yIG9wZW5lZC5cbiAgICovXG4gIHRkc1RvZ2dsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXhwYW5kZWQ6IGJvb2xlYW47IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZGVuJywgJ3NpemUnLCAndGRzQXJpYUxpdmUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1iYWRnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGlkZGVuJywgJ3NpemUnLCAndGRzQXJpYUxpdmUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNCYWRnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0JhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCYWRnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYW5uZXJJZCcsICdoZWFkZXInLCAnaGlkZGVuJywgJ2ljb24nLCAncm9sZVR5cGUnLCAnc3ViaGVhZGVyJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydoaWRlQmFubmVyJywgJ3Nob3dCYW5uZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1iYW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Jhbm5lcklkJywgJ2hlYWRlcicsICdoaWRkZW4nLCAnaWNvbicsICdyb2xlVHlwZScsICdzdWJoZWFkZXInLCAndmFyaWFudCddLFxuICBvdXRwdXRzOiBbJ3Rkc0Nsb3NlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Jhbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0Jhbm5lckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBiYW5uZXJJZDogc3RyaW5nOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQmFubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCYW5uZXIge1xuICAvKipcbiAgICogU2VuZHMgYSB1bmlxdWUgQmFubmVyIGlkZW50aWZpZXIgd2hlbiB0aGUgY2xvc2UgYnV0dG9uIGlzIHByZXNzZWQuXG4gICAqL1xuICB0ZHNDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgYmFubmVySWQ6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb21wb25lbnRUYWcnLCAnbW9kZVZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1ibG9jaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29tcG9uZW50VGFnJywgJ21vZGVWYXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Jsb2NrIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQmxvY2tFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNCbG9jayBleHRlbmRzIENvbXBvbmVudHMuVGRzQmxvY2sge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2VsbEtleScsICdjZWxsVmFsdWUnLCAnY29sU3BhbicsICdkaXNhYmxlUGFkZGluZycsICdyb3dTcGFuJywgJ3RleHRBbGlnbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWJvZHktY2VsbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2VsbEtleScsICdjZWxsVmFsdWUnLCAnY29sU3BhbicsICdkaXNhYmxlUGFkZGluZycsICdyb3dTcGFuJywgJ3RleHRBbGlnbiddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNCb2R5Q2VsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0JvZHlDZWxsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQm9keUNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0JvZHlDZWxsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1cnJlbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1icmVhZGNydW1iJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdXJyZW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0JyZWFkY3J1bWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNCcmVhZGNydW1iRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuVGRzQnJlYWRjcnVtYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1icmVhZGNydW1icycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndGRzQXJpYUxhYmVsJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0JyZWFkY3J1bWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQnJlYWRjcnVtYnNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNCcmVhZGNydW1icyBleHRlbmRzIENvbXBvbmVudHMuVGRzQnJlYWRjcnVtYnMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2Rpc2FibGVkJywgJ2Z1bGxibGVlZCcsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ3NpemUnLCAndGRzQXJpYUxhYmVsJywgJ3RleHQnLCAndHlwZScsICd2YWx1ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGlzYWJsZWQnLCAnZnVsbGJsZWVkJywgJ21vZGVWYXJpYW50JywgJ25hbWUnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndGV4dCcsICd0eXBlJywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9keURpdmlkZXInLCAnYm9keUltZycsICdib2R5SW1nQWx0JywgJ2NhcmRJZCcsICdjbGlja2FibGUnLCAnZXhwYW5kYWJsZScsICdleHBhbmRlZCcsICdoZWFkZXInLCAnaW1hZ2VQbGFjZW1lbnQnLCAnbW9kZVZhcmlhbnQnLCAnc3RyZXRjaCcsICdzdWJoZWFkZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydib2R5RGl2aWRlcicsICdib2R5SW1nJywgJ2JvZHlJbWdBbHQnLCAnY2FyZElkJywgJ2NsaWNrYWJsZScsICdleHBhbmRhYmxlJywgJ2V4cGFuZGVkJywgJ2hlYWRlcicsICdpbWFnZVBsYWNlbWVudCcsICdtb2RlVmFyaWFudCcsICdzdHJldGNoJywgJ3N1YmhlYWRlciddLFxuICBvdXRwdXRzOiBbJ3Rkc0NsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNDYXJkRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNhcmRJZDogc3RyaW5nOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuVGRzQ2FyZCB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgQ2FyZCBpZGVudGlmaWVyIHdoZW4gdGhlIENhcmQgaXMgY2xpY2tlZCwgaWYgY2xpY2thYmxlPXRydWVcbiAgICovXG4gIHRkc0NsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjYXJkSWQ6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2JveElkJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW5kZXRlcm1pbmF0ZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3Rkc0FyaWFEZXNjcmliZWRieScsICd0ZHNBcmlhTGFiZWwnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVDaGVja2JveCcsICdmb2N1c0VsZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tib3hJZCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnbmFtZScsICdyZXF1aXJlZCcsICd0ZHNBcmlhRGVzY3JpYmVkYnknLCAndGRzQXJpYUxhYmVsJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJywgJ3Rkc0ZvY3VzJywgJ3Rkc0JsdXInXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzQ2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNDaGVja2JveEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hlY2tib3hJZDogc3RyaW5nOyBjaGVja2VkOiBib29sZWFuOyBpbmRldGVybWluYXRlOiBib29sZWFuOyB2YWx1ZT86IHN0cmluZzsgfT4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlRkc0NoZWNrYm94IHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDaGVja2JveCBpZGVudGlmaWVyIGFuZCBjaGVja2VkIHN0YXR1cyB3aGVuIGl0IGlzIGNoZWNrZWQvdW5jaGVja2VkLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGVja2JveElkOiBzdHJpbmc7IGNoZWNrZWQ6IGJvb2xlYW47IGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47IHZhbHVlPzogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIENoZWNrYm94XG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnQgZm9yIHRoZSBDaGVja2JveFxuICAgKi9cbiAgdGRzQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdjaGlwSWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd0eXBlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtY2hpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdjaGlwSWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJywgJ3Rkc0NsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NoaXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNDaGlwRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGlwSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgY2hlY2tlZD86IGJvb2xlYW47IH0+PigpO1xuICBAT3V0cHV0KCkgdGRzQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hpcElkOiBzdHJpbmc7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNDaGlwIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNDaGlwIHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDaGlwIGlkZW50aWZpZXIgYW5kIHZhbHVlIHdoZW4gaXQgaXMgY2hhbmdlZCAoY2hlY2tlZC91bmNoZWNrZWQpLlxuVmFsaWQgb25seSBmb3IgdHlwZSBjaGVja2JveCBhbmQgcmFkaW8uXG5JZiBubyBJRCBpcyBzcGVjaWZpZWQsIGEgcmFuZG9tIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cblRvIHVzZSB0aGlzIGxpc3RlbmVyLCBkb24ndCB1c2UgdGhlIHJhbmRvbWl6ZWQgSUQsIHVzZSBhIHNwZWNpZmljIG9uZSBvZiB5b3VyIGNob29zaW5nLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGlwSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgY2hlY2tlZD86IGJvb2xlYW47IH0+PjtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDaGlwIGlkZW50aWZpZXIgd2hlbiBDaGlwIGlzIGNsaWNrZWQuXG5WYWxpZCBvbmx5IGZvciB0eXBlIGJ1dHRvbi5cbklmIG5vIElEIGlzIHNwZWNpZmllZCwgYSByYW5kb20gb25lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuVG8gdXNlIHRoaXMgbGlzdGVuZXIsIGRvbid0IHVzZSB0aGUgcmFuZG9taXplZCBJRCwgdXNlIGEgc3BlY2lmaWMgb25lIG9mIHlvdXIgY2hvb3NpbmcuXG4gICAqL1xuICB0ZHNDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hpcElkOiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1jb3JlLWhlYWRlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NvcmVIZWFkZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQ29yZUhlYWRlckl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNDb3JlSGVhZGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzQ29yZUhlYWRlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2N1c3RvbVZhbGlkYXRvcicsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnaGVscGVyJywgJ2hlbHBlckVycm9yJywgJ2hlbHBlckVycm9ySW52YWxpZCcsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heCcsICdtaW4nLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3NpemUnLCAnc3RhdGUnLCAndGRzQXJpYUxhYmVsJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydyZXNldCcsICdzZXRWYWx1ZScsICdmb2N1c0VsZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1kYXRldGltZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2N1c3RvbVZhbGlkYXRvcicsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnaGVscGVyJywgJ2hlbHBlckVycm9yJywgJ2hlbHBlckVycm9ySW52YWxpZCcsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heCcsICdtaW4nLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3NpemUnLCAnc3RhdGUnLCAndGRzQXJpYUxhYmVsJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd0ZHNDaGFuZ2UnLCAndGRzQmx1cicsICd0ZHNGb2N1cycsICd0ZHNJbnB1dCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNEYXRldGltZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0RhdGV0aW1lRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0JsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzSW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElucHV0RXZlbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNEYXRldGltZSBleHRlbmRzIENvbXBvbmVudHMuVGRzRGF0ZXRpbWUge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50IGZvciB0aGUgRGF0ZXRpbWVcbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIERhdGV0aW1lXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnQgZm9yIHRoZSBEYXRldGltZVxuICAgKi9cbiAgdGRzRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBldmVudCBmb3IgdGhlIERhdGV0aW1lXG4gICAqL1xuICB0ZHNJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElucHV0RXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnb3JpZW50YXRpb24nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ29yaWVudGF0aW9uJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzRGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0RpdmlkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNEaXZpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNEaXZpZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZmlsdGVyJywgJ2hlbHBlcicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21vZGVWYXJpYW50JywgJ211bHRpc2VsZWN0JywgJ25hbWUnLCAnbm9SZXN1bHRUZXh0JywgJ25vcm1hbGl6ZVRleHQnLCAnb3BlbkRpcmVjdGlvbicsICdwbGFjZWhvbGRlcicsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldFZhbHVlJywgJ3Jlc2V0JywgJ3JlbW92ZVZhbHVlJywgJ2ZvY3VzRWxlbWVudCcsICdjbG9zZScsICd1cGRhdGVEaXNwbGF5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZmlsdGVyJywgJ2hlbHBlcicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21vZGVWYXJpYW50JywgJ211bHRpc2VsZWN0JywgJ25hbWUnLCAnbm9SZXN1bHRUZXh0JywgJ25vcm1hbGl6ZVRleHQnLCAnb3BlbkRpcmVjdGlvbicsICdwbGFjZWhvbGRlcicsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3Rkc0NoYW5nZScsICd0ZHNGb2N1cycsICd0ZHNCbHVyJywgJ3Rkc0lucHV0JywgJ3Rkc0NsZWFyJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Ryb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzRHJvcGRvd25FbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgdmFsdWU6IHN0cmluZyB8IG51bGw7IH0+PigpO1xuICBAT3V0cHV0KCkgdGRzRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SW5wdXRFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjbGVhcmVkVmFsdWU6IHN0cmluZyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0Ryb3Bkb3duIHtcbiAgLyoqXG4gICAqIENoYW5nZSBldmVudCBmb3IgdGhlIERyb3Bkb3duLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHZhbHVlOiBzdHJpbmcgfCBudWxsOyB9Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIERyb3Bkb3duLlxuICAgKi9cbiAgdGRzRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBCbHVyIGV2ZW50IGZvciB0aGUgRHJvcGRvd24uXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgZXZlbnQgZm9yIHRoZSBEcm9wZG93bi5cbiAgICovXG4gIHRkc0lucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SW5wdXRFdmVudD4+O1xuICAvKipcbiAgICogQ2xlYXIgZXZlbnQgZm9yIHRoZSBEcm9wZG93bi5cbiAgICovXG4gIHRkc0NsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjbGVhcmVkVmFsdWU6IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldFNlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZHJvcGRvd24tb3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICd0ZHNBcmlhTGFiZWwnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd0ZHNTZWxlY3QnLCAndGRzRm9jdXMnLCAndGRzQmx1ciddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNEcm9wZG93bk9wdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0Ryb3Bkb3duT3B0aW9uRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWxlY3RlZDogYm9vbGVhbjsgdmFsdWU6IHN0cmluZzsgfT4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRHJvcGRvd25PcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0Ryb3Bkb3duT3B0aW9uIHtcbiAgLyoqXG4gICAqIENsaWNrIGV2ZW50IGZvciB0aGUgRHJvcGRvd24gb3B0aW9uLlxuICAgKi9cbiAgdGRzU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWxlY3RlZDogYm9vbGVhbjsgdmFsdWU6IHN0cmluZzsgfT4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnQgZm9yIHRoZSBEcm9wZG93biBvcHRpb24uXG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnQgZm9yIHRoZSBEcm9wZG93biBvcHRpb24uXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWZvbGRlci10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0ZvbGRlclRhYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0ZvbGRlclRhYkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0ZvbGRlclRhYiBleHRlbmRzIENvbXBvbmVudHMuVGRzRm9sZGVyVGFiIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTZWxlY3RlZEluZGV4JywgJ21vZGVWYXJpYW50JywgJ3NlbGVjdGVkSW5kZXgnLCAndGRzU2Nyb2xsTGVmdEFyaWFMYWJlbCcsICd0ZHNTY3JvbGxSaWdodEFyaWFMYWJlbCddLFxuICBtZXRob2RzOiBbJ3NlbGVjdFRhYicsICdyZWluaXRpYWxpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb2xkZXItdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0ZvbGRlclRhYnMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNGb2xkZXJUYWJzRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWxlY3RlZFRhYkluZGV4OiBudW1iZXI7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNGb2xkZXJUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb2xkZXJUYWJzIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgVGFiIGlzIGNoYW5nZWQuXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydtb2RlVmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbW9kZVZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzRm9vdGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb290ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndGRzTGlzdEFyaWFMYWJlbCcsICd0aXRsZVRleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb290ZXItZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3Rkc0xpc3RBcmlhTGFiZWwnLCAndGl0bGVUZXh0J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Zvb3Rlckdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzRm9vdGVyR3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNGb290ZXJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuVGRzRm9vdGVyR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb290ZXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNGb290ZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzRm9vdGVySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0Zvb3Rlckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0Zvb3Rlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItYnJhbmQtc3ltYm9sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckJyYW5kU3ltYm9sIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyQnJhbmRTeW1ib2xFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJCcmFuZFN5bWJvbCBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyQnJhbmRTeW1ib2wge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2VsbEtleScsICdjZWxsVmFsdWUnLCAnY29sU3BhbicsICdjdXN0b21XaWR0aCcsICdkaXNhYmxlUGFkZGluZycsICdyb3dTcGFuJywgJ3NvcnRhYmxlJywgJ3Rkc0FyaWFMYWJlbFNvcnRCdXR0b24nLCAndGV4dEFsaWduJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NlbGxLZXknLCAnY2VsbFZhbHVlJywgJ2NvbFNwYW4nLCAnY3VzdG9tV2lkdGgnLCAnZGlzYWJsZVBhZGRpbmcnLCAncm93U3BhbicsICdzb3J0YWJsZScsICd0ZHNBcmlhTGFiZWxTb3J0QnV0dG9uJywgJ3RleHRBbGlnbiddLFxuICBvdXRwdXRzOiBbJ3Rkc1NvcnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyQ2VsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlckNlbGxFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzU29ydCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IGNvbHVtbktleTogc3RyaW5nIHwgdW5kZWZpbmVkOyBzb3J0aW5nRGlyZWN0aW9uOiAnYXNjJyB8ICdkZXNjJzsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckNlbGwge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIFRhYmxlIGlkZW50aWZpZXIsIGNvbHVtbiBrZXkgYW5kIHNvcnRpbmcgZGlyZWN0aW9uIHRvIHRoZSB0ZHMtdGFibGUtYm9keSBjb21wb25lbnQsXG5jYW4gYWxzbyBiZSBsaXN0ZW5lZCB0byBpbXBsZW1lbnQgY3VzdG9tLXNvcnRpbmcgbG9naWMuXG4gICAqL1xuICB0ZHNTb3J0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IGNvbHVtbktleTogc3RyaW5nIHwgdW5kZWZpbmVkOyBzb3J0aW5nRGlyZWN0aW9uOiAnYXNjJyB8ICdkZXNjJzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCcsICdub0Ryb3Bkb3duSWNvbicsICdzZWxlY3RlZCcsICd0ZHNBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ25vRHJvcGRvd25JY29uJywgJ3NlbGVjdGVkJywgJ3Rkc0FyaWFMYWJlbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlckRyb3Bkb3duRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItZHJvcGRvd24tbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93bkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJEcm9wZG93bkxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJEcm9wZG93bkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzZWxlY3RlZCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWRyb3Bkb3duLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2VsZWN0ZWQnLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93bkxpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyRHJvcGRvd25MaXN0SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckRyb3Bkb3duTGlzdEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duTGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVhZGVyJywgJ2ltZ0FsdCcsICdpbWdVcmwnLCAnc3ViaGVhZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWRyb3Bkb3duLWxpc3QtdXNlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGVyJywgJ2ltZ0FsdCcsICdpbWdVcmwnLCAnc3ViaGVhZGVyJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckRyb3Bkb3duTGlzdFVzZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJEcm9wZG93bkxpc3RVc2VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyRHJvcGRvd25MaXN0VXNlciBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyRHJvcGRvd25MaXN0VXNlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItaGFtYnVyZ2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVySGFtYnVyZ2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVySGFtYnVyZ2VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVySGFtYnVyZ2VyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJIYW1idXJnZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdzZWxlY3RlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndGRzQXJpYUxhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJMYXVuY2hlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAndGRzQXJpYUxhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ3Rkc0FyaWFMYWJlbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlckxhdW5jaGVyQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyQnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyTGF1bmNoZXJHcmlkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckdyaWQge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItZ3JpZC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckxhdW5jaGVyR3JpZEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJMYXVuY2hlckdyaWRJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJHcmlkSXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXJHcmlkSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlci1ncmlkLXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckxhdW5jaGVyR3JpZFRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyTGF1bmNoZXJHcmlkVGl0bGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckdyaWRUaXRsZSBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXJHcmlkVGl0bGUge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJMYXVuY2hlckxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlci1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJMaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlckxhdW5jaGVyTGlzdEl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckxpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckxpc3RJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWxpc3QtdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJMaXN0VGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJMYXVuY2hlckxpc3RUaXRsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyTGlzdFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckxpc3RUaXRsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlclRpdGxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlclRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ25hbWUnLCAnc2l6ZScsICdzdmdEZXNjcmlwdGlvbicsICdzdmdUaXRsZScsICd0ZHNBcmlhSGlkZGVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbmFtZScsICdzaXplJywgJ3N2Z0Rlc2NyaXB0aW9uJywgJ3N2Z1RpdGxlJywgJ3Rkc0FyaWFIaWRkZW4nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0ljb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaW5saW5lLXRhYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSW5saW5lVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSW5saW5lVGFiRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSW5saW5lVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNJbmxpbmVUYWIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbGVmdFBhZGRpbmcnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0VGFiJywgJ3JlaW5pdGlhbGl6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWlubGluZS10YWJzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWZhdWx0U2VsZWN0ZWRJbmRleCcsICdsZWZ0UGFkZGluZycsICdtb2RlVmFyaWFudCcsICdzZWxlY3RlZEluZGV4JywgJ3Rkc1Njcm9sbExlZnRBcmlhTGFiZWwnLCAndGRzU2Nyb2xsUmlnaHRBcmlhTGFiZWwnXSxcbiAgb3V0cHV0czogWyd0ZHNDaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSW5saW5lVGFicyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0lubGluZVRhYnNFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0lubGluZVRhYnMgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0lubGluZVRhYnMge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBUYWIgaXMgY2hhbmdlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VsZWN0ZWRUYWJJbmRleDogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3N0YW5kYWxvbmUnLCAndW5kZXJsaW5lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnc3RhbmRhbG9uZScsICd1bmRlcmxpbmUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0xpbmtFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNMaW5rIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNMaW5rIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRlcicsICdtaW5pbWFsJywgJ21vZGVWYXJpYW50JywgJ25vSWNvbicsICd0ZHNBbGVydERpYWxvZycsICd0ZHNBcmlhTGFiZWwnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW1lc3NhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRlcicsICdtaW5pbWFsJywgJ21vZGVWYXJpYW50JywgJ25vSWNvbicsICd0ZHNBbGVydERpYWxvZycsICd0ZHNBcmlhTGFiZWwnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzTWVzc2FnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc01lc3NhZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRkc01lc3NhZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aW9uc1Bvc2l0aW9uJywgJ2Nsb3NhYmxlJywgJ2hlYWRlcicsICdwcmV2ZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAnc2l6ZScsICd0ZHNBbGVydERpYWxvZyddLFxuICBtZXRob2RzOiBbJ3Nob3dNb2RhbCcsICdjbG9zZU1vZGFsJywgJ2lzT3BlbicsICdpbml0aWFsaXplTW9kYWwnLCAnY2xlYW51cE1vZGFsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGlvbnNQb3NpdGlvbicsICdjbG9zYWJsZScsICdoZWFkZXInLCAncHJldmVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3NpemUnLCAndGRzQWxlcnREaWFsb2cnXSxcbiAgb3V0cHV0czogWyd0ZHNDbG9zZScsICd0ZHNPcGVuJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc01vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzTW9kYWxFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG9iamVjdD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNPcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzTW9kYWwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc01vZGFsIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIE1vZGFsIGlzIGNsb3NlZC5cbiAgICovXG4gIHRkc0Nsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8b2JqZWN0Pj47XG4gIC8qKlxuICAgKiBFbWl0cyBqdXN0IGJlZm9yZSBNb2RhbCBpcyBvcGVuZWQuXG4gICAqL1xuICB0ZHNPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW5hdmlnYXRpb24tdGFiJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNOYXZpZ2F0aW9uVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzTmF2aWdhdGlvblRhYkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc05hdmlnYXRpb25UYWIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc05hdmlnYXRpb25UYWIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbGVmdFBhZGRpbmcnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0VGFiJywgJ3JlaW5pdGlhbGl6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW5hdmlnYXRpb24tdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbGVmdFBhZGRpbmcnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc05hdmlnYXRpb25UYWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzTmF2aWdhdGlvblRhYnNFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc05hdmlnYXRpb25UYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNOYXZpZ2F0aW9uVGFicyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIFRhYiBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWxlY3RlZFRhYkluZGV4OiBudW1iZXI7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRTaG93JywgJ21vZGVWYXJpYW50JywgJ21vZGlmaWVycycsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdycsICd0ZHNBbGVydERpYWxvZyddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1jYW52YXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkZWZhdWx0U2hvdycsICdtb2RlVmFyaWFudCcsICdtb2RpZmllcnMnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAndGRzQWxlcnREaWFsb2cnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3ZlckNhbnZhcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1BvcG92ZXJDYW52YXNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNQb3BvdmVyQ2FudmFzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNQb3BvdmVyQ2FudmFzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdhdXRvSGlkZScsICdkZWZhdWx0U2hvdycsICdtb2RpZmllcnMnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1jb3JlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnYXV0b0hpZGUnLCAnZGVmYXVsdFNob3cnLCAnbW9kaWZpZXJzJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3RyaWdnZXInXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3ZlckNvcmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNQb3BvdmVyQ29yZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1BvcG92ZXJDb3JlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNQb3BvdmVyQ29yZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGVmYXVsdFNob3cnLCAnZmx1aWRXaWR0aCcsICdtb2RlVmFyaWFudCcsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdyddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1tZW51JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGVmYXVsdFNob3cnLCAnZmx1aWRXaWR0aCcsICdtb2RlVmFyaWFudCcsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNQb3BvdmVyTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1BvcG92ZXJNZW51RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzUG9wb3Zlck1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1BvcG92ZXJNZW51IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1BvcG92ZXJNZW51SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1BvcG92ZXJNZW51SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1BvcG92ZXJNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzUG9wb3Zlck1lbnVJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdyYWRpb0lkJywgJ3JlcXVpcmVkJywgJ3Rkc0FyaWFMYWJlbCcsICd0ZHNUYWJJbmRleCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2ZvY3VzRWxlbWVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXJhZGlvLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICduYW1lJywgJ3JhZGlvSWQnLCAncmVxdWlyZWQnLCAndGRzQXJpYUxhYmVsJywgJ3Rkc1RhYkluZGV4JywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1JhZGlvQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzUmFkaW9CdXR0b25FbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHJhZGlvSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1JhZGlvQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNSYWRpb0J1dHRvbiB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgUmFkaW8gQnV0dG9uIGlkZW50aWZpZXIgYW5kIHN0YXR1cyB3aGVuIGl0IGlzIGNoZWNrZWQuXG5JZiBubyBJRCBpcyBzcGVjaWZpZWQsIGEgcmFuZG9tIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cblRvIHVzZSB0aGlzIGxpc3RlbmVyLCBkb24ndCB1c2UgdGhlIHJhbmRvbWl6ZWQgSUQsIHVzZSBhIHNwZWNpZmljIG9uZSBvZiB5b3VyIGNob29zaW5nLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyByYWRpb0lkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ29wZW4nLCAncGVyc2lzdGVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ29wZW4nLCAncGVyc2lzdGVudCddLFxuICBvdXRwdXRzOiBbJ3Rkc0NvbGxhcHNlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU2lkZU1lbnVFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ29sbGFwc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZHNTaWRlTWVudUNvbGxhcHNlRXZlbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQ29sbGFwc2VFdmVudCBhcyBJVGRzU2lkZU1lbnVDb2xsYXBzZUV2ZW50IH0gZnJvbSAnQHNjYW5pYS90ZWdlbCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudSBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnUge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIFNpZGUgTWVudSBpcyBjb2xsYXBzZWQuXG4gICAqL1xuICB0ZHNDb2xsYXBzZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZHNTaWRlTWVudUNvbGxhcHNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtY2xvc2UtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51Q2xvc2VCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNTaWRlTWVudUNsb3NlQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVDbG9zZUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVDbG9zZUJ1dHRvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1jb2xsYXBzZS1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgb3V0cHV0czogWyd0ZHNDb2xsYXBzZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudUNvbGxhcHNlQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU2lkZU1lbnVDb2xsYXBzZUJ1dHRvbkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNDb2xsYXBzZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b25Db2xsYXBzZUV2ZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IENvbGxhcHNlRXZlbnQgYXMgSVRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b25Db2xsYXBzZUV2ZW50IH0gZnJvbSAnQHNjYW5pYS90ZWdlbCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudUNvbGxhcHNlQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudUNvbGxhcHNlQnV0dG9uIHtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgYnJvYWRjYXN0IHdoZW4gdGhlIGNvbGxhcHNlIGJ1dHRvbiBpcyBjbGlja2VkLlxuUHJldmVudCBpdCBmcm9tIGRpc2FibGluZyBhdXRvbWF0aWMgY29sbGFwc2luZywgYW5kIHNldCB0aGUgY29sbGFwc2VkIHByb3Agb24gdGhlIFNpZGUgTWVudSB5b3Vyc2VsZi5cbiAgICovXG4gIHRkc0NvbGxhcHNlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b25Db2xsYXBzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbkxhYmVsJywgJ2RlZmF1bHRPcGVuJywgJ29wZW4nLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkxhYmVsJywgJ2RlZmF1bHRPcGVuJywgJ29wZW4nLCAnc2VsZWN0ZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51RHJvcGRvd25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudURyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudURyb3Bkb3duIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2lkZS1tZW51LWRyb3Bkb3duLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVEcm9wZG93bkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNTaWRlTWVudURyb3Bkb3duTGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51RHJvcGRvd25MaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudURyb3Bkb3duTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1kcm9wZG93bi1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51RHJvcGRvd25MaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51RHJvcGRvd25MaXN0SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51RHJvcGRvd25MaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVEcm9wZG93bkxpc3RJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnc2VsZWN0ZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU2lkZU1lbnVJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudUl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtb3ZlcmxheScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudU92ZXJsYXkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNTaWRlTWVudU92ZXJsYXlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudU92ZXJsYXkgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51T3ZlcmxheSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJywgJ2ltZ0FsdCcsICdpbWdTcmMnLCAnc3ViaGVhZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS11c2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW3sgbmFtZTogJ2hlYWRpbmcnLCByZXF1aXJlZDogdHJ1ZSB9LCAnaW1nQWx0JywgJ2ltZ1NyYycsICdzdWJoZWFkaW5nJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51VXNlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51VXNlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51VXNlciBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVVc2VyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsdCcsICdzcmMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtdXNlci1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0JywgJ3NyYyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudVVzZXJJbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51VXNlckltYWdlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVVc2VySW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51VXNlckltYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnc3ViaGVhZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS11c2VyLWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW3sgbmFtZTogJ2hlYWRpbmcnLCByZXF1aXJlZDogdHJ1ZSB9LCAnc3ViaGVhZGluZyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudVVzZXJMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51VXNlckxhYmVsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVVc2VyTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51VXNlckxhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRyb2xzJywgJ2Rpc2FibGVkJywgJ2lucHV0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkT25seScsICdzaG93VGlja051bWJlcnMnLCAnc2xpZGVySWQnLCAnc25hcCcsICdzdGVwJywgJ3Rkc0FyaWFMYWJlbCcsICd0ZHNSZWFkT25seUFyaWFMYWJlbCcsICd0aHVtYlNpemUnLCAndGlja3MnLCAndG9vbHRpcCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3Jlc2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2xpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250cm9scycsICdkaXNhYmxlZCcsICdpbnB1dCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncmVhZE9ubHknLCAnc2hvd1RpY2tOdW1iZXJzJywgJ3NsaWRlcklkJywgJ3NuYXAnLCAnc3RlcCcsICd0ZHNBcmlhTGFiZWwnLCAndGRzUmVhZE9ubHlBcmlhTGFiZWwnLCAndGh1bWJTaXplJywgJ3RpY2tzJywgJ3Rvb2x0aXAnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd0ZHNDaGFuZ2UnLCAndGRzSW5wdXQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2xpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU2xpZGVyRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0lucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NsaWRlciB7XG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciB3aGVuIGNoYW5nZWQuIEZpcmVzIGFmdGVyIG1vdXNlIHVwIGFuZCB0b3VjaCBlbmQgZXZlbnRzLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciB3aGlsZSBtb3ZpbmcgdGhlIHRodW1iLiBGaXJlcyBvbiBtb3VzZSBtb3ZlIGFuZCB0b3VjaCBtb3ZlIGV2ZW50cy5cbiAgICovXG4gIHRkc0lucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU3Bpbm5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NwaW5uZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NwaW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW5kZXgnLCAnc3RhdGUnLCAndGRzQXJpYUN1cnJlbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zdGVwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbmRleCcsICdzdGF0ZScsICd0ZHNBcmlhQ3VycmVudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTdGVwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU3RlcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1N0ZXAgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1N0ZXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUxhYmVscycsICdsYWJlbFBvc2l0aW9uJywgJ29yaWVudGF0aW9uJywgJ3NpemUnLCAnc3RlcHBlcklkJywgJ3Rkc0FyaWFMYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVMYWJlbHMnLCAnbGFiZWxQb3NpdGlvbicsICdvcmllbnRhdGlvbicsICdzaXplJywgJ3N0ZXBwZXJJZCcsICd0ZHNBcmlhTGFiZWwnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1N0ZXBwZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbXBhY3REZXNpZ24nLCAnZXhwYW5kYWJsZVJvd3MnLCAnaG9yaXpvbnRhbFNjcm9sbFdpZHRoJywgJ21vZGVWYXJpYW50JywgJ211bHRpc2VsZWN0JywgJ25vTWluV2lkdGgnLCAncmVzcG9uc2l2ZScsICd0YWJsZUlkJywgJ3ZlcnRpY2FsRGl2aWRlcnMnLCAnemVicmFNb2RlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0U2VsZWN0ZWRSb3dzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbXBhY3REZXNpZ24nLCAnZXhwYW5kYWJsZVJvd3MnLCAnaG9yaXpvbnRhbFNjcm9sbFdpZHRoJywgJ21vZGVWYXJpYW50JywgJ211bHRpc2VsZWN0JywgJ25vTWluV2lkdGgnLCAncmVzcG9uc2l2ZScsICd0YWJsZUlkJywgJ3ZlcnRpY2FsRGl2aWRlcnMnLCAnemVicmFNb2RlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVGFibGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGUge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlQm9keSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhYmxlQm9keUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlQm9keSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVCb2R5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Nob3dJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFibGUtYm9keS1pbnB1dC13cmFwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaG93SWNvbiddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZUJvZHlJbnB1dFdyYXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNUYWJsZUJvZHlJbnB1dFdyYXBwZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZUJvZHlJbnB1dFdyYXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlQm9keUlucHV0V3JhcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1ib2R5LXJvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ2Rpc2FibGVkJywgJ3NlbGVjdGVkJ10sXG4gIG91dHB1dHM6IFsndGRzU2VsZWN0JywgJ3Rkc0NsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlQm9keVJvdyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhYmxlQm9keVJvd0VsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBjaGVja2VkOiBib29sZWFuOyBzZWxlY3RlZFJvd3M6IG9iamVjdFtdIHwgdW5kZWZpbmVkOyB9Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBNb3VzZUV2ZW50OyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHJvd0luZGV4OiBudW1iZXI7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZUJvZHlSb3cgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlQm9keVJvdyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByb3cgaXMgc2VsZWN0ZWQvZGVzZWxlY3RlZC5cbiAgICovXG4gIHRkc1NlbGVjdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBjaGVja2VkOiBib29sZWFuOyBzZWxlY3RlZFJvd3M6IG9iamVjdFtdIHwgdW5kZWZpbmVkOyB9Pj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByb3cgaXMgY2xpY2tlZC5cbiAgICovXG4gIHRkc0NsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBldmVudDogTW91c2VFdmVudDsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyByb3dJbmRleDogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9Db2xsYXBzZScsICdjb2xTcGFuJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ292ZXJmbG93JywgJ3Jvd0lkJywgJ3NlbGVjdGVkJywgJ3Rkc0FyaWFMYWJlbEV4cGFuZEJ1dHRvbiddLFxuICBtZXRob2RzOiBbJ2V4cGFuZCcsICdjb2xsYXBzZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLWJvZHktcm93LWV4cGFuZGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9Db2xsYXBzZScsICdjb2xTcGFuJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ292ZXJmbG93JywgJ3Jvd0lkJywgJ3NlbGVjdGVkJywgJ3Rkc0FyaWFMYWJlbEV4cGFuZEJ1dHRvbiddLFxuICBvdXRwdXRzOiBbJ3Rkc0NoYW5nZScsICd0ZHNTZWxlY3QnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVCb2R5Um93RXhwYW5kYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhYmxlQm9keVJvd0V4cGFuZGFibGVFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHJvd0lkOiBzdHJpbmc7IGlzRXhwYW5kZWQ6IGJvb2xlYW47IHRhYmxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDsgfT4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBjaGVja2VkOiBib29sZWFuOyBzZWxlY3RlZFJvd3M6IG9iamVjdFtdIHwgdW5kZWZpbmVkOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVCb2R5Um93RXhwYW5kYWJsZSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVCb2R5Um93RXhwYW5kYWJsZSB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgdGFibGUgcm93IGlkZW50aWZpZXIgYW5kIGlzRXhwYW5kZWQgc3RhdHVzIHdoZW4gaXQgaXMgZXhwYW5kZWQvY29sbGFwc2VkLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyByb3dJZDogc3RyaW5nOyBpc0V4cGFuZGVkOiBib29sZWFuOyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IH0+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdyBpcyBzZWxlY3RlZC9kZXNlbGVjdGVkLlxuICAgKi9cbiAgdGRzU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IGNoZWNrZWQ6IGJvb2xlYW47IHNlbGVjdGVkUm93czogb2JqZWN0W10gfCB1bmRlZmluZWQ7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29scycsICdwYWdlcycsICdwYWdpbmF0aW9uJywgJ3BhZ2luYXRpb25WYWx1ZScsICdyb3dzUGVyUGFnZURyb3Bkb3duT3BlbkRpcmVjdGlvbicsICdyb3dzUGVyUGFnZVZhbHVlcycsICdyb3dzcGVycGFnZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29scycsICdwYWdlcycsICdwYWdpbmF0aW9uJywgJ3BhZ2luYXRpb25WYWx1ZScsICdyb3dzUGVyUGFnZURyb3Bkb3duT3BlbkRpcmVjdGlvbicsICdyb3dzUGVyUGFnZVZhbHVlcycsICdyb3dzcGVycGFnZSddLFxuICBvdXRwdXRzOiBbJ3Rkc1BhZ2luYXRpb24nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNUYWJsZUZvb3RlckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNQYWdpbmF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDsgcGFnaW5hdGlvblZhbHVlOiBudW1iZXI7IHJvd3NQZXJQYWdlPzogbnVtYmVyOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlRm9vdGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHRvIHNlbmQgY3VycmVudCBwYWdlIHZhbHVlIHRvIHRkcy10YWJsZS1ib2R5IGNvbXBvbmVudCwgY2FuIGFsc28gYmUgbGlzdGVuZWQgdG8gaW4gb3JkZXIgdG8gaW1wbGVtZW50IGN1c3RvbSBwYWdpbmF0aW9uIGxvZ2ljLlxuICAgKi9cbiAgdGRzUGFnaW5hdGlvbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBwYWdpbmF0aW9uVmFsdWU6IG51bWJlcjsgcm93c1BlclBhZ2U/OiBudW1iZXI7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsU2VsZWN0ZWQnLCAnZGlzYWJsZWQnLCAnaW5kZXRlcm1pbmF0ZScsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxsU2VsZWN0ZWQnLCAnZGlzYWJsZWQnLCAnaW5kZXRlcm1pbmF0ZScsICdzZWxlY3RlZCddLFxuICBvdXRwdXRzOiBbJ3Rkc1NlbGVjdEFsbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZUhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhYmxlSGVhZGVyRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc1NlbGVjdEFsbCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IGNoZWNrZWQ6IGJvb2xlYW47IHNlbGVjdGVkUm93czogb2JqZWN0W10gfCB1bmRlZmluZWQ7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZUhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVIZWFkZXIge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzdGF0dXMgb2YgdGhlIHNlbGVjdCBhbGwgY2hlY2tib3ggY2hhbmdlcy5cbiAgICovXG4gIHRkc1NlbGVjdEFsbDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBjaGVja2VkOiBib29sZWFuOyBzZWxlY3RlZFJvd3M6IG9iamVjdFtdIHwgdW5kZWZpbmVkOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbXBhY3REZXNpZ24nLCAnc2hvd0ljb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1oZWFkZXItaW5wdXQtd3JhcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29tcGFjdERlc2lnbicsICdzaG93SWNvbiddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZUhlYWRlcklucHV0V3JhcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhYmxlSGVhZGVySW5wdXRXcmFwcGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVIZWFkZXJJbnB1dFdyYXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlSGVhZGVySW5wdXRXcmFwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZpbHRlcicsICd0YWJsZVRpdGxlJywgJ3Rkc1NlYXJjaEFyaWFMYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLXRvb2xiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZpbHRlcicsICd0YWJsZVRpdGxlJywgJ3Rkc1NlYXJjaEFyaWFMYWJlbCddLFxuICBvdXRwdXRzOiBbJ3Rkc0ZpbHRlciddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZVRvb2xiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNUYWJsZVRvb2xiYXJFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDsgcXVlcnk6IHN0cmluZzsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlVG9vbGJhciBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVUb29sYmFyIHtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIHNlbmRpbmcgdXNlcnMnIGlucHV0IHRvIHRoZSBtYWluIHBhcmVudCB0ZHMtdGFibGUgdGhlIGNvbXBvbmVudCxcbmNhbiBhbHNvIGJlIGxpc3RlbmVkIHRvIGluIG9yZGVyIHRvIGltcGxlbWVudCBjdXN0b20gc29ydGluZyBsb2dpYy5cbiAgICovXG4gIHRkc0ZpbHRlcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBxdWVyeTogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnLCAndGV4dCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXplJywgeyBuYW1lOiAndGV4dCcsIHJlcXVpcmVkOiB0cnVlIH0sICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhZ0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhZyBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFnIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9jb21wbGV0ZScsICdhdXRvZm9jdXMnLCAnZGlzYWJsZWQnLCAnaGVscGVyJywgJ2hpZGVOdW1iZXJBcnJvd3MnLCAnaGlkZVJlYWRPbmx5SWNvbicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heCcsICdtYXhMZW5ndGgnLCAnbWluJywgJ21vZGVWYXJpYW50JywgJ25hbWUnLCAnbm9NaW5XaWR0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkT25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3N0YXRlJywgJ3N0ZXAnLCAndGRzQXJpYUxhYmVsJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydmb2N1c0VsZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10ZXh0LWZpZWxkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2Rpc2FibGVkJywgJ2hlbHBlcicsICdoaWRlTnVtYmVyQXJyb3dzJywgJ2hpZGVSZWFkT25seUljb24nLCAnbGFiZWwnLCAnbGFiZWxQb3NpdGlvbicsICdtYXgnLCAnbWF4TGVuZ3RoJywgJ21pbicsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAncGxhY2Vob2xkZXInLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdGF0ZScsICdzdGVwJywgJ3Rkc0FyaWFMYWJlbCcsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJywgJ3Rkc0lucHV0JywgJ3Rkc0ZvY3VzJywgJ3Rkc0JsdXInLCAndGRzRXJyb3InXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGV4dEZpZWxkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVGV4dEZpZWxkRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0lucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0ZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0JsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgb3JpZ2luYWxWYWx1ZTogc3RyaW5nOyBjbGFtcGVkVmFsdWU6IHN0cmluZzsgcmVhc29uOiAnbWluJyB8ICdtYXgnIH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUZXh0RmllbGQgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RleHRGaWVsZCB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnQgZm9yIHRoZSBUZXh0IEZpZWxkXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIElucHV0IGV2ZW50IGZvciB0aGUgVGV4dCBGaWVsZFxuICAgKi9cbiAgdGRzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIFRleHQgRmllbGRcbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIFRleHQgRmllbGRcbiAgICovXG4gIHRkc0JsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBFcnJvciBldmVudCBmb3IgdGhlIFRleHQgRmllbGQgLSBlbWl0dGVkIHdoZW4gdmFsdWUgaXMgY2xhbXBlZCB0byBtaW4vbWF4XG4gICAqL1xuICB0ZHNFcnJvcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgb3JpZ2luYWxWYWx1ZTogc3RyaW5nOyBjbGFtcGVkVmFsdWU6IHN0cmluZzsgcmVhc29uOiAnbWluJyB8ICdtYXgnIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NvbHMnLCAnZGlzYWJsZWQnLCAnaGVscGVyJywgJ2hpZGVSZWFkT25seUljb24nLCAnbGFiZWwnLCAnbGFiZWxQb3NpdGlvbicsICdtYXhMZW5ndGgnLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRPbmx5JywgJ3Jvd3MnLCAnc3RhdGUnLCAndGRzQXJpYUxhYmVsJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZm9jdXNFbGVtZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGV4dGFyZWEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjb2xzJywgJ2Rpc2FibGVkJywgJ2hlbHBlcicsICdoaWRlUmVhZE9ubHlJY29uJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4TGVuZ3RoJywgJ21vZGVWYXJpYW50JywgJ25hbWUnLCAnbm9NaW5XaWR0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkT25seScsICdyb3dzJywgJ3N0YXRlJywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3Rkc0NoYW5nZScsICd0ZHNCbHVyJywgJ3Rkc0lucHV0JywgJ3Rkc0ZvY3VzJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RleHRhcmVhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVGV4dGFyZWFFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PigpO1xuICBAT3V0cHV0KCkgdGRzQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SW5wdXRFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUZXh0YXJlYSB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnQgZm9yIHRoZSBUZXh0YXJlYVxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBCbHVyIGV2ZW50IGZvciB0aGUgVGV4dGFyZWFcbiAgICovXG4gIHRkc0JsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBldmVudCBmb3IgdGhlIFRleHRhcmVhXG4gICAqL1xuICB0ZHNJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElucHV0RXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50IGZvciB0aGUgVGV4dGFyZWFcbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zYWJsZScsICdoZWFkZXInLCAnaGlkZGVuJywgJ3N1YmhlYWRlcicsICd0ZHNBcmlhTGl2ZScsICd0ZHNDbG9zZUFyaWFMYWJlbCcsICd0b2FzdElkJywgJ3RvYXN0Um9sZScsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsnaGlkZVRvYXN0JywgJ3Nob3dUb2FzdCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRvYXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zYWJsZScsICdoZWFkZXInLCAnaGlkZGVuJywgJ3N1YmhlYWRlcicsICd0ZHNBcmlhTGl2ZScsICd0ZHNDbG9zZUFyaWFMYWJlbCcsICd0b2FzdElkJywgJ3RvYXN0Um9sZScsICd2YXJpYW50J10sXG4gIG91dHB1dHM6IFsndGRzQ2xvc2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVG9hc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNUb2FzdEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0b2FzdElkOiBzdHJpbmc7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUb2FzdCBleHRlbmRzIENvbXBvbmVudHMuVGRzVG9hc3Qge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIFRvYXN0IGlkZW50aWZpZXIgd2hlbiBjb21wb25lbnQgaXMgY2xvc2VkLlxuICAgKi9cbiAgdGRzQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRvYXN0SWQ6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2hlYWRsaW5lJywgJ25hbWUnLCAncmVxdWlyZWQnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndG9nZ2xlSWQnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnLCAnZm9jdXNFbGVtZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdG9nZ2xlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2hlYWRsaW5lJywgJ25hbWUnLCAncmVxdWlyZWQnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndG9nZ2xlSWQnXSxcbiAgb3V0cHV0czogWyd0ZHNUb2dnbGUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVG9nZ2xlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVG9nZ2xlRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc1RvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0b2dnbGVJZDogc3RyaW5nOyBjaGVja2VkOiBib29sZWFuOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVG9nZ2xlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUb2dnbGUge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIFRvZ2dsZSBpZGVudGlmaWVyIGFuZCBzdGF0dXMgd2hlbiBpdCBpcyB0b2dnbGVkLlxuICAgKi9cbiAgdGRzVG9nZ2xlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0b2dnbGVJZDogc3RyaW5nOyBjaGVja2VkOiBib29sZWFuOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTaG93JywgJ21vdXNlT3ZlclRvb2x0aXAnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAndGRzQXJpYURlc2NyaWJlZGJ5JywgJ3RleHQnLCAndHJpZ2dlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTaG93JywgJ21vdXNlT3ZlclRvb2x0aXAnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAndGRzQXJpYURlc2NyaWJlZGJ5JywgJ3RleHQnLCAndHJpZ2dlciddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVG9vbHRpcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1Rvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1Rvb2x0aXAge31cblxuXG4iXX0=
2327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFaEksT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCbEQsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOytHQUxVLFlBQVk7bUdBQVosWUFBWSwrSEFMYiwyQkFBMkI7O0FBSzFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDO0tBQzFDLENBQUM7R0FTVyxZQUFZLENBTXhCOzs0RkFOWSxZQUFZO2tCQVJ4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7b0JBQ3pDLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7QUEwQk0sSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFHM0IsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFB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RSxVQUFVLENBQUM7b0JBQ25HLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztvQkFDdEIsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCO29JQUdXLFNBQVM7c0JBQWxCLE1BQU07O0FBMkJGLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7SUFFckIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzsrR0FMVSxVQUFVO21HQUFWLFVBQVUseVdBTFgsMkJBQTJCOztBQUsxQixVQUFVO0lBWHRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUN6SyxDQUFDO0dBU1csVUFBVSxDQU10Qjs7NEZBTlksVUFBVTtrQkFSdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO29CQUN4SyxVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAc2NhbmlhL3RlZ2VsJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUxhc3RCb3JkZXInLCAnbW9kZVZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVMYXN0Qm9yZGVyJywgJ21vZGVWYXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0FjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0FjY29yZGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0FjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuVGRzQWNjb3JkaW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWFMZXZlbFZhbHVlJywgJ2Rpc2FibGVkJywgJ2V4cGFuZEljb25Qb3NpdGlvbicsICdleHBhbmRlZCcsICdoZWFkZXInLCAncGFkZGluZ1Jlc2V0J10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlQWNjb3JkaW9uSXRlbScsICdleHBhbmQnLCAnY29sbGFwc2UnLCAnaXNFeHBhbmRlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWFjY29yZGlvbi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGV2ZWxWYWx1ZScsICdkaXNhYmxlZCcsICdleHBhbmRJY29uUG9zaXRpb24nLCAnZXhwYW5kZWQnLCAnaGVhZGVyJywgJ3BhZGRpbmdSZXNldCddLFxuICBvdXRwdXRzOiBbJ3Rkc1RvZ2dsZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNBY2NvcmRpb25JdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQWNjb3JkaW9uSXRlbUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXhwYW5kZWQ6IGJvb2xlYW47IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNBY2NvcmRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNBY2NvcmRpb25JdGVtIHtcbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIEFjY29yZGlvbiBJdGVtIGlzIGNsaWNrZWQsIGJ1dCBiZWZvcmUgaXQgaXMgY2xvc2VkIG9yIG9wZW5lZC5cbiAgICovXG4gIHRkc1RvZ2dsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXhwYW5kZWQ6IGJvb2xlYW47IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZGVuJywgJ3NpemUnLCAndGRzQXJpYUxpdmUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1iYWRnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGlkZGVuJywgJ3NpemUnLCAndGRzQXJpYUxpdmUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNCYWRnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0JhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCYWRnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYW5uZXJJZCcsICdoZWFkZXInLCAnaGlkZGVuJywgJ2ljb24nLCAncm9sZVR5cGUnLCAnc3ViaGVhZGVyJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydoaWRlQmFubmVyJywgJ3Nob3dCYW5uZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1iYW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Jhbm5lcklkJywgJ2hlYWRlcicsICdoaWRkZW4nLCAnaWNvbicsICdyb2xlVHlwZScsICdzdWJoZWFkZXInLCAndmFyaWFudCddLFxuICBvdXRwdXRzOiBbJ3Rkc0Nsb3NlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Jhbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0Jhbm5lckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBiYW5uZXJJZDogc3RyaW5nOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQmFubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCYW5uZXIge1xuICAvKipcbiAgICogU2VuZHMgYSB1bmlxdWUgQmFubmVyIGlkZW50aWZpZXIgd2hlbiB0aGUgY2xvc2UgYnV0dG9uIGlzIHByZXNzZWQuXG4gICAqL1xuICB0ZHNDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgYmFubmVySWQ6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb21wb25lbnRUYWcnLCAnbW9kZVZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1ibG9jaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29tcG9uZW50VGFnJywgJ21vZGVWYXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Jsb2NrIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQmxvY2tFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNCbG9jayBleHRlbmRzIENvbXBvbmVudHMuVGRzQmxvY2sge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2VsbEtleScsICdjZWxsVmFsdWUnLCAnY29sU3BhbicsICdkaXNhYmxlUGFkZGluZycsICdyb3dTcGFuJywgJ3RleHRBbGlnbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWJvZHktY2VsbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2VsbEtleScsICdjZWxsVmFsdWUnLCAnY29sU3BhbicsICdkaXNhYmxlUGFkZGluZycsICdyb3dTcGFuJywgJ3RleHRBbGlnbiddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNCb2R5Q2VsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0JvZHlDZWxsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQm9keUNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0JvZHlDZWxsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1cnJlbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1icmVhZGNydW1iJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdXJyZW50J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0JyZWFkY3J1bWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNCcmVhZGNydW1iRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuVGRzQnJlYWRjcnVtYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1icmVhZGNydW1icycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndGRzQXJpYUxhYmVsJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0JyZWFkY3J1bWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQnJlYWRjcnVtYnNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNCcmVhZGNydW1icyBleHRlbmRzIENvbXBvbmVudHMuVGRzQnJlYWRjcnVtYnMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2Rpc2FibGVkJywgJ2Z1bGxibGVlZCcsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ3NpemUnLCAndGRzQXJpYUxhYmVsJywgJ3RleHQnLCAndHlwZScsICd2YWx1ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGlzYWJsZWQnLCAnZnVsbGJsZWVkJywgJ21vZGVWYXJpYW50JywgJ25hbWUnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndGV4dCcsICd0eXBlJywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9keURpdmlkZXInLCAnYm9keUltZycsICdib2R5SW1nQWx0JywgJ2NhcmRJZCcsICdjbGlja2FibGUnLCAnZXhwYW5kYWJsZScsICdleHBhbmRlZCcsICdoZWFkZXInLCAnaW1hZ2VQbGFjZW1lbnQnLCAnbW9kZVZhcmlhbnQnLCAnc3RyZXRjaCcsICdzdWJoZWFkZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydib2R5RGl2aWRlcicsICdib2R5SW1nJywgJ2JvZHlJbWdBbHQnLCAnY2FyZElkJywgJ2NsaWNrYWJsZScsICdleHBhbmRhYmxlJywgJ2V4cGFuZGVkJywgJ2hlYWRlcicsICdpbWFnZVBsYWNlbWVudCcsICdtb2RlVmFyaWFudCcsICdzdHJldGNoJywgJ3N1YmhlYWRlciddLFxuICBvdXRwdXRzOiBbJ3Rkc0NsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNDYXJkRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNhcmRJZDogc3RyaW5nOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuVGRzQ2FyZCB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgQ2FyZCBpZGVudGlmaWVyIHdoZW4gdGhlIENhcmQgaXMgY2xpY2tlZCwgaWYgY2xpY2thYmxlPXRydWVcbiAgICovXG4gIHRkc0NsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjYXJkSWQ6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2JveElkJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW5kZXRlcm1pbmF0ZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3Rkc0FyaWFEZXNjcmliZWRieScsICd0ZHNBcmlhTGFiZWwnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVDaGVja2JveCcsICdmb2N1c0VsZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tib3hJZCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnbmFtZScsICdyZXF1aXJlZCcsICd0ZHNBcmlhRGVzY3JpYmVkYnknLCAndGRzQXJpYUxhYmVsJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJywgJ3Rkc0ZvY3VzJywgJ3Rkc0JsdXInXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzQ2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNDaGVja2JveEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hlY2tib3hJZDogc3RyaW5nOyBjaGVja2VkOiBib29sZWFuOyBpbmRldGVybWluYXRlOiBib29sZWFuOyB2YWx1ZT86IHN0cmluZzsgfT4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlRkc0NoZWNrYm94IHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDaGVja2JveCBpZGVudGlmaWVyIGFuZCBjaGVja2VkIHN0YXR1cyB3aGVuIGl0IGlzIGNoZWNrZWQvdW5jaGVja2VkLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGVja2JveElkOiBzdHJpbmc7IGNoZWNrZWQ6IGJvb2xlYW47IGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47IHZhbHVlPzogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIENoZWNrYm94XG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnQgZm9yIHRoZSBDaGVja2JveFxuICAgKi9cbiAgdGRzQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdjaGlwSWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd0eXBlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtY2hpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdjaGlwSWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJywgJ3Rkc0NsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NoaXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNDaGlwRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGlwSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgY2hlY2tlZD86IGJvb2xlYW47IH0+PigpO1xuICBAT3V0cHV0KCkgdGRzQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hpcElkOiBzdHJpbmc7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNDaGlwIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNDaGlwIHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDaGlwIGlkZW50aWZpZXIgYW5kIHZhbHVlIHdoZW4gaXQgaXMgY2hhbmdlZCAoY2hlY2tlZC91bmNoZWNrZWQpLlxuVmFsaWQgb25seSBmb3IgdHlwZSBjaGVja2JveCBhbmQgcmFkaW8uXG5JZiBubyBJRCBpcyBzcGVjaWZpZWQsIGEgcmFuZG9tIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cblRvIHVzZSB0aGlzIGxpc3RlbmVyLCBkb24ndCB1c2UgdGhlIHJhbmRvbWl6ZWQgSUQsIHVzZSBhIHNwZWNpZmljIG9uZSBvZiB5b3VyIGNob29zaW5nLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGlwSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgY2hlY2tlZD86IGJvb2xlYW47IH0+PjtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDaGlwIGlkZW50aWZpZXIgd2hlbiBDaGlwIGlzIGNsaWNrZWQuXG5WYWxpZCBvbmx5IGZvciB0eXBlIGJ1dHRvbi5cbklmIG5vIElEIGlzIHNwZWNpZmllZCwgYSByYW5kb20gb25lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuVG8gdXNlIHRoaXMgbGlzdGVuZXIsIGRvbid0IHVzZSB0aGUgcmFuZG9taXplZCBJRCwgdXNlIGEgc3BlY2lmaWMgb25lIG9mIHlvdXIgY2hvb3NpbmcuXG4gICAqL1xuICB0ZHNDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hpcElkOiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1jb3JlLWhlYWRlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NvcmVIZWFkZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzQ29yZUhlYWRlckl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNDb3JlSGVhZGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzQ29yZUhlYWRlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2N1c3RvbVZhbGlkYXRvcicsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnaGVscGVyJywgJ2hlbHBlckVycm9yJywgJ2hlbHBlckVycm9ySW52YWxpZCcsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heCcsICdtaW4nLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3NpemUnLCAnc3RhdGUnLCAndGRzQXJpYUxhYmVsJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydyZXNldCcsICdzZXRWYWx1ZScsICdmb2N1c0VsZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1kYXRldGltZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2N1c3RvbVZhbGlkYXRvcicsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnaGVscGVyJywgJ2hlbHBlckVycm9yJywgJ2hlbHBlckVycm9ySW52YWxpZCcsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heCcsICdtaW4nLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3NpemUnLCAnc3RhdGUnLCAndGRzQXJpYUxhYmVsJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd0ZHNDaGFuZ2UnLCAndGRzQmx1cicsICd0ZHNGb2N1cycsICd0ZHNJbnB1dCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNEYXRldGltZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0RhdGV0aW1lRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0JsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzSW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElucHV0RXZlbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNEYXRldGltZSBleHRlbmRzIENvbXBvbmVudHMuVGRzRGF0ZXRpbWUge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50IGZvciB0aGUgRGF0ZXRpbWVcbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIERhdGV0aW1lXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnQgZm9yIHRoZSBEYXRldGltZVxuICAgKi9cbiAgdGRzRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBldmVudCBmb3IgdGhlIERhdGV0aW1lXG4gICAqL1xuICB0ZHNJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElucHV0RXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnb3JpZW50YXRpb24nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ29yaWVudGF0aW9uJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzRGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0RpdmlkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNEaXZpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNEaXZpZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZmlsdGVyJywgJ2hlbHBlcicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21vZGVWYXJpYW50JywgJ211bHRpc2VsZWN0JywgJ25hbWUnLCAnbm9SZXN1bHRUZXh0JywgJ25vcm1hbGl6ZVRleHQnLCAnb3BlbkRpcmVjdGlvbicsICdwbGFjZWhvbGRlcicsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldFZhbHVlJywgJ3Jlc2V0JywgJ3JlbW92ZVZhbHVlJywgJ2ZvY3VzRWxlbWVudCcsICdjbG9zZScsICd1cGRhdGVEaXNwbGF5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkZWZhdWx0VmFsdWUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZmlsdGVyJywgJ2hlbHBlcicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21vZGVWYXJpYW50JywgJ211bHRpc2VsZWN0JywgJ25hbWUnLCAnbm9SZXN1bHRUZXh0JywgJ25vcm1hbGl6ZVRleHQnLCAnb3BlbkRpcmVjdGlvbicsICdwbGFjZWhvbGRlcicsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3Rkc0NoYW5nZScsICd0ZHNGb2N1cycsICd0ZHNCbHVyJywgJ3Rkc0lucHV0JywgJ3Rkc0NsZWFyJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Ryb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzRHJvcGRvd25FbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgdmFsdWU6IHN0cmluZyB8IG51bGw7IH0+PigpO1xuICBAT3V0cHV0KCkgdGRzRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SW5wdXRFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjbGVhcmVkVmFsdWU6IHN0cmluZyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0Ryb3Bkb3duIHtcbiAgLyoqXG4gICAqIENoYW5nZSBldmVudCBmb3IgdGhlIERyb3Bkb3duLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHZhbHVlOiBzdHJpbmcgfCBudWxsOyB9Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIERyb3Bkb3duLlxuICAgKi9cbiAgdGRzRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBCbHVyIGV2ZW50IGZvciB0aGUgRHJvcGRvd24uXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgZXZlbnQgZm9yIHRoZSBEcm9wZG93bi5cbiAgICovXG4gIHRkc0lucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SW5wdXRFdmVudD4+O1xuICAvKipcbiAgICogQ2xlYXIgZXZlbnQgZm9yIHRoZSBEcm9wZG93bi5cbiAgICovXG4gIHRkc0NsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjbGVhcmVkVmFsdWU6IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldFNlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZHJvcGRvd24tb3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICd0ZHNBcmlhTGFiZWwnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd0ZHNTZWxlY3QnLCAndGRzRm9jdXMnLCAndGRzQmx1ciddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNEcm9wZG93bk9wdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0Ryb3Bkb3duT3B0aW9uRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWxlY3RlZDogYm9vbGVhbjsgdmFsdWU6IHN0cmluZzsgfT4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRHJvcGRvd25PcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0Ryb3Bkb3duT3B0aW9uIHtcbiAgLyoqXG4gICAqIENsaWNrIGV2ZW50IGZvciB0aGUgRHJvcGRvd24gb3B0aW9uLlxuICAgKi9cbiAgdGRzU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWxlY3RlZDogYm9vbGVhbjsgdmFsdWU6IHN0cmluZzsgfT4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnQgZm9yIHRoZSBEcm9wZG93biBvcHRpb24uXG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnQgZm9yIHRoZSBEcm9wZG93biBvcHRpb24uXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWZvbGRlci10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0ZvbGRlclRhYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0ZvbGRlclRhYkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0ZvbGRlclRhYiBleHRlbmRzIENvbXBvbmVudHMuVGRzRm9sZGVyVGFiIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTZWxlY3RlZEluZGV4JywgJ21vZGVWYXJpYW50JywgJ3NlbGVjdGVkSW5kZXgnLCAndGRzU2Nyb2xsTGVmdEFyaWFMYWJlbCcsICd0ZHNTY3JvbGxSaWdodEFyaWFMYWJlbCddLFxuICBtZXRob2RzOiBbJ3NlbGVjdFRhYicsICdyZWluaXRpYWxpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb2xkZXItdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0ZvbGRlclRhYnMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNGb2xkZXJUYWJzRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWxlY3RlZFRhYkluZGV4OiBudW1iZXI7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNGb2xkZXJUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb2xkZXJUYWJzIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgVGFiIGlzIGNoYW5nZWQuXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydtb2RlVmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbW9kZVZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzRm9vdGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb290ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndGRzTGlzdEFyaWFMYWJlbCcsICd0aXRsZVRleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb290ZXItZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3Rkc0xpc3RBcmlhTGFiZWwnLCAndGl0bGVUZXh0J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Zvb3Rlckdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzRm9vdGVyR3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNGb290ZXJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuVGRzRm9vdGVyR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb290ZXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNGb290ZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzRm9vdGVySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0Zvb3Rlckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0Zvb3Rlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItYnJhbmQtc3ltYm9sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckJyYW5kU3ltYm9sIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyQnJhbmRTeW1ib2xFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJCcmFuZFN5bWJvbCBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyQnJhbmRTeW1ib2wge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2VsbEtleScsICdjZWxsVmFsdWUnLCAnY29sU3BhbicsICdjdXN0b21XaWR0aCcsICdkaXNhYmxlUGFkZGluZycsICdyb3dTcGFuJywgJ3NvcnRhYmxlJywgJ3Rkc0FyaWFMYWJlbFNvcnRCdXR0b24nLCAndGV4dEFsaWduJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NlbGxLZXknLCAnY2VsbFZhbHVlJywgJ2NvbFNwYW4nLCAnY3VzdG9tV2lkdGgnLCAnZGlzYWJsZVBhZGRpbmcnLCAncm93U3BhbicsICdzb3J0YWJsZScsICd0ZHNBcmlhTGFiZWxTb3J0QnV0dG9uJywgJ3RleHRBbGlnbiddLFxuICBvdXRwdXRzOiBbJ3Rkc1NvcnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyQ2VsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlckNlbGxFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzU29ydCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IGNvbHVtbktleTogc3RyaW5nIHwgdW5kZWZpbmVkOyBzb3J0aW5nRGlyZWN0aW9uOiAnYXNjJyB8ICdkZXNjJzsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckNlbGwge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIFRhYmxlIGlkZW50aWZpZXIsIGNvbHVtbiBrZXkgYW5kIHNvcnRpbmcgZGlyZWN0aW9uIHRvIHRoZSB0ZHMtdGFibGUtYm9keSBjb21wb25lbnQsXG5jYW4gYWxzbyBiZSBsaXN0ZW5lZCB0byBpbXBsZW1lbnQgY3VzdG9tLXNvcnRpbmcgbG9naWMuXG4gICAqL1xuICB0ZHNTb3J0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IGNvbHVtbktleTogc3RyaW5nIHwgdW5kZWZpbmVkOyBzb3J0aW5nRGlyZWN0aW9uOiAnYXNjJyB8ICdkZXNjJzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCcsICdub0Ryb3Bkb3duSWNvbicsICdzZWxlY3RlZCcsICd0ZHNBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ25vRHJvcGRvd25JY29uJywgJ3NlbGVjdGVkJywgJ3Rkc0FyaWFMYWJlbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlckRyb3Bkb3duRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItZHJvcGRvd24tbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93bkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJEcm9wZG93bkxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJEcm9wZG93bkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzZWxlY3RlZCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWRyb3Bkb3duLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2VsZWN0ZWQnLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93bkxpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyRHJvcGRvd25MaXN0SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckRyb3Bkb3duTGlzdEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duTGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVhZGVyJywgJ2ltZ0FsdCcsICdpbWdVcmwnLCAnc3ViaGVhZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWRyb3Bkb3duLWxpc3QtdXNlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGVyJywgJ2ltZ0FsdCcsICdpbWdVcmwnLCAnc3ViaGVhZGVyJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckRyb3Bkb3duTGlzdFVzZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJEcm9wZG93bkxpc3RVc2VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyRHJvcGRvd25MaXN0VXNlciBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyRHJvcGRvd25MaXN0VXNlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItaGFtYnVyZ2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVySGFtYnVyZ2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVySGFtYnVyZ2VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVySGFtYnVyZ2VyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJIYW1idXJnZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdzZWxlY3RlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndGRzQXJpYUxhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJMYXVuY2hlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAndGRzQXJpYUxhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ3Rkc0FyaWFMYWJlbCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlckxhdW5jaGVyQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyQnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyTGF1bmNoZXJHcmlkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckdyaWQge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItZ3JpZC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckxhdW5jaGVyR3JpZEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJMYXVuY2hlckdyaWRJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJHcmlkSXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXJHcmlkSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlci1ncmlkLXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckxhdW5jaGVyR3JpZFRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSGVhZGVyTGF1bmNoZXJHcmlkVGl0bGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckdyaWRUaXRsZSBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXJHcmlkVGl0bGUge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJMYXVuY2hlckxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlci1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJMaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlckxhdW5jaGVyTGlzdEl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckxpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckxpc3RJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWxpc3QtdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJMaXN0VGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNIZWFkZXJMYXVuY2hlckxpc3RUaXRsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyTGlzdFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckxpc3RUaXRsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0hlYWRlclRpdGxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlclRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ25hbWUnLCAnc2l6ZScsICdzdmdEZXNjcmlwdGlvbicsICdzdmdUaXRsZScsICd0ZHNBcmlhSGlkZGVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbmFtZScsICdzaXplJywgJ3N2Z0Rlc2NyaXB0aW9uJywgJ3N2Z1RpdGxlJywgJ3Rkc0FyaWFIaWRkZW4nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0ljb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaW5saW5lLXRhYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSW5saW5lVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzSW5saW5lVGFiRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSW5saW5lVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNJbmxpbmVUYWIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbGVmdFBhZGRpbmcnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0VGFiJywgJ3JlaW5pdGlhbGl6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWlubGluZS10YWJzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWZhdWx0U2VsZWN0ZWRJbmRleCcsICdsZWZ0UGFkZGluZycsICdtb2RlVmFyaWFudCcsICdzZWxlY3RlZEluZGV4JywgJ3Rkc1Njcm9sbExlZnRBcmlhTGFiZWwnLCAndGRzU2Nyb2xsUmlnaHRBcmlhTGFiZWwnXSxcbiAgb3V0cHV0czogWyd0ZHNDaGFuZ2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzSW5saW5lVGFicyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0lubGluZVRhYnNFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0lubGluZVRhYnMgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0lubGluZVRhYnMge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBUYWIgaXMgY2hhbmdlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VsZWN0ZWRUYWJJbmRleDogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3N0YW5kYWxvbmUnLCAndW5kZXJsaW5lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnc3RhbmRhbG9uZScsICd1bmRlcmxpbmUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc0xpbmtFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNMaW5rIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNMaW5rIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRlcicsICdtaW5pbWFsJywgJ21vZGVWYXJpYW50JywgJ25vSWNvbicsICd0ZHNBbGVydERpYWxvZycsICd0ZHNBcmlhTGFiZWwnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW1lc3NhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRlcicsICdtaW5pbWFsJywgJ21vZGVWYXJpYW50JywgJ25vSWNvbicsICd0ZHNBbGVydERpYWxvZycsICd0ZHNBcmlhTGFiZWwnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzTWVzc2FnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc01lc3NhZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRkc01lc3NhZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aW9uc1Bvc2l0aW9uJywgJ2Nsb3NhYmxlJywgJ2hlYWRlcicsICdwcmV2ZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAnc2l6ZScsICd0ZHNBbGVydERpYWxvZyddLFxuICBtZXRob2RzOiBbJ3Nob3dNb2RhbCcsICdjbG9zZU1vZGFsJywgJ2lzT3BlbicsICdpbml0aWFsaXplTW9kYWwnLCAnY2xlYW51cE1vZGFsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGlvbnNQb3NpdGlvbicsICdjbG9zYWJsZScsICdoZWFkZXInLCAncHJldmVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3NpemUnLCAndGRzQWxlcnREaWFsb2cnXSxcbiAgb3V0cHV0czogWyd0ZHNDbG9zZScsICd0ZHNPcGVuJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc01vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzTW9kYWxFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG9iamVjdD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNPcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzTW9kYWwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc01vZGFsIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIE1vZGFsIGlzIGNsb3NlZC5cbiAgICovXG4gIHRkc0Nsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8b2JqZWN0Pj47XG4gIC8qKlxuICAgKiBFbWl0cyBqdXN0IGJlZm9yZSBNb2RhbCBpcyBvcGVuZWQuXG4gICAqL1xuICB0ZHNPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW5hdmlnYXRpb24tdGFiJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNOYXZpZ2F0aW9uVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzTmF2aWdhdGlvblRhYkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc05hdmlnYXRpb25UYWIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc05hdmlnYXRpb25UYWIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbGVmdFBhZGRpbmcnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0VGFiJywgJ3JlaW5pdGlhbGl6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW5hdmlnYXRpb24tdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbGVmdFBhZGRpbmcnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc05hdmlnYXRpb25UYWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzTmF2aWdhdGlvblRhYnNFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc05hdmlnYXRpb25UYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNOYXZpZ2F0aW9uVGFicyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIFRhYiBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWxlY3RlZFRhYkluZGV4OiBudW1iZXI7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRTaG93JywgJ21vZGVWYXJpYW50JywgJ21vZGlmaWVycycsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdycsICd0ZHNBbGVydERpYWxvZyddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1jYW52YXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkZWZhdWx0U2hvdycsICdtb2RlVmFyaWFudCcsICdtb2RpZmllcnMnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAndGRzQWxlcnREaWFsb2cnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3ZlckNhbnZhcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1BvcG92ZXJDYW52YXNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNQb3BvdmVyQ2FudmFzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNQb3BvdmVyQ2FudmFzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdhdXRvSGlkZScsICdkZWZhdWx0U2hvdycsICdtb2RpZmllcnMnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1jb3JlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnYXV0b0hpZGUnLCAnZGVmYXVsdFNob3cnLCAnbW9kaWZpZXJzJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3RyaWdnZXInXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3ZlckNvcmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNQb3BvdmVyQ29yZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1BvcG92ZXJDb3JlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNQb3BvdmVyQ29yZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGVmYXVsdFNob3cnLCAnZmx1aWRXaWR0aCcsICdtb2RlVmFyaWFudCcsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdyddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1tZW51JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGVmYXVsdFNob3cnLCAnZmx1aWRXaWR0aCcsICdtb2RlVmFyaWFudCcsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNQb3BvdmVyTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1BvcG92ZXJNZW51RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzUG9wb3Zlck1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1BvcG92ZXJNZW51IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1BvcG92ZXJNZW51SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1BvcG92ZXJNZW51SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1BvcG92ZXJNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzUG9wb3Zlck1lbnVJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdyYWRpb0lkJywgJ3JlcXVpcmVkJywgJ3Rkc0FyaWFMYWJlbCcsICd0ZHNUYWJJbmRleCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2ZvY3VzRWxlbWVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXJhZGlvLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICduYW1lJywgJ3JhZGlvSWQnLCAncmVxdWlyZWQnLCAndGRzQXJpYUxhYmVsJywgJ3Rkc1RhYkluZGV4JywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsndGRzQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1JhZGlvQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzUmFkaW9CdXR0b25FbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHJhZGlvSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1JhZGlvQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNSYWRpb0J1dHRvbiB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgUmFkaW8gQnV0dG9uIGlkZW50aWZpZXIgYW5kIHN0YXR1cyB3aGVuIGl0IGlzIGNoZWNrZWQuXG5JZiBubyBJRCBpcyBzcGVjaWZpZWQsIGEgcmFuZG9tIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cblRvIHVzZSB0aGlzIGxpc3RlbmVyLCBkb24ndCB1c2UgdGhlIHJhbmRvbWl6ZWQgSUQsIHVzZSBhIHNwZWNpZmljIG9uZSBvZiB5b3VyIGNob29zaW5nLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyByYWRpb0lkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ29wZW4nLCAncGVyc2lzdGVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ29wZW4nLCAncGVyc2lzdGVudCddLFxuICBvdXRwdXRzOiBbJ3Rkc0NvbGxhcHNlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU2lkZU1lbnVFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ29sbGFwc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZHNTaWRlTWVudUNvbGxhcHNlRXZlbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQ29sbGFwc2VFdmVudCBhcyBJVGRzU2lkZU1lbnVDb2xsYXBzZUV2ZW50IH0gZnJvbSAnQHNjYW5pYS90ZWdlbCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudSBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnUge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIFNpZGUgTWVudSBpcyBjb2xsYXBzZWQuXG4gICAqL1xuICB0ZHNDb2xsYXBzZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZHNTaWRlTWVudUNvbGxhcHNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtY2xvc2UtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51Q2xvc2VCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNTaWRlTWVudUNsb3NlQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVDbG9zZUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVDbG9zZUJ1dHRvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1jb2xsYXBzZS1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgb3V0cHV0czogWyd0ZHNDb2xsYXBzZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudUNvbGxhcHNlQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU2lkZU1lbnVDb2xsYXBzZUJ1dHRvbkVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNDb2xsYXBzZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b25Db2xsYXBzZUV2ZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IENvbGxhcHNlRXZlbnQgYXMgSVRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b25Db2xsYXBzZUV2ZW50IH0gZnJvbSAnQHNjYW5pYS90ZWdlbCc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudUNvbGxhcHNlQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudUNvbGxhcHNlQnV0dG9uIHtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgYnJvYWRjYXN0IHdoZW4gdGhlIGNvbGxhcHNlIGJ1dHRvbiBpcyBjbGlja2VkLlxuUHJldmVudCBpdCBmcm9tIGRpc2FibGluZyBhdXRvbWF0aWMgY29sbGFwc2luZywgYW5kIHNldCB0aGUgY29sbGFwc2VkIHByb3Agb24gdGhlIFNpZGUgTWVudSB5b3Vyc2VsZi5cbiAgICovXG4gIHRkc0NvbGxhcHNlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b25Db2xsYXBzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbkxhYmVsJywgJ2RlZmF1bHRPcGVuJywgJ29wZW4nLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkxhYmVsJywgJ2RlZmF1bHRPcGVuJywgJ29wZW4nLCAnc2VsZWN0ZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51RHJvcGRvd25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudURyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudURyb3Bkb3duIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2lkZS1tZW51LWRyb3Bkb3duLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVEcm9wZG93bkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNTaWRlTWVudURyb3Bkb3duTGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51RHJvcGRvd25MaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudURyb3Bkb3duTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1kcm9wZG93bi1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51RHJvcGRvd25MaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51RHJvcGRvd25MaXN0SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51RHJvcGRvd25MaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVEcm9wZG93bkxpc3RJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnc2VsZWN0ZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU2lkZU1lbnVJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudUl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtb3ZlcmxheScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudU92ZXJsYXkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNTaWRlTWVudU92ZXJsYXlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudU92ZXJsYXkgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51T3ZlcmxheSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJywgJ2ltZ0FsdCcsICdpbWdTcmMnLCAnc3ViaGVhZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS11c2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW3sgbmFtZTogJ2hlYWRpbmcnLCByZXF1aXJlZDogdHJ1ZSB9LCAnaW1nQWx0JywgJ2ltZ1NyYycsICdzdWJoZWFkaW5nJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51VXNlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51VXNlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51VXNlciBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVVc2VyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsdCcsICdzcmMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtdXNlci1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0JywgJ3NyYyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudVVzZXJJbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51VXNlckltYWdlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVVc2VySW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51VXNlckltYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnc3ViaGVhZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS11c2VyLWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW3sgbmFtZTogJ2hlYWRpbmcnLCByZXF1aXJlZDogdHJ1ZSB9LCAnc3ViaGVhZGluZyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudVVzZXJMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1NpZGVNZW51VXNlckxhYmVsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVVc2VyTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51VXNlckxhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRyb2xzJywgJ2Rpc2FibGVkJywgJ2lucHV0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkT25seScsICdzaG93VGlja051bWJlcnMnLCAnc2xpZGVySWQnLCAnc25hcCcsICdzdGVwJywgJ3Rkc0FyaWFMYWJlbCcsICd0ZHNSZWFkT25seUFyaWFMYWJlbCcsICd0aHVtYlNpemUnLCAndGlja3MnLCAndG9vbHRpcCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3Jlc2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2xpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250cm9scycsICdkaXNhYmxlZCcsICdpbnB1dCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncmVhZE9ubHknLCAnc2hvd1RpY2tOdW1iZXJzJywgJ3NsaWRlcklkJywgJ3NuYXAnLCAnc3RlcCcsICd0ZHNBcmlhTGFiZWwnLCAndGRzUmVhZE9ubHlBcmlhTGFiZWwnLCAndGh1bWJTaXplJywgJ3RpY2tzJywgJ3Rvb2x0aXAnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd0ZHNDaGFuZ2UnLCAndGRzSW5wdXQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2xpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU2xpZGVyRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0lucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NsaWRlciB7XG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciB3aGVuIGNoYW5nZWQuIEZpcmVzIGFmdGVyIG1vdXNlIHVwIGFuZCB0b3VjaCBlbmQgZXZlbnRzLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciB3aGlsZSBtb3ZpbmcgdGhlIHRodW1iLiBGaXJlcyBvbiBtb3VzZSBtb3ZlIGFuZCB0b3VjaCBtb3ZlIGV2ZW50cy5cbiAgICovXG4gIHRkc0lucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU3Bpbm5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NwaW5uZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NwaW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW5kZXgnLCAnc3RhdGUnLCAndGRzQXJpYUN1cnJlbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zdGVwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbmRleCcsICdzdGF0ZScsICd0ZHNBcmlhQ3VycmVudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNTdGVwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzU3RlcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1N0ZXAgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1N0ZXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUxhYmVscycsICdsYWJlbFBvc2l0aW9uJywgJ29yaWVudGF0aW9uJywgJ3NpemUnLCAnc3RlcHBlcklkJywgJ3Rkc0FyaWFMYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVMYWJlbHMnLCAnbGFiZWxQb3NpdGlvbicsICdvcmllbnRhdGlvbicsICdzaXplJywgJ3N0ZXBwZXJJZCcsICd0ZHNBcmlhTGFiZWwnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzU3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1N0ZXBwZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbXBhY3REZXNpZ24nLCAnZXhwYW5kYWJsZVJvd3MnLCAnaG9yaXpvbnRhbFNjcm9sbFdpZHRoJywgJ21vZGVWYXJpYW50JywgJ211bHRpc2VsZWN0JywgJ25vTWluV2lkdGgnLCAncmVzcG9uc2l2ZScsICd0YWJsZUlkJywgJ3ZlcnRpY2FsRGl2aWRlcnMnLCAnemVicmFNb2RlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0U2VsZWN0ZWRSb3dzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbXBhY3REZXNpZ24nLCAnZXhwYW5kYWJsZVJvd3MnLCAnaG9yaXpvbnRhbFNjcm9sbFdpZHRoJywgJ21vZGVWYXJpYW50JywgJ211bHRpc2VsZWN0JywgJ25vTWluV2lkdGgnLCAncmVzcG9uc2l2ZScsICd0YWJsZUlkJywgJ3ZlcnRpY2FsRGl2aWRlcnMnLCAnemVicmFNb2RlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVGFibGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGUge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlQm9keSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhYmxlQm9keUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlQm9keSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVCb2R5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Nob3dJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFibGUtYm9keS1pbnB1dC13cmFwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaG93SWNvbiddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZUJvZHlJbnB1dFdyYXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNUYWJsZUJvZHlJbnB1dFdyYXBwZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZUJvZHlJbnB1dFdyYXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlQm9keUlucHV0V3JhcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1ib2R5LXJvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ2Rpc2FibGVkJywgJ3NlbGVjdGVkJ10sXG4gIG91dHB1dHM6IFsndGRzU2VsZWN0JywgJ3Rkc0NsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlQm9keVJvdyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhYmxlQm9keVJvd0VsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBjaGVja2VkOiBib29sZWFuOyBzZWxlY3RlZFJvd3M6IG9iamVjdFtdIHwgdW5kZWZpbmVkOyB9Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBNb3VzZUV2ZW50OyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHJvd0luZGV4OiBudW1iZXI7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZUJvZHlSb3cgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlQm9keVJvdyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByb3cgaXMgc2VsZWN0ZWQvZGVzZWxlY3RlZC5cbiAgICovXG4gIHRkc1NlbGVjdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBjaGVja2VkOiBib29sZWFuOyBzZWxlY3RlZFJvd3M6IG9iamVjdFtdIHwgdW5kZWZpbmVkOyB9Pj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByb3cgaXMgY2xpY2tlZC5cbiAgICovXG4gIHRkc0NsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBldmVudDogTW91c2VFdmVudDsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyByb3dJbmRleDogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9Db2xsYXBzZScsICdjb2xTcGFuJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ292ZXJmbG93JywgJ3Jvd0lkJywgJ3NlbGVjdGVkJywgJ3Rkc0FyaWFMYWJlbEV4cGFuZEJ1dHRvbiddLFxuICBtZXRob2RzOiBbJ2V4cGFuZCcsICdjb2xsYXBzZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLWJvZHktcm93LWV4cGFuZGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9Db2xsYXBzZScsICdjb2xTcGFuJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ292ZXJmbG93JywgJ3Jvd0lkJywgJ3NlbGVjdGVkJywgJ3Rkc0FyaWFMYWJlbEV4cGFuZEJ1dHRvbiddLFxuICBvdXRwdXRzOiBbJ3Rkc0NoYW5nZScsICd0ZHNTZWxlY3QnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVCb2R5Um93RXhwYW5kYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RhYmxlQm9keVJvd0V4cGFuZGFibGVFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHJvd0lkOiBzdHJpbmc7IGlzRXhwYW5kZWQ6IGJvb2xlYW47IHRhYmxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDsgfT4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBjaGVja2VkOiBib29sZWFuOyBzZWxlY3RlZFJvd3M6IG9iamVjdFtdIHwgdW5kZWZpbmVkOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVCb2R5Um93RXhwYW5kYWJsZSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVCb2R5Um93RXhwYW5kYWJsZSB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgdGFibGUgcm93IGlkZW50aWZpZXIgYW5kIGlzRXhwYW5kZWQgc3RhdHVzIHdoZW4gaXQgaXMgZXhwYW5kZWQvY29sbGFwc2VkLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyByb3dJZDogc3RyaW5nOyBpc0V4cGFuZGVkOiBib29sZWFuOyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IH0+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdyBpcyBzZWxlY3RlZC9kZXNlbGVjdGVkLlxuICAgKi9cbiAgdGRzU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IGNoZWNrZWQ6IGJvb2xlYW47IHNlbGVjdGVkUm93czogb2JqZWN0W10gfCB1bmRlZmluZWQ7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29scycsICdwYWdlcycsICdwYWdpbmF0aW9uJywgJ3BhZ2luYXRpb25WYWx1ZScsICdyb3dzUGVyUGFnZURyb3Bkb3duT3BlbkRpcmVjdGlvbicsICdyb3dzUGVyUGFnZVZhbHVlJywgJ3Jvd3NQZXJQYWdlVmFsdWVzJywgJ3Jvd3NwZXJwYWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFibGUtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xzJywgJ3BhZ2VzJywgJ3BhZ2luYXRpb24nLCAncGFnaW5hdGlvblZhbHVlJywgJ3Jvd3NQZXJQYWdlRHJvcGRvd25PcGVuRGlyZWN0aW9uJywgJ3Jvd3NQZXJQYWdlVmFsdWUnLCAncm93c1BlclBhZ2VWYWx1ZXMnLCAncm93c3BlcnBhZ2UnXSxcbiAgb3V0cHV0czogWyd0ZHNQYWdpbmF0aW9uJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVGFibGVGb290ZXJFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzUGFnaW5hdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHBhZ2luYXRpb25WYWx1ZTogbnVtYmVyOyByb3dzUGVyUGFnZT86IG51bWJlcjsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZUZvb3RlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0byBzZW5kIGN1cnJlbnQgcGFnZSB2YWx1ZSB0byB0ZHMtdGFibGUtYm9keSBjb21wb25lbnQsIGNhbiBhbHNvIGJlIGxpc3RlbmVkIHRvIGluIG9yZGVyIHRvIGltcGxlbWVudCBjdXN0b20gcGFnaW5hdGlvbiBsb2dpYy5cbiAgICovXG4gIHRkc1BhZ2luYXRpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDsgcGFnaW5hdGlvblZhbHVlOiBudW1iZXI7IHJvd3NQZXJQYWdlPzogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbFNlbGVjdGVkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbFNlbGVjdGVkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnc2VsZWN0ZWQnXSxcbiAgb3V0cHV0czogWyd0ZHNTZWxlY3RBbGwnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNUYWJsZUhlYWRlckVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNTZWxlY3RBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkOyBjaGVja2VkOiBib29sZWFuOyBzZWxlY3RlZFJvd3M6IG9iamVjdFtdIHwgdW5kZWZpbmVkOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlSGVhZGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc3RhdHVzIG9mIHRoZSBzZWxlY3QgYWxsIGNoZWNrYm94IGNoYW5nZXMuXG4gICAqL1xuICB0ZHNTZWxlY3RBbGw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDsgY2hlY2tlZDogYm9vbGVhbjsgc2VsZWN0ZWRSb3dzOiBvYmplY3RbXSB8IHVuZGVmaW5lZDsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb21wYWN0RGVzaWduJywgJ3Nob3dJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFibGUtaGVhZGVyLWlucHV0LXdyYXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbXBhY3REZXNpZ24nLCAnc2hvd0ljb24nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVIZWFkZXJJbnB1dFdyYXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNUYWJsZUhlYWRlcklucHV0V3JhcHBlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlSGVhZGVySW5wdXRXcmFwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZUhlYWRlcklucHV0V3JhcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmaWx0ZXInLCAndGFibGVUaXRsZScsICd0ZHNTZWFyY2hBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS10b29sYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmaWx0ZXInLCAndGFibGVUaXRsZScsICd0ZHNTZWFyY2hBcmlhTGFiZWwnXSxcbiAgb3V0cHV0czogWyd0ZHNGaWx0ZXInXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVUb29sYmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVGFibGVUb29sYmFyRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0ZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHF1ZXJ5OiBzdHJpbmc7IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZVRvb2xiYXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlVG9vbGJhciB7XG4gIC8qKlxuICAgKiBVc2VkIGZvciBzZW5kaW5nIHVzZXJzJyBpbnB1dCB0byB0aGUgbWFpbiBwYXJlbnQgdGRzLXRhYmxlIHRoZSBjb21wb25lbnQsXG5jYW4gYWxzbyBiZSBsaXN0ZW5lZCB0byBpbiBvcmRlciB0byBpbXBsZW1lbnQgY3VzdG9tIHNvcnRpbmcgbG9naWMuXG4gICAqL1xuICB0ZHNGaWx0ZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDsgcXVlcnk6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJywgJ3RleHQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZScsIHsgbmFtZTogJ3RleHQnLCByZXF1aXJlZDogdHJ1ZSB9LCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxUZHNUYWdFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWcgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvY29tcGxldGUnLCAnYXV0b2ZvY3VzJywgJ2Rpc2FibGVkJywgJ2hlbHBlcicsICdoaWRlTnVtYmVyQXJyb3dzJywgJ2hpZGVSZWFkT25seUljb24nLCAnbGFiZWwnLCAnbGFiZWxQb3NpdGlvbicsICdtYXgnLCAnbWF4TGVuZ3RoJywgJ21pbicsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAncGxhY2Vob2xkZXInLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdGF0ZScsICdzdGVwJywgJ3Rkc0FyaWFMYWJlbCcsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZm9jdXNFbGVtZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGV4dC1maWVsZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2NvbXBsZXRlJywgJ2F1dG9mb2N1cycsICdkaXNhYmxlZCcsICdoZWxwZXInLCAnaGlkZU51bWJlckFycm93cycsICdoaWRlUmVhZE9ubHlJY29uJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4JywgJ21heExlbmd0aCcsICdtaW4nLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRPbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAnc3RhdGUnLCAnc3RlcCcsICd0ZHNBcmlhTGFiZWwnLCAndHlwZScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ3Rkc0NoYW5nZScsICd0ZHNJbnB1dCcsICd0ZHNGb2N1cycsICd0ZHNCbHVyJywgJ3Rkc0Vycm9yJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RleHRGaWVsZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RleHRGaWVsZEVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SW5wdXRFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+KCk7XG4gIEBPdXRwdXQoKSB0ZHNCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0Vycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IG9yaWdpbmFsVmFsdWU6IHN0cmluZzsgY2xhbXBlZFZhbHVlOiBzdHJpbmc7IHJlYXNvbjogJ21pbicgfCAnbWF4JyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGV4dEZpZWxkIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUZXh0RmllbGQge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50IGZvciB0aGUgVGV4dCBGaWVsZFxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBldmVudCBmb3IgdGhlIFRleHQgRmllbGRcbiAgICovXG4gIHRkc0lucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SW5wdXRFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnQgZm9yIHRoZSBUZXh0IEZpZWxkXG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnQgZm9yIHRoZSBUZXh0IEZpZWxkXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogRXJyb3IgZXZlbnQgZm9yIHRoZSBUZXh0IEZpZWxkIC0gZW1pdHRlZCB3aGVuIHZhbHVlIGlzIGNsYW1wZWQgdG8gbWluL21heFxuICAgKi9cbiAgdGRzRXJyb3I6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IG9yaWdpbmFsVmFsdWU6IHN0cmluZzsgY2xhbXBlZFZhbHVlOiBzdHJpbmc7IHJlYXNvbjogJ21pbicgfCAnbWF4JyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjb2xzJywgJ2Rpc2FibGVkJywgJ2hlbHBlcicsICdoaWRlUmVhZE9ubHlJY29uJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4TGVuZ3RoJywgJ21vZGVWYXJpYW50JywgJ25hbWUnLCAnbm9NaW5XaWR0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkT25seScsICdyb3dzJywgJ3N0YXRlJywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2ZvY3VzRWxlbWVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRleHRhcmVhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY29scycsICdkaXNhYmxlZCcsICdoZWxwZXInLCAnaGlkZVJlYWRPbmx5SWNvbicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heExlbmd0aCcsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAncGxhY2Vob2xkZXInLCAncmVhZE9ubHknLCAncm93cycsICdzdGF0ZScsICd0ZHNBcmlhTGFiZWwnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWyd0ZHNDaGFuZ2UnLCAndGRzQmx1cicsICd0ZHNJbnB1dCcsICd0ZHNGb2N1cyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBUZHNUZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RleHRhcmVhRWxlbWVudDtcbiAgQE91dHB1dCgpIHRkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgQE91dHB1dCgpIHRkc0JsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzSW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElucHV0RXZlbnQ+PigpO1xuICBAT3V0cHV0KCkgdGRzRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGV4dGFyZWEge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50IGZvciB0aGUgVGV4dGFyZWFcbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIFRleHRhcmVhXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgZXZlbnQgZm9yIHRoZSBUZXh0YXJlYVxuICAgKi9cbiAgdGRzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIFRleHRhcmVhXG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnaGVhZGVyJywgJ2hpZGRlbicsICdzdWJoZWFkZXInLCAndGRzQXJpYUxpdmUnLCAndGRzQ2xvc2VBcmlhTGFiZWwnLCAndG9hc3RJZCcsICd0b2FzdFJvbGUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ2hpZGVUb2FzdCcsICdzaG93VG9hc3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10b2FzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnaGVhZGVyJywgJ2hpZGRlbicsICdzdWJoZWFkZXInLCAndGRzQXJpYUxpdmUnLCAndGRzQ2xvc2VBcmlhTGFiZWwnLCAndG9hc3RJZCcsICd0b2FzdFJvbGUnLCAndmFyaWFudCddLFxuICBvdXRwdXRzOiBbJ3Rkc0Nsb3NlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RvYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MVGRzVG9hc3RFbGVtZW50O1xuICBAT3V0cHV0KCkgdGRzQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdG9hc3RJZDogc3RyaW5nOyB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVG9hc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RvYXN0IHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBUb2FzdCBpZGVudGlmaWVyIHdoZW4gY29tcG9uZW50IGlzIGNsb3NlZC5cbiAgICovXG4gIHRkc0Nsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0b2FzdElkOiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdoZWFkbGluZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndGRzQXJpYUxhYmVsJywgJ3RvZ2dsZUlkJ10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlJywgJ2ZvY3VzRWxlbWVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRvZ2dsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdoZWFkbGluZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndGRzQXJpYUxhYmVsJywgJ3RvZ2dsZUlkJ10sXG4gIG91dHB1dHM6IFsndGRzVG9nZ2xlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RvZ2dsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1RvZ2dsZUVsZW1lbnQ7XG4gIEBPdXRwdXQoKSB0ZHNUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdG9nZ2xlSWQ6IHN0cmluZzsgY2hlY2tlZDogYm9vbGVhbjsgfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RvZ2dsZSBleHRlbmRzIENvbXBvbmVudHMuVGRzVG9nZ2xlIHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBUb2dnbGUgaWRlbnRpZmllciBhbmQgc3RhdHVzIHdoZW4gaXQgaXMgdG9nZ2xlZC5cbiAgICovXG4gIHRkc1RvZ2dsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdG9nZ2xlSWQ6IHN0cmluZzsgY2hlY2tlZDogYm9vbGVhbjsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0U2hvdycsICdtb3VzZU92ZXJUb29sdGlwJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3Rkc0FyaWFEZXNjcmliZWRieScsICd0ZXh0JywgJ3RyaWdnZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWZhdWx0U2hvdycsICdtb3VzZU92ZXJUb29sdGlwJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3Rkc0FyaWFEZXNjcmliZWRieScsICd0ZXh0JywgJ3RyaWdnZXInXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGRzVG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFRkc1Rvb2x0aXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUb29sdGlwIHt9XG5cblxuIl19