@tet/tet-components-angular 1.3.15-testing → 1.3.16-staging
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.
|
@@ -11,11 +11,11 @@ export let TetAccordion = class TetAccordion {
|
|
|
11
11
|
this.el = r.nativeElement;
|
|
12
12
|
}
|
|
13
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TetAccordion, 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.9", type: TetAccordion, selector: "tet-accordion", inputs: { breakpoint: "breakpoint", header: "header", headerImageAlt: "headerImageAlt", headerImageSrc: "headerImageSrc", headingTag: "headingTag", isOpen: "isOpen", theme: "theme", withAutoScroll: "withAutoScroll", withBorder: "withBorder" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetAccordion, selector: "tet-accordion", inputs: { breakpoint: "breakpoint", header: "header", headerImageAlt: "headerImageAlt", headerImageSrc: "headerImageSrc", headingTag: "headingTag", isOpen: "isOpen", theme: "theme", transparentBackground: "transparentBackground", withAutoScroll: "withAutoScroll", withBorder: "withBorder" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
15
|
};
|
|
16
16
|
TetAccordion = __decorate([
|
|
17
17
|
ProxyCmp({
|
|
18
|
-
inputs: ['breakpoint', 'header', 'headerImageAlt', 'headerImageSrc', 'headingTag', 'isOpen', 'theme', 'withAutoScroll', 'withBorder'],
|
|
18
|
+
inputs: ['breakpoint', 'header', 'headerImageAlt', 'headerImageSrc', 'headingTag', 'isOpen', 'theme', 'transparentBackground', 'withAutoScroll', 'withBorder'],
|
|
19
19
|
methods: ['open', 'close', 'toggle', 'getState', 'setState']
|
|
20
20
|
})
|
|
21
21
|
], TetAccordion);
|
|
@@ -26,7 +26,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
26
26
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
27
27
|
template: '<ng-content></ng-content>',
|
|
28
28
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
29
|
-
inputs: ['breakpoint', 'header', 'headerImageAlt', 'headerImageSrc', 'headingTag', 'isOpen', 'theme', 'withAutoScroll', 'withBorder'],
|
|
29
|
+
inputs: ['breakpoint', 'header', 'headerImageAlt', 'headerImageSrc', 'headingTag', 'isOpen', 'theme', 'transparentBackground', 'withAutoScroll', 'withBorder'],
|
|
30
30
|
}]
|
|
31
31
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
32
32
|
export let TetAddressSearch = class TetAddressSearch {
|
|
@@ -934,11 +934,11 @@ export let TetNumberInput = class TetNumberInput {
|
|
|
934
934
|
proxyOutputs(this, this.el, ['inputValueChanged']);
|
|
935
935
|
}
|
|
936
936
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TetNumberInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
937
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetNumberInput, selector: "tet-number-input", inputs: { accessibilityLabel: "accessibilityLabel", buttonAccessibilityLabel: "buttonAccessibilityLabel", completed: "completed", disabled: "disabled", error: "error", helperText: "helperText", label: "label", max: "max", min: "min", selectOnFocus: "selectOnFocus", suffixes: "suffixes", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
937
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetNumberInput, selector: "tet-number-input", inputs: { accessibilityLabel: "accessibilityLabel", buttonAccessibilityLabel: "buttonAccessibilityLabel", completed: "completed", disabled: "disabled", error: "error", helperText: "helperText", label: "label", max: "max", min: "min", selectOnFocus: "selectOnFocus", suffixes: "suffixes", theme: "theme", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
938
938
|
};
|
|
939
939
|
TetNumberInput = __decorate([
|
|
940
940
|
ProxyCmp({
|
|
941
|
-
inputs: ['accessibilityLabel', 'buttonAccessibilityLabel', 'completed', 'disabled', 'error', 'helperText', 'label', 'max', 'min', 'selectOnFocus', 'suffixes', 'value'],
|
|
941
|
+
inputs: ['accessibilityLabel', 'buttonAccessibilityLabel', 'completed', 'disabled', 'error', 'helperText', 'label', 'max', 'min', 'selectOnFocus', 'suffixes', 'theme', 'value'],
|
|
942
942
|
methods: ['getValue', 'resetSuffix']
|
|
943
943
|
})
|
|
944
944
|
], TetNumberInput);
|
|
@@ -949,7 +949,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
949
949
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
950
950
|
template: '<ng-content></ng-content>',
|
|
951
951
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
952
|
-
inputs: ['accessibilityLabel', 'buttonAccessibilityLabel', 'completed', 'disabled', 'error', 'helperText', 'label', 'max', 'min', 'selectOnFocus', 'suffixes', 'value'],
|
|
952
|
+
inputs: ['accessibilityLabel', 'buttonAccessibilityLabel', 'completed', 'disabled', 'error', 'helperText', 'label', 'max', 'min', 'selectOnFocus', 'suffixes', 'theme', 'value'],
|
|
953
953
|
}]
|
|
954
954
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
955
955
|
export let TetPlaceholder = class TetPlaceholder {
|
|
@@ -1159,11 +1159,11 @@ export let TetStepperInput = class TetStepperInput {
|
|
|
1159
1159
|
proxyOutputs(this, this.el, ['inputValueChanged']);
|
|
1160
1160
|
}
|
|
1161
1161
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TetStepperInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1162
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetStepperInput, selector: "tet-stepper-input", inputs: { accessibilityLabel: "accessibilityLabel", language: "language", max: "max", min: "min", selectOnFocus: "selectOnFocus", step: "step", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1162
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetStepperInput, selector: "tet-stepper-input", inputs: { accessibilityLabel: "accessibilityLabel", language: "language", max: "max", min: "min", selectOnFocus: "selectOnFocus", step: "step", theme: "theme", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1163
1163
|
};
|
|
1164
1164
|
TetStepperInput = __decorate([
|
|
1165
1165
|
ProxyCmp({
|
|
1166
|
-
inputs: ['accessibilityLabel', 'language', 'max', 'min', 'selectOnFocus', 'step', 'value'],
|
|
1166
|
+
inputs: ['accessibilityLabel', 'language', 'max', 'min', 'selectOnFocus', 'step', 'theme', 'value'],
|
|
1167
1167
|
methods: ['getValue']
|
|
1168
1168
|
})
|
|
1169
1169
|
], TetStepperInput);
|
|
@@ -1174,7 +1174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1174
1174
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1175
1175
|
template: '<ng-content></ng-content>',
|
|
1176
1176
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1177
|
-
inputs: ['accessibilityLabel', 'language', 'max', 'min', 'selectOnFocus', 'step', 'value'],
|
|
1177
|
+
inputs: ['accessibilityLabel', 'language', 'max', 'min', 'selectOnFocus', 'step', 'theme', 'value'],
|
|
1178
1178
|
}]
|
|
1179
1179
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1180
1180
|
export let TetStepperV2 = class TetStepperV2 {
|
|
@@ -1474,4 +1474,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1474
1474
|
inputs: ['doNotShowOnHover', 'hoverElement', 'position', 'targetElementSelector', 'theme'],
|
|
1475
1475
|
}]
|
|
1476
1476
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1477
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RldC1jb21wb25lbnRzLWFuZ3VsYXIvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsV0FBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFlBQVk7a0dBQVosWUFBWSx5U0FKYiwyQkFBMkI7O0FBSTFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUM7UUFDckksT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztLQUM3RCxDQUFDO0dBUVcsWUFBWSxDQU14QjsyRkFOWSxZQUFZO2tCQVB4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksQ0FBQztpQkFDdEk7O0FBd0JNLFdBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBRTNCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDOzhHQU5VLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHNiQUpqQiwyQkFBMkI7O0FBSTFCLGdCQUFnQjtJQVg1QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDO1FBQzVNLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO0tBQzdCLENBQUM7R0FRVyxnQkFBZ0IsQ0FPNUI7MkZBUFksZ0JBQWdCO2tCQVA1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7aUJBQzdNOztBQXVDTSxXQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQUU1QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQzs4R0FOVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyUUFKbEIsMkJBQTJCOztBQUkxQixpQkFBaUI7SUFWN0IsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUM7S0FDakgsQ0FBQztHQVFXLGlCQUFpQixDQU83QjsyRkFQWSxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUM7aUJBQ2pIOztBQXlDTSxXQUFNLDZCQUE2QixHQUFuQyxNQUFNLDZCQUE2QjtJQUV4QyxZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQzs4R0FOVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qix3UkFKOUIsMkJBQTJCOztBQUkxQiw2QkFBNkI7SUFYekMsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUM7UUFDaEgsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7S0FDcEMsQ0FBQztHQVFXLDZCQUE2QixDQU96QzsyRkFQWSw2QkFBNkI7a0JBUHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUM7aUJBQ2pIOztBQXlDTSxXQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBRTFCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixFQUFFLDZCQUE2QixDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDOzhHQU5VLGVBQWU7a0dBQWYsZUFBZSw4Z0JBSmhCLDJCQUEyQjs7QUFJMUIsZUFBZTtJQVgzQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLENBQUM7UUFDelAsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztLQUN6RCxDQUFDO0dBUVcsZUFBZSxDQU8zQjsyRkFQWSxlQUFlO2tCQVAzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSwwQkFBMEIsRUFBRSxvQkFBb0IsQ0FBQztpQkFDMVA7O0FBb0NNLFdBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXVCO0lBRWxDLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDOzhHQU5VLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHVSQUp4QiwyQkFBMkI7O0FBSTFCLHVCQUF1QjtJQVhuQyxRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7UUFDckgsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDO0tBQzlDLENBQUM7R0FRVyx1QkFBdUIsQ0FPbkM7MkZBUFksdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQztpQkFDdEg7O0FBdUNNLFdBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBRXJDLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDOzhHQU5VLDBCQUEwQjtrR0FBMUIsMEJBQTBCLG1YQUozQiwyQkFBMkI7O0FBSTFCLDBCQUEwQjtJQVZ0QyxRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLDZCQUE2QixFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7S0FDcEssQ0FBQztHQVFXLDBCQUEwQixDQU90QzsyRkFQWSwwQkFBMEI7a0JBUHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSw2QkFBNkIsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDO2lCQUNwSzs7QUFpQ00sV0FBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUV0QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFdBQVc7a0dBQVgsV0FBVywyVkFKWiwyQkFBMkI7O0FBSTFCLFdBQVc7SUFWdkIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUM7S0FDakssQ0FBQztHQVFXLFdBQVcsQ0FNdkI7MkZBTlksV0FBVztrQkFQdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUM7aUJBQ2pLOztBQXVCTSxXQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUUzQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0FOVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixvSkFKakIsMkJBQTJCOztBQUkxQixnQkFBZ0I7SUFWNUIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUM7S0FDbkQsQ0FBQztHQVFXLGdCQUFnQixDQU81QjsyRkFQWSxnQkFBZ0I7a0JBUDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUM7aUJBQ25EOztBQStCTSxXQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1QjtJQUVsQyxZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDRIQUp4QiwyQkFBMkI7O0FBSTFCLHVCQUF1QjtJQVZuQyxRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO0tBQ2xDLENBQUM7R0FRVyx1QkFBdUIsQ0FNbkM7MkZBTlksdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUM7aUJBQ2xDOztBQXVCTSxXQUFNLFNBQVMsR0FBZixNQUFNLFNBQVM7SUFFcEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxTQUFTO2tHQUFULFNBQVMsd1BBSlYsMkJBQTJCOztBQUkxQixTQUFTO0lBVnJCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQztLQUM5RyxDQUFDO0dBUVcsU0FBUyxDQU1yQjsyRkFOWSxTQUFTO2tCQVByQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7aUJBQzlHOztBQXdCTSxXQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXO0lBRXRCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0FOVSxXQUFXO2tHQUFYLFdBQVcsd05BSlosMkJBQTJCOztBQUkxQixXQUFXO0lBWHZCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDNUYsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsQ0FBQztLQUN4RCxDQUFDO0dBUVcsV0FBVyxDQU92QjsyRkFQWSxXQUFXO2tCQVB2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO2lCQUM3Rjs7QUFnQ00sV0FBTSw2QkFBNkIsR0FBbkMsTUFBTSw2QkFBNkI7SUFFeEMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7OEdBTlUsNkJBQTZCO2tHQUE3Qiw2QkFBNkIseU1BSjlCLDJCQUEyQjs7QUFJMUIsNkJBQTZCO0lBWHpDLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxDQUFDO1FBQ3RFLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7S0FDM0IsQ0FBQztHQVFXLDZCQUE2QixDQU96QzsyRkFQWSw2QkFBNkI7a0JBUHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLENBQUM7aUJBQ3ZFOztBQXVDTSxXQUFNLG9CQUFvQixHQUExQixNQUFNLG9CQUFvQjtJQUUvQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzs4R0FOVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix3S0FKckIsMkJBQTJCOztBQUkxQixvQkFBb0I7SUFWaEMsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQztLQUMzRCxDQUFDO0dBUVcsb0JBQW9CLENBT2hDOzJGQVBZLG9CQUFvQjtrQkFQaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDO2lCQUMzRDs7QUE2Qk0sV0FBTSxjQUFjLEdBQXBCLE1BQU0sY0FBYztJQUV6QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs4R0FOVSxjQUFjO2tHQUFkLGNBQWMsc1JBSmYsMkJBQTJCOztBQUkxQixjQUFjO0lBVjFCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDO0tBQzFILENBQUM7R0FRVyxjQUFjLENBTzFCOzJGQVBZLGNBQWM7a0JBUDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7aUJBQzFIOztBQWlDTSxXQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBRXpCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsY0FBYztrR0FBZCxjQUFjLG9HQUpmLDJCQUEyQjs7QUFJMUIsY0FBYztJQVYxQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7S0FDMUIsQ0FBQztHQVFXLGNBQWMsQ0FNMUI7MkZBTlksY0FBYztrQkFQMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzFCOztBQXVCTSxXQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBRXZCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsWUFBWTtrR0FBWixZQUFZLHVJQUpiLDJCQUEyQjs7QUFJMUIsWUFBWTtJQVZ4QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQztLQUMvQyxDQUFDO0dBUVcsWUFBWSxDQU14QjsyRkFOWSxZQUFZO2tCQVB4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQztpQkFDL0M7O0FBdUJNLFdBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBRTVCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7OEdBTlUsaUJBQWlCO2tHQUFqQixpQkFBaUIseVRBSmxCLDJCQUEyQjs7QUFJMUIsaUJBQWlCO0lBVjdCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxjQUFjLENBQUM7S0FDMUksQ0FBQztHQVFXLGlCQUFpQixDQU83QjsyRkFQWSxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsQ0FBQztpQkFDMUk7O0FBeUNNLFdBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUFFeEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDOzhHQU5VLGFBQWE7a0dBQWIsYUFBYSwwTkFKZCwyQkFBMkI7O0FBSTFCLGFBQWE7SUFYekIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDO1FBQzFGLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztLQUMxQixDQUFDO0dBUVcsYUFBYSxDQU96QjsyRkFQWSxhQUFhO2tCQVB6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztpQkFDM0Y7O0FBaUNNLFdBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW1CO0lBRTlCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDOzhHQU5VLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHlMQUpwQiwyQkFBMkI7O0FBSTFCLG1CQUFtQjtJQVYvQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQztLQUNyRSxDQUFDO0dBUVcsbUJBQW1CLENBTy9COzJGQVBZLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQztpQkFDckU7O0FBbUNNLFdBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBRWpDLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQzFHLENBQUM7OEdBTlUsc0JBQXNCO2tHQUF0QixzQkFBc0IsdU1BSnZCLDJCQUEyQjs7QUFJMUIsc0JBQXNCO0lBVmxDLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO0tBQzFFLENBQUM7R0FRVyxzQkFBc0IsQ0FPbEM7MkZBUFksc0JBQXNCO2tCQVBsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO2lCQUMxRTs7QUEyQ00sV0FBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUFFckMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7OEdBTlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsOElBSjNCLDJCQUEyQjs7QUFJMUIsMEJBQTBCO0lBVnRDLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7S0FDekMsQ0FBQztHQVFXLDBCQUEwQixDQU90QzsyRkFQWSwwQkFBMEI7a0JBUHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQztpQkFDekM7O0FBbUNNLFdBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBRWhDLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDOzhHQU5VLHFCQUFxQjtrR0FBckIscUJBQXFCLHdJQUp0QiwyQkFBMkI7O0FBSTFCLHFCQUFxQjtJQVZqQyxRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO0tBQ3pDLENBQUM7R0FRVyxxQkFBcUIsQ0FPakM7MkZBUFkscUJBQXFCO2tCQVBqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7aUJBQ3pDOztBQW9DTSxXQUFNLFNBQVMsR0FBZixNQUFNLFNBQVM7SUFFcEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs4R0FOVSxTQUFTO2tHQUFULFNBQVMsOFlBSlYsMkJBQTJCOztBQUkxQixTQUFTO0lBWHJCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQztRQUMzTCxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO0tBQzNCLENBQUM7R0FRVyxTQUFTLENBT3JCOzJGQVBZLFNBQVM7a0JBUHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQztpQkFDNUw7O0FBa0NNLFdBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7SUFFdEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDOzhHQU5VLFdBQVc7a0dBQVgsV0FBVyxvYUFKWiwyQkFBMkI7O0FBSTFCLFdBQVc7SUFYdkIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQ3ZNLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGNBQWMsQ0FBQztLQUNoRCxDQUFDO0dBUVcsV0FBVyxDQU92QjsyRkFQWSxXQUFXO2tCQVB2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUM7aUJBQ3hNOztBQXlDTSxXQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFrQjtJQUU3QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs4R0FOVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixzbkJBSm5CLDJCQUEyQjs7QUFJMUIsa0JBQWtCO0lBWDlCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO1FBQ3BULE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQztLQUNwRixDQUFDO0dBUVcsa0JBQWtCLENBTzlCOzJGQVBZLGtCQUFrQjtrQkFQOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztpQkFDclQ7O0FBb0NNLFdBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBRTVCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsaUJBQWlCO2tHQUFqQixpQkFBaUIscUlBSmxCLDJCQUEyQjs7QUFJMUIsaUJBQWlCO0lBWDdCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUM7UUFDekMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDO0tBQ2pELENBQUM7R0FRVyxpQkFBaUIsQ0FNN0I7MkZBTlksaUJBQWlCO2tCQVA3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUM7aUJBQzFDOztBQXVCTSxXQUFNLE9BQU8sR0FBYixNQUFNLE9BQU87SUFFbEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxPQUFPO2tHQUFQLE9BQU8sd0tBSlIsMkJBQTJCOztBQUkxQixPQUFPO0lBVm5CLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUM7S0FDbkUsQ0FBQztHQVFXLE9BQU8sQ0FNbkI7MkZBTlksT0FBTztrQkFQbkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztpQkFDbkU7O0FBdUJNLFdBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBRTNCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsMEZBSmpCLDJCQUEyQjs7QUFJMUIsZ0JBQWdCO0lBVjVCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztLQUNwQixDQUFDO0dBUVcsZ0JBQWdCLENBTTVCOzJGQU5ZLGdCQUFnQjtrQkFQNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQ3BCOztBQXdCTSxXQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVE7SUFFbkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxRQUFRO2tHQUFSLFFBQVEsbWpCQUpULDJCQUEyQjs7QUFJMUIsUUFBUTtJQVhwQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztRQUN0UixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQztLQUM5RSxDQUFDO0dBUVcsUUFBUSxDQU1wQjsyRkFOWSxRQUFRO2tCQVBwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztpQkFDdlI7O0FBdUJNLFdBQU0sUUFBUSxHQUFkLE1BQU0sUUFBUTtJQUVuQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFFBQVE7a0dBQVIsUUFBUSwrTEFKVCwyQkFBMkI7O0FBSTFCLFFBQVE7SUFWcEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztLQUNoRixDQUFDO0dBUVcsUUFBUSxDQU1wQjsyRkFOWSxRQUFRO2tCQVBwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO2lCQUNoRjs7QUFzQk0sV0FBTSxTQUFTLEdBQWYsTUFBTSxTQUFTO0lBRXBCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsU0FBUztrR0FBVCxTQUFTLGtEQUpWLDJCQUEyQjs7QUFJMUIsU0FBUztJQVRyQixRQUFRLENBQUMsRUFDVCxDQUFDO0dBUVcsU0FBUyxDQU1yQjsyRkFOWSxTQUFTO2tCQVByQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsRUFBRTtpQkFDWDs7QUF1Qk0sV0FBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0lBRWxCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsT0FBTztrR0FBUCxPQUFPLHdTQUpSLDJCQUEyQjs7QUFJMUIsT0FBTztJQVZuQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQztLQUN4SSxDQUFDO0dBUVcsT0FBTyxDQU1uQjsyRkFOWSxPQUFPO2tCQVBuQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQztpQkFDeEk7O0FBdUJNLFdBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUFFeEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxhQUFhO2tHQUFiLGFBQWEsMk9BSmQsMkJBQTJCOztBQUkxQixhQUFhO0lBVnpCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQztLQUNuRyxDQUFDO0dBUVcsYUFBYSxDQU16QjsyRkFOWSxhQUFhO2tCQVB6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQztpQkFDbkc7O0FBdUJNLFdBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQWtCO0lBRTdCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsa0JBQWtCO2tHQUFsQixrQkFBa0IsbU9BSm5CLDJCQUEyQjs7QUFJMUIsa0JBQWtCO0lBVjlCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztLQUM1RixDQUFDO0dBUVcsa0JBQWtCLENBTTlCOzJGQU5ZLGtCQUFrQjtrQkFQOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7aUJBQzVGOztBQXdCTSxXQUFNLG1CQUFtQixHQUF6QixNQUFNLG1CQUFtQjtJQUU5QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FOVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwrRkFKcEIsMkJBQTJCOztBQUkxQixtQkFBbUI7SUFYL0IsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDO1FBQ3BCLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztLQUN6RCxDQUFDO0dBUVcsbUJBQW1CLENBTy9COzJGQVBZLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3JCOztBQThCTSxXQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBRTFCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsZUFBZTtrR0FBZixlQUFlLGtPQUpoQiwyQkFBMkI7O0FBSTFCLGVBQWU7SUFYM0IsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDOUYsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ25CLENBQUM7R0FRVyxlQUFlLENBTTNCOzJGQU5ZLGVBQWU7a0JBUDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7aUJBQy9GOztBQXdCTSxXQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBRXpCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOzhHQU5VLGNBQWM7a0dBQWQsY0FBYywwV0FKZiwyQkFBMkI7O0FBSTFCLGNBQWM7SUFYMUIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDO1FBQ3ZLLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUM7S0FDckMsQ0FBQztHQVFXLGNBQWMsQ0FPMUI7MkZBUFksY0FBYztrQkFQMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUM7aUJBQ3hLOztBQTZCTSxXQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBRXpCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsY0FBYztrR0FBZCxjQUFjLDZIQUpmLDJCQUEyQjs7QUFJMUIsY0FBYztJQVYxQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztLQUN6QyxDQUFDO0dBUVcsY0FBYyxDQU0xQjsyRkFOWSxjQUFjO2tCQVAxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDO2lCQUN6Qzs7QUF3Qk0sV0FBTSxRQUFRLEdBQWQsTUFBTSxRQUFRO0lBRW5CLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0FOVSxRQUFRO2tHQUFSLFFBQVEsaVBBSlQsMkJBQTJCOztBQUkxQixRQUFRO0lBWHBCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQzFHLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztLQUN4QixDQUFDO0dBUVcsUUFBUSxDQU9wQjsyRkFQWSxRQUFRO2tCQVBwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztpQkFDM0c7O0FBK0JNLFdBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWM7SUFFekIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzs4R0FOVSxjQUFjO2tHQUFkLGNBQWMsZ3ZCQUpmLDJCQUEyQjs7QUFJMUIsY0FBYztJQVYxQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSwrQkFBK0IsRUFBRSxpQkFBaUIsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsQ0FBQztLQUNuWCxDQUFDO0dBUVcsY0FBYyxDQU8xQjsyRkFQWSxjQUFjO2tCQVAxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLDZCQUE2QixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLCtCQUErQixFQUFFLGlCQUFpQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxDQUFDO2lCQUNuWDs7QUFpQ00sV0FBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUV0QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBTlUsV0FBVztrR0FBWCxXQUFXLG9HQUpaLDJCQUEyQjs7QUFJMUIsV0FBVztJQVZ2QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO0tBQzdCLENBQUM7R0FRVyxXQUFXLENBT3ZCOzJGQVBZLFdBQVc7a0JBUHZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7aUJBQzdCOztBQTZCTSxXQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBRTFCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsZUFBZTtrR0FBZixlQUFlLHVKQUpoQiwyQkFBMkI7O0FBSTFCLGVBQWU7SUFWM0IsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUM7S0FDckQsQ0FBQztHQVFXLGVBQWUsQ0FNM0I7MkZBTlksZUFBZTtrQkFQM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQztpQkFDckQ7O0FBd0JNLFdBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBRTNCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FOVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiwwT0FKakIsMkJBQTJCOztBQUkxQixnQkFBZ0I7SUFYNUIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQztRQUMvRixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQztLQUNwRCxDQUFDO0dBUVcsZ0JBQWdCLENBTzVCOzJGQVBZLGdCQUFnQjtrQkFQNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDO2lCQUNoRzs7QUFrQ00sV0FBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUVyQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFVBQVU7a0dBQVYsVUFBVSwyR0FKWCwyQkFBMkI7O0FBSTFCLFVBQVU7SUFYdEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDakMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0tBQ3pCLENBQUM7R0FRVyxVQUFVLENBTXRCOzJGQU5ZLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO2lCQUNsQzs7QUF1Qk0sV0FBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUVyQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFVBQVU7a0dBQVYsVUFBVSwyRkFKWCwyQkFBMkI7O0FBSTFCLFVBQVU7SUFWdEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO0tBQ3hCLENBQUM7R0FRVyxVQUFVLENBTXRCOzJGQU5ZLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDeEI7O0FBd0JNLFdBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFFMUIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7OEdBTlUsZUFBZTtrR0FBZixlQUFlLDJOQUpoQiwyQkFBMkI7O0FBSTFCLGVBQWU7SUFYM0IsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7UUFDMUYsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO0tBQ3RCLENBQUM7R0FRVyxlQUFlLENBTzNCOzJGQVBZLGVBQWU7a0JBUDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7aUJBQzNGOztBQTZCTSxXQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBRXZCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsWUFBWTtrR0FBWixZQUFZLDhHQUpiLDJCQUEyQjs7QUFJMUIsWUFBWTtJQVZ4QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO0tBQ2pDLENBQUM7R0FRVyxZQUFZLENBTXhCOzJGQU5ZLFlBQVk7a0JBUHhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQztpQkFDakM7O0FBd0JNLFdBQU0sU0FBUyxHQUFmLE1BQU0sU0FBUztJQUVwQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OEdBTlUsU0FBUztrR0FBVCxTQUFTLGdOQUpWLDJCQUEyQjs7QUFJMUIsU0FBUztJQVhyQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUN4RixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7S0FDeEIsQ0FBQztHQVFXLFNBQVMsQ0FPckI7MkZBUFksU0FBUztrQkFQckIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7aUJBQ3pGOztBQWdDTSxXQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFhO0lBRXhCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0FOVSxhQUFhO2tHQUFiLGFBQWEsdUxBSmQsMkJBQTJCOztBQUkxQixhQUFhO0lBWHpCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDO1FBQ3RFLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7S0FDL0IsQ0FBQztHQVFXLGFBQWEsQ0FPekI7MkZBUFksYUFBYTtrQkFQekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQztpQkFDdkU7O0FBZ0NNLFdBQU0sWUFBWSxHQUFsQixNQUFNLFlBQVk7SUFFdkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQU5VLFlBQVk7a0dBQVosWUFBWSx3YkFKYiwyQkFBMkI7O0FBSTFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsMkJBQTJCLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsT0FBTyxDQUFDO1FBQzlNLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDO0tBQzFFLENBQUM7R0FRVyxZQUFZLENBT3hCOzJGQVBZLFlBQVk7a0JBUHhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsMkJBQTJCLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsT0FBTyxDQUFDO2lCQUMvTTs7QUErQk0sV0FBTSxRQUFRLEdBQWQsTUFBTSxRQUFRO0lBRW5CLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsUUFBUTtrR0FBUixRQUFRLG1XQUpULDJCQUEyQjs7QUFJMUIsUUFBUTtJQVZwQixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxDQUFDO0tBQ3JLLENBQUM7R0FRVyxRQUFRLENBTXBCOzJGQU5ZLFFBQVE7a0JBUHBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLENBQUM7aUJBQ3JLOztBQXVCTSxXQUFNLE1BQU0sR0FBWixNQUFNLE1BQU07SUFFakIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxNQUFNO2tHQUFOLE1BQU0sK0tBSlAsMkJBQTJCOztBQUkxQixNQUFNO0lBVmxCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDO0tBQ3pFLENBQUM7R0FRVyxNQUFNLENBTWxCOzJGQU5ZLE1BQU07a0JBUGxCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDO2lCQUN6RTs7QUF1Qk0sV0FBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUV0QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFdBQVc7a0dBQVgsV0FBVyxxSEFKWiwyQkFBMkI7O0FBSTFCLFdBQVc7SUFWdkIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7S0FDdEMsQ0FBQztHQVFXLFdBQVcsQ0FNdkI7MkZBTlksV0FBVztrQkFQdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7aUJBQ3RDOztBQXVCTSxXQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXO0lBRXRCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsV0FBVztrR0FBWCxXQUFXLGlOQUpaLDJCQUEyQjs7QUFJMUIsV0FBVztJQVZ2QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQztLQUN2RixDQUFDO0dBUVcsV0FBVyxDQU12QjsyRkFOWSxXQUFXO2tCQVB2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQztpQkFDdkY7O0FBdUJNLFdBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7SUFFdEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxXQUFXO2tHQUFYLFdBQVcsa0xBSlosMkJBQTJCOztBQUkxQixXQUFXO0lBVnZCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7S0FDdkUsQ0FBQztHQVFXLFdBQVcsQ0FNdkI7MkZBTlksV0FBVztrQkFQdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQztpQkFDdkU7O0FBdUJNLFdBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFFMUIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OEdBTlUsZUFBZTtrR0FBZixlQUFlLGtYQUpoQiwyQkFBMkI7O0FBSTFCLGVBQWU7SUFWM0IsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQztLQUN4SyxDQUFDO0dBUVcsZUFBZSxDQU8zQjsyRkFQWSxlQUFlO2tCQVAzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7aUJBQ3hLOztBQTZCTSxXQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQUU1QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0FOVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwrYUFKbEIsMkJBQTJCOztBQUkxQixpQkFBaUI7SUFWN0IsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixDQUFDO0tBQ3hNLENBQUM7R0FRVyxpQkFBaUIsQ0FPN0I7MkZBUFksaUJBQWlCO2tCQVA3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQztpQkFDeE07O0FBOEJNLFdBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7SUFFckIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxVQUFVO2tHQUFWLFVBQVUseU5BSlgsMkJBQTJCOztBQUkxQixVQUFVO0lBWHRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO1FBQzFGLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO0tBQ3BDLENBQUM7R0FRVyxVQUFVLENBTXRCOzJGQU5ZLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO2lCQUMzRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd3aXRoQXV0b1Njcm9sbCcsICd3aXRoQm9yZGVyJ10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZScsICd0b2dnbGUnLCAnZ2V0U3RhdGUnLCAnc2V0U3RhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JyZWFrcG9pbnQnLCAnaGVhZGVyJywgJ2hlYWRlckltYWdlQWx0JywgJ2hlYWRlckltYWdlU3JjJywgJ2hlYWRpbmdUYWcnLCAnaXNPcGVuJywgJ3RoZW1lJywgJ3dpdGhBdXRvU2Nyb2xsJywgJ3dpdGhCb3JkZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBY2NvcmRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2FkZHJlc3NLZXknLCAnaW5wdXREaXNhYmxlZCcsICdpc0lucHV0SW52YWxpZCcsICdsYWJlbCcsICdsYW5ndWFnZScsICdtYW51YWxBZGRyZXNzVHJpZ2dlcnMnLCAnbWluU2VhcmNoS2V5d29yZExlbmd0aCcsICduZXdGb3Jtc1N0eWxlJywgJ25ld1N0eWxlJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsncmVzZXRJbnB1dFN0YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWRkcmVzcy1zZWFyY2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhZGRyZXNzS2V5JywgJ2lucHV0RGlzYWJsZWQnLCAnaXNJbnB1dEludmFsaWQnLCAnbGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWFudWFsQWRkcmVzc1RyaWdnZXJzJywgJ21pblNlYXJjaEtleXdvcmRMZW5ndGgnLCAnbmV3Rm9ybXNTdHlsZScsICduZXdTdHlsZScsICdwbGFjZWhvbGRlcicsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBZGRyZXNzU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWRkcmVzc1NlbGVjdGVkJywgJ2NsZWFySW5wdXRGaWVsZCcsICdtYW51YWxBZGRyZXNzSW5wdXQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEFkZHJlc3NJbnRlcmZhY2UgYXMgSVRldEFkZHJlc3NTZWFyY2hBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBZGRyZXNzU2VhcmNoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBZGRyZXNzU2VhcmNoIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFuIGFkZHJlc3MgdmlhIGF1dG9jb21wbGV0ZS5cbiAgICovXG4gIGFkZHJlc3NTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBZGRyZXNzU2VhcmNoQWRkcmVzc0ludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBmaWVsZCBpcyBjbGVhcmVkIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBjbGVhcklucHV0RmllbGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBtYW51YWwgYWRkcmVzcyBpbnB1dCBvcHRpb24uXG4gICAqL1xuICBtYW51YWxBZGRyZXNzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFzc2V0LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsaXN0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2FkZHJlc3NTZWFyY2hMYWJlbCcsICdhZGRyZXNzU2VhcmNoUGxhY2Vob2xkZXInLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWyd1bnNlbGVjdEFzc2V0QWRkcmVzc2VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXNzZXQtYXZhaWxhYmlsaXR5LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEF2YWlsYWJpbGl0eUFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsc2l0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyQ2FsbGJhY2snLCAnZGFya1RoZW1lJywgJ2RlZmF1bHRPcHRpb25zJywgJ2ZpbmlzaGVkTG9hZGluZycsICdoaWdobGlnaHRPcHRpb25zS2V5d29yZCcsICduZXdTdHlsZScsICdub09wdGlvbnNNZXNzYWdlJywgJ25vT3B0aW9uc1JlbmRlckZ1bmN0aW9uJywgJ29wdGlvbnNGaWx0ZXJBY3Rpb24nLCAnb3B0aW9uc0ljb24nLCAnc2hvd09wdGlvbnNPbkVzY2FwZUNsZWFyJywgJ3R5cGluZ0RlYm91bmNlVGltZSddLFxuICBtZXRob2RzOiBbJ2NsZWFyJywgJ2ZvY3VzT25OYXRpdmVJbnB1dCcsICdzZWxlY3RPcHRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hdXRvY29tcGxldGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsZWFyQ2FsbGJhY2snLCAnZGFya1RoZW1lJywgJ2RlZmF1bHRPcHRpb25zJywgJ2ZpbmlzaGVkTG9hZGluZycsICdoaWdobGlnaHRPcHRpb25zS2V5d29yZCcsICduZXdTdHlsZScsICdub09wdGlvbnNNZXNzYWdlJywgJ25vT3B0aW9uc1JlbmRlckZ1bmN0aW9uJywgJ29wdGlvbnNGaWx0ZXJBY3Rpb24nLCAnb3B0aW9uc0ljb24nLCAnc2hvd09wdGlvbnNPbkVzY2FwZUNsZWFyJywgJ3R5cGluZ0RlYm91bmNlVGltZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBdXRvY29tcGxldGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydvcHRpb25TZWxlY3RlZCcsICdhY3RpdmVDb21wb25lbnRTdGF0ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE9wdGlvbkludGVyZmFjZSBhcyBJVGV0QXV0b2NvbXBsZXRlT3B0aW9uSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBdXRvY29tcGxldGUgZXh0ZW5kcyBDb21wb25lbnRzLlRldEF1dG9jb21wbGV0ZSB7XG4gIC8qKlxuICAgKiBUaGUgYXV0b2NvbXBsZXRlIG9wdGlvbiBzZWxlY3Rpb24gZXZlbnQuXG4gICAqL1xuICBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBdXRvY29tcGxldGVPcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIEVtaXRzIFwidGV0LWF1dG9jb21wbGV0ZVwiIHVuaXF1ZSBpZCwgd2hlbiBhbiBhdHRlbXB0IHRvIG9wZW4gc2VsZWN0aW9uIG9wdGlvbnMgaXMgaWRlbnRpZmllZC5cbiAgICovXG4gIGFjdGl2ZUNvbXBvbmVudFN0YXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZyB8IG51bGw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdE9wdGlvbicsICdlcnJvck1lc3NhZ2UnLCAnaGFzRXJyb3InLCAnbGFiZWwnLCAnbm9PcHRpb25zTWVzc2FnZScsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsnY2xlYXJJbnB1dCcsICdmb2N1c09uTmF0aXZlSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hdXRvY29tcGxldGUtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRPcHRpb24nLCAnZXJyb3JNZXNzYWdlJywgJ2hhc0Vycm9yJywgJ2xhYmVsJywgJ25vT3B0aW9uc01lc3NhZ2UnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBdXRvY29tcGxldGVEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ29wdGlvblNlbGVjdGVkJywgJ2lucHV0VmFsdWVDbGVhcmVkJywgJ2lucHV0VmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBPcHRpb25JbnRlcmZhY2UgYXMgSVRldEF1dG9jb21wbGV0ZURyb3Bkb3duT3B0aW9uSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBdXRvY29tcGxldGVEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuVGV0QXV0b2NvbXBsZXRlRHJvcGRvd24ge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gYW4gb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgb3B0aW9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXV0b2NvbXBsZXRlRHJvcGRvd25PcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBpcyBjbGVhcmVkLlxuICAgKi9cbiAgaW5wdXRWYWx1ZUNsZWFyZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgb3B0aW9uIGlucHV0IHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQuXG4gICAqL1xuICBpbnB1dFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnbGFuZ3VhZ2UnLCAnc2hvd0F2YWlsYWJpbGl0eUNvbnRhY3RGb3JtJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICdzdWNjZXNzJywgJ3Rhc2tPcHRpb25zJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXZhaWxhYmlsaXR5LWNvbnRhY3QtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2xhbmd1YWdlJywgJ3Nob3dBdmFpbGFiaWxpdHlDb250YWN0Rm9ybScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAnc3VjY2VzcycsICd0YXNrT3B0aW9ucycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBdmFpbGFiaWxpdHlDb250YWN0Rm9ybSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rhc2tDcmVhdGlvblN1Y2Nlc3MnLCAndGFza0NyZWF0aW9uRmFpbGVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBdmFpbGFiaWxpdHlDb250YWN0Rm9ybSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBpZiB0aGUgdGFzayBjcmVhdGlvbiB3YXMgc3VjY2Vzc2Z1bC5cbiAgICovXG4gIHRhc2tDcmVhdGlvblN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGlmIHRoZSB0YXNrIGNyZWF0aW9uIGZhaWxlZC5cbiAgICovXG4gIHRhc2tDcmVhdGlvbkZhaWxlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uRHVyYXRpb24nLCAnZGF0YScsICdkYXRhT3JkZXInLCAnbGFiZWxQb3NpdGlvbicsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdwYXJlbnRDb250YWluZXInLCAnc2l6ZScsICd2YWx1ZVBvc2l0aW9uJywgJ3ZhbHVlVW5pdCcsICd3aXRoR3JpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJhci1ncmFwaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uRHVyYXRpb24nLCAnZGF0YScsICdkYXRhT3JkZXInLCAnbGFiZWxQb3NpdGlvbicsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdwYXJlbnRDb250YWluZXInLCAnc2l6ZScsICd2YWx1ZVBvc2l0aW9uJywgJ3ZhbHVlVW5pdCcsICd3aXRoR3JpZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCYXJHcmFwaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJhckdyYXBoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCYXJHcmFwaCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhZGRyZXNzS2V5JywgJ2xhbmd1YWdlJywgJ3Nob3dIZWFkaW5ncyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJ1c2luZXNzLWxpbmVzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhZGRyZXNzS2V5JywgJ2xhbmd1YWdlJywgJ3Nob3dIZWFkaW5ncyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCdXNpbmVzc0xpbmVzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnVzaW5lc3NMaW5lU2VsZWN0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEJ1c2luZXNzTGluZSBhcyBJVGV0QnVzaW5lc3NMaW5lc0J1c2luZXNzTGluZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QnVzaW5lc3NMaW5lcyBleHRlbmRzIENvbXBvbmVudHMuVGV0QnVzaW5lc3NMaW5lcyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gYnVzaW5lc3MgbGluZSBpcyBzZWxlY3RlZC5cbiAgICovXG4gIGJ1c2luZXNzTGluZVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEJ1c2luZXNzTGluZXNCdXNpbmVzc0xpbmU+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGF5b3V0JywgJ3N0ZXBwZXJEYXRhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYnVzaW5lc3Mtcm91bmQtc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGF5b3V0JywgJ3N0ZXBwZXJEYXRhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEJ1c2luZXNzUm91bmRTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QnVzaW5lc3NSb3VuZFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldEJ1c2luZXNzUm91bmRTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjbGlja0NhbGxiYWNrJywgJ2Rpc2FibGVkJywgJ2VsZW1lbnRJZCcsICdpY29uTW9kZScsICdzaXplJywgJ3RoZW1lJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjbGlja0NhbGxiYWNrJywgJ2Rpc2FibGVkJywgJ2VsZW1lbnRJZCcsICdpY29uTW9kZScsICdzaXplJywgJ3RoZW1lJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdpbmRldGVybWluYXRlJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJywgJ3NldEluZGV0ZXJtaW5hdGUnLCAnc2V0RXJyb3InXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdpbmRldGVybWluYXRlJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVjayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQ2hlY2tib3hDaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRDaGVja2JveENoZWNrYm94Q2hlY2tFdmVudEludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlRldENoZWNrYm94IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbnRyb2wgZWxlbWVudCBpcyBjaGVja2VkLlxuICAgKi9cbiAgY2hlY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q2hlY2tib3hDaGVja2JveENoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFuZ3VhZ2UnLCAnbG9hZGluZycsICdwcml2YWN5UG9saWN5TGlua1VybCcsICdzaG93T3ZlcmxheSddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jbG91ZC1hcHBsaWNhdGlvbi1mb3JtLWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFuZ3VhZ2UnLCAnbG9hZGluZycsICdwcml2YWN5UG9saWN5TGlua1VybCcsICdzaG93T3ZlcmxheSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N1Ym1pdHRlZCcsICdjbG9zZURpYWxvZycsICdvcGVuRGlhbG9nJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUZXRBcHBsaWNhdGlvbkZvcm1EaWFsb2dTdWJtaXNzaW9uRGF0YSBhcyBJVGV0Q2xvdWRBcHBsaWNhdGlvbkZvcm1EaWFsb2dUZXRBcHBsaWNhdGlvbkZvcm1EaWFsb2dTdWJtaXNzaW9uRGF0YSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2xvdWRBcHBsaWNhdGlvbkZvcm1EaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLlRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgYXBwbGljYXRpb24gZm9ybSBpcyBzdWNjZXNzZnVsbHkgc3VibWl0dGVkLlxuICAgKi9cbiAgc3VibWl0dGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGE+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIG9uIHRoZSBgY2xvc2VgIGljb24gY2xpY2ssIG92ZXJsYXkgY2xpY2sgb3IgdGhlIGBlc2NgIGtleSBwcmVzcy5cbiAgICovXG4gIGNsb3NlRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIGJlIGVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5lZC5cbiAgICovXG4gIG9wZW5EaWFsb2c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lclNlbGVjdG9yJywgJ2xhbmd1YWdlJywgJ3NlbGVjdE9uRm9jdXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jbG91ZC1jb25maWd1cmF0b3InLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lclNlbGVjdG9yJywgJ2xhbmd1YWdlJywgJ3NlbGVjdE9uRm9jdXMnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q2xvdWRDb25maWd1cmF0b3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG91ZENhbGN1bGF0b3JTdWJtaXQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2xvdWRDb25maWd1cmF0b3IgZXh0ZW5kcyBDb21wb25lbnRzLlRldENsb3VkQ29uZmlndXJhdG9yIHtcbiAgLyoqXG4gICAqIFRoZSBzdWJtaXQgZXZlbnQgb2YgdGhlIGZvcm0uXG4gICAqL1xuICBjbG91ZENhbGN1bGF0b3JTdWJtaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2xhbmd1YWdlJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICd0YXNrT3B0aW9ucycsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWNvbnRhY3QtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2xhbmd1YWdlJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICd0YXNrT3B0aW9ucycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDb250YWN0Rm9ybSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rhc2tDcmVhdGlvblN1Y2Nlc3MnLCAndGFza0NyZWF0aW9uRmFpbGVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhY3RGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDb250YWN0Rm9ybSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBpZiB0aGUgdGFzayBjcmVhdGlvbiB3YXMgc3VjY2Vzc2Z1bC5cbiAgICovXG4gIHRhc2tDcmVhdGlvblN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGlmIHRoZSB0YXNrIGNyZWF0aW9uIGZhaWxlZC5cbiAgICovXG4gIHRhc2tDcmVhdGlvbkZhaWxlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWN0QmxvY2tzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY29udGFjdC1pbmZvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWN0QmxvY2tzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENvbnRhY3RJbmZvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q29udGFjdEluZm8gZXh0ZW5kcyBDb21wb25lbnRzLlRldENvbnRhY3RJbmZvIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZ2hsaWdodGFibGUnLCAnc2VsZWN0ZWQnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZ2hsaWdodGFibGUnLCAnc2VsZWN0ZWQnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnZGFya1RoZW1lJywgJ2dyb3VwQnlBZGRyZXNzJywgJ2hpZGVBc3NldHMnLCAnbG9hZGVyRWxlbWVudHNDb3VudCcsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICdzaW5nbGVMb2FkZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jdXN0b21lci1hc3NldHMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2RhcmtUaGVtZScsICdncm91cEJ5QWRkcmVzcycsICdoaWRlQXNzZXRzJywgJ2xvYWRlckVsZW1lbnRzQ291bnQnLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAnc2luZ2xlTG9hZGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEN1c3RvbWVyQXNzZXRzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYXNzZXRTZWxlY3RlZCcsICdhc3NldHNVcGRhdGVkJywgJ2N1c3RvbWVyTm90Rm91bmQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyQXNzZXQgYXMgSVRldEN1c3RvbWVyQXNzZXRzQ3VzdG9tZXJBc3NldCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21lck5vdEZvdW5kIGFzIElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyTm90Rm91bmQgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEN1c3RvbWVyQXNzZXRzIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDdXN0b21lckFzc2V0cyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdXNlciBzZWxlY3RzIGFuIGFzc2V0LlxuICAgKi9cbiAgYXNzZXRTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyQXNzZXQ+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgYXNzZXRzIGNoYW5nZS5cbiAgICovXG4gIGFzc2V0c1VwZGF0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lckFzc2V0W10+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBubyBTYWxlc2ZvcmNlIGN1c3RvbWVyIGlzIGZvdW5kIGZvciB0aGUgZ2l2ZW4gUElELlxuICAgKi9cbiAgY3VzdG9tZXJOb3RGb3VuZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyTm90Rm91bmQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0ZScsICdkYXRlcGlja2VyVmlldycsICdpc09wZW4nLCAnbG9jYWxlJywgJ292ZXJsYXlFZmZlY3QnLCAncmFuZ2VQaWNrZXJNb2RlJ10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlSXNPcGVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGF0ZXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0ZScsICdkYXRlcGlja2VyVmlldycsICdpc09wZW4nLCAnbG9jYWxlJywgJ292ZXJsYXlFZmZlY3QnLCAncmFuZ2VQaWNrZXJNb2RlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkYXRlQ2hhbmdlZCcsICdyYW5nZURhdGVzQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREYXRlcGlja2VyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gZGF0ZSB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiBhdCBsZWFzdCBvbmUgb2YgdGhlIHJhbmdlIGRhdGVzIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgcmFuZ2VEYXRlc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlW10+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0ZXBpY2tlclZpZXcnLCAnaW50ZXJuYWxEYXRlJywgJ2xvY2FsZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0ZXBpY2tlclZpZXcnLCAnaW50ZXJuYWxEYXRlJywgJ2xvY2FsZScsICdzZWxlY3RlZERhdGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RGF0ZXBpY2tlckhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ludGVybmFsRGF0ZUNoYW5nZWQnLCAnZGF0ZXBpY2tlclZpZXdDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyVmlldyBhcyBJVGV0RGF0ZXBpY2tlckhlYWRlckRhdGVwaWNrZXJWaWV3IH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VySGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREYXRlcGlja2VySGVhZGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGludGVybmFsIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBpbnRlcm5hbERhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgZGF0ZXBpY2tlciB2aWV3IHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgZGF0ZXBpY2tlclZpZXdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJIZWFkZXJEYXRlcGlja2VyVmlldz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnRlcm5hbERhdGUnLCAncmFuZ2VEYXRlcycsICdyYW5nZVBpY2tlck1vZGUnLCAnc2VsZWN0ZWREYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGF0ZXBpY2tlci1tb250aC12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlcm5hbERhdGUnLCAncmFuZ2VEYXRlcycsICdyYW5nZVBpY2tlck1vZGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJNb250aFZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJDbG9zZWQnLCAncmFuZ2VEYXRlU2V0J10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyUmFuZ2VTZXREYXRhIGFzIElUZXREYXRlcGlja2VyTW9udGhWaWV3RGF0ZXBpY2tlclJhbmdlU2V0RGF0YSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlck1vbnRoVmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlck1vbnRoVmlldyB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gZGF0ZSB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgZGF0ZXBpY2tlciB3aWxsIGJlIGNsb3NlZC5cbiAgICovXG4gIGRhdGVwaWNrZXJDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIG9uZSBvZiB0aGUgcmFuZ2UgZGF0ZXMgd2lsbCBiZSBzZXQuXG4gICAqL1xuICByYW5nZURhdGVTZXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RGF0ZXBpY2tlck1vbnRoVmlld0RhdGVwaWNrZXJSYW5nZVNldERhdGE+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXItbXVsdGkteWVhci12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlcm5hbERhdGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJNdWx0aVllYXJWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW50ZXJuYWxEYXRlQ2hhbmdlZCcsICdkYXRlcGlja2VyVmlld0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IERhdGVwaWNrZXJWaWV3IGFzIElUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlld0RhdGVwaWNrZXJWaWV3IH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXcge1xuICAvKipcbiAgICogSW50ZXJuYWwgZGF0ZSBjaGFuZ2VkIGV2ZW50LlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIERhdGVwaWNrZXIgdmlldyBjaGFuZ2VkIGV2ZW50LlxuICAgKi9cbiAgZGF0ZXBpY2tlclZpZXdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJNdWx0aVllYXJWaWV3RGF0ZXBpY2tlclZpZXc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXIteWVhci12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlcm5hbERhdGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJZZWFyVmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ludGVybmFsRGF0ZUNoYW5nZWQnLCAnZGF0ZXBpY2tlclZpZXdDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyVmlldyBhcyBJVGV0RGF0ZXBpY2tlclllYXJWaWV3RGF0ZXBpY2tlclZpZXcgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERhdGVwaWNrZXJZZWFyVmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlclllYXJWaWV3IHtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGludGVybmFsIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBpbnRlcm5hbERhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgZGF0ZXBpY2tlciB2aWV3IHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgZGF0ZXBpY2tlclZpZXdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJZZWFyVmlld0RhdGVwaWNrZXJWaWV3Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlT25Fc2NhcGUnLCAnY2xvc2VPbk92ZXJsYXlDbGljaycsICdmb290ZXJEaXNwbGF5JywgJ2hlYWRlclRpdGxlJywgJ2hpZGVDbG9zZUJ1dHRvbicsICdoaWRlSGVhZGVyJywgJ2lzT3BlbicsICdwcmV2ZW50RGVmYXVsdENsb3NlJywgJ3Nob3dIZWFkZXJEaXZpZGVyJywgJ3RoZW1lJywgJ3RpdGxlSWQnXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGlhbG9nJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zZU9uRXNjYXBlJywgJ2Nsb3NlT25PdmVybGF5Q2xpY2snLCAnZm9vdGVyRGlzcGxheScsICdoZWFkZXJUaXRsZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnaGlkZUhlYWRlcicsICdpc09wZW4nLCAncHJldmVudERlZmF1bHRDbG9zZScsICdzaG93SGVhZGVyRGl2aWRlcicsICd0aGVtZScsICd0aXRsZUlkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERpYWxvZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlRGlhbG9nJywgJ29wZW5EaWFsb2cnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREaWFsb2cge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIGJlIGVtaXR0ZWQgb24gdGhlIGBjbG9zZWAgaWNvbiBjbGljaywgb3ZlcmxheSBjbGljayBvciB0aGUgYGVzY2Aga2V5IHByZXNzLlxuICAgKi9cbiAgY2xvc2VEaWFsb2c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWQuXG4gICAqL1xuICBvcGVuRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBldmVudFR5cGU6IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93TXVsdGlwbGUnLCAnYnV0dG9uTGFiZWwnLCAnY2xvc2VPblNlbGVjdGlvbicsICdkaXNhYmxlZCcsICdmbGV4TGF5b3V0JywgJ2xhYmVsJywgJ2xhYmVsTG9nbycsICdsYWJlbExvZ29HcmF5c2NhbGUnLCAnbGFiZWxSaWdodCcsICdsYWJlbFJpZ2h0Q29sb3InLCAnbGFiZWxTdWJUZXh0JywgJ29wdGlvbnMnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydnZXRTZWxlY3RlZE9wdGlvbnMnLCAnc2VsZWN0T3B0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbG93TXVsdGlwbGUnLCAnYnV0dG9uTGFiZWwnLCAnY2xvc2VPblNlbGVjdGlvbicsICdkaXNhYmxlZCcsICdmbGV4TGF5b3V0JywgJ2xhYmVsJywgJ2xhYmVsTG9nbycsICdsYWJlbExvZ29HcmF5c2NhbGUnLCAnbGFiZWxSaWdodCcsICdsYWJlbFJpZ2h0Q29sb3InLCAnbGFiZWxTdWJUZXh0JywgJ29wdGlvbnMnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydvcHRpb25TZWxlY3RlZCcsICdvcHRpb25DaGVja2VkJywgJ29wdGlvbnNDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEcm9wZG93bk9wdGlvbkludGVyZmFjZSBhcyBJVGV0RHJvcGRvd25Ecm9wZG93bk9wdGlvbkludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RlZE9wdGlvbkludGVyZmFjZSBhcyBJVGV0RHJvcGRvd25TZWxlY3RlZE9wdGlvbkludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLlRldERyb3Bkb3duIHtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGEgc2luZ2xlIG9wdGlvbiBpcyBzZWxlY3RlZCBhbmQgcmV0dXJucyB0aGUgb3B0aW9uLlxuICAgKi9cbiAgb3B0aW9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RHJvcGRvd25Ecm9wZG93bk9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogVHJpZ2dlcnMgd2hlbmV2ZXIgYSBtdWx0aS1zZWxlY3RhYmxlIG9wdGlvbiBpcyBjaGVja2VkL3VuY2hlY2tlZC5cbiAgICovXG4gIG9wdGlvbkNoZWNrZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RHJvcGRvd25TZWxlY3RlZE9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogVHJpZ2dlcnMgd2hlbmV2ZXIgYW4gb3B0aW9uIGlzIGNoYW5nZWQgYW5kIHJldHVybnMgYSBsaXN0IG9mIGFsbCBzZWxlY3RlZCBvcHRpb25zLlxuICAgKi9cbiAgb3B0aW9uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RHJvcGRvd25Ecm9wZG93bk9wdGlvbkludGVyZmFjZVtdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uQ2xvc2VkJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnLCAndHlwZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SW5wdXRIdG1sRWxlbWVudCcsICdnZXRFcnJvcnMnLCAndmFsaWRhdGVJbnB1dCcsICdzZXRTdGF0ZScsICdjbGVhciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWV4cGFuZGFibGUtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uQ2xvc2VkJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnLCAndHlwZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEV4cGFuZGFibGVJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JlZm9yZS1zdGF0ZS1jaGFuZ2UnLCAnYWZ0ZXItc3RhdGUtY2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdGF0ZUNoYW5nZUludGVyZmFjZSBhcyBJVGV0RXhwYW5kYWJsZUlucHV0U3RhdGVDaGFuZ2VJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEV4cGFuZGFibGVJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0RXhwYW5kYWJsZUlucHV0IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGJlZm9yZSB0aGUgc3RhcnQgb2YgdGhlIGV4cGFuZGluZyBvciBzaHJpbmtpbmcgYW5pbWF0aW9uIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gICdiZWZvcmUtc3RhdGUtY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRFeHBhbmRhYmxlSW5wdXRTdGF0ZUNoYW5nZUludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgZXhwYW5kaW5nIG9yIHNocmlua2luZyBhbmltYXRpb24gb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FmdGVyLXN0YXRlLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RXhwYW5kYWJsZUlucHV0U3RhdGVDaGFuZ2VJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW5pdGlhbFN0YXRlJywgJ3RvZ2dsZUVsZW1lbnQnXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJywgJ3RvZ2dsZScsICdnZXRTdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWV4cGFuc2lvbi1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW5pdGlhbFN0YXRlJywgJ3RvZ2dsZUVsZW1lbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RXhwYW5zaW9uUGFuZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRFeHBhbnNpb25QYW5lbCBleHRlbmRzIENvbXBvbmVudHMuVGV0RXhwYW5zaW9uUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndXNlRGVmYXVsdENvbG9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndXNlRGVmYXVsdENvbG9yJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1pbmxpbmUtbWVzc2FnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRJbmxpbmVNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0SW5saW5lTWVzc2FnZSBleHRlbmRzIENvbXBvbmVudHMuVGV0SW5saW5lTWVzc2FnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYXV0b2NvbXBsZXRlJywgJ2NsYXNzJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdpbnB1dFRhYmluZGV4JywgJ2xhYmVsJywgJ21hbnVhbFZhbGlkYXRpb24nLCAnbWF4bGVuZ3RoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3RoZW1lJywgJ3R5cGUnLCAndmFsaWRhdG9ycycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldElucHV0SHRtbEVsZW1lbnQnLCAnZ2V0RXJyb3JzJywgJ2NsZWFyRXJyb3JzJywgJ3ZhbGlkYXRlSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2F1dG9jb21wbGV0ZScsICdjbGFzcycsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uTGVmdCcsICdpY29uTGVmdENsaWNrQ2FsbGJhY2snLCAnaWNvblJpZ2h0JywgJ2ljb25SaWdodENsaWNrQ2FsbGJhY2snLCAnaW5wdXRUYWJpbmRleCcsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21heGxlbmd0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICd0aGVtZScsICd0eXBlJywgJ3ZhbGlkYXRvcnMnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0SW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0SW5wdXQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2xhYmVsVGl0bGUnLCAnc2hvd0ljb24nLCAndGhlbWUnLCAndHJhbnNsYXRlVGl0bGUnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnbGFiZWxUaXRsZScsICdzaG93SWNvbicsICd0aGVtZScsICd0cmFuc2xhdGVUaXRsZScsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldExhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldExhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbG9hZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRldExvYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldExvYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0TG9hZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjbGlja2FibGUnLCAnZGFya01vZGUnLCAnZmlyc3RMZXZlbEljb24nLCAnZmlyc3RMZXZlbElkJywgJ2ZpcnN0TGV2ZWxMaW5rJywgJ2ZpcnN0TGV2ZWxUaXRsZScsICdzdWJMZXZlbHMnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjbGlja2FibGUnLCAnZGFya01vZGUnLCAnZmlyc3RMZXZlbEljb24nLCAnZmlyc3RMZXZlbElkJywgJ2ZpcnN0TGV2ZWxMaW5rJywgJ2ZpcnN0TGV2ZWxUaXRsZScsICdzdWJMZXZlbHMnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TWVudSBleHRlbmRzIENvbXBvbmVudHMuVGV0TWVudSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrTW9kZScsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ2lzQWN0aXZlJywgJ3N1YkxldmVscyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW1lbnUtbW9iaWxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrTW9kZScsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ2lzQWN0aXZlJywgJ3N1YkxldmVscyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRNZW51TW9iaWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TWVudU1vYmlsZSBleHRlbmRzIENvbXBvbmVudHMuVGV0TWVudU1vYmlsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50JywgJ2RpYWxvZ0RhdGFTY3JlZW5LZXknLCAnaXNPcGVuJywgJ2xhbmd1YWdlJywgJ3N0ZXBzJywgJ3RldERpYWxvZ0NsYXNzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbXVsdGktc3RlcC1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlhbG9nRGF0YVNjcmVlbktleScsICdpc09wZW4nLCAnbGFuZ3VhZ2UnLCAnc3RlcHMnLCAndGV0RGlhbG9nQ2xhc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TXVsdGlTdGVwRGlhbG9nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TXVsdGlTdGVwRGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRNdWx0aVN0ZXBEaWFsb2cge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya01vZGUnXSxcbiAgbWV0aG9kczogWydzaG93VG9nZ2xlcicsICdoaWRlVG9nZ2xlcicsICdvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbmF2aWdhdGlvbi1tb2JpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtNb2RlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE5hdmlnYXRpb25Nb2JpbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydtYWluRHJvcGRvd25Ub2dnbGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TmF2aWdhdGlvbk1vYmlsZSBleHRlbmRzIENvbXBvbmVudHMuVGV0TmF2aWdhdGlvbk1vYmlsZSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCBvbiB0aGUgYGlzVG9nZ2xlckV4cGFuZGVkYCB2YWx1ZSBjaGFuZ2UuXG4gICAqL1xuICBtYWluRHJvcGRvd25Ub2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93Q2xvc2UnLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnY29udGVudCcsICdoZWFkZXJUaXRsZScsICdpY29uJywgJ3RoZW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW5vdGlmaWNhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxsb3dDbG9zZScsICdhbmltYXRpb25EdXJhdGlvbicsICdjb250ZW50JywgJ2hlYWRlclRpdGxlJywgJ2ljb24nLCAndGhlbWUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXROb3RpZmljYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXROb3RpZmljYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRldE5vdGlmaWNhdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NvbXBsZXRlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoZWxwZXJUZXh0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdWZmaXhlcycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldFZhbHVlJywgJ3Jlc2V0U3VmZml4J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbnVtYmVyLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NvbXBsZXRlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoZWxwZXJUZXh0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdWZmaXhlcycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXROdW1iZXJJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lucHV0VmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE51bWJlcklucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXROdW1iZXJJbnB1dCB7XG4gIC8qKlxuICAgKiBFbWl0cyBpbnB1dCBldmVudFxuICAgKi9cbiAgaW5wdXRWYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2hlaWdodCcsICd3aWR0aCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXBsYWNlaG9sZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnaGVpZ2h0JywgJ3dpZHRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFBsYWNlaG9sZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UGxhY2Vob2xkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFBsYWNlaG9sZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lucHV0QXV0b2ZvY3VzJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcmFkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lucHV0QXV0b2ZvY3VzJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVjayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgUmFkaW9DaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRSYWRpb1JhZGlvQ2hlY2tFdmVudEludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLlRldFJhZGlvIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbnRyb2wgZWxlbWVudCBpcyBjaGVja2VkLlxuICAgKi9cbiAgY2hlY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0UmFkaW9SYWRpb0NoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2RhdGFQb2ludHMnLCAnZGF0YVVuaXRzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNwbGF5RGF0YVBvaW50cycsICdpbnB1dE1heFZhbHVlJywgJ2xvY2tUb0RhdGFQb2ludCcsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdudW1iZXJJbnB1dEFjY2Vzc2liaWxpdHlMYWJlbCcsICdwYXJlbnRDb250YWluZXInLCAncmVkdWNlQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ3NpemUnLCAnc2xpZGVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAnc3RlcCcsICd0aGVtZScsICd0eXBlJywgJ3dpdGhDb250cm9scycsICd3aXRoQ3VycmVudFN0ZXBDb3VudGVyJywgJ3dpdGhJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJhbmdlLXNsaWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2RhdGFQb2ludHMnLCAnZGF0YVVuaXRzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNwbGF5RGF0YVBvaW50cycsICdpbnB1dE1heFZhbHVlJywgJ2xvY2tUb0RhdGFQb2ludCcsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdudW1iZXJJbnB1dEFjY2Vzc2liaWxpdHlMYWJlbCcsICdwYXJlbnRDb250YWluZXInLCAncmVkdWNlQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ3NpemUnLCAnc2xpZGVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAnc3RlcCcsICd0aGVtZScsICd0eXBlJywgJ3dpdGhDb250cm9scycsICd3aXRoQ3VycmVudFN0ZXBDb3VudGVyJywgJ3dpdGhJbnB1dCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSYW5nZVNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NsaWRlci1pbnB1dCcsICdzbGlkZXItY2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJhbmdlU2xpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSYW5nZVNsaWRlciB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIG9uIHNsaWRlciBpbnB1dC5cbiAgICovXG4gICdzbGlkZXItaW5wdXQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIG9uIHNsaWRlciBjaGFuZ2UuXG4gICAqL1xuICAnc2xpZGVyLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0YScsICdsYW5ndWFnZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJlZmVycmFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRhJywgJ2xhbmd1YWdlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFJlZmVycmFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndXJsQ29waWVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJlZmVycmFsIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSZWZlcnJhbCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCB3aGVuIHRoZSBsaW5rIGlzIGNvcGllZCB0byB0aGUgY2xpcGJvYXJkLlxuICAgKi9cbiAgdXJsQ29waWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmb3JjZWRDb2x1bW4nLCAnaGlkZUljb25zJywgJ3N0ZXBwZXJEYXRhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcm91bmQtc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZm9yY2VkQ29sdW1uJywgJ2hpZGVJY29ucycsICdzdGVwcGVyRGF0YSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSb3VuZFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRSb3VuZFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFJvdW5kU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpZGVudGlmaWVyJywgJ2l0ZW1SZW5kZXJGdW5jdGlvbicsICdpdGVtcycsICdtdWx0aXBsZVNlbGVjdGlvbnMnLCAncHJlU2VsZWN0ZWRJdGVtcyddLFxuICBtZXRob2RzOiBbJ3Vuc2V0U2VsZWN0ZWRJdGVtcycsICdnZXRTZWxlY3RlZEl0ZW1zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc2VsZWN0aW9uLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2lkZW50aWZpZXInLCAnaXRlbVJlbmRlckZ1bmN0aW9uJywgJ2l0ZW1zJywgJ211bHRpcGxlU2VsZWN0aW9ucycsICdwcmVTZWxlY3RlZEl0ZW1zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFNlbGVjdGlvbkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpdGVtU2VsZWN0ZWQnLCAnc2VsZWN0aW9uTGlzdFJlbmRlcmVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFNlbGVjdGlvbkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRldFNlbGVjdGlvbkxpc3Qge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIGFuIGl0ZW0gaXMgc2VsZWN0ZWQgb3IgZGUtc2VsZWN0ZWQuXG4gICAqL1xuICBpdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cbiAgICovXG4gIHNlbGVjdGlvbkxpc3RSZW5kZXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJywgJ3RoZW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydzZXRQcm9ncmVzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndGhlbWUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuVGV0U3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGVwcGVyRGF0YSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdsYW5ndWFnZScsICdtYXgnLCAnbWluJywgJ3NlbGVjdE9uRm9jdXMnLCAnc3RlcCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldFZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3RlcHBlci1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2xhbmd1YWdlJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdGVwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXJJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lucHV0VmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXJJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlcklucHV0IHtcbiAgLyoqXG4gICAqIEVtaXRzIGlucHV0IGV2ZW50XG4gICAqL1xuICBpbnB1dFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXItdjInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXJWMiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXJWMiBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlclYyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3dpdGNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN3aXRjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NoZWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRTd2l0Y2hTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLlRldFN3aXRjaCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFN3aXRjaFN3aXRjaENoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0YU5hbWUnLCAnZGVmYXVsdFRhYicsICdwYXJlbnRDb250YWluZXInLCAndXNlVmlzaWJpbGl0eSddLFxuICBtZXRob2RzOiBbJ2luaXQnLCAnc2VsZWN0VGFiJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFiLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAncGFyZW50Q29udGFpbmVyJywgJ3VzZVZpc2liaWxpdHknXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFiQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RhYlNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUYWJTZWxlY3RFdmVudERhdGEgYXMgSVRldFRhYkNvbnRlbnRUYWJTZWxlY3RFdmVudERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYkNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhYkNvbnRlbnQge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRyaWdnZXJlZCBvbiBzZWxlY3Rpb24gb2YgdGhlIHRhYi5cbiAgICovXG4gIHRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFRhYkNvbnRlbnRUYWJTZWxlY3RFdmVudERhdGE+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b3BsYXlEZWxheScsICdkYXRhTmFtZScsICdkZWZhdWx0VGFiJywgJ2hpZGVBY3RpdmVIZWFkZXJVbmRlcmxpbmUnLCAnaGlkZUhlYWRlclVuZGVybGluZScsICdwb3NpdGlvbicsICdzZWdtZW50ZWQnLCAnc2l6aW5nJywgJ3N0b3BBdXRvcGxheU9uQ29udGVudEhvdmVyJywgJ3N0b3BBdXRvcGxheU9uSGVhZGVySG92ZXInLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVBdXRvcGxheScsICdzdG9wQXV0b3BsYXknLCAnc3RhcnRBdXRvcGxheScsICdzZWxlY3RUYWInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWItaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvcGxheURlbGF5JywgJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAnaGlkZUFjdGl2ZUhlYWRlclVuZGVybGluZScsICdoaWRlSGVhZGVyVW5kZXJsaW5lJywgJ3Bvc2l0aW9uJywgJ3NlZ21lbnRlZCcsICdzaXppbmcnLCAnc3RvcEF1dG9wbGF5T25Db250ZW50SG92ZXInLCAnc3RvcEF1dG9wbGF5T25IZWFkZXJIb3ZlcicsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YWJTZWxlY3RlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGFiU2VsZWN0RXZlbnREYXRhIGFzIElUZXRUYWJIZWFkZXJUYWJTZWxlY3RFdmVudERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYkhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0VGFiSGVhZGVyIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0cmlnZ2VyZWQgb24gdGFiIHNlbGVjdGlvbi5cbiAgICovXG4gIHRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFRhYkhlYWRlclRhYlNlbGVjdEV2ZW50RGF0YT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NlbGxUZXh0QWxpZ24nLCAnZ2FwcGVkQ29sdW1uTGF5b3V0JywgJ3RhYmxlRGF0YScsICd0YWJsZUhlYWRlcicsICd0YWJsZUhlYWRlckNvbHVtblNwYW4nLCAndGFibGVIZWFkZXJUZXh0QWxpZ24nLCAndGFibGVIZWFkZXJXaWR0aCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NlbGxUZXh0QWxpZ24nLCAnZ2FwcGVkQ29sdW1uTGF5b3V0JywgJ3RhYmxlRGF0YScsICd0YWJsZUhlYWRlcicsICd0YWJsZUhlYWRlckNvbHVtblNwYW4nLCAndGFibGVIZWFkZXJUZXh0QWxpZ24nLCAndGFibGVIZWFkZXJXaWR0aCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWJsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY291bnQnLCAnbGFuZ3VhZ2UnLCAnc2hvd0ljb24nLCAndGFnVGl0bGUnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb3VudCcsICdsYW5ndWFnZScsICdzaG93SWNvbicsICd0YWdUaXRsZScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWcgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYW5ndWFnZScsICd0YWdzJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFnLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYW5ndWFnZScsICd0YWdzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRhZ0dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGFnR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhZ0dyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlY2ltYWxQcmVmaXgnLCAnZGVjaW1hbFN0YXJ0JywgJ2xpc3RJY29uJywgJ2xpc3RUeXBlJywgJ3RoZW1lJywgJ3dpdGhJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGV4dC1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWNpbWFsUHJlZml4JywgJ2RlY2ltYWxTdGFydCcsICdsaXN0SWNvbicsICdsaXN0VHlwZScsICd0aGVtZScsICd3aXRoSWNvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUZXh0TGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRleHRMaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUZXh0TGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvck1lc3NhZ2VzJywgJ2xhYmVsJywgJ3BsYWNlaG9sZGVyJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGV4dGFyZWEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yTWVzc2FnZXMnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGV4dGFyZWEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuVGV0VGV4dGFyZWEge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3RhQnV0dG9uRGVzY3JpcHRpb24nLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UeXBlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja0ljb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10aGFuay15b3UtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3RhQnV0dG9uRGVzY3JpcHRpb24nLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UeXBlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja0ljb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGhhbmtZb3VWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3RhQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGhhbmtZb3VWaWV3IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUaGFua1lvdVZpZXcge1xuICAvKipcbiAgICogVGhlIGNsaWNrIGV2ZW50IGVtaXR0ZXIgb2YgdGhlIENUQSBidXR0b24uXG4gICAqL1xuICBjdGFCdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3RhQnV0dG9uSWQnLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UaGVtZScsICdjdGFCdXR0b25UeXBlJywgJ2ljb24nLCAnbGFuZ3VhZ2UnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnLCAndHJhbnNsYXRpb25Hcm91cCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRoYW5rLXlvdS12aWV3LXYyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdGFCdXR0b25JZCcsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblRoZW1lJywgJ2N0YUJ1dHRvblR5cGUnLCAnaWNvbicsICdsYW5ndWFnZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZScsICd0cmFuc2xhdGlvbkdyb3VwJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRoYW5rWW91Vmlld1YyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3RhQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGhhbmtZb3VWaWV3VjIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRoYW5rWW91Vmlld1YyIHtcbiAgLyoqXG4gICAqIFRoZSBjbGljayBldmVudCBlbWl0dGVyIG9mIHRoZSBDVEEgYnV0dG9uLlxuICAgKi9cbiAgY3RhQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RvTm90U2hvd09uSG92ZXInLCAnaG92ZXJFbGVtZW50JywgJ3Bvc2l0aW9uJywgJ3RhcmdldEVsZW1lbnRTZWxlY3RvcicsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZScsICd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkb05vdFNob3dPbkhvdmVyJywgJ2hvdmVyRWxlbWVudCcsICdwb3NpdGlvbicsICd0YXJnZXRFbGVtZW50U2VsZWN0b3InLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRvb2x0aXAge31cblxuXG4iXX0=
|
|
1477
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RldC1jb21wb25lbnRzLWFuZ3VsYXIvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsV0FBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFlBQVk7a0dBQVosWUFBWSx5VkFKYiwyQkFBMkI7O0FBSTFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUM7UUFDOUosT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztLQUM3RCxDQUFDO0dBUVcsWUFBWSxDQU14QjsyRkFOWSxZQUFZO2tCQVB4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVB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QkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQztpQkFDM0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYnJlYWtwb2ludCcsICdoZWFkZXInLCAnaGVhZGVySW1hZ2VBbHQnLCAnaGVhZGVySW1hZ2VTcmMnLCAnaGVhZGluZ1RhZycsICdpc09wZW4nLCAndGhlbWUnLCAndHJhbnNwYXJlbnRCYWNrZ3JvdW5kJywgJ3dpdGhBdXRvU2Nyb2xsJywgJ3dpdGhCb3JkZXInXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJywgJ3RvZ2dsZScsICdnZXRTdGF0ZScsICdzZXRTdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnJlYWtwb2ludCcsICdoZWFkZXInLCAnaGVhZGVySW1hZ2VBbHQnLCAnaGVhZGVySW1hZ2VTcmMnLCAnaGVhZGluZ1RhZycsICdpc09wZW4nLCAndGhlbWUnLCAndHJhbnNwYXJlbnRCYWNrZ3JvdW5kJywgJ3dpdGhBdXRvU2Nyb2xsJywgJ3dpdGhCb3JkZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBY2NvcmRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2FkZHJlc3NLZXknLCAnaW5wdXREaXNhYmxlZCcsICdpc0lucHV0SW52YWxpZCcsICdsYWJlbCcsICdsYW5ndWFnZScsICdtYW51YWxBZGRyZXNzVHJpZ2dlcnMnLCAnbWluU2VhcmNoS2V5d29yZExlbmd0aCcsICduZXdGb3Jtc1N0eWxlJywgJ25ld1N0eWxlJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsncmVzZXRJbnB1dFN0YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWRkcmVzcy1zZWFyY2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhZGRyZXNzS2V5JywgJ2lucHV0RGlzYWJsZWQnLCAnaXNJbnB1dEludmFsaWQnLCAnbGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWFudWFsQWRkcmVzc1RyaWdnZXJzJywgJ21pblNlYXJjaEtleXdvcmRMZW5ndGgnLCAnbmV3Rm9ybXNTdHlsZScsICduZXdTdHlsZScsICdwbGFjZWhvbGRlcicsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBZGRyZXNzU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWRkcmVzc1NlbGVjdGVkJywgJ2NsZWFySW5wdXRGaWVsZCcsICdtYW51YWxBZGRyZXNzSW5wdXQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEFkZHJlc3NJbnRlcmZhY2UgYXMgSVRldEFkZHJlc3NTZWFyY2hBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBZGRyZXNzU2VhcmNoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBZGRyZXNzU2VhcmNoIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFuIGFkZHJlc3MgdmlhIGF1dG9jb21wbGV0ZS5cbiAgICovXG4gIGFkZHJlc3NTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBZGRyZXNzU2VhcmNoQWRkcmVzc0ludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBmaWVsZCBpcyBjbGVhcmVkIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBjbGVhcklucHV0RmllbGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBtYW51YWwgYWRkcmVzcyBpbnB1dCBvcHRpb24uXG4gICAqL1xuICBtYW51YWxBZGRyZXNzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFzc2V0LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsaXN0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2FkZHJlc3NTZWFyY2hMYWJlbCcsICdhZGRyZXNzU2VhcmNoUGxhY2Vob2xkZXInLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWyd1bnNlbGVjdEFzc2V0QWRkcmVzc2VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXNzZXQtYXZhaWxhYmlsaXR5LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEF2YWlsYWJpbGl0eUFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsc2l0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyQ2FsbGJhY2snLCAnZGFya1RoZW1lJywgJ2RlZmF1bHRPcHRpb25zJywgJ2ZpbmlzaGVkTG9hZGluZycsICdoaWdobGlnaHRPcHRpb25zS2V5d29yZCcsICduZXdTdHlsZScsICdub09wdGlvbnNNZXNzYWdlJywgJ25vT3B0aW9uc1JlbmRlckZ1bmN0aW9uJywgJ29wdGlvbnNGaWx0ZXJBY3Rpb24nLCAnb3B0aW9uc0ljb24nLCAnc2hvd09wdGlvbnNPbkVzY2FwZUNsZWFyJywgJ3R5cGluZ0RlYm91bmNlVGltZSddLFxuICBtZXRob2RzOiBbJ2NsZWFyJywgJ2ZvY3VzT25OYXRpdmVJbnB1dCcsICdzZWxlY3RPcHRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hdXRvY29tcGxldGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsZWFyQ2FsbGJhY2snLCAnZGFya1RoZW1lJywgJ2RlZmF1bHRPcHRpb25zJywgJ2ZpbmlzaGVkTG9hZGluZycsICdoaWdobGlnaHRPcHRpb25zS2V5d29yZCcsICduZXdTdHlsZScsICdub09wdGlvbnNNZXNzYWdlJywgJ25vT3B0aW9uc1JlbmRlckZ1bmN0aW9uJywgJ29wdGlvbnNGaWx0ZXJBY3Rpb24nLCAnb3B0aW9uc0ljb24nLCAnc2hvd09wdGlvbnNPbkVzY2FwZUNsZWFyJywgJ3R5cGluZ0RlYm91bmNlVGltZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBdXRvY29tcGxldGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydvcHRpb25TZWxlY3RlZCcsICdhY3RpdmVDb21wb25lbnRTdGF0ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE9wdGlvbkludGVyZmFjZSBhcyBJVGV0QXV0b2NvbXBsZXRlT3B0aW9uSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBdXRvY29tcGxldGUgZXh0ZW5kcyBDb21wb25lbnRzLlRldEF1dG9jb21wbGV0ZSB7XG4gIC8qKlxuICAgKiBUaGUgYXV0b2NvbXBsZXRlIG9wdGlvbiBzZWxlY3Rpb24gZXZlbnQuXG4gICAqL1xuICBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBdXRvY29tcGxldGVPcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIEVtaXRzIFwidGV0LWF1dG9jb21wbGV0ZVwiIHVuaXF1ZSBpZCwgd2hlbiBhbiBhdHRlbXB0IHRvIG9wZW4gc2VsZWN0aW9uIG9wdGlvbnMgaXMgaWRlbnRpZmllZC5cbiAgICovXG4gIGFjdGl2ZUNvbXBvbmVudFN0YXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZyB8IG51bGw+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdE9wdGlvbicsICdlcnJvck1lc3NhZ2UnLCAnaGFzRXJyb3InLCAnbGFiZWwnLCAnbm9PcHRpb25zTWVzc2FnZScsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsnY2xlYXJJbnB1dCcsICdmb2N1c09uTmF0aXZlSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hdXRvY29tcGxldGUtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRPcHRpb24nLCAnZXJyb3JNZXNzYWdlJywgJ2hhc0Vycm9yJywgJ2xhYmVsJywgJ25vT3B0aW9uc01lc3NhZ2UnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBdXRvY29tcGxldGVEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ29wdGlvblNlbGVjdGVkJywgJ2lucHV0VmFsdWVDbGVhcmVkJywgJ2lucHV0VmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBPcHRpb25JbnRlcmZhY2UgYXMgSVRldEF1dG9jb21wbGV0ZURyb3Bkb3duT3B0aW9uSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBdXRvY29tcGxldGVEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuVGV0QXV0b2NvbXBsZXRlRHJvcGRvd24ge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gYW4gb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgb3B0aW9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXV0b2NvbXBsZXRlRHJvcGRvd25PcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBpcyBjbGVhcmVkLlxuICAgKi9cbiAgaW5wdXRWYWx1ZUNsZWFyZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgb3B0aW9uIGlucHV0IHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQuXG4gICAqL1xuICBpbnB1dFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnbGFuZ3VhZ2UnLCAnc2hvd0F2YWlsYWJpbGl0eUNvbnRhY3RGb3JtJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICdzdWNjZXNzJywgJ3Rhc2tPcHRpb25zJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXZhaWxhYmlsaXR5LWNvbnRhY3QtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2xhbmd1YWdlJywgJ3Nob3dBdmFpbGFiaWxpdHlDb250YWN0Rm9ybScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAnc3VjY2VzcycsICd0YXNrT3B0aW9ucycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBdmFpbGFiaWxpdHlDb250YWN0Rm9ybSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rhc2tDcmVhdGlvblN1Y2Nlc3MnLCAndGFza0NyZWF0aW9uRmFpbGVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBdmFpbGFiaWxpdHlDb250YWN0Rm9ybSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBpZiB0aGUgdGFzayBjcmVhdGlvbiB3YXMgc3VjY2Vzc2Z1bC5cbiAgICovXG4gIHRhc2tDcmVhdGlvblN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGlmIHRoZSB0YXNrIGNyZWF0aW9uIGZhaWxlZC5cbiAgICovXG4gIHRhc2tDcmVhdGlvbkZhaWxlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uRHVyYXRpb24nLCAnZGF0YScsICdkYXRhT3JkZXInLCAnbGFiZWxQb3NpdGlvbicsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdwYXJlbnRDb250YWluZXInLCAnc2l6ZScsICd2YWx1ZVBvc2l0aW9uJywgJ3ZhbHVlVW5pdCcsICd3aXRoR3JpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJhci1ncmFwaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uRHVyYXRpb24nLCAnZGF0YScsICdkYXRhT3JkZXInLCAnbGFiZWxQb3NpdGlvbicsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdwYXJlbnRDb250YWluZXInLCAnc2l6ZScsICd2YWx1ZVBvc2l0aW9uJywgJ3ZhbHVlVW5pdCcsICd3aXRoR3JpZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCYXJHcmFwaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJhckdyYXBoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCYXJHcmFwaCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhZGRyZXNzS2V5JywgJ2xhbmd1YWdlJywgJ3Nob3dIZWFkaW5ncyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJ1c2luZXNzLWxpbmVzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhZGRyZXNzS2V5JywgJ2xhbmd1YWdlJywgJ3Nob3dIZWFkaW5ncyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCdXNpbmVzc0xpbmVzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnVzaW5lc3NMaW5lU2VsZWN0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEJ1c2luZXNzTGluZSBhcyBJVGV0QnVzaW5lc3NMaW5lc0J1c2luZXNzTGluZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QnVzaW5lc3NMaW5lcyBleHRlbmRzIENvbXBvbmVudHMuVGV0QnVzaW5lc3NMaW5lcyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gYnVzaW5lc3MgbGluZSBpcyBzZWxlY3RlZC5cbiAgICovXG4gIGJ1c2luZXNzTGluZVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEJ1c2luZXNzTGluZXNCdXNpbmVzc0xpbmU+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGF5b3V0JywgJ3N0ZXBwZXJEYXRhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYnVzaW5lc3Mtcm91bmQtc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGF5b3V0JywgJ3N0ZXBwZXJEYXRhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEJ1c2luZXNzUm91bmRTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QnVzaW5lc3NSb3VuZFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldEJ1c2luZXNzUm91bmRTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjbGlja0NhbGxiYWNrJywgJ2Rpc2FibGVkJywgJ2VsZW1lbnRJZCcsICdpY29uTW9kZScsICdzaXplJywgJ3RoZW1lJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjbGlja0NhbGxiYWNrJywgJ2Rpc2FibGVkJywgJ2VsZW1lbnRJZCcsICdpY29uTW9kZScsICdzaXplJywgJ3RoZW1lJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdpbmRldGVybWluYXRlJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJywgJ3NldEluZGV0ZXJtaW5hdGUnLCAnc2V0RXJyb3InXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdpbmRldGVybWluYXRlJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVjayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQ2hlY2tib3hDaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRDaGVja2JveENoZWNrYm94Q2hlY2tFdmVudEludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlRldENoZWNrYm94IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbnRyb2wgZWxlbWVudCBpcyBjaGVja2VkLlxuICAgKi9cbiAgY2hlY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q2hlY2tib3hDaGVja2JveENoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFuZ3VhZ2UnLCAnbG9hZGluZycsICdwcml2YWN5UG9saWN5TGlua1VybCcsICdzaG93T3ZlcmxheSddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jbG91ZC1hcHBsaWNhdGlvbi1mb3JtLWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFuZ3VhZ2UnLCAnbG9hZGluZycsICdwcml2YWN5UG9saWN5TGlua1VybCcsICdzaG93T3ZlcmxheSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N1Ym1pdHRlZCcsICdjbG9zZURpYWxvZycsICdvcGVuRGlhbG9nJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUZXRBcHBsaWNhdGlvbkZvcm1EaWFsb2dTdWJtaXNzaW9uRGF0YSBhcyBJVGV0Q2xvdWRBcHBsaWNhdGlvbkZvcm1EaWFsb2dUZXRBcHBsaWNhdGlvbkZvcm1EaWFsb2dTdWJtaXNzaW9uRGF0YSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2xvdWRBcHBsaWNhdGlvbkZvcm1EaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLlRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgYXBwbGljYXRpb24gZm9ybSBpcyBzdWNjZXNzZnVsbHkgc3VibWl0dGVkLlxuICAgKi9cbiAgc3VibWl0dGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGE+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIG9uIHRoZSBgY2xvc2VgIGljb24gY2xpY2ssIG92ZXJsYXkgY2xpY2sgb3IgdGhlIGBlc2NgIGtleSBwcmVzcy5cbiAgICovXG4gIGNsb3NlRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIGJlIGVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5lZC5cbiAgICovXG4gIG9wZW5EaWFsb2c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lclNlbGVjdG9yJywgJ2xhbmd1YWdlJywgJ3NlbGVjdE9uRm9jdXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jbG91ZC1jb25maWd1cmF0b3InLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lclNlbGVjdG9yJywgJ2xhbmd1YWdlJywgJ3NlbGVjdE9uRm9jdXMnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q2xvdWRDb25maWd1cmF0b3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG91ZENhbGN1bGF0b3JTdWJtaXQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2xvdWRDb25maWd1cmF0b3IgZXh0ZW5kcyBDb21wb25lbnRzLlRldENsb3VkQ29uZmlndXJhdG9yIHtcbiAgLyoqXG4gICAqIFRoZSBzdWJtaXQgZXZlbnQgb2YgdGhlIGZvcm0uXG4gICAqL1xuICBjbG91ZENhbGN1bGF0b3JTdWJtaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2xhbmd1YWdlJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICd0YXNrT3B0aW9ucycsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWNvbnRhY3QtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2xhbmd1YWdlJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICd0YXNrT3B0aW9ucycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDb250YWN0Rm9ybSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rhc2tDcmVhdGlvblN1Y2Nlc3MnLCAndGFza0NyZWF0aW9uRmFpbGVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhY3RGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDb250YWN0Rm9ybSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBpZiB0aGUgdGFzayBjcmVhdGlvbiB3YXMgc3VjY2Vzc2Z1bC5cbiAgICovXG4gIHRhc2tDcmVhdGlvblN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGlmIHRoZSB0YXNrIGNyZWF0aW9uIGZhaWxlZC5cbiAgICovXG4gIHRhc2tDcmVhdGlvbkZhaWxlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWN0QmxvY2tzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY29udGFjdC1pbmZvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWN0QmxvY2tzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENvbnRhY3RJbmZvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q29udGFjdEluZm8gZXh0ZW5kcyBDb21wb25lbnRzLlRldENvbnRhY3RJbmZvIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZ2hsaWdodGFibGUnLCAnc2VsZWN0ZWQnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZ2hsaWdodGFibGUnLCAnc2VsZWN0ZWQnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnZGFya1RoZW1lJywgJ2dyb3VwQnlBZGRyZXNzJywgJ2hpZGVBc3NldHMnLCAnbG9hZGVyRWxlbWVudHNDb3VudCcsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICdzaW5nbGVMb2FkZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jdXN0b21lci1hc3NldHMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2RhcmtUaGVtZScsICdncm91cEJ5QWRkcmVzcycsICdoaWRlQXNzZXRzJywgJ2xvYWRlckVsZW1lbnRzQ291bnQnLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAnc2luZ2xlTG9hZGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEN1c3RvbWVyQXNzZXRzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYXNzZXRTZWxlY3RlZCcsICdhc3NldHNVcGRhdGVkJywgJ2N1c3RvbWVyTm90Rm91bmQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyQXNzZXQgYXMgSVRldEN1c3RvbWVyQXNzZXRzQ3VzdG9tZXJBc3NldCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21lck5vdEZvdW5kIGFzIElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyTm90Rm91bmQgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEN1c3RvbWVyQXNzZXRzIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDdXN0b21lckFzc2V0cyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdXNlciBzZWxlY3RzIGFuIGFzc2V0LlxuICAgKi9cbiAgYXNzZXRTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyQXNzZXQ+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgYXNzZXRzIGNoYW5nZS5cbiAgICovXG4gIGFzc2V0c1VwZGF0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lckFzc2V0W10+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBubyBTYWxlc2ZvcmNlIGN1c3RvbWVyIGlzIGZvdW5kIGZvciB0aGUgZ2l2ZW4gUElELlxuICAgKi9cbiAgY3VzdG9tZXJOb3RGb3VuZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyTm90Rm91bmQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0ZScsICdkYXRlcGlja2VyVmlldycsICdpc09wZW4nLCAnbG9jYWxlJywgJ292ZXJsYXlFZmZlY3QnLCAncmFuZ2VQaWNrZXJNb2RlJ10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlSXNPcGVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGF0ZXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0ZScsICdkYXRlcGlja2VyVmlldycsICdpc09wZW4nLCAnbG9jYWxlJywgJ292ZXJsYXlFZmZlY3QnLCAncmFuZ2VQaWNrZXJNb2RlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkYXRlQ2hhbmdlZCcsICdyYW5nZURhdGVzQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREYXRlcGlja2VyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gZGF0ZSB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiBhdCBsZWFzdCBvbmUgb2YgdGhlIHJhbmdlIGRhdGVzIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgcmFuZ2VEYXRlc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlW10+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0ZXBpY2tlclZpZXcnLCAnaW50ZXJuYWxEYXRlJywgJ2xvY2FsZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0ZXBpY2tlclZpZXcnLCAnaW50ZXJuYWxEYXRlJywgJ2xvY2FsZScsICdzZWxlY3RlZERhdGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RGF0ZXBpY2tlckhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ludGVybmFsRGF0ZUNoYW5nZWQnLCAnZGF0ZXBpY2tlclZpZXdDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyVmlldyBhcyBJVGV0RGF0ZXBpY2tlckhlYWRlckRhdGVwaWNrZXJWaWV3IH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VySGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREYXRlcGlja2VySGVhZGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGludGVybmFsIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBpbnRlcm5hbERhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgZGF0ZXBpY2tlciB2aWV3IHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgZGF0ZXBpY2tlclZpZXdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJIZWFkZXJEYXRlcGlja2VyVmlldz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnRlcm5hbERhdGUnLCAncmFuZ2VEYXRlcycsICdyYW5nZVBpY2tlck1vZGUnLCAnc2VsZWN0ZWREYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGF0ZXBpY2tlci1tb250aC12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlcm5hbERhdGUnLCAncmFuZ2VEYXRlcycsICdyYW5nZVBpY2tlck1vZGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJNb250aFZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJDbG9zZWQnLCAncmFuZ2VEYXRlU2V0J10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyUmFuZ2VTZXREYXRhIGFzIElUZXREYXRlcGlja2VyTW9udGhWaWV3RGF0ZXBpY2tlclJhbmdlU2V0RGF0YSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlck1vbnRoVmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlck1vbnRoVmlldyB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gZGF0ZSB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgZGF0ZXBpY2tlciB3aWxsIGJlIGNsb3NlZC5cbiAgICovXG4gIGRhdGVwaWNrZXJDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIG9uZSBvZiB0aGUgcmFuZ2UgZGF0ZXMgd2lsbCBiZSBzZXQuXG4gICAqL1xuICByYW5nZURhdGVTZXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RGF0ZXBpY2tlck1vbnRoVmlld0RhdGVwaWNrZXJSYW5nZVNldERhdGE+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXItbXVsdGkteWVhci12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlcm5hbERhdGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJNdWx0aVllYXJWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW50ZXJuYWxEYXRlQ2hhbmdlZCcsICdkYXRlcGlja2VyVmlld0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IERhdGVwaWNrZXJWaWV3IGFzIElUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlld0RhdGVwaWNrZXJWaWV3IH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXcge1xuICAvKipcbiAgICogSW50ZXJuYWwgZGF0ZSBjaGFuZ2VkIGV2ZW50LlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIERhdGVwaWNrZXIgdmlldyBjaGFuZ2VkIGV2ZW50LlxuICAgKi9cbiAgZGF0ZXBpY2tlclZpZXdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJNdWx0aVllYXJWaWV3RGF0ZXBpY2tlclZpZXc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXIteWVhci12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlcm5hbERhdGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJZZWFyVmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ludGVybmFsRGF0ZUNoYW5nZWQnLCAnZGF0ZXBpY2tlclZpZXdDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyVmlldyBhcyBJVGV0RGF0ZXBpY2tlclllYXJWaWV3RGF0ZXBpY2tlclZpZXcgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERhdGVwaWNrZXJZZWFyVmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlclllYXJWaWV3IHtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGludGVybmFsIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBpbnRlcm5hbERhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgZGF0ZXBpY2tlciB2aWV3IHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgZGF0ZXBpY2tlclZpZXdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJZZWFyVmlld0RhdGVwaWNrZXJWaWV3Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlT25Fc2NhcGUnLCAnY2xvc2VPbk92ZXJsYXlDbGljaycsICdmb290ZXJEaXNwbGF5JywgJ2hlYWRlclRpdGxlJywgJ2hpZGVDbG9zZUJ1dHRvbicsICdoaWRlSGVhZGVyJywgJ2lzT3BlbicsICdwcmV2ZW50RGVmYXVsdENsb3NlJywgJ3Nob3dIZWFkZXJEaXZpZGVyJywgJ3RoZW1lJywgJ3RpdGxlSWQnXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGlhbG9nJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zZU9uRXNjYXBlJywgJ2Nsb3NlT25PdmVybGF5Q2xpY2snLCAnZm9vdGVyRGlzcGxheScsICdoZWFkZXJUaXRsZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnaGlkZUhlYWRlcicsICdpc09wZW4nLCAncHJldmVudERlZmF1bHRDbG9zZScsICdzaG93SGVhZGVyRGl2aWRlcicsICd0aGVtZScsICd0aXRsZUlkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERpYWxvZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlRGlhbG9nJywgJ29wZW5EaWFsb2cnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREaWFsb2cge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIGJlIGVtaXR0ZWQgb24gdGhlIGBjbG9zZWAgaWNvbiBjbGljaywgb3ZlcmxheSBjbGljayBvciB0aGUgYGVzY2Aga2V5IHByZXNzLlxuICAgKi9cbiAgY2xvc2VEaWFsb2c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWQuXG4gICAqL1xuICBvcGVuRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBldmVudFR5cGU6IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93TXVsdGlwbGUnLCAnYnV0dG9uTGFiZWwnLCAnY2xvc2VPblNlbGVjdGlvbicsICdkaXNhYmxlZCcsICdmbGV4TGF5b3V0JywgJ2xhYmVsJywgJ2xhYmVsTG9nbycsICdsYWJlbExvZ29HcmF5c2NhbGUnLCAnbGFiZWxSaWdodCcsICdsYWJlbFJpZ2h0Q29sb3InLCAnbGFiZWxTdWJUZXh0JywgJ29wdGlvbnMnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydnZXRTZWxlY3RlZE9wdGlvbnMnLCAnc2VsZWN0T3B0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbG93TXVsdGlwbGUnLCAnYnV0dG9uTGFiZWwnLCAnY2xvc2VPblNlbGVjdGlvbicsICdkaXNhYmxlZCcsICdmbGV4TGF5b3V0JywgJ2xhYmVsJywgJ2xhYmVsTG9nbycsICdsYWJlbExvZ29HcmF5c2NhbGUnLCAnbGFiZWxSaWdodCcsICdsYWJlbFJpZ2h0Q29sb3InLCAnbGFiZWxTdWJUZXh0JywgJ29wdGlvbnMnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydvcHRpb25TZWxlY3RlZCcsICdvcHRpb25DaGVja2VkJywgJ29wdGlvbnNDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEcm9wZG93bk9wdGlvbkludGVyZmFjZSBhcyBJVGV0RHJvcGRvd25Ecm9wZG93bk9wdGlvbkludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RlZE9wdGlvbkludGVyZmFjZSBhcyBJVGV0RHJvcGRvd25TZWxlY3RlZE9wdGlvbkludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLlRldERyb3Bkb3duIHtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGEgc2luZ2xlIG9wdGlvbiBpcyBzZWxlY3RlZCBhbmQgcmV0dXJucyB0aGUgb3B0aW9uLlxuICAgKi9cbiAgb3B0aW9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RHJvcGRvd25Ecm9wZG93bk9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogVHJpZ2dlcnMgd2hlbmV2ZXIgYSBtdWx0aS1zZWxlY3RhYmxlIG9wdGlvbiBpcyBjaGVja2VkL3VuY2hlY2tlZC5cbiAgICovXG4gIG9wdGlvbkNoZWNrZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RHJvcGRvd25TZWxlY3RlZE9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogVHJpZ2dlcnMgd2hlbmV2ZXIgYW4gb3B0aW9uIGlzIGNoYW5nZWQgYW5kIHJldHVybnMgYSBsaXN0IG9mIGFsbCBzZWxlY3RlZCBvcHRpb25zLlxuICAgKi9cbiAgb3B0aW9uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RHJvcGRvd25Ecm9wZG93bk9wdGlvbkludGVyZmFjZVtdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uQ2xvc2VkJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnLCAndHlwZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SW5wdXRIdG1sRWxlbWVudCcsICdnZXRFcnJvcnMnLCAndmFsaWRhdGVJbnB1dCcsICdzZXRTdGF0ZScsICdjbGVhciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWV4cGFuZGFibGUtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uQ2xvc2VkJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnLCAndHlwZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEV4cGFuZGFibGVJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JlZm9yZS1zdGF0ZS1jaGFuZ2UnLCAnYWZ0ZXItc3RhdGUtY2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdGF0ZUNoYW5nZUludGVyZmFjZSBhcyBJVGV0RXhwYW5kYWJsZUlucHV0U3RhdGVDaGFuZ2VJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEV4cGFuZGFibGVJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0RXhwYW5kYWJsZUlucHV0IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGJlZm9yZSB0aGUgc3RhcnQgb2YgdGhlIGV4cGFuZGluZyBvciBzaHJpbmtpbmcgYW5pbWF0aW9uIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gICdiZWZvcmUtc3RhdGUtY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRFeHBhbmRhYmxlSW5wdXRTdGF0ZUNoYW5nZUludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgZXhwYW5kaW5nIG9yIHNocmlua2luZyBhbmltYXRpb24gb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FmdGVyLXN0YXRlLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RXhwYW5kYWJsZUlucHV0U3RhdGVDaGFuZ2VJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW5pdGlhbFN0YXRlJywgJ3RvZ2dsZUVsZW1lbnQnXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJywgJ3RvZ2dsZScsICdnZXRTdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWV4cGFuc2lvbi1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW5pdGlhbFN0YXRlJywgJ3RvZ2dsZUVsZW1lbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RXhwYW5zaW9uUGFuZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRFeHBhbnNpb25QYW5lbCBleHRlbmRzIENvbXBvbmVudHMuVGV0RXhwYW5zaW9uUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndXNlRGVmYXVsdENvbG9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndXNlRGVmYXVsdENvbG9yJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1pbmxpbmUtbWVzc2FnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRJbmxpbmVNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0SW5saW5lTWVzc2FnZSBleHRlbmRzIENvbXBvbmVudHMuVGV0SW5saW5lTWVzc2FnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYXV0b2NvbXBsZXRlJywgJ2NsYXNzJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdpbnB1dFRhYmluZGV4JywgJ2xhYmVsJywgJ21hbnVhbFZhbGlkYXRpb24nLCAnbWF4bGVuZ3RoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3RoZW1lJywgJ3R5cGUnLCAndmFsaWRhdG9ycycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldElucHV0SHRtbEVsZW1lbnQnLCAnZ2V0RXJyb3JzJywgJ2NsZWFyRXJyb3JzJywgJ3ZhbGlkYXRlSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2F1dG9jb21wbGV0ZScsICdjbGFzcycsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uTGVmdCcsICdpY29uTGVmdENsaWNrQ2FsbGJhY2snLCAnaWNvblJpZ2h0JywgJ2ljb25SaWdodENsaWNrQ2FsbGJhY2snLCAnaW5wdXRUYWJpbmRleCcsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21heGxlbmd0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICd0aGVtZScsICd0eXBlJywgJ3ZhbGlkYXRvcnMnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0SW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0SW5wdXQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2xhYmVsVGl0bGUnLCAnc2hvd0ljb24nLCAndGhlbWUnLCAndHJhbnNsYXRlVGl0bGUnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnbGFiZWxUaXRsZScsICdzaG93SWNvbicsICd0aGVtZScsICd0cmFuc2xhdGVUaXRsZScsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldExhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldExhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbG9hZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRldExvYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldExvYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0TG9hZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjbGlja2FibGUnLCAnZGFya01vZGUnLCAnZmlyc3RMZXZlbEljb24nLCAnZmlyc3RMZXZlbElkJywgJ2ZpcnN0TGV2ZWxMaW5rJywgJ2ZpcnN0TGV2ZWxUaXRsZScsICdzdWJMZXZlbHMnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjbGlja2FibGUnLCAnZGFya01vZGUnLCAnZmlyc3RMZXZlbEljb24nLCAnZmlyc3RMZXZlbElkJywgJ2ZpcnN0TGV2ZWxMaW5rJywgJ2ZpcnN0TGV2ZWxUaXRsZScsICdzdWJMZXZlbHMnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TWVudSBleHRlbmRzIENvbXBvbmVudHMuVGV0TWVudSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrTW9kZScsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ2lzQWN0aXZlJywgJ3N1YkxldmVscyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW1lbnUtbW9iaWxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrTW9kZScsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ2lzQWN0aXZlJywgJ3N1YkxldmVscyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRNZW51TW9iaWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TWVudU1vYmlsZSBleHRlbmRzIENvbXBvbmVudHMuVGV0TWVudU1vYmlsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50JywgJ2RpYWxvZ0RhdGFTY3JlZW5LZXknLCAnaXNPcGVuJywgJ2xhbmd1YWdlJywgJ3N0ZXBzJywgJ3RldERpYWxvZ0NsYXNzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbXVsdGktc3RlcC1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlhbG9nRGF0YVNjcmVlbktleScsICdpc09wZW4nLCAnbGFuZ3VhZ2UnLCAnc3RlcHMnLCAndGV0RGlhbG9nQ2xhc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TXVsdGlTdGVwRGlhbG9nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TXVsdGlTdGVwRGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRNdWx0aVN0ZXBEaWFsb2cge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya01vZGUnXSxcbiAgbWV0aG9kczogWydzaG93VG9nZ2xlcicsICdoaWRlVG9nZ2xlcicsICdvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbmF2aWdhdGlvbi1tb2JpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtNb2RlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE5hdmlnYXRpb25Nb2JpbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydtYWluRHJvcGRvd25Ub2dnbGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TmF2aWdhdGlvbk1vYmlsZSBleHRlbmRzIENvbXBvbmVudHMuVGV0TmF2aWdhdGlvbk1vYmlsZSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCBvbiB0aGUgYGlzVG9nZ2xlckV4cGFuZGVkYCB2YWx1ZSBjaGFuZ2UuXG4gICAqL1xuICBtYWluRHJvcGRvd25Ub2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93Q2xvc2UnLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnY29udGVudCcsICdoZWFkZXJUaXRsZScsICdpY29uJywgJ3RoZW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW5vdGlmaWNhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxsb3dDbG9zZScsICdhbmltYXRpb25EdXJhdGlvbicsICdjb250ZW50JywgJ2hlYWRlclRpdGxlJywgJ2ljb24nLCAndGhlbWUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXROb3RpZmljYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXROb3RpZmljYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRldE5vdGlmaWNhdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NvbXBsZXRlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoZWxwZXJUZXh0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdWZmaXhlcycsICd0aGVtZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldFZhbHVlJywgJ3Jlc2V0U3VmZml4J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbnVtYmVyLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NvbXBsZXRlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoZWxwZXJUZXh0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdWZmaXhlcycsICd0aGVtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXROdW1iZXJJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lucHV0VmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE51bWJlcklucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXROdW1iZXJJbnB1dCB7XG4gIC8qKlxuICAgKiBFbWl0cyBpbnB1dCBldmVudFxuICAgKi9cbiAgaW5wdXRWYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2hlaWdodCcsICd3aWR0aCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXBsYWNlaG9sZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnaGVpZ2h0JywgJ3dpZHRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFBsYWNlaG9sZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UGxhY2Vob2xkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFBsYWNlaG9sZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lucHV0QXV0b2ZvY3VzJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcmFkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lucHV0QXV0b2ZvY3VzJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVjayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgUmFkaW9DaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRSYWRpb1JhZGlvQ2hlY2tFdmVudEludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLlRldFJhZGlvIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbnRyb2wgZWxlbWVudCBpcyBjaGVja2VkLlxuICAgKi9cbiAgY2hlY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0UmFkaW9SYWRpb0NoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2RhdGFQb2ludHMnLCAnZGF0YVVuaXRzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNwbGF5RGF0YVBvaW50cycsICdpbnB1dE1heFZhbHVlJywgJ2xvY2tUb0RhdGFQb2ludCcsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdudW1iZXJJbnB1dEFjY2Vzc2liaWxpdHlMYWJlbCcsICdwYXJlbnRDb250YWluZXInLCAncmVkdWNlQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ3NpemUnLCAnc2xpZGVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAnc3RlcCcsICd0aGVtZScsICd0eXBlJywgJ3dpdGhDb250cm9scycsICd3aXRoQ3VycmVudFN0ZXBDb3VudGVyJywgJ3dpdGhJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJhbmdlLXNsaWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2RhdGFQb2ludHMnLCAnZGF0YVVuaXRzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNwbGF5RGF0YVBvaW50cycsICdpbnB1dE1heFZhbHVlJywgJ2xvY2tUb0RhdGFQb2ludCcsICdtYXhWYWx1ZScsICdtaW5WYWx1ZScsICdudW1iZXJJbnB1dEFjY2Vzc2liaWxpdHlMYWJlbCcsICdwYXJlbnRDb250YWluZXInLCAncmVkdWNlQnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ3NpemUnLCAnc2xpZGVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAnc3RlcCcsICd0aGVtZScsICd0eXBlJywgJ3dpdGhDb250cm9scycsICd3aXRoQ3VycmVudFN0ZXBDb3VudGVyJywgJ3dpdGhJbnB1dCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSYW5nZVNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NsaWRlci1pbnB1dCcsICdzbGlkZXItY2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJhbmdlU2xpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSYW5nZVNsaWRlciB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIG9uIHNsaWRlciBpbnB1dC5cbiAgICovXG4gICdzbGlkZXItaW5wdXQnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIG9uIHNsaWRlciBjaGFuZ2UuXG4gICAqL1xuICAnc2xpZGVyLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0YScsICdsYW5ndWFnZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJlZmVycmFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRhJywgJ2xhbmd1YWdlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFJlZmVycmFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndXJsQ29waWVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJlZmVycmFsIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSZWZlcnJhbCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCB3aGVuIHRoZSBsaW5rIGlzIGNvcGllZCB0byB0aGUgY2xpcGJvYXJkLlxuICAgKi9cbiAgdXJsQ29waWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmb3JjZWRDb2x1bW4nLCAnaGlkZUljb25zJywgJ3N0ZXBwZXJEYXRhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcm91bmQtc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZm9yY2VkQ29sdW1uJywgJ2hpZGVJY29ucycsICdzdGVwcGVyRGF0YSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSb3VuZFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRSb3VuZFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFJvdW5kU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpZGVudGlmaWVyJywgJ2l0ZW1SZW5kZXJGdW5jdGlvbicsICdpdGVtcycsICdtdWx0aXBsZVNlbGVjdGlvbnMnLCAncHJlU2VsZWN0ZWRJdGVtcyddLFxuICBtZXRob2RzOiBbJ3Vuc2V0U2VsZWN0ZWRJdGVtcycsICdnZXRTZWxlY3RlZEl0ZW1zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc2VsZWN0aW9uLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2lkZW50aWZpZXInLCAnaXRlbVJlbmRlckZ1bmN0aW9uJywgJ2l0ZW1zJywgJ211bHRpcGxlU2VsZWN0aW9ucycsICdwcmVTZWxlY3RlZEl0ZW1zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFNlbGVjdGlvbkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpdGVtU2VsZWN0ZWQnLCAnc2VsZWN0aW9uTGlzdFJlbmRlcmVkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFNlbGVjdGlvbkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRldFNlbGVjdGlvbkxpc3Qge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIGFuIGl0ZW0gaXMgc2VsZWN0ZWQgb3IgZGUtc2VsZWN0ZWQuXG4gICAqL1xuICBpdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cbiAgICovXG4gIHNlbGVjdGlvbkxpc3RSZW5kZXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJywgJ3RoZW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydzZXRQcm9ncmVzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndGhlbWUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuVGV0U3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGVwcGVyRGF0YSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdsYW5ndWFnZScsICdtYXgnLCAnbWluJywgJ3NlbGVjdE9uRm9jdXMnLCAnc3RlcCcsICd0aGVtZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldFZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3RlcHBlci1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2xhbmd1YWdlJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdGVwJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXJJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lucHV0VmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXJJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlcklucHV0IHtcbiAgLyoqXG4gICAqIEVtaXRzIGlucHV0IGV2ZW50XG4gICAqL1xuICBpbnB1dFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXItdjInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXJWMiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXJWMiBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlclYyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3dpdGNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN3aXRjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NoZWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRTd2l0Y2hTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLlRldFN3aXRjaCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFN3aXRjaFN3aXRjaENoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0YU5hbWUnLCAnZGVmYXVsdFRhYicsICdwYXJlbnRDb250YWluZXInLCAndXNlVmlzaWJpbGl0eSddLFxuICBtZXRob2RzOiBbJ2luaXQnLCAnc2VsZWN0VGFiJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFiLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAncGFyZW50Q29udGFpbmVyJywgJ3VzZVZpc2liaWxpdHknXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFiQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RhYlNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUYWJTZWxlY3RFdmVudERhdGEgYXMgSVRldFRhYkNvbnRlbnRUYWJTZWxlY3RFdmVudERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYkNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhYkNvbnRlbnQge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRyaWdnZXJlZCBvbiBzZWxlY3Rpb24gb2YgdGhlIHRhYi5cbiAgICovXG4gIHRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFRhYkNvbnRlbnRUYWJTZWxlY3RFdmVudERhdGE+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b3BsYXlEZWxheScsICdkYXRhTmFtZScsICdkZWZhdWx0VGFiJywgJ2hpZGVBY3RpdmVIZWFkZXJVbmRlcmxpbmUnLCAnaGlkZUhlYWRlclVuZGVybGluZScsICdwb3NpdGlvbicsICdzZWdtZW50ZWQnLCAnc2l6aW5nJywgJ3N0b3BBdXRvcGxheU9uQ29udGVudEhvdmVyJywgJ3N0b3BBdXRvcGxheU9uSGVhZGVySG92ZXInLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVBdXRvcGxheScsICdzdG9wQXV0b3BsYXknLCAnc3RhcnRBdXRvcGxheScsICdzZWxlY3RUYWInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWItaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvcGxheURlbGF5JywgJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAnaGlkZUFjdGl2ZUhlYWRlclVuZGVybGluZScsICdoaWRlSGVhZGVyVW5kZXJsaW5lJywgJ3Bvc2l0aW9uJywgJ3NlZ21lbnRlZCcsICdzaXppbmcnLCAnc3RvcEF1dG9wbGF5T25Db250ZW50SG92ZXInLCAnc3RvcEF1dG9wbGF5T25IZWFkZXJIb3ZlcicsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YWJTZWxlY3RlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGFiU2VsZWN0RXZlbnREYXRhIGFzIElUZXRUYWJIZWFkZXJUYWJTZWxlY3RFdmVudERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYkhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0VGFiSGVhZGVyIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0cmlnZ2VyZWQgb24gdGFiIHNlbGVjdGlvbi5cbiAgICovXG4gIHRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFRhYkhlYWRlclRhYlNlbGVjdEV2ZW50RGF0YT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NlbGxUZXh0QWxpZ24nLCAnZ2FwcGVkQ29sdW1uTGF5b3V0JywgJ3RhYmxlRGF0YScsICd0YWJsZUhlYWRlcicsICd0YWJsZUhlYWRlckNvbHVtblNwYW4nLCAndGFibGVIZWFkZXJUZXh0QWxpZ24nLCAndGFibGVIZWFkZXJXaWR0aCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NlbGxUZXh0QWxpZ24nLCAnZ2FwcGVkQ29sdW1uTGF5b3V0JywgJ3RhYmxlRGF0YScsICd0YWJsZUhlYWRlcicsICd0YWJsZUhlYWRlckNvbHVtblNwYW4nLCAndGFibGVIZWFkZXJUZXh0QWxpZ24nLCAndGFibGVIZWFkZXJXaWR0aCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWJsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY291bnQnLCAnbGFuZ3VhZ2UnLCAnc2hvd0ljb24nLCAndGFnVGl0bGUnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb3VudCcsICdsYW5ndWFnZScsICdzaG93SWNvbicsICd0YWdUaXRsZScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWcgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYW5ndWFnZScsICd0YWdzJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFnLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYW5ndWFnZScsICd0YWdzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRhZ0dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGFnR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhZ0dyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlY2ltYWxQcmVmaXgnLCAnZGVjaW1hbFN0YXJ0JywgJ2xpc3RJY29uJywgJ2xpc3RUeXBlJywgJ3RoZW1lJywgJ3dpdGhJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGV4dC1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWNpbWFsUHJlZml4JywgJ2RlY2ltYWxTdGFydCcsICdsaXN0SWNvbicsICdsaXN0VHlwZScsICd0aGVtZScsICd3aXRoSWNvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUZXh0TGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRleHRMaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUZXh0TGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvck1lc3NhZ2VzJywgJ2xhYmVsJywgJ3BsYWNlaG9sZGVyJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGV4dGFyZWEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yTWVzc2FnZXMnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGV4dGFyZWEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuVGV0VGV4dGFyZWEge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3RhQnV0dG9uRGVzY3JpcHRpb24nLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UeXBlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja0ljb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10aGFuay15b3UtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3RhQnV0dG9uRGVzY3JpcHRpb24nLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UeXBlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja0ljb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGhhbmtZb3VWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3RhQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGhhbmtZb3VWaWV3IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUaGFua1lvdVZpZXcge1xuICAvKipcbiAgICogVGhlIGNsaWNrIGV2ZW50IGVtaXR0ZXIgb2YgdGhlIENUQSBidXR0b24uXG4gICAqL1xuICBjdGFCdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3RhQnV0dG9uSWQnLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UaGVtZScsICdjdGFCdXR0b25UeXBlJywgJ2ljb24nLCAnbGFuZ3VhZ2UnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnLCAndHJhbnNsYXRpb25Hcm91cCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRoYW5rLXlvdS12aWV3LXYyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdGFCdXR0b25JZCcsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblRoZW1lJywgJ2N0YUJ1dHRvblR5cGUnLCAnaWNvbicsICdsYW5ndWFnZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZScsICd0cmFuc2xhdGlvbkdyb3VwJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRoYW5rWW91Vmlld1YyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3RhQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGhhbmtZb3VWaWV3VjIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRoYW5rWW91Vmlld1YyIHtcbiAgLyoqXG4gICAqIFRoZSBjbGljayBldmVudCBlbWl0dGVyIG9mIHRoZSBDVEEgYnV0dG9uLlxuICAgKi9cbiAgY3RhQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RvTm90U2hvd09uSG92ZXInLCAnaG92ZXJFbGVtZW50JywgJ3Bvc2l0aW9uJywgJ3RhcmdldEVsZW1lbnRTZWxlY3RvcicsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZScsICd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkb05vdFNob3dPbkhvdmVyJywgJ2hvdmVyRWxlbWVudCcsICdwb3NpdGlvbicsICd0YXJnZXRFbGVtZW50U2VsZWN0b3InLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRvb2x0aXAge31cblxuXG4iXX0=
|