@six-group/ui-library-angular 0.0.0-insider.daba936 → 0.0.0-insider.dd46619

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.
@@ -4,30 +4,6 @@ import { __decorate } from "tslib";
4
4
  import { ChangeDetectionStrategy, Component } from '@angular/core';
5
5
  import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
6
  import * as i0 from "@angular/core";
7
- export let SetAttributes = class SetAttributes {
8
- constructor(c, r, z) {
9
- this.z = z;
10
- c.detach();
11
- this.el = r.nativeElement;
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SetAttributes, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SetAttributes, selector: "set-attributes", inputs: { value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
- };
16
- SetAttributes = __decorate([
17
- ProxyCmp({
18
- inputs: ['value']
19
- })
20
- ], SetAttributes);
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SetAttributes, decorators: [{
22
- type: Component,
23
- args: [{
24
- selector: 'set-attributes',
25
- changeDetection: ChangeDetectionStrategy.OnPush,
26
- template: '<ng-content></ng-content>',
27
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
28
- inputs: ['value'],
29
- }]
30
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
31
7
  export let SixAlert = class SixAlert {
32
8
  constructor(c, r, z) {
33
9
  this.z = z;
@@ -407,11 +383,11 @@ export let SixFileUpload = class SixFileUpload {
407
383
  proxyOutputs(this, this.el, ['six-file-upload-success', 'six-file-upload-failure']);
408
384
  }
409
385
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixFileUpload, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
410
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SixFileUpload, selector: "six-file-upload", inputs: { accept: "accept", compact: "compact", disabled: "disabled", label: "label", maxFileSize: "maxFileSize", multiple: "multiple" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
386
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SixFileUpload, selector: "six-file-upload", inputs: { accept: "accept", compact: "compact", disabled: "disabled", errorText: "errorText", invalid: "invalid", label: "label", maxFileSize: "maxFileSize", multiple: "multiple", uploading: "uploading" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
411
387
  };
412
388
  SixFileUpload = __decorate([
413
389
  ProxyCmp({
414
- inputs: ['accept', 'compact', 'disabled', 'label', 'maxFileSize', 'multiple']
390
+ inputs: ['accept', 'compact', 'disabled', 'errorText', 'invalid', 'label', 'maxFileSize', 'multiple', 'uploading']
415
391
  })
416
392
  ], SixFileUpload);
417
393
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixFileUpload, decorators: [{
@@ -421,7 +397,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
421
397
  changeDetection: ChangeDetectionStrategy.OnPush,
422
398
  template: '<ng-content></ng-content>',
423
399
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
424
- inputs: ['accept', 'compact', 'disabled', 'label', 'maxFileSize', 'multiple'],
400
+ inputs: ['accept', 'compact', 'disabled', 'errorText', 'invalid', 'label', 'maxFileSize', 'multiple', 'uploading'],
425
401
  }]
426
402
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
427
403
  export let SixFooter = class SixFooter {
@@ -892,14 +868,13 @@ export let SixRoot = class SixRoot {
892
868
  this.z = z;
893
869
  c.detach();
894
870
  this.el = r.nativeElement;
895
- proxyOutputs(this, this.el, ['six-root-collapsed']);
896
871
  }
897
872
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixRoot, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
898
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SixRoot, selector: "six-root", inputs: { breakpoint: "breakpoint", padded: "padded", stage: "stage", version: "version" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
873
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SixRoot, selector: "six-root", inputs: { padded: "padded", stage: "stage", version: "version" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
899
874
  };
900
875
  SixRoot = __decorate([
901
876
  ProxyCmp({
902
- inputs: ['breakpoint', 'padded', 'stage', 'version']
877
+ inputs: ['padded', 'stage', 'version']
903
878
  })
904
879
  ], SixRoot);
905
880
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SixRoot, decorators: [{
@@ -909,7 +884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
909
884
  changeDetection: ChangeDetectionStrategy.OnPush,
910
885
  template: '<ng-content></ng-content>',
911
886
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
912
- inputs: ['breakpoint', 'padded', 'stage', 'version'],
887
+ inputs: ['padded', 'stage', 'version'],
913
888
  }]
914
889
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
915
890
  export let SixSearchField = class SixSearchField {
@@ -1316,4 +1291,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1316
1291
  inputs: ['content', 'disabled', 'distance', 'open', 'placement', 'skidding', 'trigger'],
1317
1292
  }]
1318
1293
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1319
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFlaEUsV0FBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUV4QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOytHQUxVLGFBQWE7bUdBQWIsYUFBYSxrRkFKZCwyQkFBMkI7O0FBSTFCLGFBQWE7SUFWekIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ2xCLENBQUM7R0FRVyxhQUFhLENBTXpCOzRGQU5ZLGFBQWE7a0JBUHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNsQjs7QUF3Qk0sV0FBTSxRQUFRLEdBQWQsTUFBTSxRQUFRO0lBRW5CLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENB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bUdBQVYsVUFBVSwrTUFKWCwyQkFBMkI7O0FBSTFCLFVBQVU7SUFYdEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDO1FBQ3ZGLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDMUIsQ0FBQztHQVFXLFVBQVUsQ0FPdEI7NEZBUFksVUFBVTtrQkFQdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDO2lCQUN4RiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZXQtYXR0cmlidXRlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2V0QXR0cmlidXRlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNldEF0dHJpYnV0ZXMgZXh0ZW5kcyBDb21wb25lbnRzLlNldEF0dHJpYnV0ZXMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnZHVyYXRpb24nLCAnb3BlbicsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvYXN0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtYWxlcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NhYmxlJywgJ2R1cmF0aW9uJywgJ29wZW4nLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhBbGVydCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1hbGVydC1zaG93JywgJ3NpeC1hbGVydC1hZnRlci1zaG93JywgJ3NpeC1hbGVydC1oaWRlJywgJ3NpeC1hbGVydC1hZnRlci1oaWRlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeEFsZXJ0RW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEFsZXJ0IGV4dGVuZHMgQ29tcG9uZW50cy5TaXhBbGVydCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGFsZXJ0IG9wZW5zLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBvcGVuZWQuXG4gICAqL1xuICAnc2l4LWFsZXJ0LXNob3cnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEFsZXJ0RW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBhbGVydCBvcGVucyBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtYWxlcnQtYWZ0ZXItc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4QWxlcnRFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYWxlcnQgY2xvc2VzLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBjbG9zZWQuXG4gICAqL1xuICAnc2l4LWFsZXJ0LWhpZGUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEFsZXJ0RW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBhbGVydCBjbG9zZXMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LWFsZXJ0LWFmdGVyLWhpZGUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEFsZXJ0RW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsdCcsICdpbWFnZScsICdpbml0aWFscycsICdzaGFwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWF2YXRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0JywgJ2ltYWdlJywgJ2luaXRpYWxzJywgJ3NoYXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEF2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEF2YXRhciBleHRlbmRzIENvbXBvbmVudHMuU2l4QXZhdGFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3BpbGwnLCAncHVsc2UnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwaWxsJywgJ3B1bHNlJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4QmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhCYWRnZSBleHRlbmRzIENvbXBvbmVudHMuU2l4QmFkZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2FyZXQnLCAnY2lyY2xlJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2hyZWYnLCAnbG9hZGluZycsICduYW1lJywgJ3BpbGwnLCAncmVzZXQnLCAnc2l6ZScsICdzdWJtaXQnLCAndGFyZ2V0JywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdyZW1vdmVGb2N1cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FyZXQnLCAnY2lyY2xlJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2hyZWYnLCAnbG9hZGluZycsICduYW1lJywgJ3BpbGwnLCAncmVzZXQnLCAnc2l6ZScsICdzdWJtaXQnLCAndGFyZ2V0JywgJ3R5cGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4QnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LWJ1dHRvbi1ibHVyJywgJ3NpeC1idXR0b24tZm9jdXMnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4QnV0dG9uRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuU2l4QnV0dG9uIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1idXR0b24tYmx1cic6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4QnV0dG9uRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBnYWlucyBmb2N1cy5cbiAgICovXG4gICdzaXgtYnV0dG9uLWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhCdXR0b25FbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeENhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhDYXJkIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3JUZXh0JywgJ2Vycm9yVGV4dENvdW50JywgJ2luZGV0ZXJtaW5hdGUnLCAnaW52YWxpZCcsICdsYWJlbCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAncmVtb3ZlRm9jdXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaW5kZXRlcm1pbmF0ZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4Q2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtY2hlY2tib3gtYmx1cicsICdzaXgtY2hlY2tib3gtY2hhbmdlJywgJ3NpeC1jaGVja2JveC1mb2N1cyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhDaGVja2JveEVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhDaGVja2JveCBleHRlbmRzIENvbXBvbmVudHMuU2l4Q2hlY2tib3gge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1jaGVja2JveC1ibHVyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhDaGVja2JveEVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sJ3MgY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgKi9cbiAgJ3NpeC1jaGVja2JveC1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeENoZWNrYm94RW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgZ2FpbnMgZm9jdXMuXG4gICAqL1xuICAnc2l4LWNoZWNrYm94LWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhDaGVja2JveEVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd2VkRGF0ZXMnLCAnY2xlYXJhYmxlJywgJ2Nsb3NlT25TZWxlY3QnLCAnY29udGFpbmluZ0VsZW1lbnQnLCAnZGF0ZUZvcm1hdCcsICdkZWJvdW5jZScsICdkZWZhdWx0RGF0ZScsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaG9pc3QnLCAnaWNvblBvc2l0aW9uJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXgnLCAnbWluJywgJ25hbWUnLCAnb3BlbicsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAnc2VsZWN0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtZGF0ZXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxsb3dlZERhdGVzJywgJ2NsZWFyYWJsZScsICdjbG9zZU9uU2VsZWN0JywgJ2NvbnRhaW5pbmdFbGVtZW50JywgJ2RhdGVGb3JtYXQnLCAnZGVib3VuY2UnLCAnZGVmYXVsdERhdGUnLCAnZGlzYWJsZWQnLCAnZXJyb3JUZXh0JywgJ2Vycm9yVGV4dENvdW50JywgJ2hvaXN0JywgJ2ljb25Qb3NpdGlvbicsICdpbmxpbmUnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsb2NhbGUnLCAnbWF4JywgJ21pbicsICduYW1lJywgJ29wZW4nLCAncGxhY2Vob2xkZXInLCAncGxhY2VtZW50JywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndHlwZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhEYXRlcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LWRhdGVwaWNrZXItc2VsZWN0JywgJ3NpeC1kYXRlcGlja2VyLWNsZWFyJywgJ3NpeC1kYXRlcGlja2VyLWJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFNpeERhdGVwaWNrZXJTZWxlY3RQYXlsb2FkIGFzIElTaXhEYXRlcGlja2VyU2l4RGF0ZXBpY2tlclNlbGVjdFBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeERhdGVwaWNrZXJFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4RGF0ZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuU2l4RGF0ZXBpY2tlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYSBvcHRpb24gZ290IHNlbGVjdGVkLlxuICAgKi9cbiAgJ3NpeC1kYXRlcGlja2VyLXNlbGVjdCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGF0ZXBpY2tlclNpeERhdGVwaWNrZXJTZWxlY3RQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBhY3RpdmF0ZWQuXG4gICAqL1xuICAnc2l4LWRhdGVwaWNrZXItY2xlYXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERhdGVwaWNrZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIG9wdGlvbiBnb3Qgc2VsZWN0ZWQuXG4gICAqL1xuICAnc2l4LWRhdGVwaWNrZXItYmx1cic6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGF0ZXBpY2tlclNpeERhdGVwaWNrZXJTZWxlY3RQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hhc0NvbnRlbnQnLCAnaW5saW5lJywgJ29wZW4nLCAnc2VsZWN0YWJsZUVtcHR5JywgJ3N1bW1hcnknLCAnc3VtbWFyeUljb24nLCAnc3VtbWFyeUljb25TaXplJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtZGV0YWlscycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGFzQ29udGVudCcsICdpbmxpbmUnLCAnb3BlbicsICdzZWxlY3RhYmxlRW1wdHknLCAnc3VtbWFyeScsICdzdW1tYXJ5SWNvbicsICdzdW1tYXJ5SWNvblNpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4RGV0YWlscyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1kZXRhaWxzLXNob3cnLCAnc2l4LWRldGFpbHMtYWZ0ZXItc2hvdycsICdzaXgtZGV0YWlscy1oaWRlJywgJ3NpeC1kZXRhaWxzLWFmdGVyLWhpZGUnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4RGV0YWlsc0VtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhEZXRhaWxzIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhEZXRhaWxzIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGV0YWlscyBvcGVucy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgb3BlbmVkLlxuICAgKi9cbiAgJ3NpeC1kZXRhaWxzLXNob3cnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERldGFpbHNFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGRldGFpbHMgb3BlbnMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LWRldGFpbHMtYWZ0ZXItc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGV0YWlsc0VtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkZXRhaWxzIGNsb3Nlcy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY2xvc2VkLlxuICAgKi9cbiAgJ3NpeC1kZXRhaWxzLWhpZGUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERldGFpbHNFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGRldGFpbHMgY2xvc2VzIGFuZCBhbGwgdHJhbnNpdGlvbnMgYXJlIGNvbXBsZXRlLlxuICAgKi9cbiAgJ3NpeC1kZXRhaWxzLWFmdGVyLWhpZGUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERldGFpbHNFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnLCAnbm9IZWFkZXInLCAnb3BlbiddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnLCAnbm9IZWFkZXInLCAnb3BlbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhEaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtZGlhbG9nLXNob3cnLCAnc2l4LWRpYWxvZy1hZnRlci1zaG93JywgJ3NpeC1kaWFsb2ctaGlkZScsICdzaXgtZGlhbG9nLWFmdGVyLWhpZGUnLCAnc2l4LWRpYWxvZy1pbml0aWFsLWZvY3VzJywgJ3NpeC1kaWFsb2ctb3ZlcmxheS1kaXNtaXNzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeERpYWxvZ0VtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLlNpeERpYWxvZyB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBvcGVucy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgb3BlbmVkLlxuICAgKi9cbiAgJ3NpeC1kaWFsb2ctc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGlhbG9nRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBkaWFsb2cgb3BlbnMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LWRpYWxvZy1hZnRlci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEaWFsb2dFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIGNsb3Nlcy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY2xvc2VkLlxuICAgKi9cbiAgJ3NpeC1kaWFsb2ctaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGlhbG9nRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBkaWFsb2cgY2xvc2VzIGFuZCBhbGwgdHJhbnNpdGlvbnMgYXJlIGNvbXBsZXRlLlxuICAgKi9cbiAgJ3NpeC1kaWFsb2ctYWZ0ZXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGlhbG9nRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBvcGVucyBhbmQgdGhlIHBhbmVsIGdhaW5zIGZvY3VzLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgZm9jdXMgYW5kXG5hbGxvdyB5b3UgdG8gc2V0IGl0IG9uIGEgZGlmZmVyZW50IGVsZW1lbnQgaW4gdGhlIGRpYWxvZywgc3VjaCBhcyBhbiBpbnB1dCBvciBidXR0b24uXG4gICAqL1xuICAnc2l4LWRpYWxvZy1pbml0aWFsLWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEaWFsb2dFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgb3ZlcmxheSBpcyBjbGlja2VkLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgdGhlIGRpYWxvZyBmcm9tIGNsb3NpbmcuXG4gICAqL1xuICAnc2l4LWRpYWxvZy1vdmVybGF5LWRpc21pc3MnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERpYWxvZ0VtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZWQnLCAnbGFiZWwnLCAnbm9IZWFkZXInLCAnb3BlbicsICdwbGFjZW1lbnQnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1kcmF3ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lZCcsICdsYWJlbCcsICdub0hlYWRlcicsICdvcGVuJywgJ3BsYWNlbWVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhEcmF3ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtZHJhd2VyLXNob3cnLCAnc2l4LWRyYXdlci1hZnRlci1zaG93JywgJ3NpeC1kcmF3ZXItaGlkZScsICdzaXgtZHJhd2VyLWFmdGVyLWhpZGUnLCAnc2l4LWRyYXdlci1pbml0aWFsLWZvY3VzJywgJ3NpeC1kcmF3ZXItb3ZlcmxheS1kaXNtaXNzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeERyYXdlckVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhEcmF3ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNpeERyYXdlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRyYXdlciBvcGVucy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgb3BlbmVkLlxuICAgKi9cbiAgJ3NpeC1kcmF3ZXItc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RHJhd2VyRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBkcmF3ZXIgb3BlbnMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LWRyYXdlci1hZnRlci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcmF3ZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZHJhd2VyIGNsb3Nlcy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY2xvc2VkLlxuICAgKi9cbiAgJ3NpeC1kcmF3ZXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RHJhd2VyRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBkcmF3ZXIgY2xvc2VzIGFuZCBhbGwgdHJhbnNpdGlvbnMgYXJlIGNvbXBsZXRlLlxuICAgKi9cbiAgJ3NpeC1kcmF3ZXItYWZ0ZXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RHJhd2VyRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRyYXdlciBvcGVucyBhbmQgdGhlIHBhbmVsIGdhaW5zIGZvY3VzLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgZm9jdXMgYW5kXG5hbGxvdyB5b3UgdG8gc2V0IGl0IG9uIGEgZGlmZmVyZW50IGVsZW1lbnQgaW4gdGhlIGRyYXdlciwgc3VjaCBhcyBhbiBpbnB1dCBvciBidXR0b24uXG4gICAqL1xuICAnc2l4LWRyYXdlci1pbml0aWFsLWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcmF3ZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgb3ZlcmxheSBpcyBjbGlja2VkLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgdGhlIGRyYXdlciBmcm9tIGNsb3NpbmcuXG4gICAqL1xuICAnc2l4LWRyYXdlci1vdmVybGF5LWRpc21pc3MnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERyYXdlckVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhc3luY0ZpbHRlcicsICdhdXRvZm9jdXNGaWx0ZXInLCAnY2xvc2VPblNlbGVjdCcsICdjb250YWluaW5nRWxlbWVudCcsICdkaXNhYmxlSGlkZU9uRW50ZXJBbmRTcGFjZScsICdkaXN0YW5jZScsICdmaWx0ZXInLCAnZmlsdGVyRGVib3VuY2UnLCAnZmlsdGVyUGxhY2Vob2xkZXInLCAnaG9pc3QnLCAnbWF0Y2hUcmlnZ2VyV2lkdGgnLCAnb3BlbicsICdvcHRpb25zJywgJ3BsYWNlbWVudCcsICdza2lkZGluZycsICd2aXJ0dWFsU2Nyb2xsJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3JlcG9zaXRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXN5bmNGaWx0ZXInLCAnYXV0b2ZvY3VzRmlsdGVyJywgJ2Nsb3NlT25TZWxlY3QnLCAnY29udGFpbmluZ0VsZW1lbnQnLCAnZGlzYWJsZUhpZGVPbkVudGVyQW5kU3BhY2UnLCAnZGlzdGFuY2UnLCAnZmlsdGVyJywgJ2ZpbHRlckRlYm91bmNlJywgJ2ZpbHRlclBsYWNlaG9sZGVyJywgJ2hvaXN0JywgJ21hdGNoVHJpZ2dlcldpZHRoJywgJ29wZW4nLCAnb3B0aW9ucycsICdwbGFjZW1lbnQnLCAnc2tpZGRpbmcnLCAndmlydHVhbFNjcm9sbCddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1kcm9wZG93bi1zaG93JywgJ3NpeC1kcm9wZG93bi1hZnRlci1zaG93JywgJ3NpeC1kcm9wZG93bi1oaWRlJywgJ3NpeC1kcm9wZG93bi1hZnRlci1oaWRlJywgJ3NpeC1kcm9wZG93bi1hdXRvLWZpbHRlci1maXJlZCcsICdzaXgtYXN5bmMtZmlsdGVyLWZpcmVkJywgJ3NpeC1kcm9wZG93bi1zY3JvbGwnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4RHJvcGRvd25FbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBTaXhEcm9wZG93bkF1dG9GaWx0ZXJQYXlsb2FkIGFzIElTaXhEcm9wZG93blNpeERyb3Bkb3duQXV0b0ZpbHRlclBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBTaXhEcm9wZG93bkFzeW5jRmlsdGVyUGF5bG9hZCBhcyBJU2l4RHJvcGRvd25TaXhEcm9wZG93bkFzeW5jRmlsdGVyUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgdHlwZSB7IFNpeERyb3Bkb3duU2Nyb2xsUGF5bG9hZCBhcyBJU2l4RHJvcGRvd25TaXhEcm9wZG93blNjcm9sbFBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4RHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLlNpeERyb3Bkb3duIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZHJvcGRvd24gb3BlbnMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBpdCBmcm9tIGJlaW5nIG9wZW5lZC5cbiAgICovXG4gICdzaXgtZHJvcGRvd24tc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RHJvcGRvd25FbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGRyb3Bkb3duIG9wZW5zIGFuZCBhbGwgdHJhbnNpdGlvbnMgYXJlIGNvbXBsZXRlLlxuICAgKi9cbiAgJ3NpeC1kcm9wZG93bi1hZnRlci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcm9wZG93bkVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBjbG9zZXMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBpdCBmcm9tIGJlaW5nIGNsb3NlZC5cbiAgICovXG4gICdzaXgtZHJvcGRvd24taGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RHJvcGRvd25FbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGRyb3Bkb3duIGNsb3NlcyBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtZHJvcGRvd24tYWZ0ZXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RHJvcGRvd25FbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYXV0byBmaWx0ZXIgaXMgdHJpZ2dlcmVkXG4gICAqL1xuICAnc2l4LWRyb3Bkb3duLWF1dG8tZmlsdGVyLWZpcmVkJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcm9wZG93blNpeERyb3Bkb3duQXV0b0ZpbHRlclBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYXN5bmMgZmlsdGVyIGlzIHRyaWdnZXJlZFxuICAgKi9cbiAgJ3NpeC1hc3luYy1maWx0ZXItZmlyZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERyb3Bkb3duU2l4RHJvcGRvd25Bc3luY0ZpbHRlclBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzY3JvbGxzIGluc2lkZSBkcm9wZG93biBwYW5lbC5cbiAgICovXG4gICdzaXgtZHJvcGRvd24tc2Nyb2xsJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcm9wZG93blNpeERyb3Bkb3duU2Nyb2xsUGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWVycm9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEVycm9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4RXJyb3IgZXh0ZW5kcyBDb21wb25lbnRzLlNpeEVycm9yIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1c3RvbURlc2NyaXB0aW9uJywgJ2N1c3RvbUljb24nLCAnY3VzdG9tVGl0bGUnLCAnZXJyb3JDb2RlJywgJ2xhbmd1YWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtZXJyb3ItcGFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VzdG9tRGVzY3JpcHRpb24nLCAnY3VzdG9tSWNvbicsICdjdXN0b21UaXRsZScsICdlcnJvckNvZGUnLCAnbGFuZ3VhZ2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4RXJyb3JQYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4RXJyb3JQYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhFcnJvclBhZ2Uge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1maWxlLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4RmlsZUxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhGaWxlTGlzdCBleHRlbmRzIENvbXBvbmVudHMuU2l4RmlsZUxpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0ZScsICdpZGVudGlmaWVyJywgJ25hbWUnLCAnbm9kZWxldGUnLCAnbm9kb3dubG9hZCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtZmlsZS1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnaWRlbnRpZmllcicsICduYW1lJywgJ25vZGVsZXRlJywgJ25vZG93bmxvYWQnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhGaWxlTGlzdEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtZmlsZS1saXN0LWl0ZW0tZG93bmxvYWQnLCAnc2l4LWZpbGUtbGlzdC1pdGVtLXJlbW92ZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU2l4RmlsZUxpc3REb3dubG9hZFBheWxvYWQgYXMgSVNpeEZpbGVMaXN0SXRlbVNpeEZpbGVMaXN0RG93bmxvYWRQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcbmltcG9ydCB0eXBlIHsgU2l4RmlsZUxpc3RSZW1vdmVQYXlsb2FkIGFzIElTaXhGaWxlTGlzdEl0ZW1TaXhGaWxlTGlzdFJlbW92ZVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4RmlsZUxpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhGaWxlTGlzdEl0ZW0ge1xuICAvKipcbiAgICogVHJpZ2dlcmVkIG9uIGZpbGUgZG93bmxvYWQuXG4gICAqL1xuICAnc2l4LWZpbGUtbGlzdC1pdGVtLWRvd25sb2FkJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhGaWxlTGlzdEl0ZW1TaXhGaWxlTGlzdERvd25sb2FkUGF5bG9hZD4+O1xuICAvKipcbiAgICogVHJpZ2dlcmVkIG9uIGZpbGUgcmVtb3ZlLlxuICAgKi9cbiAgJ3NpeC1maWxlLWxpc3QtaXRlbS1yZW1vdmUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEZpbGVMaXN0SXRlbVNpeEZpbGVMaXN0UmVtb3ZlUGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NlcHQnLCAnY29tcGFjdCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICdtYXhGaWxlU2l6ZScsICdtdWx0aXBsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWZpbGUtdXBsb2FkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2NlcHQnLCAnY29tcGFjdCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICdtYXhGaWxlU2l6ZScsICdtdWx0aXBsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhGaWxlVXBsb2FkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LWZpbGUtdXBsb2FkLXN1Y2Nlc3MnLCAnc2l4LWZpbGUtdXBsb2FkLWZhaWx1cmUnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFNpeEZpbGVVcGxvYWRTdWNjZXNzUGF5bG9hZCBhcyBJU2l4RmlsZVVwbG9hZFNpeEZpbGVVcGxvYWRTdWNjZXNzUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgdHlwZSB7IFNpeEZpbGVVcGxvYWRGYWlsdXJlUGF5bG9hZCBhcyBJU2l4RmlsZVVwbG9hZFNpeEZpbGVVcGxvYWRGYWlsdXJlUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhGaWxlVXBsb2FkIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhGaWxlVXBsb2FkIHtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW4gYSBmaWxlIGlzIGFkZGVkLlxuICAgKi9cbiAgJ3NpeC1maWxlLXVwbG9hZC1zdWNjZXNzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhGaWxlVXBsb2FkU2l4RmlsZVVwbG9hZFN1Y2Nlc3NQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuIGFuIHVwbG9hZGVkIGZpbGUgZG9lc24ndCBtYXRjaCBNSU1FIHR5cGUgb3IgbWF4IGZpbGUgc2l6ZS5cbiAgICovXG4gICdzaXgtZmlsZS11cGxvYWQtZmFpbHVyZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RmlsZVVwbG9hZFNpeEZpbGVVcGxvYWRGYWlsdXJlUGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNpeEZvb3RlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdoZWxwVGV4dCcsICdsYWJlbCcsICdyZXF1aXJlZCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtZ3JvdXAtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hlbHBUZXh0JywgJ2xhYmVsJywgJ3JlcXVpcmVkJywgJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4R3JvdXBMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEdyb3VwTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlNpeEdyb3VwTGFiZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xpY2thYmxlTG9nbycsICdoaWRlSGFtYnVyZ2VyTWVudScsICdvcGVuSGFtYnVyZ2VyTWVudScsICdvcGVuU2VhcmNoJywgJ3NoaWZ0Q29udGVudCddLFxuICBtZXRob2RzOiBbJ3NldFNlYXJjaE9wZW5TdGF0ZScsICdnZXRJc1NlYXJjaE9wZW4nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZUxvZ28nLCAnaGlkZUhhbWJ1cmdlck1lbnUnLCAnb3BlbkhhbWJ1cmdlck1lbnUnLCAnb3BlblNlYXJjaCcsICdzaGlmdENvbnRlbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4SGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LWhlYWRlci1hcHAtbmFtZS1jbGlja2VkJywgJ3NpeC1oZWFkZXItYXBwLXN3aXRjaGVyLXNlbGVjdCcsICdzaXgtaGVhZGVyLXByb2ZpbGUtc2VsZWN0JywgJ3NpeC1oZWFkZXItaGFtYnVyZ2VyLW1lbnUtY2xpY2tlZCcsICdzaXgtaGVhZGVyLWxvZ28tY2xpY2tlZCcsICdzaXgtaGVhZGVyLXNlYXJjaC1maWVsZC10b2dnbGUnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4SGVhZGVyRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcbmltcG9ydCB0eXBlIHsgU2l4SGVhZGVyQXBwU3dpdGNoZXJTZWxlY3RQYXlsb2FkIGFzIElTaXhIZWFkZXJTaXhIZWFkZXJBcHBTd2l0Y2hlclNlbGVjdFBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBTaXhIZWFkZXJQcm9maWxlU2VsZWN0UGF5bG9hZCBhcyBJU2l4SGVhZGVyU2l4SGVhZGVyUHJvZmlsZVNlbGVjdFBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBTaXhIZWFkZXJTZWFyY2hGaWVsZFRvZ2dsZSBhcyBJU2l4SGVhZGVyU2l4SGVhZGVyU2VhcmNoRmllbGRUb2dnbGUgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4SGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhIZWFkZXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBuYW1lIG9mIHRoZSBzZWxlY3RlZCBhcHAgaXMgY2xpY2tlZC5cbiAgICovXG4gICdzaXgtaGVhZGVyLWFwcC1uYW1lLWNsaWNrZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEhlYWRlckVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGEgbWVudSBpdGVtIGlzIGluIHRoZSBhcHAgc3dpdGNoZXIgbWVudSBpcyBzZWxlY3RlZC5cbiAgICovXG4gICdzaXgtaGVhZGVyLWFwcC1zd2l0Y2hlci1zZWxlY3QnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEhlYWRlclNpeEhlYWRlckFwcFN3aXRjaGVyU2VsZWN0UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGEgbWVudSBpdGVtIGlzIGluIHRoZSBwcm9maWxlIG1lbnUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICAnc2l4LWhlYWRlci1wcm9maWxlLXNlbGVjdCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4SGVhZGVyU2l4SGVhZGVyUHJvZmlsZVNlbGVjdFBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaGFtYnVyZ2VyIG1lbnUgaXMgY2xpY2tlZC5cbiAgICovXG4gICdzaXgtaGVhZGVyLWhhbWJ1cmdlci1tZW51LWNsaWNrZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEhlYWRlckVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBoZWFkZXIgbG9nbyBpcyBjbGlja2VkLlxuICAgKi9cbiAgJ3NpeC1oZWFkZXItbG9nby1jbGlja2VkJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhIZWFkZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBzZWFyY2ggZmllbGQgaXMgdG9nZ2xlZC5cbiAgICovXG4gICdzaXgtaGVhZGVyLXNlYXJjaC1maWVsZC10b2dnbGUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEhlYWRlclNpeEhlYWRlclNlYXJjaEZpZWxkVG9nZ2xlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZpbGxlZCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZmlsbGVkJywgJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEljb24gZXh0ZW5kcyBDb21wb25lbnRzLlNpeEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaHRtbCcsICdsYWJlbCcsICduYW1lJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1pY29uLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaHRtbCcsICdsYWJlbCcsICduYW1lJywgJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4SWNvbkJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEljb25CdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlNpeEljb25CdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2NhcGl0YWxpemUnLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9jb3JyZWN0JywgJ2F1dG9mb2N1cycsICdjbGVhcmFibGUnLCAnZGlzYWJsZWQnLCAnZHJvcGRvd25TZWFyY2gnLCAnZXJyb3JUZXh0JywgJ2Vycm9yVGV4dENvdW50JywgJ2hlbHBUZXh0JywgJ2lucHV0bW9kZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xpbmUnLCAnbWF4JywgJ21heGxlbmd0aCcsICdtaW4nLCAnbWlubGVuZ3RoJywgJ25hbWUnLCAncGF0dGVybicsICdwaWxsJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAnc3BlbGxjaGVjaycsICdzdGVwJywgJ3RvZ2dsZVBhc3N3b3JkJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdyZW1vdmVGb2N1cycsICdzZWxlY3QnLCAnc2V0U2VsZWN0aW9uUmFuZ2UnLCAnc2V0UmFuZ2VUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvY29ycmVjdCcsICdhdXRvZm9jdXMnLCAnY2xlYXJhYmxlJywgJ2Rpc2FibGVkJywgJ2Ryb3Bkb3duU2VhcmNoJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdoZWxwVGV4dCcsICdpbnB1dG1vZGUnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsaW5lJywgJ21heCcsICdtYXhsZW5ndGgnLCAnbWluJywgJ21pbmxlbmd0aCcsICduYW1lJywgJ3BhdHRlcm4nLCAncGlsbCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3NwZWxsY2hlY2snLCAnc3RlcCcsICd0b2dnbGVQYXNzd29yZCcsICd0eXBlJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeElucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LWlucHV0LWNoYW5nZScsICdzaXgtaW5wdXQtY2xlYXInLCAnc2l4LWlucHV0LWlucHV0JywgJ3NpeC1pbnB1dC1mb2N1cycsICdzaXgtaW5wdXQtYmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhJbnB1dEVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuU2l4SW5wdXQge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgY2hhbmdlcy4gQWNjZXNzIHRoZSBuZXcgdmFsdWUgdmlhIGV2ZW50LnRhcmdldC52YWx1ZS5cbiAgICovXG4gICdzaXgtaW5wdXQtY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhJbnB1dEVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgYWN0aXZhdGVkLlxuICAgKi9cbiAgJ3NpeC1pbnB1dC1jbGVhcic6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4SW5wdXRFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCByZWNlaXZlcyBpbnB1dC4gQWNjZXNzIHRoZSBuZXcgdmFsdWUgdmlhIGV2ZW50LnRhcmdldC52YWx1ZS5cbiAgICovXG4gICdzaXgtaW5wdXQtaW5wdXQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeElucHV0RW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgZ2FpbnMgZm9jdXMuXG4gICAqL1xuICAnc2l4LWlucHV0LWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhJbnB1dEVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGxvc2VzIGZvY3VzLiBBY2Nlc3MgdGhlIG5ldyB2YWx1ZSB2aWEgZXZlbnQudGFyZ2V0LnZhbHVlLlxuICAgKi9cbiAgJ3NpeC1pbnB1dC1ibHVyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhJbnB1dEVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWJvdW5jZScsICdpbnRlcnZhbCcsICdpdGVtcycsICdtYXgnLCAnbWluJywgJ3BhZGRlZCcsICdwYWRkaW5nQ2hhcicsICdwYWRkaW5nRGlyZWN0aW9uJywgJ3BhZGRpbmdMZW5ndGgnLCAncm91bmR0cmlwJywgJ3N0ZXAnLCAndGltZW91dCcsICd0eXBlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtaXRlbS1waWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlYm91bmNlJywgJ2ludGVydmFsJywgJ2l0ZW1zJywgJ21heCcsICdtaW4nLCAncGFkZGVkJywgJ3BhZGRpbmdDaGFyJywgJ3BhZGRpbmdEaXJlY3Rpb24nLCAncGFkZGluZ0xlbmd0aCcsICdyb3VuZHRyaXAnLCAnc3RlcCcsICd0aW1lb3V0JywgJ3R5cGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4SXRlbVBpY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1pdGVtLXBpY2tlci1jaGFuZ2UnLCAnc2l4LWl0ZW0tcGlja2VyLWNoYW5nZS1kZWJvdW5jZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFNpeEl0ZW1QaWNrZXJDaGFuZ2VQYXlsb2FkIGFzIElTaXhJdGVtUGlja2VyU2l4SXRlbVBpY2tlckNoYW5nZVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4SXRlbVBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuU2l4SXRlbVBpY2tlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGl0ZW0gcGlja2VyJ3MgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgJ3NpeC1pdGVtLXBpY2tlci1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEl0ZW1QaWNrZXJTaXhJdGVtUGlja2VyQ2hhbmdlUGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpdGVtIHBpY2tlcidzIHZhbHVlIGNoYW5nZXMsIGJ1dCBkZWJvdW5jZWRcbiAgICovXG4gICdzaXgtaXRlbS1waWNrZXItY2hhbmdlLWRlYm91bmNlZCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4SXRlbVBpY2tlclNpeEl0ZW1QaWNrZXJDaGFuZ2VQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlcycsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWxhbmd1YWdlLXN3aXRjaGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYW5ndWFnZXMnLCAnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4TGFuZ3VhZ2VTd2l0Y2hlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1sYW5ndWFnZS1zd2l0Y2hlci1jaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFNpeExhbmd1YWdlU3dpdGNoZXJDaGFuZ2VQYXlsb2FkIGFzIElTaXhMYW5ndWFnZVN3aXRjaGVyU2l4TGFuZ3VhZ2VTd2l0Y2hlckNoYW5nZVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4TGFuZ3VhZ2VTd2l0Y2hlciBleHRlbmRzIENvbXBvbmVudHMuU2l4TGFuZ3VhZ2VTd2l0Y2hlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGxhbmd1YWdlIHN3aXRjaGVycyB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICAnc2l4LWxhbmd1YWdlLXN3aXRjaGVyLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4TGFuZ3VhZ2VTd2l0Y2hlclNpeExhbmd1YWdlU3dpdGNoZXJDaGFuZ2VQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbHVtbnMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1sYXlvdXQtZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sdW1ucyddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhMYXlvdXRHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4TGF5b3V0R3JpZCBleHRlbmRzIENvbXBvbmVudHMuU2l4TGF5b3V0R3JpZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydwYWRkZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1tYWluLWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncGFkZGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeE1haW5Db250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhNYWluQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhNYWluQ29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVLZXlib2FyZEhhbmRsaW5nJywgJ2l0ZW1TaXplJywgJ2l0ZW1zJywgJ2l0ZW1zU2hvd24nLCAncmVtb3ZlQm94U2hhZG93JywgJ3Njcm9sbGluZ0RlYm91bmNlJywgJ3ZpcnR1YWxTY3JvbGwnXSxcbiAgbWV0aG9kczogWyd0eXBlVG9TZWxlY3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1tZW51JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlS2V5Ym9hcmRIYW5kbGluZycsICdpdGVtU2l6ZScsICdpdGVtcycsICdpdGVtc1Nob3duJywgJ3JlbW92ZUJveFNoYWRvdycsICdzY3JvbGxpbmdEZWJvdW5jZScsICd2aXJ0dWFsU2Nyb2xsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeE1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtbWVudS1pdGVtLXNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhNZW51SXRlbVNlbGVjdGVkUGF5bG9hZCBhcyBJU2l4TWVudVNpeE1lbnVJdGVtU2VsZWN0ZWRQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeE1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLlNpeE1lbnUge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGEgbWVudSBpdGVtIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgJ3NpeC1tZW51LWl0ZW0tc2VsZWN0ZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeE1lbnVTaXhNZW51SXRlbVNlbGVjdGVkUGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LW1lbnUtZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhNZW51RGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeE1lbnVEaXZpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhNZW51RGl2aWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja1R5cGUnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ3JlbW92ZUZvY3VzJywgJ2dldFRleHRMYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LW1lbnUtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tUeXBlJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4TWVudUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuU2l4TWVudUl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1tZW51LWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeE1lbnVMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeE1lbnVMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuU2l4TWVudUxhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1waWN0bycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhQaWN0byB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFBpY3RvIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhQaWN0byB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbmRldGVybWluYXRlJywgJ3BlcmNlbnRhZ2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1wcm9ncmVzcy1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2luZGV0ZXJtaW5hdGUnLCAncGVyY2VudGFnZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhQcm9ncmVzc0JhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFByb2dyZXNzQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhQcm9ncmVzc0JhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydwZXJjZW50YWdlJywgJ3NpemUnLCAnc3Ryb2tlV2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1wcm9ncmVzcy1yaW5nJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwZXJjZW50YWdlJywgJ3NpemUnLCAnc3Ryb2tlV2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4UHJvZ3Jlc3NSaW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4UHJvZ3Jlc3NSaW5nIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhQcm9ncmVzc1Jpbmcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ25hbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdyZW1vdmVGb2N1cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbmFtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhSYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1yYWRpby1ibHVyJywgJ3NpeC1yYWRpby1jaGFuZ2UnLCAnc2l4LXJhZGlvLWZvY3VzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFJhZGlvRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhSYWRpbyB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgbG9zZXMgZm9jdXMuXG4gICAqL1xuICAnc2l4LXJhZGlvLWJsdXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFJhZGlvRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wncyBjaGVja2VkIHN0YXRlIGNoYW5nZXMuXG4gICAqL1xuICAnc2l4LXJhZGlvLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4UmFkaW9FbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBnYWlucyBmb2N1cy5cbiAgICovXG4gICdzaXgtcmFkaW8tZm9jdXMnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFJhZGlvRW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdoZWxwVGV4dCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZXF1aXJlZCcsICdzdGVwJywgJ3Rvb2x0aXAnLCAndG9vbHRpcEZvcm1hdHRlcicsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ3JlbW92ZUZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtcmFuZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdoZWxwVGV4dCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZXF1aXJlZCcsICdzdGVwJywgJ3Rvb2x0aXAnLCAndG9vbHRpcEZvcm1hdHRlcicsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhSYW5nZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1yYW5nZS1jaGFuZ2UnLCAnc2l4LXJhbmdlLWJsdXInLCAnc2l4LXJhbmdlLWZvY3VzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFJhbmdlRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFJhbmdlIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhSYW5nZSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wncyB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgJ3NpeC1yYW5nZS1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFJhbmdlRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgbG9zZXMgZm9jdXMuXG4gICAqL1xuICAnc2l4LXJhbmdlLWJsdXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFJhbmdlRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgZ2FpbnMgZm9jdXMuXG4gICAqL1xuICAnc2l4LXJhbmdlLWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhSYW5nZUVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ3BhZGRlZCcsICdzdGFnZScsICd2ZXJzaW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtcm9vdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnJlYWtwb2ludCcsICdwYWRkZWQnLCAnc3RhZ2UnLCAndmVyc2lvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhSb290IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXJvb3QtY29sbGFwc2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhSb290Q29sbGFwc2VkUGF5bG9hZCBhcyBJU2l4Um9vdFNpeFJvb3RDb2xsYXBzZWRQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFJvb3QgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFJvb3Qge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGRpc3BsYXkgc2l6ZSBpcyB1cGRhdGVkLlxuICAgKi9cbiAgJ3NpeC1yb290LWNvbGxhcHNlZCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4Um9vdFNpeFJvb3RDb2xsYXBzZWRQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyYWJsZScsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdwbGFjZWhvbGRlcicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXNlYXJjaC1maWVsZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xlYXJhYmxlJywgJ2RlYm91bmNlJywgJ2Rpc2FibGVkJywgJ3BsYWNlaG9sZGVyJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFNlYXJjaEZpZWxkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXNlYXJjaC1maWVsZC1jaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFNpeFNlYXJjaEZpZWxkQ2hhbmdlUGF5bG9hZCBhcyBJU2l4U2VhcmNoRmllbGRTaXhTZWFyY2hGaWVsZENoYW5nZVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4U2VhcmNoRmllbGQgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFNlYXJjaEZpZWxkIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIHNlYXJjaCBpcyB0cmlnZ2VyZWRcbiAgICovXG4gICdzaXgtc2VhcmNoLWZpZWxkLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4U2VhcmNoRmllbGRTaXhTZWFyY2hGaWVsZENoYW5nZVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXN5bmNGaWx0ZXInLCAnYXV0b2NvbXBsZXRlJywgJ2NsZWFyYWJsZScsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnZmlsdGVyJywgJ2ZpbHRlckRlYm91bmNlJywgJ2ZpbHRlclBsYWNlaG9sZGVyJywgJ2hlbHBUZXh0JywgJ2hvaXN0JywgJ2lucHV0RGVib3VuY2UnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsaW5lJywgJ21heFRhZ3NWaXNpYmxlJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3B0aW9ucycsICdwaWxsJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJywgJ3NlbGVjdEFsbEJ1dHRvbicsICdzZWxlY3RBbGxUZXh0JywgJ3NpemUnLCAndmFsdWUnLCAndmlydHVhbFNjcm9sbCddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhc3luY0ZpbHRlcicsICdhdXRvY29tcGxldGUnLCAnY2xlYXJhYmxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdmaWx0ZXInLCAnZmlsdGVyRGVib3VuY2UnLCAnZmlsdGVyUGxhY2Vob2xkZXInLCAnaGVscFRleHQnLCAnaG9pc3QnLCAnaW5wdXREZWJvdW5jZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xpbmUnLCAnbWF4VGFnc1Zpc2libGUnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdvcHRpb25zJywgJ3BpbGwnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc2VsZWN0QWxsQnV0dG9uJywgJ3NlbGVjdEFsbFRleHQnLCAnc2l6ZScsICd2YWx1ZScsICd2aXJ0dWFsU2Nyb2xsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1zZWxlY3QtY2hhbmdlJywgJ3NpeC1zZWxlY3QtZm9jdXMnLCAnc2l4LXNlbGVjdC1ibHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhTZWxlY3RDaGFuZ2VQYXlsb2FkIGFzIElTaXhTZWxlY3RTaXhTZWxlY3RDaGFuZ2VQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhTZWxlY3RFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4U2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5TaXhTZWxlY3Qge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gICdzaXgtc2VsZWN0LWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4U2VsZWN0U2l4U2VsZWN0Q2hhbmdlUGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGdhaW5zIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1zZWxlY3QtZm9jdXMnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFNlbGVjdEVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1zZWxlY3QtYmx1cic6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4U2VsZWN0RW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ29wZW4nLCAncG9zaXRpb24nLCAndG9nZ2xlZCcsICd3aWR0aCddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZScsICdzaG93JywgJ2hpZGUnLCAnc2VsZWN0SXRlbUJ5SW5kZXgnLCAnc2VsZWN0SXRlbUJ5TmFtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXNpZGViYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ29wZW4nLCAncG9zaXRpb24nLCAndG9nZ2xlZCcsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhTaWRlYmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXNpZGViYXItc2hvdycsICdzaXgtc2lkZWJhci1hZnRlci1zaG93JywgJ3NpeC1zaWRlYmFyLWhpZGUnLCAnc2l4LXNpZGViYXItYWZ0ZXItaGlkZScsICdzaXgtc2lkZWJhci1pbml0aWFsLWZvY3VzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFNpZGViYXJFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4U2lkZWJhciBleHRlbmRzIENvbXBvbmVudHMuU2l4U2lkZWJhciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNpZGViYXIgb3BlbnMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBpdCBmcm9tIGJlaW5nIG9wZW5lZC5cbiAgICovXG4gICdzaXgtc2lkZWJhci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhTaWRlYmFyRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBzaWRlYmFyIG9wZW5zIGFuZCBhbGwgdHJhbnNpdGlvbnMgYXJlIGNvbXBsZXRlLlxuICAgKi9cbiAgJ3NpeC1zaWRlYmFyLWFmdGVyLXNob3cnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFNpZGViYXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2lkZWJhciBjbG9zZXMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBpdCBmcm9tIGJlaW5nIGNsb3NlZC5cbiAgICovXG4gICdzaXgtc2lkZWJhci1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhTaWRlYmFyRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSBzaWRlYmFyIGNsb3NlcyBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtc2lkZWJhci1hZnRlci1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhTaWRlYmFyRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNpZGViYXIgb3BlbnMgYW5kIHRoZSBwYW5lbCBnYWlucyBmb2N1cy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGZvY3VzIGFuZFxuYWxsb3cgeW91IHRvIHNldCBpdCBvbiBhIGRpZmZlcmVudCBlbGVtZW50IGluIHRoZSBzaWRlYmFyLCBzdWNoIGFzIGFuIGlucHV0IG9yIGJ1dHRvbi5cbiAgICovXG4gICdzaXgtc2lkZWJhci1pbml0aWFsLWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhTaWRlYmFyRW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hyZWYnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1zaWRlYmFyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hyZWYnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4U2lkZWJhckl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhTaWRlYmFySXRlbSBleHRlbmRzIENvbXBvbmVudHMuU2l4U2lkZWJhckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaHJlZicsICdpY29uJywgJ25hbWUnLCAnb3BlbicsICdzdW1tYXJ5SWNvbicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXNpZGViYXItaXRlbS1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaHJlZicsICdpY29uJywgJ25hbWUnLCAnb3BlbicsICdzdW1tYXJ5SWNvbicsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhTaWRlYmFySXRlbUdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4U2lkZWJhckl0ZW1Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuU2l4U2lkZWJhckl0ZW1Hcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXgnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4U3Bpbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFNwaW5uZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFNwaW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3RhZ2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1zdGFnZS1pbmRpY2F0b3InLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0YWdlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFN0YWdlSW5kaWNhdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4U3RhZ2VJbmRpY2F0b3IgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFN0YWdlSW5kaWNhdG9yIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3JUZXh0JywgJ2Vycm9yVGV4dENvdW50JywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ3JlbW92ZUZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtc3dpdGNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4U3dpdGNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXN3aXRjaC1ibHVyJywgJ3NpeC1zd2l0Y2gtY2hhbmdlJywgJ3NpeC1zd2l0Y2gtZm9jdXMnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4U3dpdGNoRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFN3aXRjaCBleHRlbmRzIENvbXBvbmVudHMuU2l4U3dpdGNoIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBsb3NlcyBmb2N1cy5cbiAgICovXG4gICdzaXgtc3dpdGNoLWJsdXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sJ3MgY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgKi9cbiAgJ3NpeC1zd2l0Y2gtY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBnYWlucyBmb2N1cy5cbiAgICovXG4gICdzaXgtc3dpdGNoLWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhTd2l0Y2hFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Nsb3NhYmxlJywgJ2Rpc2FibGVkJywgJ3BhbmVsJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAncmVtb3ZlRm9jdXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjbG9zYWJsZScsICdkaXNhYmxlZCcsICdwYW5lbCddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhUYWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtdGFiLWNsb3NlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFRhYkVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhUYWIgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFRhYiB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRhYiBpcyBjbG9zYWJsZSBhbmQgdGhlIGNsb3NlIGJ1dHRvbiBpcyBhY3RpdmF0ZWQuXG4gICAqL1xuICAnc2l4LXRhYi1jbG9zZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VGFiRW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ25vU2Nyb2xsQ29udHJvbHMnLCAncGxhY2VtZW50J10sXG4gIG1ldGhvZHM6IFsnc2hvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXRhYi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbm9TY3JvbGxDb250cm9scycsICdwbGFjZW1lbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4VGFiR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtdGFiLXNob3cnLCAnc2l4LXRhYi1oaWRlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhUYWJTaG93UGF5bG9hZCBhcyBJU2l4VGFiR3JvdXBTaXhUYWJTaG93UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgdHlwZSB7IFNpeFRhYkhpZGVQYXlsb2FkIGFzIElTaXhUYWJHcm91cFNpeFRhYkhpZGVQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFRhYkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhUYWJHcm91cCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYSB0YWIgaXMgc2hvd24uXG4gICAqL1xuICAnc2l4LXRhYi1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUYWJHcm91cFNpeFRhYlNob3dQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYSB0YWIgaXMgaGlkZGVuLlxuICAgKi9cbiAgJ3NpeC10YWItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VGFiR3JvdXBTaXhUYWJIaWRlUGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnbmFtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXRhYi1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ25hbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4VGFiUGFuZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhUYWJQYW5lbCBleHRlbmRzIENvbXBvbmVudHMuU2l4VGFiUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xlYXJhYmxlJywgJ3BpbGwnLCAnc2l6ZScsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGVhcmFibGUnLCAncGlsbCcsICdzaXplJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4VGFnIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXRhZy1jbGVhciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhUYWdFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4VGFnIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhUYWcge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgYWN0aXZhdGVkLlxuICAgKi9cbiAgJ3NpeC10YWctY2xlYXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRhZ0VtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdoZWxwVGV4dCcsICdpbnB1dG1vZGUnLCAnaW52YWxpZCcsICdsYWJlbCcsICdtYXhsZW5ndGgnLCAnbWlubGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVzaXplJywgJ3Jvd3MnLCAnc2l6ZScsICdzcGVsbGNoZWNrJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAncmVtb3ZlRm9jdXMnLCAnc2VsZWN0JywgJ3NldFNlbGVjdGlvblJhbmdlJywgJ3NldFJhbmdlVGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXRleHRhcmVhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdoZWxwVGV4dCcsICdpbnB1dG1vZGUnLCAnaW52YWxpZCcsICdsYWJlbCcsICdtYXhsZW5ndGgnLCAnbWlubGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncmVzaXplJywgJ3Jvd3MnLCAnc2l6ZScsICdzcGVsbGNoZWNrJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFRleHRhcmVhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXRleHRhcmVhLWNoYW5nZScsICdzaXgtdGV4dGFyZWEtaW5wdXQnLCAnc2l4LXRleHRhcmVhLWZvY3VzJywgJ3NpeC10ZXh0YXJlYS1ibHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFRleHRhcmVhRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFRleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhUZXh0YXJlYSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wncyB2YWx1ZSBjaGFuZ2VzLiBBY2Nlc3MgdGhlIG5ldyB2YWx1ZSB2aWEgZXZlbnQudGFyZ2V0LnZhbHVlLlxuICAgKi9cbiAgJ3NpeC10ZXh0YXJlYS1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRleHRhcmVhRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgaW5wdXQuIEFjY2VzcyB0aGUgbmV3IHZhbHVlIHZpYSBldmVudC50YXJnZXQudmFsdWUuXG4gICAqL1xuICAnc2l4LXRleHRhcmVhLWlucHV0JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUZXh0YXJlYUVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGdhaW5zIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC10ZXh0YXJlYS1mb2N1cyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VGV4dGFyZWFFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBsb3NlcyBmb2N1cy4gQWNjZXNzIHRoZSBuZXcgdmFsdWUgdmlhIGV2ZW50LnRhcmdldC52YWx1ZS5cbiAgICovXG4gICdzaXgtdGV4dGFyZWEtYmx1cic6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VGV4dGFyZWFFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2Rpc2FibGVUb29sdGlwJywgJ2Rpc2FibGVkJywgJ2VsZXZhdGVkJywgJ2ljb25OYW1lJywgJ2xhYmVsJywgJ3NpemUnXSxcbiAgbWV0aG9kczogWydoaWRlJywgJ3Nob3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC10aWxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zZWFibGUnLCAnZGlzYWJsZVRvb2x0aXAnLCAnZGlzYWJsZWQnLCAnZWxldmF0ZWQnLCAnaWNvbk5hbWUnLCAnbGFiZWwnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhUaWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXRpbGUtY2xvc2VkJywgJ3NpeC10aWxlLXNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFRpbGVFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4VGlsZSBleHRlbmRzIENvbXBvbmVudHMuU2l4VGlsZSB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRpbGUgd2FzIGNsb3NlZC5cbiAgICovXG4gICdzaXgtdGlsZS1jbG9zZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRpbGVFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdGlsZSBpcyBzZWxlY3RlZC5cbiAgICovXG4gICdzaXgtdGlsZS1zZWxlY3RlZCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VGlsZUVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGVhcmFibGUnLCAnZGVib3VuY2UnLCAnZGVmYXVsdFRpbWUnLCAnZGlzYWJsZWQnLCAnZXJyb3JUZXh0JywgJ2Vycm9yVGV4dENvdW50JywgJ2Zvcm1hdCcsICdob2lzdCcsICdpY29uUG9zaXRpb24nLCAnaW5saW5lJywgJ2ludGVydmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbmFtZScsICdvcGVuJywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzZXBhcmF0b3InLCAnc2l6ZScsICd0aW1lb3V0JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC10aW1lcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGVhcmFibGUnLCAnZGVib3VuY2UnLCAnZGVmYXVsdFRpbWUnLCAnZGlzYWJsZWQnLCAnZXJyb3JUZXh0JywgJ2Vycm9yVGV4dENvdW50JywgJ2Zvcm1hdCcsICdob2lzdCcsICdpY29uUG9zaXRpb24nLCAnaW5saW5lJywgJ2ludGVydmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbmFtZScsICdvcGVuJywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzZXBhcmF0b3InLCAnc2l6ZScsICd0aW1lb3V0JywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFRpbWVwaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtdGltZXBpY2tlci1jaGFuZ2UnLCAnc2l4LXRpbWVwaWNrZXItY2hhbmdlLWRlYm91bmNlZCcsICdzaXgtdGltZXBpY2tlci1jbGVhciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU2l4VGltZXBpY2tlckNoYW5nZSBhcyBJU2l4VGltZXBpY2tlclNpeFRpbWVwaWNrZXJDaGFuZ2UgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFRpbWVwaWNrZXJFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4VGltZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuU2l4VGltZXBpY2tlciB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRpbWVwaWNrZXIncyB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICAnc2l4LXRpbWVwaWNrZXItY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUaW1lcGlja2VyU2l4VGltZXBpY2tlckNoYW5nZT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0aW1lcGlja2VyJ3MgdmFsdWUgY2hhbmdlcywgYnV0IGRlYm91bmNlZFxuICAgKi9cbiAgJ3NpeC10aW1lcGlja2VyLWNoYW5nZS1kZWJvdW5jZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRpbWVwaWNrZXJTaXhUaW1lcGlja2VyQ2hhbmdlPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBhY3RpdmF0ZWQuXG4gICAqL1xuICAnc2l4LXRpbWVwaWNrZXItY2xlYXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRpbWVwaWNrZXJFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudCcsICdkaXNhYmxlZCcsICdkaXN0YW5jZScsICdvcGVuJywgJ3BsYWNlbWVudCcsICdza2lkZGluZycsICd0cmlnZ2VyJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtdG9vbHRpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGVudCcsICdkaXNhYmxlZCcsICdkaXN0YW5jZScsICdvcGVuJywgJ3BsYWNlbWVudCcsICdza2lkZGluZycsICd0cmlnZ2VyJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtdG9vbHRpcC1zaG93JywgJ3NpeC10b29sdGlwLWFmdGVyLXNob3cnLCAnc2l4LXRvb2x0aXAtaGlkZScsICdzaXgtdG9vbHRpcC1hZnRlci1oaWRlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFRvb2x0aXBFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4VG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuU2l4VG9vbHRpcCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRvb2x0aXAgYmVnaW5zIHRvIHNob3cuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBpdCBmcm9tIGJlaW5nIHNob3duLlxuICAgKi9cbiAgJ3NpeC10b29sdGlwLXNob3cnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRvb2x0aXBFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIHRvb2x0aXAgaGFzIHNob3duIGFuZCBhbGwgdHJhbnNpdGlvbnMgYXJlIGNvbXBsZXRlLlxuICAgKi9cbiAgJ3NpeC10b29sdGlwLWFmdGVyLXNob3cnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRvb2x0aXBFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdG9vbHRpcCBiZWdpbnMgdG8gaGlkZS4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgaGlkZGVuLlxuICAgKi9cbiAgJ3NpeC10b29sdGlwLWhpZGUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRvb2x0aXBFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIHRvb2x0aXAgaGFzIGhpZGRlbiBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtdG9vbHRpcC1hZnRlci1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUb29sdGlwRW1wdHlQYXlsb2FkPj47XG59XG5cblxuIl19
1294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFnQmhFLFdBQU0sUUFBUSxHQUFkLE1BQU0sUUFBUTtJQUVuQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDcEgsQ0FBQzsrR0FOVSxRQUFRO21HQUFSLFFBQVEscUlBSlQsMkJBQTJCOztBQUkxQixRQUFRO0lBWHBCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUNoRCxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztLQUNuQyxDQUFDO0dBUVcsUUFBUSxDQU9wQjs0RkFQWSxRQUFRO2tCQVBwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxN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QUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO2lCQUN0Ujs7QUF5Q00sV0FBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUVyQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7SUFDNUgsQ0FBQzsrR0FOVSxVQUFVO21HQUFWLFVBQVUsK01BSlgsMkJBQTJCOztBQUkxQixVQUFVO0lBWHRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztRQUN2RixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO0tBQzFCLENBQUM7R0FRVyxVQUFVLENBT3RCOzRGQVBZLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztpQkFDeEYiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zYWJsZScsICdkdXJhdGlvbicsICdvcGVuJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9hc3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1hbGVydCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnZHVyYXRpb24nLCAnb3BlbicsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEFsZXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LWFsZXJ0LXNob3cnLCAnc2l4LWFsZXJ0LWFmdGVyLXNob3cnLCAnc2l4LWFsZXJ0LWhpZGUnLCAnc2l4LWFsZXJ0LWFmdGVyLWhpZGUnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4QWxlcnRFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4QWxlcnQgZXh0ZW5kcyBDb21wb25lbnRzLlNpeEFsZXJ0IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYWxlcnQgb3BlbnMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBpdCBmcm9tIGJlaW5nIG9wZW5lZC5cbiAgICovXG4gICdzaXgtYWxlcnQtc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4QWxlcnRFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFsZXJ0IG9wZW5zIGFuZCBhbGwgdHJhbnNpdGlvbnMgYXJlIGNvbXBsZXRlLlxuICAgKi9cbiAgJ3NpeC1hbGVydC1hZnRlci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhBbGVydEVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBhbGVydCBjbG9zZXMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBpdCBmcm9tIGJlaW5nIGNsb3NlZC5cbiAgICovXG4gICdzaXgtYWxlcnQtaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4QWxlcnRFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFsZXJ0IGNsb3NlcyBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtYWxlcnQtYWZ0ZXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4QWxlcnRFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWx0JywgJ2ltYWdlJywgJ2luaXRpYWxzJywgJ3NoYXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtYXZhdGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbHQnLCAnaW1hZ2UnLCAnaW5pdGlhbHMnLCAnc2hhcGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4QXZhdGFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4QXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhBdmF0YXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGlsbCcsICdwdWxzZScsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtYmFkZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3BpbGwnLCAncHVsc2UnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhCYWRnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEJhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhCYWRnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXJldCcsICdjaXJjbGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdsb2FkaW5nJywgJ25hbWUnLCAncGlsbCcsICdyZXNldCcsICdzaXplJywgJ3N1Ym1pdCcsICd0YXJnZXQnLCAndHlwZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ3JlbW92ZUZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYXJldCcsICdjaXJjbGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdsb2FkaW5nJywgJ25hbWUnLCAncGlsbCcsICdyZXNldCcsICdzaXplJywgJ3N1Ym1pdCcsICd0YXJnZXQnLCAndHlwZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtYnV0dG9uLWJsdXInLCAnc2l4LWJ1dHRvbi1mb2N1cyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhCdXR0b25FbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4QnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhCdXR0b24ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gbG9zZXMgZm9jdXMuXG4gICAqL1xuICAnc2l4LWJ1dHRvbi1ibHVyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhCdXR0b25FbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGdhaW5zIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1idXR0b24tZm9jdXMnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEJ1dHRvbkVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4Q2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeENhcmQgZXh0ZW5kcyBDb21wb25lbnRzLlNpeENhcmQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaW5kZXRlcm1pbmF0ZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdyZW1vdmVGb2N1cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWNoZWNrYm94JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdpbmRldGVybWluYXRlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhDaGVja2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1jaGVja2JveC1ibHVyJywgJ3NpeC1jaGVja2JveC1jaGFuZ2UnLCAnc2l4LWNoZWNrYm94LWZvY3VzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeENoZWNrYm94RW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeENoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5TaXhDaGVja2JveCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgbG9zZXMgZm9jdXMuXG4gICAqL1xuICAnc2l4LWNoZWNrYm94LWJsdXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeENoZWNrYm94RW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wncyBjaGVja2VkIHN0YXRlIGNoYW5nZXMuXG4gICAqL1xuICAnc2l4LWNoZWNrYm94LWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4Q2hlY2tib3hFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBnYWlucyBmb2N1cy5cbiAgICovXG4gICdzaXgtY2hlY2tib3gtZm9jdXMnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeENoZWNrYm94RW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93ZWREYXRlcycsICdjbGVhcmFibGUnLCAnY2xvc2VPblNlbGVjdCcsICdjb250YWluaW5nRWxlbWVudCcsICdkYXRlRm9ybWF0JywgJ2RlYm91bmNlJywgJ2RlZmF1bHREYXRlJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdob2lzdCcsICdpY29uUG9zaXRpb24nLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvcGVuJywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdzZWxlY3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1kYXRlcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd2VkRGF0ZXMnLCAnY2xlYXJhYmxlJywgJ2Nsb3NlT25TZWxlY3QnLCAnY29udGFpbmluZ0VsZW1lbnQnLCAnZGF0ZUZvcm1hdCcsICdkZWJvdW5jZScsICdkZWZhdWx0RGF0ZScsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaG9pc3QnLCAnaWNvblBvc2l0aW9uJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xvY2FsZScsICdtYXgnLCAnbWluJywgJ25hbWUnLCAnb3BlbicsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd0eXBlJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeERhdGVwaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtZGF0ZXBpY2tlci1zZWxlY3QnLCAnc2l4LWRhdGVwaWNrZXItY2xlYXInLCAnc2l4LWRhdGVwaWNrZXItYmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU2l4RGF0ZXBpY2tlclNlbGVjdFBheWxvYWQgYXMgSVNpeERhdGVwaWNrZXJTaXhEYXRlcGlja2VyU2VsZWN0UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4RGF0ZXBpY2tlckVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhEYXRlcGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhEYXRlcGlja2VyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIG9wdGlvbiBnb3Qgc2VsZWN0ZWQuXG4gICAqL1xuICAnc2l4LWRhdGVwaWNrZXItc2VsZWN0JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEYXRlcGlja2VyU2l4RGF0ZXBpY2tlclNlbGVjdFBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY2xlYXIgYnV0dG9uIGlzIGFjdGl2YXRlZC5cbiAgICovXG4gICdzaXgtZGF0ZXBpY2tlci1jbGVhcic6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGF0ZXBpY2tlckVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC5cbiAgICovXG4gICdzaXgtZGF0ZXBpY2tlci1ibHVyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEYXRlcGlja2VyU2l4RGF0ZXBpY2tlclNlbGVjdFBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGFzQ29udGVudCcsICdpbmxpbmUnLCAnb3BlbicsICdzZWxlY3RhYmxlRW1wdHknLCAnc3VtbWFyeScsICdzdW1tYXJ5SWNvbicsICdzdW1tYXJ5SWNvblNpemUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1kZXRhaWxzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdoYXNDb250ZW50JywgJ2lubGluZScsICdvcGVuJywgJ3NlbGVjdGFibGVFbXB0eScsICdzdW1tYXJ5JywgJ3N1bW1hcnlJY29uJywgJ3N1bW1hcnlJY29uU2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhEZXRhaWxzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LWRldGFpbHMtc2hvdycsICdzaXgtZGV0YWlscy1hZnRlci1zaG93JywgJ3NpeC1kZXRhaWxzLWhpZGUnLCAnc2l4LWRldGFpbHMtYWZ0ZXItaGlkZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhEZXRhaWxzRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeERldGFpbHMgZXh0ZW5kcyBDb21wb25lbnRzLlNpeERldGFpbHMge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkZXRhaWxzIG9wZW5zLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBvcGVuZWQuXG4gICAqL1xuICAnc2l4LWRldGFpbHMtc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGV0YWlsc0VtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCBhZnRlciB0aGUgZGV0YWlscyBvcGVucyBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtZGV0YWlscy1hZnRlci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEZXRhaWxzRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRldGFpbHMgY2xvc2VzLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBjbG9zZWQuXG4gICAqL1xuICAnc2l4LWRldGFpbHMtaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGV0YWlsc0VtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCBhZnRlciB0aGUgZGV0YWlscyBjbG9zZXMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LWRldGFpbHMtYWZ0ZXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGV0YWlsc0VtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCcsICdub0hlYWRlcicsICdvcGVuJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtZGlhbG9nJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYWJlbCcsICdub0hlYWRlcicsICdvcGVuJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeERpYWxvZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1kaWFsb2ctc2hvdycsICdzaXgtZGlhbG9nLWFmdGVyLXNob3cnLCAnc2l4LWRpYWxvZy1oaWRlJywgJ3NpeC1kaWFsb2ctYWZ0ZXItaGlkZScsICdzaXgtZGlhbG9nLWluaXRpYWwtZm9jdXMnLCAnc2l4LWRpYWxvZy1vdmVybGF5LWRpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4RGlhbG9nRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeERpYWxvZyBleHRlbmRzIENvbXBvbmVudHMuU2l4RGlhbG9nIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIG9wZW5zLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBvcGVuZWQuXG4gICAqL1xuICAnc2l4LWRpYWxvZy1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEaWFsb2dFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGRpYWxvZyBvcGVucyBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtZGlhbG9nLWFmdGVyLXNob3cnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERpYWxvZ0VtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgY2xvc2VzLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBjbG9zZWQuXG4gICAqL1xuICAnc2l4LWRpYWxvZy1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEaWFsb2dFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGRpYWxvZyBjbG9zZXMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LWRpYWxvZy1hZnRlci1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEaWFsb2dFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIG9wZW5zIGFuZCB0aGUgcGFuZWwgZ2FpbnMgZm9jdXMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBmb2N1cyBhbmRcbmFsbG93IHlvdSB0byBzZXQgaXQgb24gYSBkaWZmZXJlbnQgZWxlbWVudCBpbiB0aGUgZGlhbG9nLCBzdWNoIGFzIGFuIGlucHV0IG9yIGJ1dHRvbi5cbiAgICovXG4gICdzaXgtZGlhbG9nLWluaXRpYWwtZm9jdXMnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERpYWxvZ0VtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBvdmVybGF5IGlzIGNsaWNrZWQuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCB0aGUgZGlhbG9nIGZyb20gY2xvc2luZy5cbiAgICovXG4gICdzaXgtZGlhbG9nLW92ZXJsYXktZGlzbWlzcyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RGlhbG9nRW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lZCcsICdsYWJlbCcsICdub0hlYWRlcicsICdvcGVuJywgJ3BsYWNlbWVudCddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWRyYXdlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGFpbmVkJywgJ2xhYmVsJywgJ25vSGVhZGVyJywgJ29wZW4nLCAncGxhY2VtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeERyYXdlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1kcmF3ZXItc2hvdycsICdzaXgtZHJhd2VyLWFmdGVyLXNob3cnLCAnc2l4LWRyYXdlci1oaWRlJywgJ3NpeC1kcmF3ZXItYWZ0ZXItaGlkZScsICdzaXgtZHJhd2VyLWluaXRpYWwtZm9jdXMnLCAnc2l4LWRyYXdlci1vdmVybGF5LWRpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4RHJhd2VyRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeERyYXdlciBleHRlbmRzIENvbXBvbmVudHMuU2l4RHJhd2VyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZHJhd2VyIG9wZW5zLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBvcGVuZWQuXG4gICAqL1xuICAnc2l4LWRyYXdlci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcmF3ZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGRyYXdlciBvcGVucyBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtZHJhd2VyLWFmdGVyLXNob3cnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERyYXdlckVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkcmF3ZXIgY2xvc2VzLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBjbG9zZWQuXG4gICAqL1xuICAnc2l4LWRyYXdlci1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcmF3ZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGRyYXdlciBjbG9zZXMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LWRyYXdlci1hZnRlci1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcmF3ZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZHJhd2VyIG9wZW5zIGFuZCB0aGUgcGFuZWwgZ2FpbnMgZm9jdXMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBmb2N1cyBhbmRcbmFsbG93IHlvdSB0byBzZXQgaXQgb24gYSBkaWZmZXJlbnQgZWxlbWVudCBpbiB0aGUgZHJhd2VyLCBzdWNoIGFzIGFuIGlucHV0IG9yIGJ1dHRvbi5cbiAgICovXG4gICdzaXgtZHJhd2VyLWluaXRpYWwtZm9jdXMnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERyYXdlckVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBvdmVybGF5IGlzIGNsaWNrZWQuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCB0aGUgZHJhd2VyIGZyb20gY2xvc2luZy5cbiAgICovXG4gICdzaXgtZHJhd2VyLW92ZXJsYXktZGlzbWlzcyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RHJhd2VyRW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FzeW5jRmlsdGVyJywgJ2F1dG9mb2N1c0ZpbHRlcicsICdjbG9zZU9uU2VsZWN0JywgJ2NvbnRhaW5pbmdFbGVtZW50JywgJ2Rpc2FibGVIaWRlT25FbnRlckFuZFNwYWNlJywgJ2Rpc3RhbmNlJywgJ2ZpbHRlcicsICdmaWx0ZXJEZWJvdW5jZScsICdmaWx0ZXJQbGFjZWhvbGRlcicsICdob2lzdCcsICdtYXRjaFRyaWdnZXJXaWR0aCcsICdvcGVuJywgJ29wdGlvbnMnLCAncGxhY2VtZW50JywgJ3NraWRkaW5nJywgJ3ZpcnR1YWxTY3JvbGwnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAncmVwb3NpdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhc3luY0ZpbHRlcicsICdhdXRvZm9jdXNGaWx0ZXInLCAnY2xvc2VPblNlbGVjdCcsICdjb250YWluaW5nRWxlbWVudCcsICdkaXNhYmxlSGlkZU9uRW50ZXJBbmRTcGFjZScsICdkaXN0YW5jZScsICdmaWx0ZXInLCAnZmlsdGVyRGVib3VuY2UnLCAnZmlsdGVyUGxhY2Vob2xkZXInLCAnaG9pc3QnLCAnbWF0Y2hUcmlnZ2VyV2lkdGgnLCAnb3BlbicsICdvcHRpb25zJywgJ3BsYWNlbWVudCcsICdza2lkZGluZycsICd2aXJ0dWFsU2Nyb2xsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LWRyb3Bkb3duLXNob3cnLCAnc2l4LWRyb3Bkb3duLWFmdGVyLXNob3cnLCAnc2l4LWRyb3Bkb3duLWhpZGUnLCAnc2l4LWRyb3Bkb3duLWFmdGVyLWhpZGUnLCAnc2l4LWRyb3Bkb3duLWF1dG8tZmlsdGVyLWZpcmVkJywgJ3NpeC1hc3luYy1maWx0ZXItZmlyZWQnLCAnc2l4LWRyb3Bkb3duLXNjcm9sbCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhEcm9wZG93bkVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgdHlwZSB7IFNpeERyb3Bkb3duQXV0b0ZpbHRlclBheWxvYWQgYXMgSVNpeERyb3Bkb3duU2l4RHJvcGRvd25BdXRvRmlsdGVyUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgdHlwZSB7IFNpeERyb3Bkb3duQXN5bmNGaWx0ZXJQYXlsb2FkIGFzIElTaXhEcm9wZG93blNpeERyb3Bkb3duQXN5bmNGaWx0ZXJQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcbmltcG9ydCB0eXBlIHsgU2l4RHJvcGRvd25TY3JvbGxQYXlsb2FkIGFzIElTaXhEcm9wZG93blNpeERyb3Bkb3duU2Nyb2xsUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuU2l4RHJvcGRvd24ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBvcGVucy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgb3BlbmVkLlxuICAgKi9cbiAgJ3NpeC1kcm9wZG93bi1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcm9wZG93bkVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCBhZnRlciB0aGUgZHJvcGRvd24gb3BlbnMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LWRyb3Bkb3duLWFmdGVyLXNob3cnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERyb3Bkb3duRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGRyb3Bkb3duIGNsb3Nlcy4gQ2FsbGluZyBgZXZlbnQucHJldmVudERlZmF1bHQoKWAgd2lsbCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY2xvc2VkLlxuICAgKi9cbiAgJ3NpeC1kcm9wZG93bi1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcm9wZG93bkVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCBhZnRlciB0aGUgZHJvcGRvd24gY2xvc2VzIGFuZCBhbGwgdHJhbnNpdGlvbnMgYXJlIGNvbXBsZXRlLlxuICAgKi9cbiAgJ3NpeC1kcm9wZG93bi1hZnRlci1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhEcm9wZG93bkVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBhdXRvIGZpbHRlciBpcyB0cmlnZ2VyZWRcbiAgICovXG4gICdzaXgtZHJvcGRvd24tYXV0by1maWx0ZXItZmlyZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERyb3Bkb3duU2l4RHJvcGRvd25BdXRvRmlsdGVyUGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBhc3luYyBmaWx0ZXIgaXMgdHJpZ2dlcmVkXG4gICAqL1xuICAnc2l4LWFzeW5jLWZpbHRlci1maXJlZCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RHJvcGRvd25TaXhEcm9wZG93bkFzeW5jRmlsdGVyUGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB1c2VyIHNjcm9sbHMgaW5zaWRlIGRyb3Bkb3duIHBhbmVsLlxuICAgKi9cbiAgJ3NpeC1kcm9wZG93bi1zY3JvbGwnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeERyb3Bkb3duU2l4RHJvcGRvd25TY3JvbGxQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtZXJyb3InLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4RXJyb3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhFcnJvciBleHRlbmRzIENvbXBvbmVudHMuU2l4RXJyb3Ige31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3VzdG9tRGVzY3JpcHRpb24nLCAnY3VzdG9tSWNvbicsICdjdXN0b21UaXRsZScsICdlcnJvckNvZGUnLCAnbGFuZ3VhZ2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1lcnJvci1wYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdXN0b21EZXNjcmlwdGlvbicsICdjdXN0b21JY29uJywgJ2N1c3RvbVRpdGxlJywgJ2Vycm9yQ29kZScsICdsYW5ndWFnZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhFcnJvclBhZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhFcnJvclBhZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlNpeEVycm9yUGFnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWZpbGUtbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhGaWxlTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEZpbGVMaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5TaXhGaWxlTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXRlJywgJ2lkZW50aWZpZXInLCAnbmFtZScsICdub2RlbGV0ZScsICdub2Rvd25sb2FkJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1maWxlLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0ZScsICdpZGVudGlmaWVyJywgJ25hbWUnLCAnbm9kZWxldGUnLCAnbm9kb3dubG9hZCcsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEZpbGVMaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1maWxlLWxpc3QtaXRlbS1kb3dubG9hZCcsICdzaXgtZmlsZS1saXN0LWl0ZW0tcmVtb3ZlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhGaWxlTGlzdERvd25sb2FkUGF5bG9hZCBhcyBJU2l4RmlsZUxpc3RJdGVtU2l4RmlsZUxpc3REb3dubG9hZFBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBTaXhGaWxlTGlzdFJlbW92ZVBheWxvYWQgYXMgSVNpeEZpbGVMaXN0SXRlbVNpeEZpbGVMaXN0UmVtb3ZlUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhGaWxlTGlzdEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlNpeEZpbGVMaXN0SXRlbSB7XG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgb24gZmlsZSBkb3dubG9hZC5cbiAgICovXG4gICdzaXgtZmlsZS1saXN0LWl0ZW0tZG93bmxvYWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEZpbGVMaXN0SXRlbVNpeEZpbGVMaXN0RG93bmxvYWRQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgb24gZmlsZSByZW1vdmUuXG4gICAqL1xuICAnc2l4LWZpbGUtbGlzdC1pdGVtLXJlbW92ZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RmlsZUxpc3RJdGVtU2l4RmlsZUxpc3RSZW1vdmVQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdjb21wYWN0JywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ21heEZpbGVTaXplJywgJ211bHRpcGxlJywgJ3VwbG9hZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWZpbGUtdXBsb2FkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2NlcHQnLCAnY29tcGFjdCcsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnaW52YWxpZCcsICdsYWJlbCcsICdtYXhGaWxlU2l6ZScsICdtdWx0aXBsZScsICd1cGxvYWRpbmcnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4RmlsZVVwbG9hZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1maWxlLXVwbG9hZC1zdWNjZXNzJywgJ3NpeC1maWxlLXVwbG9hZC1mYWlsdXJlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhGaWxlVXBsb2FkU3VjY2Vzc1BheWxvYWQgYXMgSVNpeEZpbGVVcGxvYWRTaXhGaWxlVXBsb2FkU3VjY2Vzc1BheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBTaXhGaWxlVXBsb2FkRmFpbHVyZVBheWxvYWQgYXMgSVNpeEZpbGVVcGxvYWRTaXhGaWxlVXBsb2FkRmFpbHVyZVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4RmlsZVVwbG9hZCBleHRlbmRzIENvbXBvbmVudHMuU2l4RmlsZVVwbG9hZCB7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuIGEgZmlsZSBpcyBhZGRlZC5cbiAgICovXG4gICdzaXgtZmlsZS11cGxvYWQtc3VjY2Vzcyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4RmlsZVVwbG9hZFNpeEZpbGVVcGxvYWRTdWNjZXNzUGF5bG9hZD4+O1xuICAvKipcbiAgICogVHJpZ2dlcnMgd2hlbiBhbiB1cGxvYWRlZCBmaWxlIGRvZXNuJ3QgbWF0Y2ggTUlNRSB0eXBlIG9yIG1heCBmaWxlIHNpemUuXG4gICAqL1xuICAnc2l4LWZpbGUtdXBsb2FkLWZhaWx1cmUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEZpbGVVcGxvYWRTaXhGaWxlVXBsb2FkRmFpbHVyZVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4Rm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4Rm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhGb290ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGVscFRleHQnLCAnbGFiZWwnLCAncmVxdWlyZWQnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWdyb3VwLWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdoZWxwVGV4dCcsICdsYWJlbCcsICdyZXF1aXJlZCcsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEdyb3VwTGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhHcm91cExhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhHcm91cExhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZUxvZ28nLCAnaGlkZUhhbWJ1cmdlck1lbnUnLCAnb3BlbkhhbWJ1cmdlck1lbnUnLCAnb3BlblNlYXJjaCcsICdzaGlmdENvbnRlbnQnXSxcbiAgbWV0aG9kczogWydzZXRTZWFyY2hPcGVuU3RhdGUnLCAnZ2V0SXNTZWFyY2hPcGVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGlja2FibGVMb2dvJywgJ2hpZGVIYW1idXJnZXJNZW51JywgJ29wZW5IYW1idXJnZXJNZW51JywgJ29wZW5TZWFyY2gnLCAnc2hpZnRDb250ZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1oZWFkZXItYXBwLW5hbWUtY2xpY2tlZCcsICdzaXgtaGVhZGVyLWFwcC1zd2l0Y2hlci1zZWxlY3QnLCAnc2l4LWhlYWRlci1wcm9maWxlLXNlbGVjdCcsICdzaXgtaGVhZGVyLWhhbWJ1cmdlci1tZW51LWNsaWNrZWQnLCAnc2l4LWhlYWRlci1sb2dvLWNsaWNrZWQnLCAnc2l4LWhlYWRlci1zZWFyY2gtZmllbGQtdG9nZ2xlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeEhlYWRlckVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgdHlwZSB7IFNpeEhlYWRlckFwcFN3aXRjaGVyU2VsZWN0UGF5bG9hZCBhcyBJU2l4SGVhZGVyU2l4SGVhZGVyQXBwU3dpdGNoZXJTZWxlY3RQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcbmltcG9ydCB0eXBlIHsgU2l4SGVhZGVyUHJvZmlsZVNlbGVjdFBheWxvYWQgYXMgSVNpeEhlYWRlclNpeEhlYWRlclByb2ZpbGVTZWxlY3RQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcbmltcG9ydCB0eXBlIHsgU2l4SGVhZGVyU2VhcmNoRmllbGRUb2dnbGUgYXMgSVNpeEhlYWRlclNpeEhlYWRlclNlYXJjaEZpZWxkVG9nZ2xlIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuU2l4SGVhZGVyIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgbmFtZSBvZiB0aGUgc2VsZWN0ZWQgYXBwIGlzIGNsaWNrZWQuXG4gICAqL1xuICAnc2l4LWhlYWRlci1hcHAtbmFtZS1jbGlja2VkJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhIZWFkZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIG1lbnUgaXRlbSBpcyBpbiB0aGUgYXBwIHN3aXRjaGVyIG1lbnUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICAnc2l4LWhlYWRlci1hcHAtc3dpdGNoZXItc2VsZWN0JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhIZWFkZXJTaXhIZWFkZXJBcHBTd2l0Y2hlclNlbGVjdFBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIG1lbnUgaXRlbSBpcyBpbiB0aGUgcHJvZmlsZSBtZW51IGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgJ3NpeC1oZWFkZXItcHJvZmlsZS1zZWxlY3QnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEhlYWRlclNpeEhlYWRlclByb2ZpbGVTZWxlY3RQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGhhbWJ1cmdlciBtZW51IGlzIGNsaWNrZWQuXG4gICAqL1xuICAnc2l4LWhlYWRlci1oYW1idXJnZXItbWVudS1jbGlja2VkJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhIZWFkZXJFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaGVhZGVyIGxvZ28gaXMgY2xpY2tlZC5cbiAgICovXG4gICdzaXgtaGVhZGVyLWxvZ28tY2xpY2tlZCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4SGVhZGVyRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gc2VhcmNoIGZpZWxkIGlzIHRvZ2dsZWQuXG4gICAqL1xuICAnc2l4LWhlYWRlci1zZWFyY2gtZmllbGQtdG9nZ2xlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhIZWFkZXJTaXhIZWFkZXJTZWFyY2hGaWVsZFRvZ2dsZT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmaWxsZWQnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZpbGxlZCcsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2h0bWwnLCAnbGFiZWwnLCAnbmFtZScsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtaWNvbi1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2h0bWwnLCAnbGFiZWwnLCAnbmFtZScsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEljb25CdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhJY29uQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhJY29uQnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvY29ycmVjdCcsICdhdXRvZm9jdXMnLCAnY2xlYXJhYmxlJywgJ2Rpc2FibGVkJywgJ2Ryb3Bkb3duU2VhcmNoJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdoZWxwVGV4dCcsICdpbnB1dG1vZGUnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsaW5lJywgJ21heCcsICdtYXhsZW5ndGgnLCAnbWluJywgJ21pbmxlbmd0aCcsICduYW1lJywgJ3BhdHRlcm4nLCAncGlsbCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3NwZWxsY2hlY2snLCAnc3RlcCcsICd0b2dnbGVQYXNzd29yZCcsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAncmVtb3ZlRm9jdXMnLCAnc2VsZWN0JywgJ3NldFNlbGVjdGlvblJhbmdlJywgJ3NldFJhbmdlVGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2NsZWFyYWJsZScsICdkaXNhYmxlZCcsICdkcm9wZG93blNlYXJjaCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaGVscFRleHQnLCAnaW5wdXRtb2RlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGluZScsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BpbGwnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzcGVsbGNoZWNrJywgJ3N0ZXAnLCAndG9nZ2xlUGFzc3dvcmQnLCAndHlwZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1pbnB1dC1jaGFuZ2UnLCAnc2l4LWlucHV0LWNsZWFyJywgJ3NpeC1pbnB1dC1pbnB1dCcsICdzaXgtaW5wdXQtZm9jdXMnLCAnc2l4LWlucHV0LWJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4SW5wdXRFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4SW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLlNpeElucHV0IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCdzIHZhbHVlIGNoYW5nZXMuIEFjY2VzcyB0aGUgbmV3IHZhbHVlIHZpYSBldmVudC50YXJnZXQudmFsdWUuXG4gICAqL1xuICAnc2l4LWlucHV0LWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4SW5wdXRFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY2xlYXIgYnV0dG9uIGlzIGFjdGl2YXRlZC5cbiAgICovXG4gICdzaXgtaW5wdXQtY2xlYXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeElucHV0RW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgaW5wdXQuIEFjY2VzcyB0aGUgbmV3IHZhbHVlIHZpYSBldmVudC50YXJnZXQudmFsdWUuXG4gICAqL1xuICAnc2l4LWlucHV0LWlucHV0JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhJbnB1dEVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGdhaW5zIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1pbnB1dC1mb2N1cyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4SW5wdXRFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBsb3NlcyBmb2N1cy4gQWNjZXNzIHRoZSBuZXcgdmFsdWUgdmlhIGV2ZW50LnRhcmdldC52YWx1ZS5cbiAgICovXG4gICdzaXgtaW5wdXQtYmx1cic6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4SW5wdXRFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVib3VuY2UnLCAnaW50ZXJ2YWwnLCAnaXRlbXMnLCAnbWF4JywgJ21pbicsICdwYWRkZWQnLCAncGFkZGluZ0NoYXInLCAncGFkZGluZ0RpcmVjdGlvbicsICdwYWRkaW5nTGVuZ3RoJywgJ3JvdW5kdHJpcCcsICdzdGVwJywgJ3RpbWVvdXQnLCAndHlwZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LWl0ZW0tcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWJvdW5jZScsICdpbnRlcnZhbCcsICdpdGVtcycsICdtYXgnLCAnbWluJywgJ3BhZGRlZCcsICdwYWRkaW5nQ2hhcicsICdwYWRkaW5nRGlyZWN0aW9uJywgJ3BhZGRpbmdMZW5ndGgnLCAncm91bmR0cmlwJywgJ3N0ZXAnLCAndGltZW91dCcsICd0eXBlJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeEl0ZW1QaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtaXRlbS1waWNrZXItY2hhbmdlJywgJ3NpeC1pdGVtLXBpY2tlci1jaGFuZ2UtZGVib3VuY2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhJdGVtUGlja2VyQ2hhbmdlUGF5bG9hZCBhcyBJU2l4SXRlbVBpY2tlclNpeEl0ZW1QaWNrZXJDaGFuZ2VQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeEl0ZW1QaWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNpeEl0ZW1QaWNrZXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpdGVtIHBpY2tlcidzIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gICdzaXgtaXRlbS1waWNrZXItY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhJdGVtUGlja2VyU2l4SXRlbVBpY2tlckNoYW5nZVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaXRlbSBwaWNrZXIncyB2YWx1ZSBjaGFuZ2VzLCBidXQgZGVib3VuY2VkXG4gICAqL1xuICAnc2l4LWl0ZW0tcGlja2VyLWNoYW5nZS1kZWJvdW5jZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeEl0ZW1QaWNrZXJTaXhJdGVtUGlja2VyQ2hhbmdlUGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYW5ndWFnZXMnLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1sYW5ndWFnZS1zd2l0Y2hlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFuZ3VhZ2VzJywgJ3NlbGVjdGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeExhbmd1YWdlU3dpdGNoZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtbGFuZ3VhZ2Utc3dpdGNoZXItY2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhMYW5ndWFnZVN3aXRjaGVyQ2hhbmdlUGF5bG9hZCBhcyBJU2l4TGFuZ3VhZ2VTd2l0Y2hlclNpeExhbmd1YWdlU3dpdGNoZXJDaGFuZ2VQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeExhbmd1YWdlU3dpdGNoZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNpeExhbmd1YWdlU3dpdGNoZXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBsYW5ndWFnZSBzd2l0Y2hlcnMgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgJ3NpeC1sYW5ndWFnZS1zd2l0Y2hlci1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeExhbmd1YWdlU3dpdGNoZXJTaXhMYW5ndWFnZVN3aXRjaGVyQ2hhbmdlUGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2x1bW5zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtbGF5b3V0LWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbHVtbnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4TGF5b3V0R3JpZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeExheW91dEdyaWQgZXh0ZW5kcyBDb21wb25lbnRzLlNpeExheW91dEdyaWQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGFkZGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtbWFpbi1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3BhZGRlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhNYWluQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4TWFpbkNvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuU2l4TWFpbkNvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlS2V5Ym9hcmRIYW5kbGluZycsICdpdGVtU2l6ZScsICdpdGVtcycsICdpdGVtc1Nob3duJywgJ3JlbW92ZUJveFNoYWRvdycsICdzY3JvbGxpbmdEZWJvdW5jZScsICd2aXJ0dWFsU2Nyb2xsJ10sXG4gIG1ldGhvZHM6IFsndHlwZVRvU2VsZWN0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZUtleWJvYXJkSGFuZGxpbmcnLCAnaXRlbVNpemUnLCAnaXRlbXMnLCAnaXRlbXNTaG93bicsICdyZW1vdmVCb3hTaGFkb3cnLCAnc2Nyb2xsaW5nRGVib3VuY2UnLCAndmlydHVhbFNjcm9sbCddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LW1lbnUtaXRlbS1zZWxlY3RlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU2l4TWVudUl0ZW1TZWxlY3RlZFBheWxvYWQgYXMgSVNpeE1lbnVTaXhNZW51SXRlbVNlbGVjdGVkUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5TaXhNZW51IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIG1lbnUgaXRlbSBpcyBzZWxlY3RlZC5cbiAgICovXG4gICdzaXgtbWVudS1pdGVtLXNlbGVjdGVkJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhNZW51U2l4TWVudUl0ZW1TZWxlY3RlZFBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1tZW51LWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4TWVudURpdmlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhNZW51RGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuU2l4TWVudURpdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tUeXBlJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdyZW1vdmVGb2N1cycsICdnZXRUZXh0TGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrVHlwZScsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeE1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4TWVudUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlNpeE1lbnVJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtbWVudS1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhNZW51TGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhNZW51TGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlNpeE1lbnVMYWJlbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtcGljdG8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4UGljdG8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhQaWN0byBleHRlbmRzIENvbXBvbmVudHMuU2l4UGljdG8ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW5kZXRlcm1pbmF0ZScsICdwZXJjZW50YWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtcHJvZ3Jlc3MtYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbmRldGVybWluYXRlJywgJ3BlcmNlbnRhZ2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4UHJvZ3Jlc3NCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhQcm9ncmVzc0JhciBleHRlbmRzIENvbXBvbmVudHMuU2l4UHJvZ3Jlc3NCYXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGVyY2VudGFnZScsICdzaXplJywgJ3N0cm9rZVdpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtcHJvZ3Jlc3MtcmluZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncGVyY2VudGFnZScsICdzaXplJywgJ3N0cm9rZVdpZHRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFByb2dyZXNzUmluZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFByb2dyZXNzUmluZyBleHRlbmRzIENvbXBvbmVudHMuU2l4UHJvZ3Jlc3NSaW5nIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICduYW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAncmVtb3ZlRm9jdXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ25hbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4UmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtcmFkaW8tYmx1cicsICdzaXgtcmFkaW8tY2hhbmdlJywgJ3NpeC1yYWRpby1mb2N1cyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhSYWRpb0VtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhSYWRpbyBleHRlbmRzIENvbXBvbmVudHMuU2l4UmFkaW8ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1yYWRpby1ibHVyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhSYWRpb0VtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sJ3MgY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLlxuICAgKi9cbiAgJ3NpeC1yYWRpby1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFJhZGlvRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgZ2FpbnMgZm9jdXMuXG4gICAqL1xuICAnc2l4LXJhZGlvLWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhSYWRpb0VtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaGVscFRleHQnLCAnaW52YWxpZCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncmVxdWlyZWQnLCAnc3RlcCcsICd0b29sdGlwJywgJ3Rvb2x0aXBGb3JtYXR0ZXInLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdyZW1vdmVGb2N1cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXJhbmdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaGVscFRleHQnLCAnaW52YWxpZCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ25hbWUnLCAncmVxdWlyZWQnLCAnc3RlcCcsICd0b29sdGlwJywgJ3Rvb2x0aXBGb3JtYXR0ZXInLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4UmFuZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtcmFuZ2UtY2hhbmdlJywgJ3NpeC1yYW5nZS1ibHVyJywgJ3NpeC1yYW5nZS1mb2N1cyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhSYW5nZUVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhSYW5nZSBleHRlbmRzIENvbXBvbmVudHMuU2l4UmFuZ2Uge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gICdzaXgtcmFuZ2UtY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhSYW5nZUVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1yYW5nZS1ibHVyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhSYW5nZUVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIGdhaW5zIGZvY3VzLlxuICAgKi9cbiAgJ3NpeC1yYW5nZS1mb2N1cyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4UmFuZ2VFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGFkZGVkJywgJ3N0YWdlJywgJ3ZlcnNpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1yb290JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwYWRkZWQnLCAnc3RhZ2UnLCAndmVyc2lvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhSb290IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4Um9vdCBleHRlbmRzIENvbXBvbmVudHMuU2l4Um9vdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGVhcmFibGUnLCAnZGVib3VuY2UnLCAnZGlzYWJsZWQnLCAncGxhY2Vob2xkZXInLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1zZWFyY2gtZmllbGQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsZWFyYWJsZScsICdkZWJvdW5jZScsICdkaXNhYmxlZCcsICdwbGFjZWhvbGRlcicsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhTZWFyY2hGaWVsZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1zZWFyY2gtZmllbGQtY2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTaXhTZWFyY2hGaWVsZENoYW5nZVBheWxvYWQgYXMgSVNpeFNlYXJjaEZpZWxkU2l4U2VhcmNoRmllbGRDaGFuZ2VQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFNlYXJjaEZpZWxkIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhTZWFyY2hGaWVsZCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYSBzZWFyY2ggaXMgdHJpZ2dlcmVkXG4gICAqL1xuICAnc2l4LXNlYXJjaC1maWVsZC1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFNlYXJjaEZpZWxkU2l4U2VhcmNoRmllbGRDaGFuZ2VQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FzeW5jRmlsdGVyJywgJ2F1dG9jb21wbGV0ZScsICdjbGVhcmFibGUnLCAnZGlzYWJsZWQnLCAnZXJyb3JUZXh0JywgJ2Vycm9yVGV4dENvdW50JywgJ2ZpbHRlcicsICdmaWx0ZXJEZWJvdW5jZScsICdmaWx0ZXJQbGFjZWhvbGRlcicsICdoZWxwVGV4dCcsICdob2lzdCcsICdpbnB1dERlYm91bmNlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGluZScsICdtYXhUYWdzVmlzaWJsZScsICdtdWx0aXBsZScsICduYW1lJywgJ29wdGlvbnMnLCAncGlsbCcsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICdzZWxlY3RBbGxCdXR0b24nLCAnc2VsZWN0QWxsVGV4dCcsICdzaXplJywgJ3ZhbHVlJywgJ3ZpcnR1YWxTY3JvbGwnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXN5bmNGaWx0ZXInLCAnYXV0b2NvbXBsZXRlJywgJ2NsZWFyYWJsZScsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnZmlsdGVyJywgJ2ZpbHRlckRlYm91bmNlJywgJ2ZpbHRlclBsYWNlaG9sZGVyJywgJ2hlbHBUZXh0JywgJ2hvaXN0JywgJ2lucHV0RGVib3VuY2UnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsaW5lJywgJ21heFRhZ3NWaXNpYmxlJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3B0aW9ucycsICdwaWxsJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJywgJ3NlbGVjdEFsbEJ1dHRvbicsICdzZWxlY3RBbGxUZXh0JywgJ3NpemUnLCAndmFsdWUnLCAndmlydHVhbFNjcm9sbCddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhTZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaXgtc2VsZWN0LWNoYW5nZScsICdzaXgtc2VsZWN0LWZvY3VzJywgJ3NpeC1zZWxlY3QtYmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU2l4U2VsZWN0Q2hhbmdlUGF5bG9hZCBhcyBJU2l4U2VsZWN0U2l4U2VsZWN0Q2hhbmdlUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4U2VsZWN0RW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFNlbGVjdCBleHRlbmRzIENvbXBvbmVudHMuU2l4U2VsZWN0IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCdzIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICAnc2l4LXNlbGVjdC1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFNlbGVjdFNpeFNlbGVjdENoYW5nZVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBnYWlucyBmb2N1cy5cbiAgICovXG4gICdzaXgtc2VsZWN0LWZvY3VzJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhTZWxlY3RFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBsb3NlcyBmb2N1cy5cbiAgICovXG4gICdzaXgtc2VsZWN0LWJsdXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFNlbGVjdEVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydvcGVuJywgJ3Bvc2l0aW9uJywgJ3RvZ2dsZWQnLCAnd2lkdGgnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnLCAnc2hvdycsICdoaWRlJywgJ3NlbGVjdEl0ZW1CeUluZGV4JywgJ3NlbGVjdEl0ZW1CeU5hbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1zaWRlYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydvcGVuJywgJ3Bvc2l0aW9uJywgJ3RvZ2dsZWQnLCAnd2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4U2lkZWJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1zaWRlYmFyLXNob3cnLCAnc2l4LXNpZGViYXItYWZ0ZXItc2hvdycsICdzaXgtc2lkZWJhci1oaWRlJywgJ3NpeC1zaWRlYmFyLWFmdGVyLWhpZGUnLCAnc2l4LXNpZGViYXItaW5pdGlhbC1mb2N1cyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhTaWRlYmFyRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFNpZGViYXIgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFNpZGViYXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzaWRlYmFyIG9wZW5zLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBvcGVuZWQuXG4gICAqL1xuICAnc2l4LXNpZGViYXItc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4U2lkZWJhckVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCBhZnRlciB0aGUgc2lkZWJhciBvcGVucyBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtc2lkZWJhci1hZnRlci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhTaWRlYmFyRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNpZGViYXIgY2xvc2VzLiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBjbG9zZWQuXG4gICAqL1xuICAnc2l4LXNpZGViYXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4U2lkZWJhckVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCBhZnRlciB0aGUgc2lkZWJhciBjbG9zZXMgYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LXNpZGViYXItYWZ0ZXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4U2lkZWJhckVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzaWRlYmFyIG9wZW5zIGFuZCB0aGUgcGFuZWwgZ2FpbnMgZm9jdXMuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBmb2N1cyBhbmRcbmFsbG93IHlvdSB0byBzZXQgaXQgb24gYSBkaWZmZXJlbnQgZWxlbWVudCBpbiB0aGUgc2lkZWJhciwgc3VjaCBhcyBhbiBpbnB1dCBvciBidXR0b24uXG4gICAqL1xuICAnc2l4LXNpZGViYXItaW5pdGlhbC1mb2N1cyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4U2lkZWJhckVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdocmVmJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtc2lkZWJhci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdocmVmJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFNpZGViYXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4U2lkZWJhckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlNpeFNpZGViYXJJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnaWNvbicsICduYW1lJywgJ29wZW4nLCAnc3VtbWFyeUljb24nLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC1zaWRlYmFyLWl0ZW0tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnaWNvbicsICduYW1lJywgJ29wZW4nLCAnc3VtbWFyeUljb24nLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4U2lkZWJhckl0ZW1Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFNpZGViYXJJdGVtR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFNpZGViYXJJdGVtR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2l4J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtc3Bpbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l4J10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFNwaW5uZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhTcGlubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhTcGlubmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3N0YWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtc3RhZ2UtaW5kaWNhdG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzdGFnZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhTdGFnZUluZGljYXRvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFN0YWdlSW5kaWNhdG9yIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhTdGFnZUluZGljYXRvciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cycsICdyZW1vdmVGb2N1cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXN3aXRjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaW52YWxpZCcsICdsYWJlbCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFN3aXRjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC1zd2l0Y2gtYmx1cicsICdzaXgtc3dpdGNoLWNoYW5nZScsICdzaXgtc3dpdGNoLWZvY3VzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBFbXB0eVBheWxvYWQgYXMgSVNpeFN3aXRjaEVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLlNpeFN3aXRjaCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgbG9zZXMgZm9jdXMuXG4gICAqL1xuICAnc2l4LXN3aXRjaC1ibHVyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCdzIGNoZWNrZWQgc3RhdGUgY2hhbmdlcy5cbiAgICovXG4gICdzaXgtc3dpdGNoLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgZ2FpbnMgZm9jdXMuXG4gICAqL1xuICAnc2l4LXN3aXRjaC1mb2N1cyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4U3dpdGNoRW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjbG9zYWJsZScsICdkaXNhYmxlZCcsICdwYW5lbCddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ3JlbW92ZUZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtdGFiJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnY2xvc2FibGUnLCAnZGlzYWJsZWQnLCAncGFuZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4VGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXRhYi1jbG9zZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhUYWJFbXB0eVBheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4VGFiIGV4dGVuZHMgQ29tcG9uZW50cy5TaXhUYWIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0YWIgaXMgY2xvc2FibGUgYW5kIHRoZSBjbG9zZSBidXR0b24gaXMgYWN0aXZhdGVkLlxuICAgKi9cbiAgJ3NpeC10YWItY2xvc2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRhYkVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydub1Njcm9sbENvbnRyb2xzJywgJ3BsYWNlbWVudCddLFxuICBtZXRob2RzOiBbJ3Nob3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC10YWItZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ25vU2Nyb2xsQ29udHJvbHMnLCAncGxhY2VtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFRhYkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXRhYi1zaG93JywgJ3NpeC10YWItaGlkZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU2l4VGFiU2hvd1BheWxvYWQgYXMgSVNpeFRhYkdyb3VwU2l4VGFiU2hvd1BheWxvYWQgfSBmcm9tICdAc2l4LWdyb3VwL3VpLWxpYnJhcnknO1xuaW1wb3J0IHR5cGUgeyBTaXhUYWJIaWRlUGF5bG9hZCBhcyBJU2l4VGFiR3JvdXBTaXhUYWJIaWRlUGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhUYWJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuU2l4VGFiR3JvdXAge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGEgdGFiIGlzIHNob3duLlxuICAgKi9cbiAgJ3NpeC10YWItc2hvdyc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VGFiR3JvdXBTaXhUYWJTaG93UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGEgdGFiIGlzIGhpZGRlbi5cbiAgICovXG4gICdzaXgtdGFiLWhpZGUnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRhYkdyb3VwU2l4VGFiSGlkZVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ25hbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC10YWItcGFuZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICduYW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFRhYlBhbmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU2l4VGFiUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFRhYlBhbmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyYWJsZScsICdwaWxsJywgJ3NpemUnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXRhZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xlYXJhYmxlJywgJ3BpbGwnLCAnc2l6ZScsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpeFRhZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC10YWctY2xlYXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEVtcHR5UGF5bG9hZCBhcyBJU2l4VGFnRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFRhZyBleHRlbmRzIENvbXBvbmVudHMuU2l4VGFnIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY2xlYXIgYnV0dG9uIGlzIGFjdGl2YXRlZC5cbiAgICovXG4gICdzaXgtdGFnLWNsZWFyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUYWdFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2NhcGl0YWxpemUnLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9jb3JyZWN0JywgJ2F1dG9mb2N1cycsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaGVscFRleHQnLCAnaW5wdXRtb2RlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbWF4bGVuZ3RoJywgJ21pbmxlbmd0aCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jlc2l6ZScsICdyb3dzJywgJ3NpemUnLCAnc3BlbGxjaGVjaycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJywgJ3JlbW92ZUZvY3VzJywgJ3NlbGVjdCcsICdzZXRTZWxlY3Rpb25SYW5nZScsICdzZXRSYW5nZVRleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpeC10ZXh0YXJlYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2NhcGl0YWxpemUnLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9jb3JyZWN0JywgJ2F1dG9mb2N1cycsICdkaXNhYmxlZCcsICdlcnJvclRleHQnLCAnZXJyb3JUZXh0Q291bnQnLCAnaGVscFRleHQnLCAnaW5wdXRtb2RlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbWF4bGVuZ3RoJywgJ21pbmxlbmd0aCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jlc2l6ZScsICdyb3dzJywgJ3NpemUnLCAnc3BlbGxjaGVjaycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhUZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC10ZXh0YXJlYS1jaGFuZ2UnLCAnc2l4LXRleHRhcmVhLWlucHV0JywgJ3NpeC10ZXh0YXJlYS1mb2N1cycsICdzaXgtdGV4dGFyZWEtYmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhUZXh0YXJlYUVtcHR5UGF5bG9hZCB9IGZyb20gJ0BzaXgtZ3JvdXAvdWktbGlicmFyeSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTaXhUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuU2l4VGV4dGFyZWEge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgY2hhbmdlcy4gQWNjZXNzIHRoZSBuZXcgdmFsdWUgdmlhIGV2ZW50LnRhcmdldC52YWx1ZS5cbiAgICovXG4gICdzaXgtdGV4dGFyZWEtY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUZXh0YXJlYUVtcHR5UGF5bG9hZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGlucHV0LiBBY2Nlc3MgdGhlIG5ldyB2YWx1ZSB2aWEgZXZlbnQudGFyZ2V0LnZhbHVlLlxuICAgKi9cbiAgJ3NpeC10ZXh0YXJlYS1pbnB1dCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VGV4dGFyZWFFbXB0eVBheWxvYWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY29udHJvbCBnYWlucyBmb2N1cy5cbiAgICovXG4gICdzaXgtdGV4dGFyZWEtZm9jdXMnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRleHRhcmVhRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGNvbnRyb2wgbG9zZXMgZm9jdXMuIEFjY2VzcyB0aGUgbmV3IHZhbHVlIHZpYSBldmVudC50YXJnZXQudmFsdWUuXG4gICAqL1xuICAnc2l4LXRleHRhcmVhLWJsdXInOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRleHRhcmVhRW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlYWJsZScsICdkaXNhYmxlVG9vbHRpcCcsICdkaXNhYmxlZCcsICdlbGV2YXRlZCcsICdpY29uTmFtZScsICdsYWJlbCcsICdzaXplJ10sXG4gIG1ldGhvZHM6IFsnaGlkZScsICdzaG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtdGlsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2Rpc2FibGVUb29sdGlwJywgJ2Rpc2FibGVkJywgJ2VsZXZhdGVkJywgJ2ljb25OYW1lJywgJ2xhYmVsJywgJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2l4VGlsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpeC10aWxlLWNsb3NlZCcsICdzaXgtdGlsZS1zZWxlY3RlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhUaWxlRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFRpbGUgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFRpbGUge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0aWxlIHdhcyBjbG9zZWQuXG4gICAqL1xuICAnc2l4LXRpbGUtY2xvc2VkJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUaWxlRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRpbGUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICAnc2l4LXRpbGUtc2VsZWN0ZWQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVNpeFRpbGVFbXB0eVBheWxvYWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xlYXJhYmxlJywgJ2RlYm91bmNlJywgJ2RlZmF1bHRUaW1lJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdmb3JtYXQnLCAnaG9pc3QnLCAnaWNvblBvc2l0aW9uJywgJ2lubGluZScsICdpbnRlcnZhbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ25hbWUnLCAnb3BlbicsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2VwYXJhdG9yJywgJ3NpemUnLCAndGltZW91dCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaXgtdGltZXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xlYXJhYmxlJywgJ2RlYm91bmNlJywgJ2RlZmF1bHRUaW1lJywgJ2Rpc2FibGVkJywgJ2Vycm9yVGV4dCcsICdlcnJvclRleHRDb3VudCcsICdmb3JtYXQnLCAnaG9pc3QnLCAnaWNvblBvc2l0aW9uJywgJ2lubGluZScsICdpbnRlcnZhbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ25hbWUnLCAnb3BlbicsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2VwYXJhdG9yJywgJ3NpemUnLCAndGltZW91dCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhUaW1lcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXRpbWVwaWNrZXItY2hhbmdlJywgJ3NpeC10aW1lcGlja2VyLWNoYW5nZS1kZWJvdW5jZWQnLCAnc2l4LXRpbWVwaWNrZXItY2xlYXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFNpeFRpbWVwaWNrZXJDaGFuZ2UgYXMgSVNpeFRpbWVwaWNrZXJTaXhUaW1lcGlja2VyQ2hhbmdlIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhUaW1lcGlja2VyRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFRpbWVwaWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFRpbWVwaWNrZXIge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0aW1lcGlja2VyJ3MgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgJ3NpeC10aW1lcGlja2VyLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VGltZXBpY2tlclNpeFRpbWVwaWNrZXJDaGFuZ2U+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdGltZXBpY2tlcidzIHZhbHVlIGNoYW5nZXMsIGJ1dCBkZWJvdW5jZWRcbiAgICovXG4gICdzaXgtdGltZXBpY2tlci1jaGFuZ2UtZGVib3VuY2VkJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUaW1lcGlja2VyU2l4VGltZXBpY2tlckNoYW5nZT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgYWN0aXZhdGVkLlxuICAgKi9cbiAgJ3NpeC10aW1lcGlja2VyLWNsZWFyJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUaW1lcGlja2VyRW1wdHlQYXlsb2FkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2tpZGRpbmcnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2l4LXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2tpZGRpbmcnLCAndHJpZ2dlciddLFxufSlcbmV4cG9ydCBjbGFzcyBTaXhUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2l4LXRvb2x0aXAtc2hvdycsICdzaXgtdG9vbHRpcC1hZnRlci1zaG93JywgJ3NpeC10b29sdGlwLWhpZGUnLCAnc2l4LXRvb2x0aXAtYWZ0ZXItaGlkZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRW1wdHlQYXlsb2FkIGFzIElTaXhUb29sdGlwRW1wdHlQYXlsb2FkIH0gZnJvbSAnQHNpeC1ncm91cC91aS1saWJyYXJ5JztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNpeFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlNpeFRvb2x0aXAge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0b29sdGlwIGJlZ2lucyB0byBzaG93LiBDYWxsaW5nIGBldmVudC5wcmV2ZW50RGVmYXVsdCgpYCB3aWxsIHByZXZlbnQgaXQgZnJvbSBiZWluZyBzaG93bi5cbiAgICovXG4gICdzaXgtdG9vbHRpcC1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUb29sdGlwRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSB0b29sdGlwIGhhcyBzaG93biBhbmQgYWxsIHRyYW5zaXRpb25zIGFyZSBjb21wbGV0ZS5cbiAgICovXG4gICdzaXgtdG9vbHRpcC1hZnRlci1zaG93JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUb29sdGlwRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRvb2x0aXAgYmVnaW5zIHRvIGhpZGUuIENhbGxpbmcgYGV2ZW50LnByZXZlbnREZWZhdWx0KClgIHdpbGwgcHJldmVudCBpdCBmcm9tIGJlaW5nIGhpZGRlbi5cbiAgICovXG4gICdzaXgtdG9vbHRpcC1oaWRlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTaXhUb29sdGlwRW1wdHlQYXlsb2FkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRoZSB0b29sdGlwIGhhcyBoaWRkZW4gYW5kIGFsbCB0cmFuc2l0aW9ucyBhcmUgY29tcGxldGUuXG4gICAqL1xuICAnc2l4LXRvb2x0aXAtYWZ0ZXItaGlkZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU2l4VG9vbHRpcEVtcHR5UGF5bG9hZD4+O1xufVxuXG5cbiJdfQ==