@rivet-health/design-system 39.11.3 → 40.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/input/date/date.component.mjs +17 -9
- package/esm2020/lib/visualization/chart/chart-scaling.mjs +53 -1
- package/esm2020/lib/visualization/chart/chart.component.mjs +238 -29
- package/esm2020/lib/visualization/chart/chart.mjs +698 -142
- package/fesm2015/rivet-health-design-system.mjs +1006 -184
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +1014 -191
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/input/date/date.component.d.ts +4 -2
- package/lib/visualization/chart/chart-scaling.d.ts +1 -0
- package/lib/visualization/chart/chart.component.d.ts +28 -5
- package/lib/visualization/chart/chart.d.ts +134 -16
- package/package.json +1 -1
|
@@ -5,12 +5,13 @@ import { CalendarComponent } from '../calendar/calendar.component';
|
|
|
5
5
|
import { InputLabelComponent } from '../input-label/input-label.component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "../
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "../../
|
|
11
|
-
import * as i5 from "
|
|
12
|
-
import * as i6 from "
|
|
13
|
-
import * as i7 from "../../
|
|
8
|
+
import * as i2 from "../button/button.component";
|
|
9
|
+
import * as i3 from "../calendar/calendar.component";
|
|
10
|
+
import * as i4 from "../../overlay/callout/callout.component";
|
|
11
|
+
import * as i5 from "../../icon/icon.component";
|
|
12
|
+
import * as i6 from "../input-label/input-label.component";
|
|
13
|
+
import * as i7 from "../../overlay/overlay.directive";
|
|
14
|
+
import * as i8 from "../../format/pipes/date.pipe";
|
|
14
15
|
export class DateComponent extends InputLabelComponent {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
|
@@ -19,6 +20,7 @@ export class DateComponent extends InputLabelComponent {
|
|
|
19
20
|
this.placeholder = 'Select date';
|
|
20
21
|
this.disabled = false;
|
|
21
22
|
this.size = 'medium';
|
|
23
|
+
this.showClearButton = true;
|
|
22
24
|
this.activeYearMonth = timeMonth.floor(new Date());
|
|
23
25
|
this.open$ = new BehaviorSubject(false);
|
|
24
26
|
this.valueChange = new EventEmitter();
|
|
@@ -43,12 +45,16 @@ export class DateComponent extends InputLabelComponent {
|
|
|
43
45
|
get open() {
|
|
44
46
|
return this.open$.getValue();
|
|
45
47
|
}
|
|
48
|
+
clearValue() {
|
|
49
|
+
this.valueChange.emit(undefined);
|
|
50
|
+
this.open$.next(false);
|
|
51
|
+
}
|
|
46
52
|
}
|
|
47
53
|
DateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DateComponent, selector: "riv-date", inputs: { min: "min", max: "max", value: "value", placeholder: "placeholder", disabled: "disabled", size: "size", open: "open" }, outputs: { valueChange: "valueChange" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <button\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n (click)=\"open$.next(true)\"\n [disabled]=\"disabled\"\n type=\"button\"\n >\n <ng-container *ngIf=\"value; else placeholderValue\">\n <span class=\"value\">{{ value | rivDate }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"value\"\n (dateSelect)=\"valueChange.next($event); open$.next(false)\"\n ></riv-calendar>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);cursor:pointer;padding-left:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.trigger.xsmall .value{font:var(--input-small);padding:var(--size-xsmall) 0}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.trigger.xlarge .value{font:var(--input-large);padding:var(--size-large) var(--size-small)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5)}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.content{padding:var(--size-large)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CalendarComponent, selector: "riv-calendar", inputs: ["activeYearMonth", "displayMin", "displayMax", "selectableMin", "selectableMax", "omitRange", "selectedValue"], outputs: ["activeYearMonthChange", "dateSelect"] }, { kind: "component", type:
|
|
54
|
+
DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DateComponent, selector: "riv-date", inputs: { min: "min", max: "max", value: "value", placeholder: "placeholder", disabled: "disabled", size: "size", showClearButton: "showClearButton", open: "open" }, outputs: { valueChange: "valueChange" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <button\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n (click)=\"open$.next(true)\"\n [disabled]=\"disabled\"\n type=\"button\"\n >\n <ng-container *ngIf=\"value; else placeholderValue\">\n <span class=\"value\">{{ value | rivDate }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"value\"\n (dateSelect)=\"valueChange.next($event); open$.next(false)\"\n ></riv-calendar>\n </div>\n <footer *ngIf=\"showClearButton\" class=\"buttons\">\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"clearValue()\"\n type=\"button\"\n >\n Clear\n </button>\n </footer>\n </riv-callout>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);cursor:pointer;padding-left:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.trigger.xsmall .value{font:var(--input-small);padding:var(--size-xsmall) 0}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.trigger.xlarge .value{font:var(--input-large);padding:var(--size-large) var(--size-small)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5)}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.content{padding:var(--size-large)}.buttons{padding:var(--size-small);display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: i3.CalendarComponent, selector: "riv-calendar", inputs: ["activeYearMonth", "displayMin", "displayMax", "selectableMin", "selectableMax", "omitRange", "selectedValue"], outputs: ["activeYearMonthChange", "dateSelect"] }, { kind: "component", type: i4.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i6.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText", "errorMessage", "state"], outputs: ["labelAction"] }, { kind: "directive", type: i7.OverlayDirective, selector: "[riv-overlay]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.DatePipe, name: "rivDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
49
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateComponent, decorators: [{
|
|
50
56
|
type: Component,
|
|
51
|
-
args: [{ selector: 'riv-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <button\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n (click)=\"open$.next(true)\"\n [disabled]=\"disabled\"\n type=\"button\"\n >\n <ng-container *ngIf=\"value; else placeholderValue\">\n <span class=\"value\">{{ value | rivDate }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"value\"\n (dateSelect)=\"valueChange.next($event); open$.next(false)\"\n ></riv-calendar>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);cursor:pointer;padding-left:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.trigger.xsmall .value{font:var(--input-small);padding:var(--size-xsmall) 0}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.trigger.xlarge .value{font:var(--input-large);padding:var(--size-large) var(--size-small)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5)}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.content{padding:var(--size-large)}\n"] }]
|
|
57
|
+
args: [{ selector: 'riv-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <button\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n (click)=\"open$.next(true)\"\n [disabled]=\"disabled\"\n type=\"button\"\n >\n <ng-container *ngIf=\"value; else placeholderValue\">\n <span class=\"value\">{{ value | rivDate }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"value\"\n (dateSelect)=\"valueChange.next($event); open$.next(false)\"\n ></riv-calendar>\n </div>\n <footer *ngIf=\"showClearButton\" class=\"buttons\">\n <button\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"clearValue()\"\n type=\"button\"\n >\n Clear\n </button>\n </footer>\n </riv-callout>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);cursor:pointer;padding-left:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.trigger.xsmall .value{font:var(--input-small);padding:var(--size-xsmall) 0}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.trigger.xlarge .value{font:var(--input-large);padding:var(--size-large) var(--size-small)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5)}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.content{padding:var(--size-large)}.buttons{padding:var(--size-small);display:flex;justify-content:space-between}\n"] }]
|
|
52
58
|
}], propDecorators: { min: [{
|
|
53
59
|
type: Input
|
|
54
60
|
}], max: [{
|
|
@@ -61,6 +67,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
61
67
|
type: Input
|
|
62
68
|
}], size: [{
|
|
63
69
|
type: Input
|
|
70
|
+
}], showClearButton: [{
|
|
71
|
+
type: Input
|
|
64
72
|
}], headerTemplate: [{
|
|
65
73
|
type: ContentChild,
|
|
66
74
|
args: ['header']
|
|
@@ -78,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
78
86
|
'xlarge',
|
|
79
87
|
];
|
|
80
88
|
})(DateComponent || (DateComponent = {}));
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFRM0UsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFOdEQ7O1FBUUUsUUFBRyxHQUFTLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUd6QyxRQUFHLEdBQVMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1FBbUJ6QyxnQkFBVyxHQUFXLGFBQWEsQ0FBQztRQUdwQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFNBQUksR0FBdUIsUUFBUSxDQUFDO1FBR3BDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBS2hDLG9CQUFlLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckMsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBVXJELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7S0FNcEQ7SUFqREMsSUFDSSxLQUFLLENBQUMsQ0FBbUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUU7WUFBRSxPQUFPO1FBQ3BELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxFQUFFO1lBQ0wsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN0RCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBcUJELElBQ0ksSUFBSSxDQUFDLENBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBS0QsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzBHQXZEVSxhQUFhOzhGQUFiLGFBQWEsNFhDcEIxQix5ckVBNEVBOzJGRHhEYSxhQUFhO2tCQU56QixTQUFTOytCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0MsR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBaUJOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsUUFBUTtnQkFPbEIsSUFBSTtzQkFEUCxLQUFLO2dCQVNOLFdBQVc7c0JBRFYsTUFBTTs7QUFTVCxXQUFpQixhQUFhO0lBQ2YsbUJBQUssR0FBRztRQUNuQixRQUFRO1FBQ1IsT0FBTztRQUNQLFFBQVE7UUFDUixPQUFPO1FBQ1AsUUFBUTtLQUNBLENBQUM7QUFFYixDQUFDLEVBVGdCLGFBQWEsS0FBYixhQUFhLFFBUzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRpbWVNb250aCB9IGZyb20gJ2QzLXRpbWUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4uL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQtbGFiZWwvaW5wdXQtbGFiZWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LWRhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIElucHV0TGFiZWxDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBtaW46IERhdGUgPSBDYWxlbmRhckNvbXBvbmVudC5kZWZhdWx0TWluO1xuXG4gIEBJbnB1dCgpXG4gIG1heDogRGF0ZSA9IENhbGVuZGFyQ29tcG9uZW50LmRlZmF1bHRNYXg7XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHY6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5fdmFsdWU/LmdldFRpbWUoKSA9PT0gdj8uZ2V0VGltZSgpKSByZXR1cm47XG4gICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgIGlmICh2KSB7XG4gICAgICBjb25zdCBtb250aCA9IHRpbWVNb250aC5mbG9vcih2KTtcbiAgICAgIGlmIChtb250aC5nZXRUaW1lKCkgIT09IHRoaXMuYWN0aXZlWWVhck1vbnRoLmdldFRpbWUoKSkge1xuICAgICAgICB0aGlzLmFjdGl2ZVllYXJNb250aCA9IG1vbnRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBnZXQgdmFsdWUoKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlPzogRGF0ZTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBkYXRlJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IERhdGVDb21wb25lbnQuU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJylcbiAgaGVhZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBhY3RpdmVZZWFyTW9udGggPSB0aW1lTW9udGguZmxvb3IobmV3IERhdGUoKSk7XG5cbiAgcmVhZG9ubHkgb3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgQElucHV0KClcbiAgc2V0IG9wZW4odjogYm9vbGVhbikge1xuICAgIHRoaXMub3BlbiQubmV4dCh2KTtcbiAgfVxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgdW5kZWZpbmVkPigpO1xuXG4gIGNsZWFyVmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5vcGVuJC5uZXh0KGZhbHNlKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIERhdGVDb21wb25lbnQge1xuICBleHBvcnQgY29uc3QgU2l6ZXMgPSBbXG4gICAgJ3hzbWFsbCcsXG4gICAgJ3NtYWxsJyxcbiAgICAnbWVkaXVtJyxcbiAgICAnbGFyZ2UnLFxuICAgICd4bGFyZ2UnLFxuICBdIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBTaXplID0gKHR5cGVvZiBTaXplcylbbnVtYmVyXTtcbn1cbiIsIjxyaXYtaW5wdXQtbGFiZWxcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2hlbHBdPVwiaGVscFwiXG4gIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFtzdGF0ZV09XCJzdGF0ZVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCJcbiAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAobGFiZWxBY3Rpb24pPVwibGFiZWxBY3Rpb24uZW1pdCgkZXZlbnQpXCJcbj5cbiAgPGJ1dHRvblxuICAgICN0cmlnZ2VyXG4gICAgY2xhc3M9XCJ0cmlnZ2VyXCJcbiAgICBbY2xhc3MueHNtYWxsXT1cInNpemUgPT09ICd4c21hbGwnXCJcbiAgICBbY2xhc3Muc21hbGxdPVwic2l6ZSA9PT0gJ3NtYWxsJ1wiXG4gICAgW2NsYXNzLmxhcmdlXT1cInNpemUgPT09ICdsYXJnZSdcIlxuICAgIFtjbGFzcy54bGFyZ2VdPVwic2l6ZSA9PT0gJ3hsYXJnZSdcIlxuICAgIFtjbGFzcy53YXJuaW5nXT1cInN0YXRlID09PSAnd2FybmluZydcIlxuICAgIFtjbGFzcy5lcnJvcl09XCJzdGF0ZSA9PT0gJ2Vycm9yJ1wiXG4gICAgKGNsaWNrKT1cIm9wZW4kLm5leHQodHJ1ZSlcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWU7IGVsc2UgcGxhY2Vob2xkZXJWYWx1ZVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7IHZhbHVlIHwgcml2RGF0ZSB9fTwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVmFsdWU+XG4gICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIHBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8c3BhbiBjbGFzcz1cImNoZXZyb25cIj5cbiAgICAgIDxyaXYtaWNvbiBbbmFtZV09XCInQ2FsZW5kYXInXCIgW3NpemVdPVwiMTZcIj48L3Jpdi1pY29uPlxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L3Jpdi1pbnB1dC1sYWJlbD5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJvcGVuJCB8IGFzeW5jXCI+XG4gIDxyaXYtY2FsbG91dFxuICAgICpyaXYtb3ZlcmxheVxuICAgIFthbmNob3JdPVwidHJpZ2dlclwiXG4gICAgW3Nob3dDYXJldF09XCJmYWxzZVwiXG4gICAgW3RoZW1lXT1cIidsaWdodCdcIlxuICAgIFthbGxvd2VkUG9zaXRpb25zXT1cIltcbiAgICAgICd0b3AtbGVmdCcsXG4gICAgICAndG9wLXJpZ2h0JyxcbiAgICAgICdib3R0b20tcmlnaHQnLFxuICAgICAgJ2JvdHRvbS1sZWZ0J1xuICAgIF1cIlxuICAgIFtwcmVmZXJyZWRQb3NpdGlvbl09XCInYm90dG9tLXJpZ2h0J1wiXG4gICAgKGNsb3NlKT1cIm9wZW4kLm5leHQoZmFsc2UpXCJcbiAgPlxuICAgIDxoZWFkZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgIDxyaXYtY2FsZW5kYXJcbiAgICAgICAgW2FjdGl2ZVllYXJNb250aF09XCJhY3RpdmVZZWFyTW9udGhcIlxuICAgICAgICAoYWN0aXZlWWVhck1vbnRoQ2hhbmdlKT1cImFjdGl2ZVllYXJNb250aCA9ICRldmVudFwiXG4gICAgICAgIFtkaXNwbGF5TWluXT1cIm1pblwiXG4gICAgICAgIFtkaXNwbGF5TWF4XT1cIm1heFwiXG4gICAgICAgIFtzZWxlY3RhYmxlTWluXT1cIm1pblwiXG4gICAgICAgIFtzZWxlY3RhYmxlTWF4XT1cIm1heFwiXG4gICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgKGRhdGVTZWxlY3QpPVwidmFsdWVDaGFuZ2UubmV4dCgkZXZlbnQpOyBvcGVuJC5uZXh0KGZhbHNlKVwiXG4gICAgICA+PC9yaXYtY2FsZW5kYXI+XG4gICAgPC9kaXY+XG4gICAgPGZvb3RlciAqbmdJZj1cInNob3dDbGVhckJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICByaXZCdXR0b25cbiAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgIFt2YXJpYW50XT1cIidnaG9zdCdcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgpXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIENsZWFyXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Zvb3Rlcj5cbiAgPC9yaXYtY2FsbG91dD5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -198,6 +198,52 @@ export const DefaultLineElementScalingConfig = {
|
|
|
198
198
|
target: 0, //Not applicable
|
|
199
199
|
},
|
|
200
200
|
};
|
|
201
|
+
export const DefaultFlowElementScalingConfig = {
|
|
202
|
+
barSize: {
|
|
203
|
+
min: 1,
|
|
204
|
+
max: 40,
|
|
205
|
+
target: 40,
|
|
206
|
+
},
|
|
207
|
+
bucketGap: {
|
|
208
|
+
min: 1,
|
|
209
|
+
target: 180,
|
|
210
|
+
},
|
|
211
|
+
leftPadding: {
|
|
212
|
+
min: 24,
|
|
213
|
+
max: 108,
|
|
214
|
+
target: 108,
|
|
215
|
+
},
|
|
216
|
+
rightPadding: {
|
|
217
|
+
min: 24,
|
|
218
|
+
max: 108,
|
|
219
|
+
target: 108,
|
|
220
|
+
},
|
|
221
|
+
dataLabelPadding: {
|
|
222
|
+
min: 36,
|
|
223
|
+
max: 36,
|
|
224
|
+
target: 36,
|
|
225
|
+
},
|
|
226
|
+
fontSize: {
|
|
227
|
+
min: 12,
|
|
228
|
+
max: 12,
|
|
229
|
+
target: 12,
|
|
230
|
+
},
|
|
231
|
+
topPadding: {
|
|
232
|
+
target: 0, //Not applicable
|
|
233
|
+
},
|
|
234
|
+
bottomPadding: {
|
|
235
|
+
target: 0, //Not applicable
|
|
236
|
+
},
|
|
237
|
+
outerGap: {
|
|
238
|
+
target: 0, //Not applicable
|
|
239
|
+
},
|
|
240
|
+
barClusterGap: {
|
|
241
|
+
target: 0, //Not applicable
|
|
242
|
+
},
|
|
243
|
+
leftBucketLabel: {
|
|
244
|
+
target: 0, //Not applicable
|
|
245
|
+
},
|
|
246
|
+
};
|
|
201
247
|
export const DefaultLineWithSecondaryElementScalingConfig = {
|
|
202
248
|
...DefaultLineElementScalingConfig,
|
|
203
249
|
rightPadding: {
|
|
@@ -261,6 +307,12 @@ export function getDefaultScalingConfigByChartType(type, hasSecondary) {
|
|
|
261
307
|
nonElementScales: DefaultVerticalNonElementScalingConfig,
|
|
262
308
|
};
|
|
263
309
|
}
|
|
310
|
+
if (type === 'flow') {
|
|
311
|
+
return {
|
|
312
|
+
elementScales: DefaultFlowElementScalingConfig,
|
|
313
|
+
nonElementScales: DefaultVerticalNonElementScalingConfig,
|
|
314
|
+
};
|
|
315
|
+
}
|
|
264
316
|
return {
|
|
265
317
|
elementScales: DefaultBarElementScalingConfig,
|
|
266
318
|
nonElementScales: DefaultVerticalNonElementScalingConfig,
|
|
@@ -320,4 +372,4 @@ export const DefaultDonutSizingConfig = {
|
|
|
320
372
|
horizontalContainerScale: 'no-scale',
|
|
321
373
|
verticalContainerScale: 'no-scale',
|
|
322
374
|
};
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtc2NhbGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3Zpc3VhbGl6YXRpb24vY2hhcnQvY2hhcnQtc2NhbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBeUNoQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBeUI7SUFDekQsT0FBTyxFQUFFLENBQUM7SUFDVixhQUFhLEVBQUUsQ0FBQztJQUNoQixTQUFTLEVBQUUsQ0FBQztJQUNaLFFBQVEsRUFBRSxDQUFDO0lBQ1gsV0FBVyxFQUFFLENBQUM7SUFDZCxZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRSxDQUFDO0lBQ2IsYUFBYSxFQUFFLENBQUM7SUFDaEIsZUFBZSxFQUFFLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuQixRQUFRLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFQUFFLENBQUM7SUFDZCxXQUFXLEVBQUUsQ0FBQztJQUNkLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLGdCQUFnQixFQUFFLENBQUM7SUFDbkIsY0FBYyxFQUFFLENBQUM7SUFDakIsaUJBQWlCLEVBQUUsQ0FBQztJQUNwQixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLDJCQUEyQixFQUFFLENBQUM7SUFDOUIseUJBQXlCLEVBQUUsQ0FBQztJQUM1QixlQUFlLEVBQUUsQ0FBQztJQUNsQixrQkFBa0IsRUFBRSxVQUFVO0lBQzlCLHdCQUF3QixFQUFFLFVBQVU7SUFDcEMsc0JBQXNCLEVBQUUsVUFBVTtDQUNuQyxDQUFDO0FBbUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUE2QjtJQUN0RSxPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsQ0FBQztRQUNOLEdBQUcsRUFBRSxFQUFFO1FBQ1AsTUFBTSxFQUFFLEVBQUU7S0FD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O0lBQ0QsYUFBYSxFQUFFO1FBQ2IsTUFBTSxFQUFFLENBQUMsRUFBRSxnQkFBZ0I7S0FDNUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQjtLQUM1QjtJQUNELGFBQWEsRUFBRTtRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsZ0JBQWdCO0tBQzVCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsTUFBTSxFQUFFLENBQUMsRUFBRSxnQkFBZ0I7S0FDNUI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWlCO0lBQ3ZELElBQUksRUFBRSxZQUFZO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFpQjtJQUN0RCxJQUFJLEVBQUUsVUFBVTtJQUNoQixLQUFLLEVBQUUsRUFBRTtDQUNWLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLFVBQVUsRUFBRSwwQkFBMEI7SUFDdEMsYUFBYSxFQUFFLGdDQUFnQztJQUMvQyx3QkFBd0IsRUFBRSxVQUFrQztJQUM1RCxzQkFBc0IsRUFBRSxVQUFrQztDQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnQgfSBmcm9tICcuL2NoYXJ0JztcblxuZXhwb3J0IHR5cGUgQ2hhcnRTY2FsZUVsZW1lbnQgPVxuICB8ICdiYXJTaXplJ1xuICB8ICdiYXJDbHVzdGVyR2FwJ1xuICB8ICdidWNrZXRHYXAnXG4gIHwgJ291dGVyR2FwJ1xuICB8ICdsZWZ0UGFkZGluZydcbiAgfCAncmlnaHRQYWRkaW5nJ1xuICB8ICd0b3BQYWRkaW5nJ1xuICB8ICdib3R0b21QYWRkaW5nJ1xuICB8ICdsZWZ0QnVja2V0TGFiZWwnXG4gIHwgJ2RhdGFMYWJlbFBhZGRpbmcnXG4gIHwgJ2ZvbnRTaXplJztcblxuZXhwb3J0IHR5cGUgQ2hhcnRTY2FsZVZhbHVlcyA9IHtcbiAgW0sgaW4gQ2hhcnRTY2FsZUVsZW1lbnRdOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBDaGFydERhdGFEaXJlY3Rpb24gPVxuICB8ICd2ZXJ0aWNhbCcgLy9BbGwgY2hhcnRzIGJ1dCBob3Jpem9udGFsLWJhclxuICB8ICdob3Jpem9udGFsJzsgLy9DdXJyZW50bHkganVzdCBob3Jpem9udGFsLWJhclxuXG5leHBvcnQgdHlwZSBGdWxsQ2hhcnRTY2FsZVZhbHVlcyA9IENoYXJ0U2NhbGVWYWx1ZXMgJiB7XG4gIC8vVmFyaW91cyBoZWxwZnVsIHByZS1jYWxjZWQgdmFsdWVzXG4gIHRvdGFsV2lkdGg6IG51bWJlcjtcbiAgdG90YWxIZWlnaHQ6IG51bWJlcjtcbiAgc2l6ZUZvckRhdGE6IG51bWJlcjtcbiAgdG90YWxMZWZ0T2Zmc2V0OiBudW1iZXI7IC8vVG90YWwgZGlzdGFuY2UgYmV0d2VlbiB0aGUgbGVmdCBlZGdlIG9mIHRoZSBjaGFydCwgYW5kIHdoZW4gd2Ugc3RhcnQgZHJhd2luZyBkYXRhXG4gIHRvdGFsUmlnaHRPZmZzZXQ6IG51bWJlcjsgLy9Ub3RhbCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBlbmQgb2YgZHJhd24gZGF0YSwgYW5kIHRoZSByaWdodCBlZGdlIG9mIHRoZSBjaGFydFxuICB0b3RhbFRvcE9mZnNldDogbnVtYmVyOyAvL1RvdGFsIGRpc3RhbmNlIGJldHdlZW4gdGhlIHRvcCBlZGdlIG9mIHRoZSBjaGFydCwgYW5kIHRoZSBzdGFydCBvZiBkcmF3biBkYXRhXG4gIHRvdGFsQm90dG9tT2Zmc2V0OiBudW1iZXI7IC8vVG90YWwgZGlzdGFuY2UgYmV0d2VlbiB0aGUgZW5kIG9mIGRyYXduIGRhdGEsIGFuZCB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGNoYXJ0XG4gIGRhdGFMYWJlbFRleHRTaXplOiBudW1iZXI7XG4gIGhvcml6b250YWxBeGlzTGFiZWxUZXh0U2l6ZTogbnVtYmVyO1xuICB2ZXJ0aWNhbEF4aXNMYWJlbFRleHRTaXplOiBudW1iZXI7XG4gIHRhcmdldFRpY2tDb3VudDogbnVtYmVyO1xuICBjaGFydERhdGFEaXJlY3Rpb246IENoYXJ0RGF0YURpcmVjdGlvbjtcbiAgaG9yaXpvbnRhbENvbnRhaW5lclNjYWxlOiBDb250YWluZXJTY2FsaW5nVHlwZTtcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogQ29udGFpbmVyU2NhbGluZ1R5cGU7XG59O1xuXG5leHBvcnQgY29uc3QgZW1wdHlDaGFydFNjYWxlVmFsdWVzOiBGdWxsQ2hhcnRTY2FsZVZhbHVlcyA9IHtcbiAgYmFyU2l6ZTogMCxcbiAgYmFyQ2x1c3RlckdhcDogMCxcbiAgYnVja2V0R2FwOiAwLFxuICBvdXRlckdhcDogMCxcbiAgbGVmdFBhZGRpbmc6IDAsXG4gIHJpZ2h0UGFkZGluZzogMCxcbiAgdG9wUGFkZGluZzogMCxcbiAgYm90dG9tUGFkZGluZzogMCxcbiAgbGVmdEJ1Y2tldExhYmVsOiAwLFxuICBkYXRhTGFiZWxQYWRkaW5nOiAwLFxuICBmb250U2l6ZTogMCxcbiAgdG90YWxXaWR0aDogMCxcbiAgdG90YWxIZWlnaHQ6IDAsXG4gIHNpemVGb3JEYXRhOiAwLFxuICB0b3RhbExlZnRPZmZzZXQ6IDAsXG4gIHRvdGFsUmlnaHRPZmZzZXQ6IDAsXG4gIHRvdGFsVG9wT2Zmc2V0OiAwLFxuICB0b3RhbEJvdHRvbU9mZnNldDogMCxcbiAgZGF0YUxhYmVsVGV4dFNpemU6IDAsXG4gIGhvcml6b250YWxBeGlzTGFiZWxUZXh0U2l6ZTogMCxcbiAgdmVydGljYWxBeGlzTGFiZWxUZXh0U2l6ZTogMCxcbiAgdGFyZ2V0VGlja0NvdW50OiAwLFxuICBjaGFydERhdGFEaXJlY3Rpb246ICd2ZXJ0aWNhbCcsXG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZTogJ25vLXNjYWxlJyxcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogJ25vLXNjYWxlJyxcbn07XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRTY2FsaW5nQ29uZmlndXJhdGlvbiA9IHtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIHRhcmdldDogbnVtYmVyOyAvL09uIHRoZSBkYXRhIGF4aXMsIHRoaXMgaXMgZ2VuZXJhbGx5IHRyZWF0ZWQgYXMgYSBmaXhlZCB2YWx1ZVxufTtcblxuZXhwb3J0IHR5cGUgRGF0YVNjYWxpbmdUeXBlID1cbiAgfCAnZml0JyAvL0RhdGEgd2lsbCBzY2FsZSB0byBmaXQgZGltZW5zaW9uc1xuICB8ICdtYXgnIC8vVGhlIHRhbGxlc3Qgc3RhY2svYmFyL3ZhbHVlIG9mIGRhdGEgd2lsbCBzY2FsZSB0byB0aGUgZ2l2ZW4gcHggdmFsdWVcbiAgfCAnY3VzdG9tJzsgLy9UaGUgZGF0YSB3aWxsIHNjYWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCByYXRpb1xuXG5leHBvcnQgdHlwZSBEYXRhU2NhbGluZ0NvbmZpZ3VyYXRpb24gPVxuICB8IHtcbiAgICAgIHR5cGU6IEV4dHJhY3Q8RGF0YVNjYWxpbmdUeXBlLCAnZml0Jz47IC8vVGhpcydsbCBmdW5jdGlvbmFsbHkgcmV2ZXJ0IHRoZSBzY2FsaW5nIHR5cGUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgYXhpcyB0byBcInNjYWxlLXRvLWZpdFwiXG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IEV4dHJhY3Q8RGF0YVNjYWxpbmdUeXBlLCAnbWF4Jz47XG4gICAgICB2YWx1ZTogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBFeHRyYWN0PERhdGFTY2FsaW5nVHlwZSwgJ2N1c3RvbSc+O1xuICAgICAgcmF0aW86IHtcbiAgICAgICAgcHg6IG51bWJlcjtcbiAgICAgICAgdmFsdWU6IG51bWJlcjtcbiAgICAgIH07XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQXhpc1NjYWxpbmdUeXBlID1cbiAgfCAnc2NhbGUtdG8tZml0JyAvL1RoZSBjaGFydCB3aWxsIHNjYWxlIHRvIGZpdCB0aGUgcHJvdmlkZWQgZGltZW5zaW9uc1xuICB8ICdncm93JyAvL1RoZSBjaGFydCB3aWxsIGdyb3cgaWYgc21hbGxlciB0aGFuIHRoZSBwcm92aWRlZCBkaW1lbnNpb25zLCBhbmQgc2Nyb2xsIGlmIGJpZ2dlci4gVHJlYXRlZCBhcyAnc2NhbGUtdG8tZml0JyBvbiB0aGUgZGF0YSBheGlzXG4gIHwgJ3NocmluaycgLy9UaGUgY2hhcnQgd2lsbCBzaHJpbmsgaWYgbGFyZ2VyIHRoYW4gdGhlIHByb3ZpZGVkIGRpbWVuc2lvbnMsIGFuZCBub3Qgc2NhbGUgb3RoZXJ3aXNlLiBUcmVhdGVkIGFzICdzY2FsZS10by1maXQnIG9uIHRoZSBkYXRhIGF4aXNcbiAgfCAnbm8tc2NhbGUnOyAvL1RoZSBjaGFydCB3aWxsIG5vdCBzY2FsZSwgYW5kIGlmIGJpZ2dlciB0aGFuIHRoZSBwcm92aWRlZCBkaW1lbnNpb25zLCB3aWxsIHNjcm9sbFxuXG5leHBvcnQgdHlwZSBDb250YWluZXJTY2FsaW5nVHlwZSA9XG4gIHwgJ3NocmluaycgLy9JZiB0aGUgY2hhcnQgZW5kcyB1cCBzbWFsbGVyIHRoYW4gdGhlIGNvbnRhaW5lciwgdGhlIGNvbnRhaW5lciB3aWxsIHNocmluayB0byBmaXRcbiAgfCAnbm8tc2NhbGUnOyAvL1RoZSBjb250YWluZXIgd2lsbCBub3QgY2hhbmdlIHNpemUsIHJlZ2FyZGxlc3Mgb2YgdGhlIHNpemUgb2YgdGhlIGNoYXJ0XG5cbmV4cG9ydCB0eXBlIEZ1bGxTY2FsaW5nQ29uZmlnID0ge1xuICBkYXRhU2NhbGU/OiBEYXRhU2NhbGluZ0NvbmZpZ3VyYXRpb247IC8vT25seSB1c2VkIGlmIHRoZSBjb3JyZXNwb25kaW5nIGF4aXMgaXMgc2V0IHRvICduby1zY2FsZScgb3IgaXMgbm90IGRlZmluZWQgYnkgaW5wdXRcbiAgZWxlbWVudFNjYWxlcz86IFBhcnRpYWxFbGVtZW50U2NhbGluZ0NvbmZpZztcbiAgaG9yaXpvbnRhbEF4aXNTY2FsZT86IEF4aXNTY2FsaW5nVHlwZTtcbiAgdmVydGljYWxBeGlzU2NhbGU/OiBBeGlzU2NhbGluZ1R5cGU7XG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZT86IENvbnRhaW5lclNjYWxpbmdUeXBlO1xuICB2ZXJ0aWNhbENvbnRhaW5lclNjYWxlPzogQ29udGFpbmVyU2NhbGluZ1R5cGU7XG4gIHRhcmdldFRpY2tDb3VudD86IG51bWJlcjsgLy9UYXJnZXQgbnVtYmVyIGZvciB0aGUgbnVtYmVyIG9mIHRpY2tzIG9uIHRoZSBkYXRhIGF4aXMuIERlZmF1bHRzIHRvICc1J1xufTtcblxuLy9Gb3IgdXNlIGluIGNoYXJ0LXR5cGUgZGVmYXVsdHNcbmV4cG9ydCB0eXBlIE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnID0gT21pdDxcbiAgLy9UaGlzIHBhcnQgY29waWVzIEZ1bGxTY2FsaW5nQ29uZmlnLCBidXQgcmVtb3ZlcyB0aGUgYWJpbGl0eSBmb3IgYXR0cmlidXRlcyB0byBiZSBvcHRpb25hbFxuICB7XG4gICAgW0sgaW4ga2V5b2YgRnVsbFNjYWxpbmdDb25maWddLT86IEZ1bGxTY2FsaW5nQ29uZmlnW0tdO1xuICB9LFxuICAvL1RoaXMgcGFydCBleGNsdWRlcyBlbGVtZW50U2NhbGVzLCBzaW5jZSB3ZSBoYW5kbGUgdGhvc2UgZGVmYXVsdHMgc2VwYXJhdGVseVxuICAnZWxlbWVudFNjYWxlcydcbj47XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxFbGVtZW50U2NhbGluZ0NvbmZpZyA9IHtcbiAgW0sgaW4gQ2hhcnRTY2FsZUVsZW1lbnRdPzogRWxlbWVudFNjYWxpbmdDb25maWd1cmF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID0ge1xuICBbSyBpbiBDaGFydFNjYWxlRWxlbWVudF06IEVsZW1lbnRTY2FsaW5nQ29uZmlndXJhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFyRWxlbWVudFNjYWxpbmdDb25maWc6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZyA9IHtcbiAgYmFyU2l6ZToge1xuICAgIG1pbjogMSxcbiAgICBtYXg6IDgwLFxuICAgIHRhcmdldDogMzAsXG4gIH0sXG4gIGJhckNsdXN0ZXJHYXA6IHtcbiAgICBtaW46IDEsXG4gICAgbWF4OiA4LFxuICAgIHRhcmdldDogOCxcbiAgfSxcbiAgYnVja2V0R2FwOiB7XG4gICAgbWluOiAxLFxuICAgIHRhcmdldDogNDAsXG4gIH0sXG4gIG91dGVyR2FwOiB7XG4gICAgbWluOiAwLFxuICAgIHRhcmdldDogMTYsXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgbWluOiA0OCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHJpZ2h0UGFkZGluZzoge1xuICAgIG1pbjogOCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHRvcFBhZGRpbmc6IHtcbiAgICBtaW46IDE2LFxuICAgIG1heDogMTYsXG4gICAgdGFyZ2V0OiAxNixcbiAgfSxcbiAgYm90dG9tUGFkZGluZzoge1xuICAgIG1pbjogMjAsXG4gICAgbWF4OiAyMCxcbiAgICB0YXJnZXQ6IDIwLFxuICB9LFxuICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgbWluOiA4LFxuICAgIG1heDogOCxcbiAgICB0YXJnZXQ6IDgsXG4gIH0sXG4gIGZvbnRTaXplOiB7XG4gICAgbWluOiAxMixcbiAgICBtYXg6IDEyLFxuICAgIHRhcmdldDogMTIsXG4gIH0sXG4gIGxlZnRCdWNrZXRMYWJlbDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxufTtcbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFyV2l0aFNlY29uZGFyeUVsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPVxuICB7XG4gICAgLi4uRGVmYXVsdEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIHJpZ2h0UGFkZGluZzoge1xuICAgICAgbWluOiA0OCxcbiAgICAgIG1heDogNDgsXG4gICAgICB0YXJnZXQ6IDQ4LFxuICAgIH0sXG4gIH07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0SG9yaXpvbnRhbEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPVxuICB7XG4gICAgYmFyU2l6ZToge1xuICAgICAgbWluOiAxLFxuICAgICAgbWF4OiA4LFxuICAgICAgdGFyZ2V0OiA4LFxuICAgIH0sXG4gICAgYmFyQ2x1c3RlckdhcDoge1xuICAgICAgbWluOiAxLFxuICAgICAgbWF4OiA4LFxuICAgICAgdGFyZ2V0OiA4LFxuICAgIH0sXG4gICAgYnVja2V0R2FwOiB7XG4gICAgICBtaW46IDEsXG4gICAgICB0YXJnZXQ6IDE2LFxuICAgIH0sXG4gICAgb3V0ZXJHYXA6IHtcbiAgICAgIG1pbjogMCxcbiAgICAgIHRhcmdldDogOCxcbiAgICB9LFxuICAgIGxlZnRQYWRkaW5nOiB7XG4gICAgICBtaW46IDgsXG4gICAgICBtYXg6IDgsXG4gICAgICB0YXJnZXQ6IDgsXG4gICAgfSxcbiAgICByaWdodFBhZGRpbmc6IHtcbiAgICAgIG1pbjogOCxcbiAgICAgIG1heDogNDgsXG4gICAgICB0YXJnZXQ6IDQ4LFxuICAgIH0sXG4gICAgdG9wUGFkZGluZzoge1xuICAgICAgbWluOiAxNixcbiAgICAgIG1heDogMTYsXG4gICAgICB0YXJnZXQ6IDE2LFxuICAgIH0sXG4gICAgYm90dG9tUGFkZGluZzoge1xuICAgICAgbWluOiAwLFxuICAgICAgbWF4OiAyMCxcbiAgICAgIHRhcmdldDogMCxcbiAgICB9LFxuICAgIGxlZnRCdWNrZXRMYWJlbDoge1xuICAgICAgbWluOiA4LFxuICAgICAgbWF4OiAxOTIsXG4gICAgICB0YXJnZXQ6IDY4LCAvL1NpemUgdXNlZCBmb3IgdGltZXNlcmllcyBidWNrZXRzXG4gICAgfSxcbiAgICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgICBtaW46IDgsXG4gICAgICBtYXg6IDgsXG4gICAgICB0YXJnZXQ6IDgsXG4gICAgfSxcbiAgICBmb250U2l6ZToge1xuICAgICAgbWluOiAxMixcbiAgICAgIG1heDogMTIsXG4gICAgICB0YXJnZXQ6IDEyLFxuICAgIH0sXG4gIH07XG5leHBvcnQgY29uc3QgRGVmYXVsdEhvcml6b250YWxCYXJXaXRoU2Vjb25kYXJ5RWxlbWVudFNjYWxpbmdDb25maWc6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZyA9XG4gIHtcbiAgICAuLi5EZWZhdWx0SG9yaXpvbnRhbEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIGJvdHRvbVBhZGRpbmc6IHtcbiAgICAgIG1pbjogMjAsXG4gICAgICBtYXg6IDIwLFxuICAgICAgdGFyZ2V0OiAyMCxcbiAgICB9LFxuICB9O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdExpbmVFbGVtZW50U2NhbGluZ0NvbmZpZzogRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID0ge1xuICBidWNrZXRHYXA6IHtcbiAgICBtaW46IDEsXG4gICAgdGFyZ2V0OiAzMixcbiAgfSxcbiAgb3V0ZXJHYXA6IHtcbiAgICB0YXJnZXQ6IDEsXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgbWluOiA0OCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHJpZ2h0UGFkZGluZzoge1xuICAgIG1pbjogOCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHRvcFBhZGRpbmc6IHtcbiAgICBtaW46IDE2LFxuICAgIG1heDogMTYsXG4gICAgdGFyZ2V0OiAxNixcbiAgfSxcbiAgYm90dG9tUGFkZGluZzoge1xuICAgIG1pbjogMjAsXG4gICAgbWF4OiAyMCxcbiAgICB0YXJnZXQ6IDIwLFxuICB9LFxuICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgbWluOiA4LFxuICAgIG1heDogOCxcbiAgICB0YXJnZXQ6IDgsXG4gIH0sXG4gIGZvbnRTaXplOiB7XG4gICAgbWluOiAxMixcbiAgICBtYXg6IDEyLFxuICAgIHRhcmdldDogMTIsXG4gIH0sXG4gIGJhclNpemU6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgYmFyQ2x1c3RlckdhcDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBsZWZ0QnVja2V0TGFiZWw6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbn07XG5leHBvcnQgY29uc3QgRGVmYXVsdExpbmVXaXRoU2Vjb25kYXJ5RWxlbWVudFNjYWxpbmdDb25maWc6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZyA9XG4gIHtcbiAgICAuLi5EZWZhdWx0TGluZUVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIHJpZ2h0UGFkZGluZzoge1xuICAgICAgbWluOiA0OCxcbiAgICAgIG1heDogNDgsXG4gICAgICB0YXJnZXQ6IDQ4LFxuICAgIH0sXG4gIH07XG5cbi8vRm9yIGJhciwgbGluZSwgYXJlYSwgd2F0ZXJmYWxsIGFuZCBmdW5uZWwgY2hhcnRzXG5leHBvcnQgY29uc3QgRGVmYXVsdFZlcnRpY2FsTm9uRWxlbWVudFNjYWxpbmdDb25maWc6IE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnID0ge1xuICBkYXRhU2NhbGU6IHsgdHlwZTogJ2ZpdCcgfSxcbiAgaG9yaXpvbnRhbEF4aXNTY2FsZTogJ2dyb3cnLFxuICB2ZXJ0aWNhbEF4aXNTY2FsZTogJ3NjYWxlLXRvLWZpdCcsXG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZTogJ3NocmluaycsXG4gIHZlcnRpY2FsQ29udGFpbmVyU2NhbGU6ICdzaHJpbmsnLFxuICB0YXJnZXRUaWNrQ291bnQ6IDUsXG59O1xuLy9Gb3IgaG9yaXpvbnRhbCBiYXIgY2hhcnRzXG5leHBvcnQgY29uc3QgRGVmYXVsdEhvcml6b250YWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZzogTm9uRWxlbWVudFNjYWxpbmdDb25maWcgPVxuICB7XG4gICAgZGF0YVNjYWxlOiB7IHR5cGU6ICdmaXQnIH0sXG4gICAgaG9yaXpvbnRhbEF4aXNTY2FsZTogJ3NjYWxlLXRvLWZpdCcsXG4gICAgdmVydGljYWxBeGlzU2NhbGU6ICdncm93JyxcbiAgICBob3Jpem9udGFsQ29udGFpbmVyU2NhbGU6ICdzaHJpbmsnLFxuICAgIHZlcnRpY2FsQ29udGFpbmVyU2NhbGU6ICdzaHJpbmsnLFxuICAgIHRhcmdldFRpY2tDb3VudDogNSxcbiAgfTtcblxuZXhwb3J0IHR5cGUgRGVmYXVsdFNjYWxpbmdDb25maWcgPSB7XG4gIGVsZW1lbnRTY2FsZXM6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZztcbiAgbm9uRWxlbWVudFNjYWxlczogTm9uRWxlbWVudFNjYWxpbmdDb25maWc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFNjYWxpbmdDb25maWdCeUNoYXJ0VHlwZShcbiAgdHlwZTogRXhjbHVkZTxDaGFydC5DaGFydFR5cGUsICdkb251dCc+LFxuICBoYXNTZWNvbmRhcnk6IGJvb2xlYW4sXG4pOiBEZWZhdWx0U2NhbGluZ0NvbmZpZyB7XG4gIGlmICh0eXBlID09PSAnaG9yaXpvbnRhbC1iYXInKSB7XG4gICAgaWYgKGhhc1NlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWxlbWVudFNjYWxlczogRGVmYXVsdEhvcml6b250YWxCYXJXaXRoU2Vjb25kYXJ5RWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICAgIG5vbkVsZW1lbnRTY2FsZXM6IERlZmF1bHRIb3Jpem9udGFsTm9uRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudFNjYWxlczogRGVmYXVsdEhvcml6b250YWxCYXJFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgIG5vbkVsZW1lbnRTY2FsZXM6IERlZmF1bHRIb3Jpem9udGFsTm9uRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgfTtcbiAgfVxuICBpZiAoQ2hhcnQuaXNCYXJUeXBlKHR5cGUpKSB7XG4gICAgaWYgKGhhc1NlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWxlbWVudFNjYWxlczogRGVmYXVsdEJhcldpdGhTZWNvbmRhcnlFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgICAgbm9uRWxlbWVudFNjYWxlczogRGVmYXVsdFZlcnRpY2FsTm9uRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudFNjYWxlczogRGVmYXVsdEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgbm9uRWxlbWVudFNjYWxlczogRGVmYXVsdFZlcnRpY2FsTm9uRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgfTtcbiAgfVxuICBpZiAodHlwZSA9PT0gJ2xpbmUnIHx8IHR5cGUgPT09ICdhcmVhJykge1xuICAgIGlmIChoYXNTZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVsZW1lbnRTY2FsZXM6IERlZmF1bHRMaW5lV2l0aFNlY29uZGFyeUVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgICBub25FbGVtZW50U2NhbGVzOiBEZWZhdWx0VmVydGljYWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0TGluZUVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgbm9uRWxlbWVudFNjYWxlczogRGVmYXVsdFZlcnRpY2FsTm9uRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGVsZW1lbnRTY2FsZXM6IERlZmF1bHRCYXJFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICBub25FbGVtZW50U2NhbGVzOiBEZWZhdWx0VmVydGljYWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgfTtcbn1cblxudHlwZSBSYWRpdXNDb25maWcgPSB7XG4gIHR5cGU6ICdwcm9wb3J0aW9uJyB8ICdhYnNvbHV0ZSc7XG4gIHZhbHVlOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBEb251dFNpemluZ0NvbmZpZyA9IHtcbiAgb3V0ZXJSYWRpdXM/OiBSYWRpdXNDb25maWc7IC8vSWYgcHJvcG9ydGlvbiwgaXQncyByZWxhdGl2ZSB0byB0aGUgY29udGFpbmVyXG4gIGRyYXdSYWRpdXM/OiBSYWRpdXNDb25maWc7IC8vSWYgcHJvcG9ydGlvbiwgaXQncyByZWxhdGl2ZSB0byB0aGUgb3V0ZXIgcmFkaXVzXG4gIGVsZW1lbnRTY2FsZXM/OiBQYXJ0aWFsRWxlbWVudFNjYWxpbmdDb25maWc7XG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZT86IENvbnRhaW5lclNjYWxpbmdUeXBlO1xuICB2ZXJ0aWNhbENvbnRhaW5lclNjYWxlPzogQ29udGFpbmVyU2NhbGluZ1R5cGU7XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERvbnV0RWxlbWVudFNjYWxpbmdDb25maWc6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZyA9IHtcbiAgZGF0YUxhYmVsUGFkZGluZzoge1xuICAgIG1pbjogMTYsXG4gICAgbWF4OiAxNixcbiAgICB0YXJnZXQ6IDE2LFxuICB9LFxuICBmb250U2l6ZToge1xuICAgIG1pbjogMTIsXG4gICAgbWF4OiAxMixcbiAgICB0YXJnZXQ6IDEyLFxuICB9LFxuICBidWNrZXRHYXA6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgb3V0ZXJHYXA6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgbGVmdFBhZGRpbmc6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgcmlnaHRQYWRkaW5nOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIHRvcFBhZGRpbmc6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgYm90dG9tUGFkZGluZzoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBiYXJTaXplOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIGJhckNsdXN0ZXJHYXA6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgbGVmdEJ1Y2tldExhYmVsOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9PVVRFUl9SQURJVVNfQ09ORklHOiBSYWRpdXNDb25maWcgPSB7XG4gIHR5cGU6ICdwcm9wb3J0aW9uJyxcbiAgdmFsdWU6IDAuNzUsXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9EUkFXX1JBRElVU19DT05GSUc6IFJhZGl1c0NvbmZpZyA9IHtcbiAgdHlwZTogJ2Fic29sdXRlJyxcbiAgdmFsdWU6IDEyLFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREb251dFNpemluZ0NvbmZpZyA9IHtcbiAgb3V0ZXJSYWRpdXM6IERFRkFVTFRfT1VURVJfUkFESVVTX0NPTkZJRyxcbiAgZHJhd1JhZGl1czogREVGQVVMVF9EUkFXX1JBRElVU19DT05GSUcsXG4gIGVsZW1lbnRTY2FsZXM6IERlZmF1bHREb251dEVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICBob3Jpem9udGFsQ29udGFpbmVyU2NhbGU6ICduby1zY2FsZScgYXMgQ29udGFpbmVyU2NhbGluZ1R5cGUsXG4gIHZlcnRpY2FsQ29udGFpbmVyU2NhbGU6ICduby1zY2FsZScgYXMgQ29udGFpbmVyU2NhbGluZ1R5cGUsXG59O1xuIl19
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtc2NhbGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3Zpc3VhbGl6YXRpb24vY2hhcnQvY2hhcnQtc2NhbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBeUNoQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBeUI7SUFDekQsT0FBTyxFQUFFLENBQUM7SUFDVixhQUFhLEVBQUUsQ0FBQztJQUNoQixTQUFTLEVBQUUsQ0FBQztJQUNaLFFBQVEsRUFBRSxDQUFDO0lBQ1gsV0FBVyxFQUFFLENBQUM7SUFDZCxZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRSxDQUFDO0lBQ2IsYUFBYSxFQUFFLENBQUM7SUFDaEIsZUFBZSxFQUFFLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuQixRQUFRLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFQUFFLENBQUM7SUFDZCxXQUFXLEVBQUUsQ0FBQztJQUNkLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLGdCQUFnQixFQUFFLENBQUM7SUFDbkIsY0FBYyxFQUFFLENBQUM7SUFDakIsaUJBQWlCLEVBQUUsQ0FBQztJQUNwQixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLDJCQUEyQixFQUFFLENBQUM7SUFDOUIseUJBQXlCLEVBQUUsQ0FBQztJQUM1QixlQUFlLEVBQUUsQ0FBQztJQUNsQixrQkFBa0IsRUFBRSxVQUFVO0lBQzlCLHdCQUF3QixFQUFFLFVBQVU7SUFDcEMsc0JBQXNCLEVBQUUsVUFBVTtDQUNuQyxDQUFDO0FBbUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUE2QjtJQUN0RSxPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsQ0FBQztRQUNOLEdBQUcsRUFBRSxFQUFFO1FBQ1AsTUFBTSxFQUFFLEVBQUU7S0FD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TSxFQUFFLENBQUMsRUFBRSxnQkFBZ0I7S0FDNUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQjtLQUM1QjtJQUNELGFBQWEsRUFBRTtRQUNiLE1BQU0sRUFBRSxDQUFDLEVBQUUsZ0JBQWdCO0tBQzVCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsTUFBTSxFQUFFLENBQUMsRUFBRSxnQkFBZ0I7S0FDNUI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWlCO0lBQ3ZELElBQUksRUFBRSxZQUFZO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFpQjtJQUN0RCxJQUFJLEVBQUUsVUFBVTtJQUNoQixLQUFLLEVBQUUsRUFBRTtDQUNWLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLFVBQVUsRUFBRSwwQkFBMEI7SUFDdEMsYUFBYSxFQUFFLGdDQUFnQztJQUMvQyx3QkFBd0IsRUFBRSxVQUFrQztJQUM1RCxzQkFBc0IsRUFBRSxVQUFrQztDQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnQgfSBmcm9tICcuL2NoYXJ0JztcblxuZXhwb3J0IHR5cGUgQ2hhcnRTY2FsZUVsZW1lbnQgPVxuICB8ICdiYXJTaXplJ1xuICB8ICdiYXJDbHVzdGVyR2FwJ1xuICB8ICdidWNrZXRHYXAnXG4gIHwgJ291dGVyR2FwJ1xuICB8ICdsZWZ0UGFkZGluZydcbiAgfCAncmlnaHRQYWRkaW5nJ1xuICB8ICd0b3BQYWRkaW5nJ1xuICB8ICdib3R0b21QYWRkaW5nJ1xuICB8ICdsZWZ0QnVja2V0TGFiZWwnXG4gIHwgJ2RhdGFMYWJlbFBhZGRpbmcnXG4gIHwgJ2ZvbnRTaXplJztcblxuZXhwb3J0IHR5cGUgQ2hhcnRTY2FsZVZhbHVlcyA9IHtcbiAgW0sgaW4gQ2hhcnRTY2FsZUVsZW1lbnRdOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBDaGFydERhdGFEaXJlY3Rpb24gPVxuICB8ICd2ZXJ0aWNhbCcgLy9BbGwgY2hhcnRzIGJ1dCBob3Jpem9udGFsLWJhclxuICB8ICdob3Jpem9udGFsJzsgLy9DdXJyZW50bHkganVzdCBob3Jpem9udGFsLWJhclxuXG5leHBvcnQgdHlwZSBGdWxsQ2hhcnRTY2FsZVZhbHVlcyA9IENoYXJ0U2NhbGVWYWx1ZXMgJiB7XG4gIC8vVmFyaW91cyBoZWxwZnVsIHByZS1jYWxjZWQgdmFsdWVzXG4gIHRvdGFsV2lkdGg6IG51bWJlcjtcbiAgdG90YWxIZWlnaHQ6IG51bWJlcjtcbiAgc2l6ZUZvckRhdGE6IG51bWJlcjtcbiAgdG90YWxMZWZ0T2Zmc2V0OiBudW1iZXI7IC8vVG90YWwgZGlzdGFuY2UgYmV0d2VlbiB0aGUgbGVmdCBlZGdlIG9mIHRoZSBjaGFydCwgYW5kIHdoZW4gd2Ugc3RhcnQgZHJhd2luZyBkYXRhXG4gIHRvdGFsUmlnaHRPZmZzZXQ6IG51bWJlcjsgLy9Ub3RhbCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBlbmQgb2YgZHJhd24gZGF0YSwgYW5kIHRoZSByaWdodCBlZGdlIG9mIHRoZSBjaGFydFxuICB0b3RhbFRvcE9mZnNldDogbnVtYmVyOyAvL1RvdGFsIGRpc3RhbmNlIGJldHdlZW4gdGhlIHRvcCBlZGdlIG9mIHRoZSBjaGFydCwgYW5kIHRoZSBzdGFydCBvZiBkcmF3biBkYXRhXG4gIHRvdGFsQm90dG9tT2Zmc2V0OiBudW1iZXI7IC8vVG90YWwgZGlzdGFuY2UgYmV0d2VlbiB0aGUgZW5kIG9mIGRyYXduIGRhdGEsIGFuZCB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGNoYXJ0XG4gIGRhdGFMYWJlbFRleHRTaXplOiBudW1iZXI7XG4gIGhvcml6b250YWxBeGlzTGFiZWxUZXh0U2l6ZTogbnVtYmVyO1xuICB2ZXJ0aWNhbEF4aXNMYWJlbFRleHRTaXplOiBudW1iZXI7XG4gIHRhcmdldFRpY2tDb3VudDogbnVtYmVyO1xuICBjaGFydERhdGFEaXJlY3Rpb246IENoYXJ0RGF0YURpcmVjdGlvbjtcbiAgaG9yaXpvbnRhbENvbnRhaW5lclNjYWxlOiBDb250YWluZXJTY2FsaW5nVHlwZTtcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogQ29udGFpbmVyU2NhbGluZ1R5cGU7XG59O1xuXG5leHBvcnQgY29uc3QgZW1wdHlDaGFydFNjYWxlVmFsdWVzOiBGdWxsQ2hhcnRTY2FsZVZhbHVlcyA9IHtcbiAgYmFyU2l6ZTogMCxcbiAgYmFyQ2x1c3RlckdhcDogMCxcbiAgYnVja2V0R2FwOiAwLFxuICBvdXRlckdhcDogMCxcbiAgbGVmdFBhZGRpbmc6IDAsXG4gIHJpZ2h0UGFkZGluZzogMCxcbiAgdG9wUGFkZGluZzogMCxcbiAgYm90dG9tUGFkZGluZzogMCxcbiAgbGVmdEJ1Y2tldExhYmVsOiAwLFxuICBkYXRhTGFiZWxQYWRkaW5nOiAwLFxuICBmb250U2l6ZTogMCxcbiAgdG90YWxXaWR0aDogMCxcbiAgdG90YWxIZWlnaHQ6IDAsXG4gIHNpemVGb3JEYXRhOiAwLFxuICB0b3RhbExlZnRPZmZzZXQ6IDAsXG4gIHRvdGFsUmlnaHRPZmZzZXQ6IDAsXG4gIHRvdGFsVG9wT2Zmc2V0OiAwLFxuICB0b3RhbEJvdHRvbU9mZnNldDogMCxcbiAgZGF0YUxhYmVsVGV4dFNpemU6IDAsXG4gIGhvcml6b250YWxBeGlzTGFiZWxUZXh0U2l6ZTogMCxcbiAgdmVydGljYWxBeGlzTGFiZWxUZXh0U2l6ZTogMCxcbiAgdGFyZ2V0VGlja0NvdW50OiAwLFxuICBjaGFydERhdGFEaXJlY3Rpb246ICd2ZXJ0aWNhbCcsXG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZTogJ25vLXNjYWxlJyxcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogJ25vLXNjYWxlJyxcbn07XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRTY2FsaW5nQ29uZmlndXJhdGlvbiA9IHtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIHRhcmdldDogbnVtYmVyOyAvL09uIHRoZSBkYXRhIGF4aXMsIHRoaXMgaXMgZ2VuZXJhbGx5IHRyZWF0ZWQgYXMgYSBmaXhlZCB2YWx1ZVxufTtcblxuZXhwb3J0IHR5cGUgRGF0YVNjYWxpbmdUeXBlID1cbiAgfCAnZml0JyAvL0RhdGEgd2lsbCBzY2FsZSB0byBmaXQgZGltZW5zaW9uc1xuICB8ICdtYXgnIC8vVGhlIHRhbGxlc3Qgc3RhY2svYmFyL3ZhbHVlIG9mIGRhdGEgd2lsbCBzY2FsZSB0byB0aGUgZ2l2ZW4gcHggdmFsdWVcbiAgfCAnY3VzdG9tJzsgLy9UaGUgZGF0YSB3aWxsIHNjYWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCByYXRpb1xuXG5leHBvcnQgdHlwZSBEYXRhU2NhbGluZ0NvbmZpZ3VyYXRpb24gPVxuICB8IHtcbiAgICAgIHR5cGU6IEV4dHJhY3Q8RGF0YVNjYWxpbmdUeXBlLCAnZml0Jz47IC8vVGhpcydsbCBmdW5jdGlvbmFsbHkgcmV2ZXJ0IHRoZSBzY2FsaW5nIHR5cGUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgYXhpcyB0byBcInNjYWxlLXRvLWZpdFwiXG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IEV4dHJhY3Q8RGF0YVNjYWxpbmdUeXBlLCAnbWF4Jz47XG4gICAgICB2YWx1ZTogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBFeHRyYWN0PERhdGFTY2FsaW5nVHlwZSwgJ2N1c3RvbSc+O1xuICAgICAgcmF0aW86IHtcbiAgICAgICAgcHg6IG51bWJlcjtcbiAgICAgICAgdmFsdWU6IG51bWJlcjtcbiAgICAgIH07XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQXhpc1NjYWxpbmdUeXBlID1cbiAgfCAnc2NhbGUtdG8tZml0JyAvL1RoZSBjaGFydCB3aWxsIHNjYWxlIHRvIGZpdCB0aGUgcHJvdmlkZWQgZGltZW5zaW9uc1xuICB8ICdncm93JyAvL1RoZSBjaGFydCB3aWxsIGdyb3cgaWYgc21hbGxlciB0aGFuIHRoZSBwcm92aWRlZCBkaW1lbnNpb25zLCBhbmQgc2Nyb2xsIGlmIGJpZ2dlci4gVHJlYXRlZCBhcyAnc2NhbGUtdG8tZml0JyBvbiB0aGUgZGF0YSBheGlzXG4gIHwgJ3NocmluaycgLy9UaGUgY2hhcnQgd2lsbCBzaHJpbmsgaWYgbGFyZ2VyIHRoYW4gdGhlIHByb3ZpZGVkIGRpbWVuc2lvbnMsIGFuZCBub3Qgc2NhbGUgb3RoZXJ3aXNlLiBUcmVhdGVkIGFzICdzY2FsZS10by1maXQnIG9uIHRoZSBkYXRhIGF4aXNcbiAgfCAnbm8tc2NhbGUnOyAvL1RoZSBjaGFydCB3aWxsIG5vdCBzY2FsZSwgYW5kIGlmIGJpZ2dlciB0aGFuIHRoZSBwcm92aWRlZCBkaW1lbnNpb25zLCB3aWxsIHNjcm9sbFxuXG5leHBvcnQgdHlwZSBDb250YWluZXJTY2FsaW5nVHlwZSA9XG4gIHwgJ3NocmluaycgLy9JZiB0aGUgY2hhcnQgZW5kcyB1cCBzbWFsbGVyIHRoYW4gdGhlIGNvbnRhaW5lciwgdGhlIGNvbnRhaW5lciB3aWxsIHNocmluayB0byBmaXRcbiAgfCAnbm8tc2NhbGUnOyAvL1RoZSBjb250YWluZXIgd2lsbCBub3QgY2hhbmdlIHNpemUsIHJlZ2FyZGxlc3Mgb2YgdGhlIHNpemUgb2YgdGhlIGNoYXJ0XG5cbmV4cG9ydCB0eXBlIEZ1bGxTY2FsaW5nQ29uZmlnID0ge1xuICBkYXRhU2NhbGU/OiBEYXRhU2NhbGluZ0NvbmZpZ3VyYXRpb247IC8vT25seSB1c2VkIGlmIHRoZSBjb3JyZXNwb25kaW5nIGF4aXMgaXMgc2V0IHRvICduby1zY2FsZScgb3IgaXMgbm90IGRlZmluZWQgYnkgaW5wdXRcbiAgZWxlbWVudFNjYWxlcz86IFBhcnRpYWxFbGVtZW50U2NhbGluZ0NvbmZpZztcbiAgaG9yaXpvbnRhbEF4aXNTY2FsZT86IEF4aXNTY2FsaW5nVHlwZTtcbiAgdmVydGljYWxBeGlzU2NhbGU/OiBBeGlzU2NhbGluZ1R5cGU7XG4gIGhvcml6b250YWxDb250YWluZXJTY2FsZT86IENvbnRhaW5lclNjYWxpbmdUeXBlO1xuICB2ZXJ0aWNhbENvbnRhaW5lclNjYWxlPzogQ29udGFpbmVyU2NhbGluZ1R5cGU7XG4gIHRhcmdldFRpY2tDb3VudD86IG51bWJlcjsgLy9UYXJnZXQgbnVtYmVyIGZvciB0aGUgbnVtYmVyIG9mIHRpY2tzIG9uIHRoZSBkYXRhIGF4aXMuIERlZmF1bHRzIHRvICc1J1xufTtcblxuLy9Gb3IgdXNlIGluIGNoYXJ0LXR5cGUgZGVmYXVsdHNcbmV4cG9ydCB0eXBlIE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnID0gT21pdDxcbiAgLy9UaGlzIHBhcnQgY29waWVzIEZ1bGxTY2FsaW5nQ29uZmlnLCBidXQgcmVtb3ZlcyB0aGUgYWJpbGl0eSBmb3IgYXR0cmlidXRlcyB0byBiZSBvcHRpb25hbFxuICB7XG4gICAgW0sgaW4ga2V5b2YgRnVsbFNjYWxpbmdDb25maWddLT86IEZ1bGxTY2FsaW5nQ29uZmlnW0tdO1xuICB9LFxuICAvL1RoaXMgcGFydCBleGNsdWRlcyBlbGVtZW50U2NhbGVzLCBzaW5jZSB3ZSBoYW5kbGUgdGhvc2UgZGVmYXVsdHMgc2VwYXJhdGVseVxuICAnZWxlbWVudFNjYWxlcydcbj47XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxFbGVtZW50U2NhbGluZ0NvbmZpZyA9IHtcbiAgW0sgaW4gQ2hhcnRTY2FsZUVsZW1lbnRdPzogRWxlbWVudFNjYWxpbmdDb25maWd1cmF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID0ge1xuICBbSyBpbiBDaGFydFNjYWxlRWxlbWVudF06IEVsZW1lbnRTY2FsaW5nQ29uZmlndXJhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFyRWxlbWVudFNjYWxpbmdDb25maWc6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZyA9IHtcbiAgYmFyU2l6ZToge1xuICAgIG1pbjogMSxcbiAgICBtYXg6IDgwLFxuICAgIHRhcmdldDogMzAsXG4gIH0sXG4gIGJhckNsdXN0ZXJHYXA6IHtcbiAgICBtaW46IDEsXG4gICAgbWF4OiA4LFxuICAgIHRhcmdldDogOCxcbiAgfSxcbiAgYnVja2V0R2FwOiB7XG4gICAgbWluOiAxLFxuICAgIHRhcmdldDogNDAsXG4gIH0sXG4gIG91dGVyR2FwOiB7XG4gICAgbWluOiAwLFxuICAgIHRhcmdldDogMTYsXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgbWluOiA0OCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHJpZ2h0UGFkZGluZzoge1xuICAgIG1pbjogOCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHRvcFBhZGRpbmc6IHtcbiAgICBtaW46IDE2LFxuICAgIG1heDogMTYsXG4gICAgdGFyZ2V0OiAxNixcbiAgfSxcbiAgYm90dG9tUGFkZGluZzoge1xuICAgIG1pbjogMjAsXG4gICAgbWF4OiAyMCxcbiAgICB0YXJnZXQ6IDIwLFxuICB9LFxuICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgbWluOiA4LFxuICAgIG1heDogOCxcbiAgICB0YXJnZXQ6IDgsXG4gIH0sXG4gIGZvbnRTaXplOiB7XG4gICAgbWluOiAxMixcbiAgICBtYXg6IDEyLFxuICAgIHRhcmdldDogMTIsXG4gIH0sXG4gIGxlZnRCdWNrZXRMYWJlbDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxufTtcbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFyV2l0aFNlY29uZGFyeUVsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPVxuICB7XG4gICAgLi4uRGVmYXVsdEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIHJpZ2h0UGFkZGluZzoge1xuICAgICAgbWluOiA0OCxcbiAgICAgIG1heDogNDgsXG4gICAgICB0YXJnZXQ6IDQ4LFxuICAgIH0sXG4gIH07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0SG9yaXpvbnRhbEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPVxuICB7XG4gICAgYmFyU2l6ZToge1xuICAgICAgbWluOiAxLFxuICAgICAgbWF4OiA4LFxuICAgICAgdGFyZ2V0OiA4LFxuICAgIH0sXG4gICAgYmFyQ2x1c3RlckdhcDoge1xuICAgICAgbWluOiAxLFxuICAgICAgbWF4OiA4LFxuICAgICAgdGFyZ2V0OiA4LFxuICAgIH0sXG4gICAgYnVja2V0R2FwOiB7XG4gICAgICBtaW46IDEsXG4gICAgICB0YXJnZXQ6IDE2LFxuICAgIH0sXG4gICAgb3V0ZXJHYXA6IHtcbiAgICAgIG1pbjogMCxcbiAgICAgIHRhcmdldDogOCxcbiAgICB9LFxuICAgIGxlZnRQYWRkaW5nOiB7XG4gICAgICBtaW46IDgsXG4gICAgICBtYXg6IDgsXG4gICAgICB0YXJnZXQ6IDgsXG4gICAgfSxcbiAgICByaWdodFBhZGRpbmc6IHtcbiAgICAgIG1pbjogOCxcbiAgICAgIG1heDogNDgsXG4gICAgICB0YXJnZXQ6IDQ4LFxuICAgIH0sXG4gICAgdG9wUGFkZGluZzoge1xuICAgICAgbWluOiAxNixcbiAgICAgIG1heDogMTYsXG4gICAgICB0YXJnZXQ6IDE2LFxuICAgIH0sXG4gICAgYm90dG9tUGFkZGluZzoge1xuICAgICAgbWluOiAwLFxuICAgICAgbWF4OiAyMCxcbiAgICAgIHRhcmdldDogMCxcbiAgICB9LFxuICAgIGxlZnRCdWNrZXRMYWJlbDoge1xuICAgICAgbWluOiA4LFxuICAgICAgbWF4OiAxOTIsXG4gICAgICB0YXJnZXQ6IDY4LCAvL1NpemUgdXNlZCBmb3IgdGltZXNlcmllcyBidWNrZXRzXG4gICAgfSxcbiAgICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgICBtaW46IDgsXG4gICAgICBtYXg6IDgsXG4gICAgICB0YXJnZXQ6IDgsXG4gICAgfSxcbiAgICBmb250U2l6ZToge1xuICAgICAgbWluOiAxMixcbiAgICAgIG1heDogMTIsXG4gICAgICB0YXJnZXQ6IDEyLFxuICAgIH0sXG4gIH07XG5leHBvcnQgY29uc3QgRGVmYXVsdEhvcml6b250YWxCYXJXaXRoU2Vjb25kYXJ5RWxlbWVudFNjYWxpbmdDb25maWc6IEZ1bGxFbGVtZW50U2NhbGluZ0NvbmZpZyA9XG4gIHtcbiAgICAuLi5EZWZhdWx0SG9yaXpvbnRhbEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIGJvdHRvbVBhZGRpbmc6IHtcbiAgICAgIG1pbjogMjAsXG4gICAgICBtYXg6IDIwLFxuICAgICAgdGFyZ2V0OiAyMCxcbiAgICB9LFxuICB9O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdExpbmVFbGVtZW50U2NhbGluZ0NvbmZpZzogRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID0ge1xuICBidWNrZXRHYXA6IHtcbiAgICBtaW46IDEsXG4gICAgdGFyZ2V0OiAzMixcbiAgfSxcbiAgb3V0ZXJHYXA6IHtcbiAgICB0YXJnZXQ6IDEsXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgbWluOiA0OCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHJpZ2h0UGFkZGluZzoge1xuICAgIG1pbjogOCxcbiAgICBtYXg6IDQ4LFxuICAgIHRhcmdldDogNDgsXG4gIH0sXG4gIHRvcFBhZGRpbmc6IHtcbiAgICBtaW46IDE2LFxuICAgIG1heDogMTYsXG4gICAgdGFyZ2V0OiAxNixcbiAgfSxcbiAgYm90dG9tUGFkZGluZzoge1xuICAgIG1pbjogMjAsXG4gICAgbWF4OiAyMCxcbiAgICB0YXJnZXQ6IDIwLFxuICB9LFxuICBkYXRhTGFiZWxQYWRkaW5nOiB7XG4gICAgbWluOiA4LFxuICAgIG1heDogOCxcbiAgICB0YXJnZXQ6IDgsXG4gIH0sXG4gIGZvbnRTaXplOiB7XG4gICAgbWluOiAxMixcbiAgICBtYXg6IDEyLFxuICAgIHRhcmdldDogMTIsXG4gIH0sXG4gIGJhclNpemU6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgYmFyQ2x1c3RlckdhcDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBsZWZ0QnVja2V0TGFiZWw6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd0VsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPSB7XG4gIGJhclNpemU6IHtcbiAgICBtaW46IDEsXG4gICAgbWF4OiA0MCxcbiAgICB0YXJnZXQ6IDQwLFxuICB9LFxuICBidWNrZXRHYXA6IHtcbiAgICBtaW46IDEsXG4gICAgdGFyZ2V0OiAxODAsXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgbWluOiAyNCxcbiAgICBtYXg6IDEwOCxcbiAgICB0YXJnZXQ6IDEwOCxcbiAgfSxcbiAgcmlnaHRQYWRkaW5nOiB7XG4gICAgbWluOiAyNCxcbiAgICBtYXg6IDEwOCxcbiAgICB0YXJnZXQ6IDEwOCxcbiAgfSxcbiAgZGF0YUxhYmVsUGFkZGluZzoge1xuICAgIG1pbjogMzYsXG4gICAgbWF4OiAzNixcbiAgICB0YXJnZXQ6IDM2LFxuICB9LFxuICBmb250U2l6ZToge1xuICAgIG1pbjogMTIsXG4gICAgbWF4OiAxMixcbiAgICB0YXJnZXQ6IDEyLFxuICB9LFxuICB0b3BQYWRkaW5nOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIGJvdHRvbVBhZGRpbmc6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgb3V0ZXJHYXA6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgYmFyQ2x1c3RlckdhcDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBsZWZ0QnVja2V0TGFiZWw6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0TGluZVdpdGhTZWNvbmRhcnlFbGVtZW50U2NhbGluZ0NvbmZpZzogRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnID1cbiAge1xuICAgIC4uLkRlZmF1bHRMaW5lRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgcmlnaHRQYWRkaW5nOiB7XG4gICAgICBtaW46IDQ4LFxuICAgICAgbWF4OiA0OCxcbiAgICAgIHRhcmdldDogNDgsXG4gICAgfSxcbiAgfTtcblxuLy9Gb3IgYmFyLCBsaW5lLCBhcmVhLCB3YXRlcmZhbGwgYW5kIGZ1bm5lbCBjaGFydHNcbmV4cG9ydCBjb25zdCBEZWZhdWx0VmVydGljYWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZzogTm9uRWxlbWVudFNjYWxpbmdDb25maWcgPSB7XG4gIGRhdGFTY2FsZTogeyB0eXBlOiAnZml0JyB9LFxuICBob3Jpem9udGFsQXhpc1NjYWxlOiAnZ3JvdycsXG4gIHZlcnRpY2FsQXhpc1NjYWxlOiAnc2NhbGUtdG8tZml0JyxcbiAgaG9yaXpvbnRhbENvbnRhaW5lclNjYWxlOiAnc2hyaW5rJyxcbiAgdmVydGljYWxDb250YWluZXJTY2FsZTogJ3NocmluaycsXG4gIHRhcmdldFRpY2tDb3VudDogNSxcbn07XG4vL0ZvciBob3Jpem9udGFsIGJhciBjaGFydHNcbmV4cG9ydCBjb25zdCBEZWZhdWx0SG9yaXpvbnRhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnOiBOb25FbGVtZW50U2NhbGluZ0NvbmZpZyA9XG4gIHtcbiAgICBkYXRhU2NhbGU6IHsgdHlwZTogJ2ZpdCcgfSxcbiAgICBob3Jpem9udGFsQXhpc1NjYWxlOiAnc2NhbGUtdG8tZml0JyxcbiAgICB2ZXJ0aWNhbEF4aXNTY2FsZTogJ2dyb3cnLFxuICAgIGhvcml6b250YWxDb250YWluZXJTY2FsZTogJ3NocmluaycsXG4gICAgdmVydGljYWxDb250YWluZXJTY2FsZTogJ3NocmluaycsXG4gICAgdGFyZ2V0VGlja0NvdW50OiA1LFxuICB9O1xuXG5leHBvcnQgdHlwZSBEZWZhdWx0U2NhbGluZ0NvbmZpZyA9IHtcbiAgZWxlbWVudFNjYWxlczogRnVsbEVsZW1lbnRTY2FsaW5nQ29uZmlnO1xuICBub25FbGVtZW50U2NhbGVzOiBOb25FbGVtZW50U2NhbGluZ0NvbmZpZztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0U2NhbGluZ0NvbmZpZ0J5Q2hhcnRUeXBlKFxuICB0eXBlOiBFeGNsdWRlPENoYXJ0LkNoYXJ0VHlwZSwgJ2RvbnV0Jz4sXG4gIGhhc1NlY29uZGFyeTogYm9vbGVhbixcbik6IERlZmF1bHRTY2FsaW5nQ29uZmlnIHtcbiAgaWYgKHR5cGUgPT09ICdob3Jpem9udGFsLWJhcicpIHtcbiAgICBpZiAoaGFzU2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0SG9yaXpvbnRhbEJhcldpdGhTZWNvbmRhcnlFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgICAgbm9uRWxlbWVudFNjYWxlczogRGVmYXVsdEhvcml6b250YWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0SG9yaXpvbnRhbEJhckVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgbm9uRWxlbWVudFNjYWxlczogRGVmYXVsdEhvcml6b250YWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICB9O1xuICB9XG4gIGlmIChDaGFydC5pc0JhclR5cGUodHlwZSkpIHtcbiAgICBpZiAoaGFzU2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0QmFyV2l0aFNlY29uZGFyeUVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgICBub25FbGVtZW50U2NhbGVzOiBEZWZhdWx0VmVydGljYWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0QmFyRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICBub25FbGVtZW50U2NhbGVzOiBEZWZhdWx0VmVydGljYWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICB9O1xuICB9XG4gIGlmICh0eXBlID09PSAnbGluZScgfHwgdHlwZSA9PT0gJ2FyZWEnKSB7XG4gICAgaWYgKGhhc1NlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWxlbWVudFNjYWxlczogRGVmYXVsdExpbmVXaXRoU2Vjb25kYXJ5RWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICAgIG5vbkVsZW1lbnRTY2FsZXM6IERlZmF1bHRWZXJ0aWNhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnRTY2FsZXM6IERlZmF1bHRMaW5lRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgICBub25FbGVtZW50U2NhbGVzOiBEZWZhdWx0VmVydGljYWxOb25FbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICB9O1xuICB9XG4gIGlmICh0eXBlID09PSAnZmxvdycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudFNjYWxlczogRGVmYXVsdEZsb3dFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgICAgIG5vbkVsZW1lbnRTY2FsZXM6IERlZmF1bHRWZXJ0aWNhbE5vbkVsZW1lbnRTY2FsaW5nQ29uZmlnLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0QmFyRWxlbWVudFNjYWxpbmdDb25maWcsXG4gICAgbm9uRWxlbWVudFNjYWxlczogRGVmYXVsdFZlcnRpY2FsTm9uRWxlbWVudFNjYWxpbmdDb25maWcsXG4gIH07XG59XG5cbnR5cGUgUmFkaXVzQ29uZmlnID0ge1xuICB0eXBlOiAncHJvcG9ydGlvbicgfCAnYWJzb2x1dGUnO1xuICB2YWx1ZTogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgRG9udXRTaXppbmdDb25maWcgPSB7XG4gIG91dGVyUmFkaXVzPzogUmFkaXVzQ29uZmlnOyAvL0lmIHByb3BvcnRpb24sIGl0J3MgcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5lclxuICBkcmF3UmFkaXVzPzogUmFkaXVzQ29uZmlnOyAvL0lmIHByb3BvcnRpb24sIGl0J3MgcmVsYXRpdmUgdG8gdGhlIG91dGVyIHJhZGl1c1xuICBlbGVtZW50U2NhbGVzPzogUGFydGlhbEVsZW1lbnRTY2FsaW5nQ29uZmlnO1xuICBob3Jpem9udGFsQ29udGFpbmVyU2NhbGU/OiBDb250YWluZXJTY2FsaW5nVHlwZTtcbiAgdmVydGljYWxDb250YWluZXJTY2FsZT86IENvbnRhaW5lclNjYWxpbmdUeXBlO1xufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREb251dEVsZW1lbnRTY2FsaW5nQ29uZmlnOiBGdWxsRWxlbWVudFNjYWxpbmdDb25maWcgPSB7XG4gIGRhdGFMYWJlbFBhZGRpbmc6IHtcbiAgICBtaW46IDE2LFxuICAgIG1heDogMTYsXG4gICAgdGFyZ2V0OiAxNixcbiAgfSxcbiAgZm9udFNpemU6IHtcbiAgICBtaW46IDEyLFxuICAgIG1heDogMTIsXG4gICAgdGFyZ2V0OiAxMixcbiAgfSxcbiAgYnVja2V0R2FwOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIG91dGVyR2FwOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIGxlZnRQYWRkaW5nOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIHJpZ2h0UGFkZGluZzoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICB0b3BQYWRkaW5nOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIGJvdHRvbVBhZGRpbmc6IHtcbiAgICB0YXJnZXQ6IDAsIC8vTm90IGFwcGxpY2FibGVcbiAgfSxcbiAgYmFyU2l6ZToge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxuICBiYXJDbHVzdGVyR2FwOiB7XG4gICAgdGFyZ2V0OiAwLCAvL05vdCBhcHBsaWNhYmxlXG4gIH0sXG4gIGxlZnRCdWNrZXRMYWJlbDoge1xuICAgIHRhcmdldDogMCwgLy9Ob3QgYXBwbGljYWJsZVxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1VURVJfUkFESVVTX0NPTkZJRzogUmFkaXVzQ29uZmlnID0ge1xuICB0eXBlOiAncHJvcG9ydGlvbicsXG4gIHZhbHVlOiAwLjc1LFxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRFJBV19SQURJVVNfQ09ORklHOiBSYWRpdXNDb25maWcgPSB7XG4gIHR5cGU6ICdhYnNvbHV0ZScsXG4gIHZhbHVlOiAxMixcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RG9udXRTaXppbmdDb25maWcgPSB7XG4gIG91dGVyUmFkaXVzOiBERUZBVUxUX09VVEVSX1JBRElVU19DT05GSUcsXG4gIGRyYXdSYWRpdXM6IERFRkFVTFRfRFJBV19SQURJVVNfQ09ORklHLFxuICBlbGVtZW50U2NhbGVzOiBEZWZhdWx0RG9udXRFbGVtZW50U2NhbGluZ0NvbmZpZyxcbiAgaG9yaXpvbnRhbENvbnRhaW5lclNjYWxlOiAnbm8tc2NhbGUnIGFzIENvbnRhaW5lclNjYWxpbmdUeXBlLFxuICB2ZXJ0aWNhbENvbnRhaW5lclNjYWxlOiAnbm8tc2NhbGUnIGFzIENvbnRhaW5lclNjYWxpbmdUeXBlLFxufTtcbiJdfQ==
|