@rivet-health/design-system 1.2.1 → 2.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/content-toggle/{text-toggle.component.mjs → text-toggle/text-toggle.component.mjs} +3 -3
- package/esm2020/lib/icon/icon.component.mjs +9 -4
- package/esm2020/lib/icon/icons.mjs +2 -2
- package/esm2020/lib/modal/callout/callout-outlet.component.mjs +16 -0
- package/esm2020/lib/modal/callout/callout-position.mjs +99 -0
- package/esm2020/lib/modal/callout/callout.component.mjs +86 -0
- package/esm2020/lib/modal/callout/callout.directive.mjs +24 -0
- package/esm2020/lib/modal/callout/callout.service.mjs +21 -0
- package/esm2020/lib/riv.module.mjs +38 -13
- package/esm2020/lib/visualization/{data-table-cell.component.mjs → data-table/data-table-cell.component.mjs} +1 -1
- package/esm2020/lib/visualization/{data-table-header-cell.component.mjs → data-table/data-table-header-cell.component.mjs} +1 -1
- package/esm2020/lib/visualization/{data-table-row.component.mjs → data-table/data-table-row.component.mjs} +1 -1
- package/esm2020/lib/visualization/{data-table.component.mjs → data-table/data-table.component.mjs} +1 -1
- package/esm2020/lib/visualization/donut/donut.component.mjs +45 -0
- package/esm2020/lib/visualization/legend-item/legend-item.component.mjs +33 -0
- package/esm2020/lib/visualization/{metric.component.mjs → metric/metric.component.mjs} +1 -1
- package/esm2020/lib/visualization/stacked-column/stacked-column.component.mjs +174 -0
- package/esm2020/lib/visualization/time-series/time-series.component.mjs +287 -0
- package/esm2020/lib/visualization/zero-state/zero-state.component.mjs +16 -0
- package/esm2020/public-api.mjs +15 -10
- package/fesm2015/rivet-health-design-system.mjs +650 -206
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +657 -204
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/icon/icon.component.d.ts +3 -1
- package/lib/icon/icons.d.ts +1 -1
- package/lib/modal/callout/callout-outlet.component.d.ts +8 -0
- package/lib/modal/callout/callout-position.d.ts +18 -0
- package/lib/modal/callout/callout.component.d.ts +24 -0
- package/lib/modal/callout/callout.directive.d.ts +12 -0
- package/lib/modal/callout/callout.service.d.ts +10 -0
- package/lib/riv.module.d.ts +17 -12
- package/lib/visualization/{legend-item.component.d.ts → legend-item/legend-item.component.d.ts} +5 -1
- package/lib/visualization/stacked-column/stacked-column.component.d.ts +66 -0
- package/lib/visualization/time-series/time-series.component.d.ts +97 -0
- package/lib/visualization/zero-state/zero-state.component.d.ts +6 -0
- package/package.json +2 -1
- package/public-api.d.ts +14 -9
- package/styles/global.css +3 -0
- package/styles/tokens/color.css +12 -2
- package/styles/tokens/depth.css +14 -0
- package/styles/tokens/size.css +19 -2
- package/styles/tokens/transition.css +8 -0
- package/styles/tokens/typography.css +4 -4
- package/styles/tokens/z-index.css +16 -0
- package/esm2020/lib/visualization/donut.component.mjs +0 -44
- package/esm2020/lib/visualization/legend-item.component.mjs +0 -22
- package/esm2020/lib/visualization/time-series.component.mjs +0 -274
- package/lib/visualization/time-series.component.d.ts +0 -80
- /package/lib/content-toggle/{text-toggle.component.d.ts → text-toggle/text-toggle.component.d.ts} +0 -0
- /package/lib/visualization/{data-table-cell.component.d.ts → data-table/data-table-cell.component.d.ts} +0 -0
- /package/lib/visualization/{data-table-header-cell.component.d.ts → data-table/data-table-header-cell.component.d.ts} +0 -0
- /package/lib/visualization/{data-table-row.component.d.ts → data-table/data-table-row.component.d.ts} +0 -0
- /package/lib/visualization/{data-table.component.d.ts → data-table/data-table.component.d.ts} +0 -0
- /package/lib/visualization/{donut.component.d.ts → donut/donut.component.d.ts} +0 -0
- /package/lib/visualization/{metric.component.d.ts → metric/metric.component.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "
|
|
4
|
+
import * as i2 from "../../icon/icon.component";
|
|
5
5
|
export class TextToggleComponent {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.showLabel = '';
|
|
@@ -10,7 +10,7 @@ export class TextToggleComponent {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
TextToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
-
TextToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextToggleComponent, selector: "riv-text-toggle", inputs: { showLabel: "showLabel", hideLabel: "hideLabel", open: "open" }, ngImport: i0, template: "<button class=\"toggle\" type=\"button\" (click)=\"open = !open\">\n <riv-icon *ngIf=\"open\" [name]=\"'ChevronDown'\" [size]=\"24\"></riv-icon>\n <riv-icon *ngIf=\"!open\" [name]=\"'ChevronRight'\" [size]=\"24\"></riv-icon>\n <div>{{ open ? hideLabel : showLabel }}</div>\n</button>\n<div *ngIf=\"open\">\n <ng-content></ng-content>\n</div>\n", styles: [".toggle{padding:var(--size-xxsmall);display:flex;align-items:center}.toggle:hover{cursor:pointer}button{color:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "riv-icon", inputs: ["name", "size", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13
|
+
TextToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextToggleComponent, selector: "riv-text-toggle", inputs: { showLabel: "showLabel", hideLabel: "hideLabel", open: "open" }, ngImport: i0, template: "<button class=\"toggle\" type=\"button\" (click)=\"open = !open\">\n <riv-icon *ngIf=\"open\" [name]=\"'ChevronDown'\" [size]=\"24\"></riv-icon>\n <riv-icon *ngIf=\"!open\" [name]=\"'ChevronRight'\" [size]=\"24\"></riv-icon>\n <div>{{ open ? hideLabel : showLabel }}</div>\n</button>\n<div *ngIf=\"open\">\n <ng-content></ng-content>\n</div>\n", styles: [".toggle{padding:var(--size-xxsmall);display:flex;align-items:center}.toggle:hover{cursor:pointer}button{color:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextToggleComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{ selector: 'riv-text-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button class=\"toggle\" type=\"button\" (click)=\"open = !open\">\n <riv-icon *ngIf=\"open\" [name]=\"'ChevronDown'\" [size]=\"24\"></riv-icon>\n <riv-icon *ngIf=\"!open\" [name]=\"'ChevronRight'\" [size]=\"24\"></riv-icon>\n <div>{{ open ? hideLabel : showLabel }}</div>\n</button>\n<div *ngIf=\"open\">\n <ng-content></ng-content>\n</div>\n", styles: [".toggle{padding:var(--size-xxsmall);display:flex;align-items:center}.toggle:hover{cursor:pointer}button{color:inherit}\n"] }]
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
21
21
|
}], open: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10b2dnbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvY29udGVudC10b2dnbGUvdGV4dC10b2dnbGUvdGV4dC10b2dnbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvY29udGVudC10b2dnbGUvdGV4dC10b2dnbGUvdGV4dC10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRMUUsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVFFLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFHdkIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUd2QixTQUFJLEdBQVksS0FBSyxDQUFDO0tBQ3ZCOztnSEFUWSxtQkFBbUI7b0dBQW5CLG1CQUFtQixpSUNSaEMsNlZBUUE7MkZEQWEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi10ZXh0LXRvZ2dsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtdG9nZ2xlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRUb2dnbGVDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBzaG93TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGhpZGVMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xufVxuIiwiPGJ1dHRvbiBjbGFzcz1cInRvZ2dsZVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlbiA9ICFvcGVuXCI+XG4gIDxyaXYtaWNvbiAqbmdJZj1cIm9wZW5cIiBbbmFtZV09XCInQ2hldnJvbkRvd24nXCIgW3NpemVdPVwiMjRcIj48L3Jpdi1pY29uPlxuICA8cml2LWljb24gKm5nSWY9XCIhb3BlblwiIFtuYW1lXT1cIidDaGV2cm9uUmlnaHQnXCIgW3NpemVdPVwiMjRcIj48L3Jpdi1pY29uPlxuICA8ZGl2Pnt7IG9wZW4gPyBoaWRlTGFiZWwgOiBzaG93TGFiZWwgfX08L2Rpdj5cbjwvYnV0dG9uPlxuPGRpdiAqbmdJZj1cIm9wZW5cIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -25,15 +25,18 @@ export class IconComponent {
|
|
|
25
25
|
this.cached = cache.get(value);
|
|
26
26
|
this.element.nativeElement.append(this.cached.value);
|
|
27
27
|
}
|
|
28
|
+
get iconSize() {
|
|
29
|
+
return this.customSize ? this.customSize : this.size;
|
|
30
|
+
}
|
|
28
31
|
get calculateStrokeWidth() {
|
|
29
|
-
return this.strokeWidth ? this.strokeWidth : 24 / this.
|
|
32
|
+
return this.strokeWidth ? this.strokeWidth : 24 / this.iconSize;
|
|
30
33
|
}
|
|
31
34
|
ngOnDestroy() {
|
|
32
35
|
this.name = null;
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: IconComponent, selector: "riv-icon", inputs: { name: "name", size: "size", strokeWidth: "strokeWidth" }, host: { properties: { "style.width.px": "this.
|
|
39
|
+
IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: IconComponent, selector: "riv-icon", inputs: { name: "name", size: "size", customSize: "customSize", strokeWidth: "strokeWidth" }, host: { properties: { "style.width.px": "this.iconSize", "style.height.px": "this.iconSize", "style.stroke-width": "this.calculateStrokeWidth" } }, ngImport: i0, template: "", styles: [":host{display:inline-block;font-size:0;line-height:0;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
37
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IconComponent, decorators: [{
|
|
38
41
|
type: Component,
|
|
39
42
|
args: [{ selector: 'riv-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "", styles: [":host{display:inline-block;font-size:0;line-height:0;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}\n"] }]
|
|
@@ -41,7 +44,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
41
44
|
type: Input
|
|
42
45
|
}], size: [{
|
|
43
46
|
type: Input
|
|
44
|
-
}, {
|
|
47
|
+
}], customSize: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], iconSize: [{
|
|
45
50
|
type: HostBinding,
|
|
46
51
|
args: ['style.width.px']
|
|
47
52
|
}, {
|
|
@@ -53,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
53
58
|
type: HostBinding,
|
|
54
59
|
args: ['style.stroke-width']
|
|
55
60
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQXVCLEtBQUssQ0FBQyxFQUFFO0lBQ3ZELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO0lBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sR0FBRyxDQUFDLGVBQWUsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQztBQVFILE1BQU0sT0FBTyxhQUFhO0lBR3hCLFlBQTZCLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBbUI3RCxTQUFJLEdBQWEsRUFBRSxDQUFDO0lBbkI0QyxDQUFDO0lBRWpFLElBQ0ksSUFBSSxDQUFDLEtBQXVCO1FBQzlCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7U0FDekI7UUFFRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFRRCxJQUVJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDdkQsQ0FBQztJQUtELElBQ0ksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbEUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDOzswR0EzQ1UsYUFBYTs4RkFBYixhQUFhLGtTQ3hCMUIsRUFBQTsyRkR3QmEsYUFBYTtrQkFOekIsU0FBUzsrQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07aUdBUTNDLElBQUk7c0JBRFAsS0FBSztnQkFpQk4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFLRixRQUFRO3NCQUZYLFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFDNUIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLFdBQVc7c0JBRFYsS0FBSztnQkFJRixvQkFBb0I7c0JBRHZCLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FjaGVSZXN1bHQsIERvbUNhY2hlIH0gZnJvbSAnLi9kb20tY2FjaGUnO1xuaW1wb3J0IHsgSWNvbk5hbWVzLCBJY29uU2l6ZSwgaWNvbnNNYXAgfSBmcm9tICcuL2ljb25zJztcblxuY29uc3QgY2FjaGUgPSBuZXcgRG9tQ2FjaGU8SWNvbk5hbWVzLCBDaGlsZE5vZGU+KHZhbHVlID0+IHtcbiAgY29uc3Qgc3ZnVGV4dCA9IGljb25zTWFwW3ZhbHVlXTtcbiAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICBjb25zdCBzdmcgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHN2Z1RleHQsICd0ZXh0L3htbCcpO1xuICByZXR1cm4gc3ZnLmRvY3VtZW50RWxlbWVudDtcbn0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjYWNoZWQ6IENhY2hlUmVzdWx0PENoaWxkTm9kZT4gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICBASW5wdXQoKVxuICBzZXQgbmFtZSh2YWx1ZTogSWNvbk5hbWVzIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLmNhY2hlZCkge1xuICAgICAgdGhpcy5jYWNoZWQudmFsdWUucmVtb3ZlKCk7XG4gICAgICB0aGlzLmNhY2hlZC5jbGVhbnVwKCk7XG4gICAgICB0aGlzLmNhY2hlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2FjaGVkID0gY2FjaGUuZ2V0KHZhbHVlKTtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy5jYWNoZWQudmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2l6ZTogSWNvblNpemUgPSAyNDtcblxuICBASW5wdXQoKVxuICBjdXN0b21TaXplOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5weCcpXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgZ2V0IGljb25TaXplKCkge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbVNpemUgPyB0aGlzLmN1c3RvbVNpemUgOiB0aGlzLnNpemU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzdHJva2VXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuc3Ryb2tlLXdpZHRoJylcbiAgZ2V0IGNhbGN1bGF0ZVN0cm9rZVdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLnN0cm9rZVdpZHRoID8gdGhpcy5zdHJva2VXaWR0aCA6IDI0IC8gdGhpcy5pY29uU2l6ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubmFtZSA9IG51bGw7XG4gIH1cbn1cbiIsIiJdfQ==
|
|
@@ -236,9 +236,9 @@ export const icons = {
|
|
|
236
236
|
ZoomIn,
|
|
237
237
|
ZoomOut,
|
|
238
238
|
};
|
|
239
|
-
export const IconSizes = [12, 16, 24];
|
|
239
|
+
export const IconSizes = [8, 12, 16, 24];
|
|
240
240
|
export const iconsMap = {};
|
|
241
241
|
for (const key in icons) {
|
|
242
242
|
iconsMap[key] = icons[key];
|
|
243
243
|
}
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pY29uL2ljb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sUUFBUSxHQUFHLDJLQUEySyxDQUFDO0FBQzdMLE1BQU0sV0FBVyxHQUFHLHFQQUFxUCxDQUFDO0FBQzFRLE1BQU0sWUFBWSxHQUFHLGlUQUFpVCxDQUFDO0FBQ3ZVLE1BQU0sYUFBYSxHQUFHLHlUQUF5VCxDQUFDO0FBQ2hWLE1BQU0sU0FBUyxHQUFHLDZSQUE2UixDQUFDO0FBQ2hULE1BQU0sTUFBTSxHQUFHLDBPQUEwTyxDQUFDO0FBQzFQLE1BQU0sT0FBTyxHQUFHLDBQQUEwUCxDQUFDO0FBQzNRLE1BQU0sU0FBUyxHQUFHLDBNQUEwTSxDQUFDO0FBQzdOLE1BQU0sYUFBYSxHQUFHLDRNQUE0TSxDQUFDO0FBQ25PLE1BQU0sU0FBUyxHQUFHLHlNQUF5TSxDQUFDO0FBQzVOLE1BQU0sZUFBZSxHQUFHLHdQQUF3UCxDQUFDO0FBQ2pSLE1BQU0sVUFBVSxHQUFHLDJNQUEyTSxDQUFDO0FBQy9OLE1BQU0sT0FBTyxHQUFHLHVNQUF1TSxDQUFDO0FBQ3hOLE1BQU0sWUFBWSxHQUFHLDJNQUEyTSxDQUFDO0FBQ2pPLE1BQU0sTUFBTSxHQUFHLG1OQUFtTixDQUFDO0FBQ25PLE1BQU0sU0FBUyxHQUFHLG9QQUFvUCxDQUFDO0FBQ3ZRLE1BQU0sSUFBSSxHQUFHLGtOQUFrTixDQUFDO0FBQ2hPLE1BQU0sSUFBSSxHQUFHLDBPQUEwTyxDQUFDO0FBQ3hQLE1BQU0sUUFBUSxHQUFHLG9PQUFvTyxDQUFDO0FBQ3RQLE1BQU0sU0FBUyxHQUFHLHdPQUF3TyxDQUFDO0FBQzNQLE1BQU0sUUFBUSxHQUFHLDJTQUEyUyxDQUFDO0FBQzdULE1BQU0sS0FBSyxHQUFHLHVKQUF1SixDQUFDO0FBQ3RLLE1BQU0sV0FBVyxHQUFHLHlOQUF5TixDQUFDO0FBQzlPLE1B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LEVBQUU7SUFDdkIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBcUIsR0FBRyxDQUFDLENBQUM7Q0FDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBBY3Rpdml0eSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYWN0aXZpdHlcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIyIDEyIDE4IDEyIDE1IDIxIDkgMyA2IDEyIDIgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBbGVydENpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYWxlcnQtY2lyY2xlXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48bGluZSB4MT1cIjEyXCIgeTE9XCI4XCIgeDI9XCIxMlwiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTZcIiB4Mj1cIjEyLjAxXCIgeTI9XCIxNlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQWxlcnRPY3RhZ29uID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hbGVydC1vY3RhZ29uXCI+XFxuICAgIDxwb2x5Z29uIHBvaW50cz1cIjcuODYgMiAxNi4xNCAyIDIyIDcuODYgMjIgMTYuMTQgMTYuMTQgMjIgNy44NiAyMiAyIDE2LjE0IDIgNy44NiA3Ljg2IDJcIj48L3BvbHlnb24+PGxpbmUgeDE9XCIxMlwiIHkxPVwiOFwiIHgyPVwiMTJcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE2XCIgeDI9XCIxMi4wMVwiIHkyPVwiMTZcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFsZXJ0VHJpYW5nbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFsZXJ0LXRyaWFuZ2xlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTAuMjkgMy44NkwxLjgyIDE4YTIgMiAwIDAgMCAxLjcxIDNoMTYuOTRhMiAyIDAgMCAwIDEuNzEtM0wxMy43MSAzLjg2YTIgMiAwIDAgMC0zLjQyIDB6XCI+PC9wYXRoPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjlcIiB4Mj1cIjEyXCIgeTI9XCIxM1wiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxN1wiIHgyPVwiMTIuMDFcIiB5Mj1cIjE3XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBbGlnbkxlZnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFsaWduLWxlZnRcIj5cXG4gICAgPGxpbmUgeDE9XCIxN1wiIHkxPVwiMTBcIiB4Mj1cIjNcIiB5Mj1cIjEwXCI+PC9saW5lPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjZcIiB4Mj1cIjNcIiB5Mj1cIjZcIj48L2xpbmU+PGxpbmUgeDE9XCIyMVwiIHkxPVwiMTRcIiB4Mj1cIjNcIiB5Mj1cIjE0XCI+PC9saW5lPjxsaW5lIHgxPVwiMTdcIiB5MT1cIjE4XCIgeDI9XCIzXCIgeTI9XCIxOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQW5jaG9yID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hbmNob3JcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCI1XCIgcj1cIjNcIj48L2NpcmNsZT48bGluZSB4MT1cIjEyXCIgeTE9XCIyMlwiIHgyPVwiMTJcIiB5Mj1cIjhcIj48L2xpbmU+PHBhdGggZD1cIk01IDEySDJhMTAgMTAgMCAwIDAgMjAgMGgtM1wiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQXJjaGl2ZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJjaGl2ZVwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjEgOCAyMSAyMSAzIDIxIDMgOFwiPjwvcG9seWxpbmU+PHJlY3QgeD1cIjFcIiB5PVwiM1wiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCI1XCI+PC9yZWN0PjxsaW5lIHgxPVwiMTBcIiB5MT1cIjEyXCIgeDI9XCIxNFwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93RG93biA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctZG93blwiPlxcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCI1XCIgeDI9XCIxMlwiIHkyPVwiMTlcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjE5IDEyIDEyIDE5IDUgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd0Rvd25MZWZ0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1kb3duLWxlZnRcIj5cXG4gICAgPGxpbmUgeDE9XCIxN1wiIHkxPVwiN1wiIHgyPVwiN1wiIHkyPVwiMTdcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjE3IDE3IDcgMTcgNyA3XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dMZWZ0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1sZWZ0XCI+XFxuICAgIDxsaW5lIHgxPVwiMTlcIiB5MT1cIjEyXCIgeDI9XCI1XCIgeTI9XCIxMlwiPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTIgMTkgNSAxMiAxMiA1XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dMZWZ0Q2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1sZWZ0LWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PHBvbHlsaW5lIHBvaW50cz1cIjEyIDggOCAxMiAxMiAxNlwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxNlwiIHkxPVwiMTJcIiB4Mj1cIjhcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd1JpZ2h0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1yaWdodFwiPlxcbiAgICA8bGluZSB4MT1cIjVcIiB5MT1cIjEyXCIgeDI9XCIxOVwiIHkyPVwiMTJcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjEyIDUgMTkgMTIgMTIgMTlcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd1VwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy11cFwiPlxcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCIxOVwiIHgyPVwiMTJcIiB5Mj1cIjVcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjUgMTIgMTIgNSAxOSAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93VXBSaWdodCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctdXAtcmlnaHRcIj5cXG4gICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIxN1wiIHgyPVwiMTdcIiB5Mj1cIjdcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjcgNyAxNyA3IDE3IDE3XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXRTaWduID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hdC1zaWduXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiNFwiPjwvY2lyY2xlPjxwYXRoIGQ9XCJNMTYgOHY1YTMgMyAwIDAgMCA2IDB2LTFhMTAgMTAgMCAxIDAtMy45MiA3Ljk0XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBCYXJDaGFydDIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWJhci1jaGFydC0yXCI+XFxuICAgIDxsaW5lIHgxPVwiMThcIiB5MT1cIjIwXCIgeDI9XCIxOFwiIHkyPVwiMTBcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMjBcIiB4Mj1cIjEyXCIgeTI9XCI0XCI+PC9saW5lPjxsaW5lIHgxPVwiNlwiIHkxPVwiMjBcIiB4Mj1cIjZcIiB5Mj1cIjE0XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBCZWxsID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1iZWxsXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTggOEE2IDYgMCAwIDAgNiA4YzAgNy0zIDktMyA5aDE4cy0zLTItMy05XCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTMuNzMgMjFhMiAyIDAgMCAxLTMuNDYgMFwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQm9vayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYm9va1wiPlxcbiAgICA8cGF0aCBkPVwiTTQgMTkuNUEyLjUgMi41IDAgMCAxIDYuNSAxN0gyMFwiPjwvcGF0aD48cGF0aCBkPVwiTTYuNSAySDIwdjIwSDYuNUEyLjUgMi41IDAgMCAxIDQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMnpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEJvb2tPcGVuID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1ib29rLW9wZW5cIj5cXG4gICAgPHBhdGggZD1cIk0yIDNoNmE0IDQgMCAwIDEgNCA0djE0YTMgMyAwIDAgMC0zLTNIMnpcIj48L3BhdGg+PHBhdGggZD1cIk0yMiAzaC02YTQgNCAwIDAgMC00IDR2MTRhMyAzIDAgMCAxIDMtM2g3elwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQnJpZWZjYXNlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1icmllZmNhc2VcIj5cXG4gICAgPHJlY3QgeD1cIjJcIiB5PVwiN1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNFwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48cGF0aCBkPVwiTTE2IDIxVjVhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjE2XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBDYWxlbmRhciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2FsZW5kYXJcIj5cXG4gICAgPHJlY3QgeD1cIjNcIiB5PVwiNFwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48bGluZSB4MT1cIjE2XCIgeTE9XCIyXCIgeDI9XCIxNlwiIHkyPVwiNlwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjJcIiB4Mj1cIjhcIiB5Mj1cIjZcIj48L2xpbmU+PGxpbmUgeDE9XCIzXCIgeTE9XCIxMFwiIHgyPVwiMjFcIiB5Mj1cIjEwXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGVjayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2hlY2tcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIwIDYgOSAxNyA0IDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hlY2tDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNoZWNrLWNpcmNsZVwiPlxcbiAgICA8cGF0aCBkPVwiTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNFwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMjIgNCAxMiAxNC4wMSA5IDExLjAxXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hlY2tTcXVhcmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNoZWNrLXNxdWFyZVwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiOSAxMSAxMiAxNCAyMiA0XCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTIxIDEydjdhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDExXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uRG93biA9IGA8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBjbGFzcz1cXFwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb24tZG93blxcXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XFxcIjYgOSAxMiAxNSAxOCA5XFxcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uTGVmdCA9IGA8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBjbGFzcz1cXFwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb24tbGVmdFxcXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XFxcIjE1IDE4IDkgMTIgMTUgNlxcXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hldnJvblJpZ2h0ID0gYDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMjQgMjRcXFwiIGNsYXNzPVxcXCJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1yaWdodFxcXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XFxcIjkgMTggMTUgMTIgOSA2XFxcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uc1JpZ2h0ID0gYDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMjQgMjRcXFwiIGNsYXNzPVxcXCJmZWF0aGVyIGZlYXRoZXItY2hldnJvbnMtcmlnaHRcXFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVxcXCIxMyAxNyAxOCAxMiAxMyA3XFxcIj48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9XFxcIjYgMTcgMTEgMTIgNiA3XFxcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uc0xlZnQgPSBgPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgY2xhc3M9XFxcImZlYXRoZXIgZmVhdGhlci1jaGV2cm9ucy1sZWZ0XFxcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cXFwiMTEgMTcgNiAxMiAxMSA3XFxcIj48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9XFxcIjE4IDE3IDEzIDEyIDE4IDdcXFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZXZyb25VcCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi11cFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTggMTUgMTIgOSA2IDE1XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2xpcGJvYXJkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jbGlwYm9hcmRcIj5cXG4gICAgPHBhdGggZD1cIk0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMlwiPjwvcGF0aD48cmVjdCB4PVwiOFwiIHk9XCIyXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiNFwiIHJ4PVwiMVwiIHJ5PVwiMVwiPjwvcmVjdD5cXG48L3N2Zz5gO1xuY29uc3QgQ2xvY2sgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNsb2NrXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48cG9seWxpbmUgcG9pbnRzPVwiMTIgNiAxMiAxMiAxNiAxNFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENvZmZlZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY29mZmVlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTggOGgxYTQgNCAwIDAgMSAwIDhoLTFcIj48L3BhdGg+PHBhdGggZD1cIk0yIDhoMTZ2OWE0IDQgMCAwIDEtNCA0SDZhNCA0IDAgMCAxLTQtNFY4elwiPjwvcGF0aD48bGluZSB4MT1cIjZcIiB5MT1cIjFcIiB4Mj1cIjZcIiB5Mj1cIjRcIj48L2xpbmU+PGxpbmUgeDE9XCIxMFwiIHkxPVwiMVwiIHgyPVwiMTBcIiB5Mj1cIjRcIj48L2xpbmU+PGxpbmUgeDE9XCIxNFwiIHkxPVwiMVwiIHgyPVwiMTRcIiB5Mj1cIjRcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENvcHkgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNvcHlcIj5cXG4gICAgPHJlY3QgeD1cIjlcIiB5PVwiOVwiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48cGF0aCBkPVwiTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQ29ybmVyTGVmdFVwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jb3JuZXItbGVmdC11cFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTQgOSA5IDQgNCA5XCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTIwIDIwaC03YTQgNCAwIDAgMS00LTRWNFwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQ3JlZGl0Q2FyZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY3JlZGl0LWNhcmRcIj5cXG4gICAgPHJlY3QgeD1cIjFcIiB5PVwiNFwiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCIxNlwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48bGluZSB4MT1cIjFcIiB5MT1cIjEwXCIgeDI9XCIyM1wiIHkyPVwiMTBcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IERvbGxhclNpZ24gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWRvbGxhci1zaWduXCI+XFxuICAgIDxsaW5lIHgxPVwiMTJcIiB5MT1cIjFcIiB4Mj1cIjEyXCIgeTI9XCIyM1wiPjwvbGluZT48cGF0aCBkPVwiTTE3IDVIOS41YTMuNSAzLjUgMCAwIDAgMCA3aDVhMy41IDMuNSAwIDAgMSAwIDdINlwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgRG93bmxvYWQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNFwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiNyAxMCAxMiAxNSAxNyAxMFwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTVcIiB4Mj1cIjEyXCIgeTI9XCIzXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBEb3dubG9hZENsb3VkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1kb3dubG9hZC1jbG91ZFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiOCAxNyAxMiAyMSAxNiAxN1wiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTJcIiB4Mj1cIjEyXCIgeTI9XCIyMVwiPjwvbGluZT48cGF0aCBkPVwiTTIwLjg4IDE4LjA5QTUgNSAwIDAgMCAxOCA5aC0xLjI2QTggOCAwIDEgMCAzIDE2LjI5XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBFZGl0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1lZGl0XCI+XFxuICAgIDxwYXRoIGQ9XCJNMTEgNEg0YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03XCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTguNSAyLjVhMi4xMjEgMi4xMjEgMCAwIDEgMyAzTDEyIDE1bC00IDEgMS00IDkuNS05LjV6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBFZGl0MiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZWRpdC0yXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTcgM2EyLjgyOCAyLjgyOCAwIDEgMSA0IDRMNy41IDIwLjUgMiAyMmwxLjUtNS41TDE3IDN6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBFeHRlcm5hbExpbmsgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWV4dGVybmFsLWxpbmtcIj5cXG4gICAgPHBhdGggZD1cIk0xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCIxNSAzIDIxIDMgMjEgOVwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMFwiIHkxPVwiMTRcIiB4Mj1cIjIxXCIgeTI9XCIzXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBFeWUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWV5ZVwiPlxcbiAgICA8cGF0aCBkPVwiTTEgMTJzNC04IDExLTggMTEgOCAxMSA4LTQgOC0xMSA4LTExLTgtMTEtOHpcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIzXCI+PC9jaXJjbGU+XFxuPC9zdmc+YDtcbmNvbnN0IEV5ZU9mZiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZXllLW9mZlwiPlxcbiAgICA8cGF0aCBkPVwiTTE3Ljk0IDE3Ljk0QTEwLjA3IDEwLjA3IDAgMCAxIDEyIDIwYy03IDAtMTEtOC0xMS04YTE4LjQ1IDE4LjQ1IDAgMCAxIDUuMDYtNS45NE05LjkgNC4yNEE5LjEyIDkuMTIgMCAwIDEgMTIgNGM3IDAgMTEgOCAxMSA4YTE4LjUgMTguNSAwIDAgMS0yLjE2IDMuMTltLTYuNzItMS4wN2EzIDMgMCAxIDEtNC4yNC00LjI0XCI+PC9wYXRoPjxsaW5lIHgxPVwiMVwiIHkxPVwiMVwiIHgyPVwiMjNcIiB5Mj1cIjIzXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBGaWxlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1maWxlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTMgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjl6XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCIxMyAyIDEzIDkgMjAgOVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEZpbGVQbHVzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1maWxlLXBsdXNcIj5cXG4gICAgPHBhdGggZD1cIk0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE0IDIgMTQgOCAyMCA4XCI+PC9wb2x5bGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxOFwiIHgyPVwiMTJcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiOVwiIHkxPVwiMTVcIiB4Mj1cIjE1XCIgeTI9XCIxNVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRmlsZVRleHQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWZpbGUtdGV4dFwiPlxcbiAgICA8cGF0aCBkPVwiTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4elwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTQgMiAxNCA4IDIwIDhcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTZcIiB5MT1cIjEzXCIgeDI9XCI4XCIgeTI9XCIxM1wiPjwvbGluZT48bGluZSB4MT1cIjE2XCIgeTE9XCIxN1wiIHgyPVwiOFwiIHkyPVwiMTdcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjEwIDkgOSA5IDggOVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEZpbHRlciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZmlsdGVyXCI+XFxuICAgIDxwb2x5Z29uIHBvaW50cz1cIjIyIDMgMiAzIDEwIDEyLjQ2IDEwIDE5IDE0IDIxIDE0IDEyLjQ2IDIyIDNcIj48L3BvbHlnb24+XFxuPC9zdmc+YDtcbmNvbnN0IEZsYWcgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWZsYWdcIj5cXG4gICAgPHBhdGggZD1cIk00IDE1czEtMSA0LTEgNSAyIDggMiA0LTEgNC0xVjNzLTEgMS00IDEtNS0yLTgtMi00IDEtNCAxelwiPjwvcGF0aD48bGluZSB4MT1cIjRcIiB5MT1cIjIyXCIgeDI9XCI0XCIgeTI9XCIxNVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRm9sZGVyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1mb2xkZXJcIj5cXG4gICAgPHBhdGggZD1cIk0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgSGFzaCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItaGFzaFwiPlxcbiAgICA8bGluZSB4MT1cIjRcIiB5MT1cIjlcIiB4Mj1cIjIwXCIgeTI9XCI5XCI+PC9saW5lPjxsaW5lIHgxPVwiNFwiIHkxPVwiMTVcIiB4Mj1cIjIwXCIgeTI9XCIxNVwiPjwvbGluZT48bGluZSB4MT1cIjEwXCIgeTE9XCIzXCIgeDI9XCI4XCIgeTI9XCIyMVwiPjwvbGluZT48bGluZSB4MT1cIjE2XCIgeTE9XCIzXCIgeDI9XCIxNFwiIHkyPVwiMjFcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEhlbHBDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWhlbHAtY2lyY2xlXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48cGF0aCBkPVwiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzXCI+PC9wYXRoPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE3XCIgeDI9XCIxMi4wMVwiIHkyPVwiMTdcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEhvbWUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWhvbWVcIj5cXG4gICAgPHBhdGggZD1cIk0zIDlsOS03IDkgN3YxMWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjkgMjIgOSAxMiAxNSAxMiAxNSAyMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEluYm94ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1pbmJveFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjIgMTIgMTYgMTIgMTQgMTUgMTAgMTUgOCAxMiAyIDEyXCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTUuNDUgNS4xMUwyIDEydjZhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi02bC0zLjQ1LTYuODlBMiAyIDAgMCAwIDE2Ljc2IDRINy4yNGEyIDIgMCAwIDAtMS43OSAxLjExelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgSW5mbyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItaW5mb1wiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTZcIiB4Mj1cIjEyXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCI4XCIgeDI9XCIxMi4wMVwiIHkyPVwiOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgS2V5ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1rZXlcIj5cXG4gICAgPHBhdGggZD1cIk0yMSAybC0yIDJtLTcuNjEgNy42MWE1LjUgNS41IDAgMSAxLTcuNzc4IDcuNzc4IDUuNSA1LjUgMCAwIDEgNy43NzctNy43Nzd6bTAgMEwxNS41IDcuNW0wIDBsMyAzTDIyIDdsLTMtM20tMy41IDMuNUwxOSA0XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBMYXllcnMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWxheWVyc1wiPlxcbiAgICA8cG9seWdvbiBwb2ludHM9XCIxMiAyIDIgNyAxMiAxMiAyMiA3IDEyIDJcIj48L3BvbHlnb24+PHBvbHlsaW5lIHBvaW50cz1cIjIgMTcgMTIgMjIgMjIgMTdcIj48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9XCIyIDEyIDEyIDE3IDIyIDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTGluazIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWxpbmstMlwiPlxcbiAgICA8cGF0aCBkPVwiTTE1IDdoM2E1IDUgMCAwIDEgNSA1IDUgNSAwIDAgMS01IDVoLTNtLTYgMEg2YTUgNSAwIDAgMS01LTUgNSA1IDAgMCAxIDUtNWgzXCI+PC9wYXRoPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTJcIiB4Mj1cIjE2XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTGlzdCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbGlzdFwiPlxcbiAgICA8bGluZSB4MT1cIjhcIiB5MT1cIjZcIiB4Mj1cIjIxXCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTJcIiB4Mj1cIjIxXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjE4XCIgeDI9XCIyMVwiIHkyPVwiMThcIj48L2xpbmU+PGxpbmUgeDE9XCIzXCIgeTE9XCI2XCIgeDI9XCIzLjAxXCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMTJcIiB4Mj1cIjMuMDFcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMThcIiB4Mj1cIjMuMDFcIiB5Mj1cIjE4XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBMb2NrID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1sb2NrXCI+XFxuICAgIDxyZWN0IHg9XCIzXCIgeT1cIjExXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjExXCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxwYXRoIGQ9XCJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjRcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IE1haWwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1haWxcIj5cXG4gICAgPHBhdGggZD1cIk00IDRoMTZjMS4xIDAgMiAuOSAyIDJ2MTJjMCAxLjEtLjkgMi0yIDJINGMtMS4xIDAtMi0uOS0yLTJWNmMwLTEuMS45LTIgMi0yelwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMjIsNiAxMiwxMyAyLDZcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBNYXBQaW4gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1hcC1waW5cIj5cXG4gICAgPHBhdGggZD1cIk0yMSAxMGMwIDctOSAxMy05IDEzcy05LTYtOS0xM2E5IDkgMCAwIDEgMTggMHpcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMFwiIHI9XCIzXCI+PC9jaXJjbGU+XFxuPC9zdmc+YDtcbmNvbnN0IE1heGltaXplID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tYXhpbWl6ZVwiPlxcbiAgICA8cGF0aCBkPVwiTTggM0g1YTIgMiAwIDAgMC0yIDJ2M20xOCAwVjVhMiAyIDAgMCAwLTItMmgtM20wIDE4aDNhMiAyIDAgMCAwIDItMnYtM00zIDE2djNhMiAyIDAgMCAwIDIgMmgzXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBNYXhpbWl6ZTIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1heGltaXplLTJcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjE1IDMgMjEgMyAyMSA5XCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiOSAyMSAzIDIxIDMgMTVcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjNcIiB4Mj1cIjE0XCIgeTI9XCIxMFwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjIxXCIgeDI9XCIxMFwiIHkyPVwiMTRcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IE1lbnUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1lbnVcIj5cXG4gICAgPGxpbmUgeDE9XCIzXCIgeTE9XCIxMlwiIHgyPVwiMjFcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiNlwiIHgyPVwiMjFcIiB5Mj1cIjZcIj48L2xpbmU+PGxpbmUgeDE9XCIzXCIgeTE9XCIxOFwiIHgyPVwiMjFcIiB5Mj1cIjE4XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBNZXNzYWdlQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tZXNzYWdlLWNpcmNsZVwiPlxcbiAgICA8cGF0aCBkPVwiTTIxIDExLjVhOC4zOCA4LjM4IDAgMCAxLS45IDMuOCA4LjUgOC41IDAgMCAxLTcuNiA0LjcgOC4zOCA4LjM4IDAgMCAxLTMuOC0uOUwzIDIxbDEuOS01LjdhOC4zOCA4LjM4IDAgMCAxLS45LTMuOCA4LjUgOC41IDAgMCAxIDQuNy03LjYgOC4zOCA4LjM4IDAgMCAxIDMuOC0uOWguNWE4LjQ4IDguNDggMCAwIDEgOCA4di41elwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgTWluaW1pemUyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1taW5pbWl6ZS0yXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCI0IDE0IDEwIDE0IDEwIDIwXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMjAgMTAgMTQgMTAgMTQgNFwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxNFwiIHkxPVwiMTBcIiB4Mj1cIjIxXCIgeTI9XCIzXCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMjFcIiB4Mj1cIjEwXCIgeTI9XCIxNFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTWludXMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1pbnVzXCI+XFxuICAgIDxsaW5lIHgxPVwiNVwiIHkxPVwiMTJcIiB4Mj1cIjE5XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTWludXNDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1pbnVzLWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCI4XCIgeTE9XCIxMlwiIHgyPVwiMTZcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBNb3JlSG9yaXpvbnRhbCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbW9yZS1ob3Jpem9udGFsXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMVwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxOVwiIGN5PVwiMTJcIiByPVwiMVwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCI1XCIgY3k9XCIxMlwiIHI9XCIxXCI+PC9jaXJjbGU+XFxuPC9zdmc+YDtcbmNvbnN0IE1vcmVWZXJ0aWNhbCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbW9yZS12ZXJ0aWNhbFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjFcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjVcIiByPVwiMVwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTlcIiByPVwiMVwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBQYXBlcmNsaXAgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBhcGVyY2xpcFwiPlxcbiAgICA8cGF0aCBkPVwiTTIxLjQ0IDExLjA1bC05LjE5IDkuMTlhNiA2IDAgMCAxLTguNDktOC40OWw5LjE5LTkuMTlhNCA0IDAgMCAxIDUuNjYgNS42NmwtOS4yIDkuMTlhMiAyIDAgMCAxLTIuODMtMi44M2w4LjQ5LTguNDhcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFBlcmNlbnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBlcmNlbnRcIj5cXG4gICAgPGxpbmUgeDE9XCIxOVwiIHkxPVwiNVwiIHgyPVwiNVwiIHkyPVwiMTlcIj48L2xpbmU+PGNpcmNsZSBjeD1cIjYuNVwiIGN5PVwiNi41XCIgcj1cIjIuNVwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxNy41XCIgY3k9XCIxNy41XCIgcj1cIjIuNVwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBQaG9uZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcGhvbmVcIj5cXG4gICAgPHBhdGggZD1cIk0yMiAxNi45MnYzYTIgMiAwIDAgMS0yLjE4IDIgMTkuNzkgMTkuNzkgMCAwIDEtOC42My0zLjA3IDE5LjUgMTkuNSAwIDAgMS02LTYgMTkuNzkgMTkuNzkgMCAwIDEtMy4wNy04LjY3QTIgMiAwIDAgMSA0LjExIDJoM2EyIDIgMCAwIDEgMiAxLjcyIDEyLjg0IDEyLjg0IDAgMCAwIC43IDIuODEgMiAyIDAgMCAxLS40NSAyLjExTDguMDkgOS45MWExNiAxNiAwIDAgMCA2IDZsMS4yNy0xLjI3YTIgMiAwIDAgMSAyLjExLS40NSAxMi44NCAxMi44NCAwIDAgMCAyLjgxLjdBMiAyIDAgMCAxIDIyIDE2LjkyelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgUGllQ2hhcnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBpZS1jaGFydFwiPlxcbiAgICA8cGF0aCBkPVwiTTIxLjIxIDE1Ljg5QTEwIDEwIDAgMSAxIDggMi44M1wiPjwvcGF0aD48cGF0aCBkPVwiTTIyIDEyQTEwIDEwIDAgMCAwIDEyIDJ2MTB6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBQbGF5Q2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wbGF5LWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PHBvbHlnb24gcG9pbnRzPVwiMTAgOCAxNiAxMiAxMCAxNiAxMCA4XCI+PC9wb2x5Z29uPlxcbjwvc3ZnPmA7XG5jb25zdCBQbHVzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wbHVzXCI+XFxuICAgIDxsaW5lIHgxPVwiMTJcIiB5MT1cIjVcIiB4Mj1cIjEyXCIgeTI9XCIxOVwiPjwvbGluZT48bGluZSB4MT1cIjVcIiB5MT1cIjEyXCIgeDI9XCIxOVwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFBsdXNDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBsdXMtY2lyY2xlXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48bGluZSB4MT1cIjEyXCIgeTE9XCI4XCIgeDI9XCIxMlwiIHkyPVwiMTZcIj48L2xpbmU+PGxpbmUgeDE9XCI4XCIgeTE9XCIxMlwiIHgyPVwiMTZcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBQb3dlciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcG93ZXJcIj5cXG4gICAgPHBhdGggZD1cIk0xOC4zNiA2LjY0YTkgOSAwIDEgMS0xMi43MyAwXCI+PC9wYXRoPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjJcIiB4Mj1cIjEyXCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgUHJpbnRlciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcHJpbnRlclwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiNiA5IDYgMiAxOCAyIDE4IDlcIj48L3BvbHlsaW5lPjxwYXRoIGQ9XCJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMlwiPjwvcGF0aD48cmVjdCB4PVwiNlwiIHk9XCIxNFwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCI4XCI+PC9yZWN0Plxcbjwvc3ZnPmA7XG5jb25zdCBSZWZyZXNoQ3cgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXJlZnJlc2gtY3dcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIzIDQgMjMgMTAgMTcgMTBcIj48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9XCIxIDIwIDEgMTQgNyAxNFwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk0zLjUxIDlhOSA5IDAgMCAxIDE0Ljg1LTMuMzZMMjMgMTBNMSAxNGw0LjY0IDQuMzZBOSA5IDAgMCAwIDIwLjQ5IDE1XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBSb3RhdGVDdyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcm90YXRlLWN3XCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMyA0IDIzIDEwIDE3IDEwXCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTIwLjQ5IDE1YTkgOSAwIDEgMS0yLjEyLTkuMzZMMjMgMTBcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFNhdmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNhdmVcIj5cXG4gICAgPHBhdGggZD1cIk0xOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDExbDUgNXYxMWEyIDIgMCAwIDEtMiAyelwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTcgMjEgMTcgMTMgNyAxMyA3IDIxXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiNyAzIDcgOCAxNSA4XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgU2VhcmNoID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zZWFyY2hcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjExXCIgY3k9XCIxMVwiIHI9XCI4XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIyMVwiIHkxPVwiMjFcIiB4Mj1cIjE2LjY1XCIgeTI9XCIxNi42NVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgU2VuZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2VuZFwiPlxcbiAgICA8bGluZSB4MT1cIjIyXCIgeTE9XCIyXCIgeDI9XCIxMVwiIHkyPVwiMTNcIj48L2xpbmU+PHBvbHlnb24gcG9pbnRzPVwiMjIgMiAxNSAyMiAxMSAxMyAyIDkgMjIgMlwiPjwvcG9seWdvbj5cXG48L3N2Zz5gO1xuY29uc3QgU2V0dGluZ3MgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNldHRpbmdzXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiM1wiPjwvY2lyY2xlPjxwYXRoIGQ9XCJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgU2hhcmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNoYXJlXCI+XFxuICAgIDxwYXRoIGQ9XCJNNCAxMnY4YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtOFwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTYgNiAxMiAyIDggNlwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMlwiIHgyPVwiMTJcIiB5Mj1cIjE1XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBTaGllbGQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNoaWVsZFwiPlxcbiAgICA8cGF0aCBkPVwiTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEwelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgU2lkZWJhciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2lkZWJhclwiPlxcbiAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxsaW5lIHgxPVwiOVwiIHkxPVwiM1wiIHgyPVwiOVwiIHkyPVwiMjFcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFNsYXNoID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zbGFzaFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCI0LjkzXCIgeTE9XCI0LjkzXCIgeDI9XCIxOS4wN1wiIHkyPVwiMTkuMDdcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFNtaWxlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zbWlsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PHBhdGggZD1cIk04IDE0czEuNSAyIDQgMiA0LTIgNC0yXCI+PC9wYXRoPjxsaW5lIHgxPVwiOVwiIHkxPVwiOVwiIHgyPVwiOS4wMVwiIHkyPVwiOVwiPjwvbGluZT48bGluZSB4MT1cIjE1XCIgeTE9XCI5XCIgeDI9XCIxNS4wMVwiIHkyPVwiOVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgU3RhciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc3RhclwiPlxcbiAgICA8cG9seWdvbiBwb2ludHM9XCIxMiAyIDE1LjA5IDguMjYgMjIgOS4yNyAxNyAxNC4xNCAxOC4xOCAyMS4wMiAxMiAxNy43NyA1LjgyIDIxLjAyIDcgMTQuMTQgMiA5LjI3IDguOTEgOC4yNiAxMiAyXCI+PC9wb2x5Z29uPlxcbjwvc3ZnPmA7XG5jb25zdCBTdW4gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXN1blwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjVcIj48L2NpcmNsZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxXCIgeDI9XCIxMlwiIHkyPVwiM1wiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIyMVwiIHgyPVwiMTJcIiB5Mj1cIjIzXCI+PC9saW5lPjxsaW5lIHgxPVwiNC4yMlwiIHkxPVwiNC4yMlwiIHgyPVwiNS42NFwiIHkyPVwiNS42NFwiPjwvbGluZT48bGluZSB4MT1cIjE4LjM2XCIgeTE9XCIxOC4zNlwiIHgyPVwiMTkuNzhcIiB5Mj1cIjE5Ljc4XCI+PC9saW5lPjxsaW5lIHgxPVwiMVwiIHkxPVwiMTJcIiB4Mj1cIjNcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjEyXCIgeDI9XCIyM1wiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCI0LjIyXCIgeTE9XCIxOS43OFwiIHgyPVwiNS42NFwiIHkyPVwiMTguMzZcIj48L2xpbmU+PGxpbmUgeDE9XCIxOC4zNlwiIHkxPVwiNS42NFwiIHgyPVwiMTkuNzhcIiB5Mj1cIjQuMjJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFRhZyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdGFnXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjAuNTkgMTMuNDFsLTcuMTcgNy4xN2EyIDIgMCAwIDEtMi44MyAwTDIgMTJWMmgxMGw4LjU5IDguNTlhMiAyIDAgMCAxIDAgMi44MnpcIj48L3BhdGg+PGxpbmUgeDE9XCI3XCIgeTE9XCI3XCIgeDI9XCI3LjAxXCIgeTI9XCI3XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBUYXJnZXQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXRhcmdldFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCI2XCI+PC9jaXJjbGU+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIyXCI+PC9jaXJjbGU+XFxuPC9zdmc+YDtcbmNvbnN0IFRyYXNoMiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdHJhc2gtMlwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMyA2IDUgNiAyMSA2XCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNm0zIDBWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyXCI+PC9wYXRoPjxsaW5lIHgxPVwiMTBcIiB5MT1cIjExXCIgeDI9XCIxMFwiIHkyPVwiMTdcIj48L2xpbmU+PGxpbmUgeDE9XCIxNFwiIHkxPVwiMTFcIiB4Mj1cIjE0XCIgeTI9XCIxN1wiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVHJlbmRpbmdEb3duID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci10cmVuZGluZy1kb3duXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMyAxOCAxMy41IDguNSA4LjUgMTMuNSAxIDZcIj48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9XCIxNyAxOCAyMyAxOCAyMyAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFRyZW5kaW5nVXAgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXRyZW5kaW5nLXVwXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMyA2IDEzLjUgMTUuNSA4LjUgMTAuNSAxIDE4XCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTcgNiAyMyA2IDIzIDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVW5sb2NrID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci11bmxvY2tcIj5cXG4gICAgPHJlY3QgeD1cIjNcIiB5PVwiMTFcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMTFcIiByeD1cIjJcIiByeT1cIjJcIj48L3JlY3Q+PHBhdGggZD1cIk03IDExVjdhNSA1IDAgMCAxIDkuOS0xXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBVcGxvYWRDbG91ZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdXBsb2FkLWNsb3VkXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIxNiAxNiAxMiAxMiA4IDE2XCI+PC9wb2x5bGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxMlwiIHgyPVwiMTJcIiB5Mj1cIjIxXCI+PC9saW5lPjxwYXRoIGQ9XCJNMjAuMzkgMTguMzlBNSA1IDAgMCAwIDE4IDloLTEuMjZBOCA4IDAgMSAwIDMgMTYuM1wiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTYgMTYgMTIgMTIgOCAxNlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFVzZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVzZXJcIj5cXG4gICAgPHBhdGggZD1cIk0yMCAyMXYtMmE0IDQgMCAwIDAtNC00SDhhNCA0IDAgMCAwLTQgNHYyXCI+PC9wYXRoPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiN1wiIHI9XCI0XCI+PC9jaXJjbGU+XFxuPC9zdmc+YDtcbmNvbnN0IFVzZXJDaGVjayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdXNlci1jaGVja1wiPlxcbiAgICA8cGF0aCBkPVwiTTE2IDIxdi0yYTQgNCAwIDAgMC00LTRINWE0IDQgMCAwIDAtNCA0djJcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjguNVwiIGN5PVwiN1wiIHI9XCI0XCI+PC9jaXJjbGU+PHBvbHlsaW5lIHBvaW50cz1cIjE3IDExIDE5IDEzIDIzIDlcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBVc2VyUGx1cyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdXNlci1wbHVzXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg1YTQgNCAwIDAgMC00IDR2MlwiPjwvcGF0aD48Y2lyY2xlIGN4PVwiOC41XCIgY3k9XCI3XCIgcj1cIjRcIj48L2NpcmNsZT48bGluZSB4MT1cIjIwXCIgeTE9XCI4XCIgeDI9XCIyMFwiIHkyPVwiMTRcIj48L2xpbmU+PGxpbmUgeDE9XCIyM1wiIHkxPVwiMTFcIiB4Mj1cIjE3XCIgeTI9XCIxMVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVXNlcnMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVzZXJzXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTcgMjF2LTJhNCA0IDAgMCAwLTQtNEg1YTQgNCAwIDAgMC00IDR2MlwiPjwvcGF0aD48Y2lyY2xlIGN4PVwiOVwiIGN5PVwiN1wiIHI9XCI0XCI+PC9jaXJjbGU+PHBhdGggZD1cIk0yMyAyMXYtMmE0IDQgMCAwIDAtMy0zLjg3XCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTYgMy4xM2E0IDQgMCAwIDEgMCA3Ljc1XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBYID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci14XCI+XFxuICAgIDxsaW5lIHgxPVwiMThcIiB5MT1cIjZcIiB4Mj1cIjZcIiB5Mj1cIjE4XCI+PC9saW5lPjxsaW5lIHgxPVwiNlwiIHkxPVwiNlwiIHgyPVwiMThcIiB5Mj1cIjE4XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBYQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci14LWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxNVwiIHkxPVwiOVwiIHgyPVwiOVwiIHkyPVwiMTVcIj48L2xpbmU+PGxpbmUgeDE9XCI5XCIgeTE9XCI5XCIgeDI9XCIxNVwiIHkyPVwiMTVcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFhTcXVhcmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXgtc3F1YXJlXCI+XFxuICAgIDxyZWN0IHg9XCIzXCIgeT1cIjNcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiByeD1cIjJcIiByeT1cIjJcIj48L3JlY3Q+PGxpbmUgeDE9XCI5XCIgeTE9XCI5XCIgeDI9XCIxNVwiIHkyPVwiMTVcIj48L2xpbmU+PGxpbmUgeDE9XCIxNVwiIHkxPVwiOVwiIHgyPVwiOVwiIHkyPVwiMTVcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFpvb21JbiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItem9vbS1pblwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjhcIj48L2NpcmNsZT48bGluZSB4MT1cIjIxXCIgeTE9XCIyMVwiIHgyPVwiMTYuNjVcIiB5Mj1cIjE2LjY1XCI+PC9saW5lPjxsaW5lIHgxPVwiMTFcIiB5MT1cIjhcIiB4Mj1cIjExXCIgeTI9XCIxNFwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjExXCIgeDI9XCIxNFwiIHkyPVwiMTFcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFpvb21PdXQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXpvb20tb3V0XCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiOFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjIxXCIgeDI9XCIxNi42NVwiIHkyPVwiMTYuNjVcIj48L2xpbmU+PGxpbmUgeDE9XCI4XCIgeTE9XCIxMVwiIHgyPVwiMTRcIiB5Mj1cIjExXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBQaW5BY3RpdmUgPSBgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMiAxNUwxMiAyM1wiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTYgMUgxOEwxNSA0TDE2IDEyLjVMMjAgMTVINEw4IDEyLjVMOSA0TDYgMVpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPmA7XG5jb25zdCBQaW5JbmFjdGl2ZSA9IGA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEyIDE1TDEyIDIzXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNiAxSDE4TDE1IDRMMTYgMTIuNUwyMCAxNUg0TDggMTIuNUw5IDRMNiAxWlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz5gO1xuY29uc3QgRG9jdW1lbnRzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiID48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTguNzUgNmMtLjQ2NCAwLS45MS4xNjktMS4yMzcuNDY5QzcuMTg0IDYuNzY5IDcgNy4xNzYgNyA3LjZ2MTIuOGMwIC40MjQuMTg0LjgzMS41MTMgMS4xMzEuMzI4LjMuNzczLjQ2OSAxLjIzNy40NjloMTAuNWMuNDY0IDAgLjkxLS4xNjkgMS4yMzctLjQ2OS4zMjktLjMuNTEzLS43MDcuNTEzLTEuMTMxVjhhMiAyIDAgMCAwLTItMkg4Ljc1elwiIC8+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNyAxOEg0Ljc1Yy0uNDY0IDAtLjkxLS4xNjktMS4yMzctLjQ2OUExLjUzNCAxLjUzNCAwIDAgMSAzIDE2LjRWMy42YzAtLjQyNC4xODQtLjgzMS41MTMtMS4xMzFDMy44NCAyLjE2OSA0LjI4NiAyIDQuNzUgMkgxNWEyIDIgMCAwIDEgMiAydjJNMTcgMTRoLTZNMTcgMThoLTZNMTMgMTBoLTJcIi8+PC9zdmc+YDtcbmNvbnN0IEV4Y2hhbmdlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTQuNSA0bDQgNC00IDRNOSAyMGwtNC00IDQtNE0zIDhoMTVNNiAxNmgxNVwiLz48L3N2Zz5gO1xuY29uc3QgUmVvcmRlciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj4gPHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0wLDkgbDI0LDBcIi8+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0wLDE1IGwyNCwwXCIvPjwvc3ZnPmA7XG5jb25zdCBSZW9yZGVyMiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTggNWgzdjNIOHpNOCAxMWgzdjNIOHpNOCAxN2gzdjNIOHpNMTMgNWgzdjNoLTN6TTEzIDExaDN2M2gtM3pNMTMgMTdoM3YzaC0zelwiLz48L3N2Zz5gO1xuY29uc3QgUmVwbHkgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOSAxN2wtNS01IDUtNVwiLz48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTIwIDE3di0xYTQgNCAwIDAgMC00LTRINFwiLz48L3N2Zz5gO1xuY29uc3QgUmVwbHlBbGwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTEgMTdsLTUtNSA1LTVcIi8+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNyAxN2wtNS01IDUtNVwiLz48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTIyIDE3di0xYTQgNCAwIDAgMC00LTRINlwiLz48L3N2Zz5gO1xuY29uc3QgU3VwcG9ydENoYXQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgM1wiLz48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgZD1cIk0xMiAxNnYxXCIvPiA8cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE0LjU2MiAyMC42M2E5IDkgMCAxIDEgMy42NjYtMi4xMzMgNS4wMTQgNS4wMTQgMCAwIDAgMi4yNzIgMi44MzRBNC45NzcgNC45NzcgMCAwIDEgMTggMjJhNC45ODMgNC45ODMgMCAwIDEtMy40MzgtMS4zN3pcIi8+PC9zdmc+YDtcblxuZXhwb3J0IGNvbnN0IGljb25zID0ge1xuICBBY3Rpdml0eSxcbiAgQWxlcnRDaXJjbGUsXG4gIEFsZXJ0T2N0YWdvbixcbiAgQWxlcnRUcmlhbmdsZSxcbiAgQWxpZ25MZWZ0LFxuICBBbmNob3IsXG4gIEFyY2hpdmUsXG4gIEFycm93RG93bixcbiAgQXJyb3dEb3duTGVmdCxcbiAgQXJyb3dMZWZ0LFxuICBBcnJvd0xlZnRDaXJjbGUsXG4gIEFycm93UmlnaHQsXG4gIEFycm93VXAsXG4gIEFycm93VXBSaWdodCxcbiAgQXRTaWduLFxuICBCYXJDaGFydDIsXG4gIEJlbGwsXG4gIEJyaWVmY2FzZSxcbiAgQm9vayxcbiAgQm9va09wZW4sXG4gIENhbGVuZGFyLFxuICBDaGVjayxcbiAgQ2hlY2tDaXJjbGUsXG4gIENoZWNrU3F1YXJlLFxuICBDaGV2cm9uRG93bixcbiAgQ2hldnJvbkxlZnQsXG4gIENoZXZyb25SaWdodCxcbiAgQ2hldnJvbnNMZWZ0LFxuICBDaGV2cm9uc1JpZ2h0LFxuICBDaGV2cm9uVXAsXG4gIENsaXBib2FyZCxcbiAgQ2xvY2ssXG4gIENvZmZlZSxcbiAgQ29weSxcbiAgQ29ybmVyTGVmdFVwLFxuICBDcmVkaXRDYXJkLFxuICBEb2xsYXJTaWduLFxuICBEb2N1bWVudHMsXG4gIERvd25sb2FkLFxuICBEb3dubG9hZENsb3VkLFxuICBFZGl0LFxuICBFZGl0MixcbiAgRXhjaGFuZ2UsXG4gIEV4dGVybmFsTGluayxcbiAgRXllLFxuICBFeWVPZmYsXG4gIEZvbGRlcixcbiAgRmlsZSxcbiAgRmlsZVBsdXMsXG4gIEZpbGVUZXh0LFxuICBGaWx0ZXIsXG4gIEZsYWcsXG4gIEhhc2gsXG4gIEhlbHBDaXJjbGUsXG4gIEhvbWUsXG4gIEluYm94LFxuICBJbmZvLFxuICBLZXksXG4gIExheWVycyxcbiAgTGluazIsXG4gIExpc3QsXG4gIExvY2ssXG4gIE1haWwsXG4gIE1hcFBpbixcbiAgTWF4aW1pemUsXG4gIE1heGltaXplMixcbiAgTWVudSxcbiAgTWVzc2FnZUNpcmNsZSxcbiAgTWluaW1pemUyLFxuICBNaW51cyxcbiAgTWludXNDaXJjbGUsXG4gIE1vcmVIb3Jpem9udGFsLFxuICBNb3JlVmVydGljYWwsXG4gIFBhcGVyY2xpcCxcbiAgUGhvbmUsXG4gIFBlcmNlbnQsXG4gIFBpZUNoYXJ0LFxuICBQaW5BY3RpdmUsXG4gIFBpbkluYWN0aXZlLFxuICBQbGF5Q2lyY2xlLFxuICBQbHVzLFxuICBQbHVzQ2lyY2xlLFxuICBQb3dlcixcbiAgUHJpbnRlcixcbiAgUmVmcmVzaEN3LFxuICBSZW9yZGVyLFxuICBSZW9yZGVyMixcbiAgUmVwbHksXG4gIFJlcGx5QWxsLFxuICBSb3RhdGVDdyxcbiAgU2F2ZSxcbiAgU2VhcmNoLFxuICBTZW5kLFxuICBTZXR0aW5ncyxcbiAgU2hhcmUsXG4gIFNoaWVsZCxcbiAgU2lkZWJhcixcbiAgU2xhc2gsXG4gIFNtaWxlLFxuICBTdGFyLFxuICBTdW4sXG4gIFN1cHBvcnRDaGF0LFxuICBUYWcsXG4gIFRhcmdldCxcbiAgVHJhc2gyLFxuICBUcmVuZGluZ0Rvd24sXG4gIFRyZW5kaW5nVXAsXG4gIFVubG9jayxcbiAgVXBsb2FkQ2xvdWQsXG4gIFVzZXIsXG4gIFVzZXJDaGVjayxcbiAgVXNlclBsdXMsXG4gIFVzZXJzLFxuICBYLFxuICBYQ2lyY2xlLFxuICBYU3F1YXJlLFxuICBab29tSW4sXG4gIFpvb21PdXQsXG59O1xuXG5leHBvcnQgdHlwZSBJY29uTmFtZXMgPSBrZXlvZiB0eXBlb2YgaWNvbnM7XG5cbmV4cG9ydCBjb25zdCBJY29uU2l6ZXMgPSBbMTIsIDE2LCAyNF0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEljb25TaXplID0gKHR5cGVvZiBJY29uU2l6ZXMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBpY29uc01hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuZm9yIChjb25zdCBrZXkgaW4gaWNvbnMpIHtcbiAgaWNvbnNNYXBba2V5XSA9IGljb25zWzxrZXlvZiB0eXBlb2YgaWNvbnM+a2V5XTtcbn1cbiJdfQ==
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pY29uL2ljb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sUUFBUSxHQUFHLDJLQUEySyxDQUFDO0FBQzdMLE1BQU0sV0FBVyxHQUFHLHFQQUFxUCxDQUFDO0FBQzFRLE1BQU0sWUFBWSxHQUFHLGlUQUFpVCxDQUFDO0FBQ3ZVLE1BQU0sYUFBYSxHQUFHLHlUQUF5VCxDQUFDO0FBQ2hWLE1BQU0sU0FBUyxHQUFHLDZSQUE2UixDQUFDO0FBQ2hULE1BQU0sTUFBTSxHQUFHLDBPQUEwTyxDQUFDO0FBQzFQLE1BQU0sT0FBTyxHQUFHLDBQQUEwUCxDQUFDO0FBQzNRLE1BQU0sU0FBUyxHQUFHLDBNQUEwTSxDQUFDO0FBQzdOLE1BQU0sYUFBYSxHQUFHLDRNQUE0TSxDQUFDO0FBQ25PLE1BQU0sU0FBUyxHQUFHLHlNQUF5TSxDQUFDO0FBQzVOLE1BQU0sZUFBZSxHQUFHLHdQQUF3UCxDQUFDO0FBQ2pSLE1BQU0sVUFBVSxHQUFHLDJNQUEyTSxDQUFDO0FBQy9OLE1BQU0sT0FBTyxHQUFHLHVNQUF1TSxDQUFDO0FBQ3hOLE1BQU0sWUFBWSxHQUFHLDJNQUEyTSxDQUFDO0FBQ2pPLE1BQU0sTUFBTSxHQUFHLG1OQUFtTixDQUFDO0FBQ25PLE1BQU0sU0FBUyxHQUFHLG9QQUFvUCxDQUFDO0FBQ3ZRLE1BQU0sSUFBSSxHQUFHLGtOQUFrTixDQUFDO0FBQ2hPLE1BQU0sSUFBSSxHQUFHLDBPQUEwTyxDQUFDO0FBQ3hQLE1BQU0sUUFBUSxHQUFHLG9PQUFvTyxDQUFDO0FBQ3RQLE1BQU0sU0FBUyxHQUFHLHdPQUF3TyxDQUFDO0FBQzNQLE1BQU0sUUFBUSxHQUFHLDJTQUEyUyxDQUFDO0FBQzdULE1BQU0sS0FBSyxHQUFHLHVKQUF1SixDQUFDO0FBQ3RLLE1BQU0sV0FBVyxHQUFHLHlOQUF5TixDQUFDO0FBQzlPLE1B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LElBQUksS0FBSyxFQUFFO0lBQ3ZCLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQXFCLEdBQUcsQ0FBQyxDQUFDO0NBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQWN0aXZpdHkgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFjdGl2aXR5XCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMiAxMiAxOCAxMiAxNSAyMSA5IDMgNiAxMiAyIDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQWxlcnRDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFsZXJ0LWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiOFwiIHgyPVwiMTJcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE2XCIgeDI9XCIxMi4wMVwiIHkyPVwiMTZcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFsZXJ0T2N0YWdvbiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYWxlcnQtb2N0YWdvblwiPlxcbiAgICA8cG9seWdvbiBwb2ludHM9XCI3Ljg2IDIgMTYuMTQgMiAyMiA3Ljg2IDIyIDE2LjE0IDE2LjE0IDIyIDcuODYgMjIgMiAxNi4xNCAyIDcuODYgNy44NiAyXCI+PC9wb2x5Z29uPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjhcIiB4Mj1cIjEyXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxNlwiIHgyPVwiMTIuMDFcIiB5Mj1cIjE2XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBbGVydFRyaWFuZ2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hbGVydC10cmlhbmdsZVwiPlxcbiAgICA8cGF0aCBkPVwiTTEwLjI5IDMuODZMMS44MiAxOGEyIDIgMCAwIDAgMS43MSAzaDE2Ljk0YTIgMiAwIDAgMCAxLjcxLTNMMTMuNzEgMy44NmEyIDIgMCAwIDAtMy40MiAwelwiPjwvcGF0aD48bGluZSB4MT1cIjEyXCIgeTE9XCI5XCIgeDI9XCIxMlwiIHkyPVwiMTNcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTdcIiB4Mj1cIjEyLjAxXCIgeTI9XCIxN1wiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQWxpZ25MZWZ0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hbGlnbi1sZWZ0XCI+XFxuICAgIDxsaW5lIHgxPVwiMTdcIiB5MT1cIjEwXCIgeDI9XCIzXCIgeTI9XCIxMFwiPjwvbGluZT48bGluZSB4MT1cIjIxXCIgeTE9XCI2XCIgeDI9XCIzXCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjE0XCIgeDI9XCIzXCIgeTI9XCIxNFwiPjwvbGluZT48bGluZSB4MT1cIjE3XCIgeTE9XCIxOFwiIHgyPVwiM1wiIHkyPVwiMThcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFuY2hvciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYW5jaG9yXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiNVwiIHI9XCIzXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMjJcIiB4Mj1cIjEyXCIgeTI9XCI4XCI+PC9saW5lPjxwYXRoIGQ9XCJNNSAxMkgyYTEwIDEwIDAgMCAwIDIwIDBoLTNcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEFyY2hpdmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFyY2hpdmVcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIxIDggMjEgMjEgMyAyMSAzIDhcIj48L3BvbHlsaW5lPjxyZWN0IHg9XCIxXCIgeT1cIjNcIiB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiNVwiPjwvcmVjdD48bGluZSB4MT1cIjEwXCIgeTE9XCIxMlwiIHgyPVwiMTRcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd0Rvd24gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFycm93LWRvd25cIj5cXG4gICAgPGxpbmUgeDE9XCIxMlwiIHkxPVwiNVwiIHgyPVwiMTJcIiB5Mj1cIjE5XCI+PC9saW5lPjxwb2x5bGluZSBwb2ludHM9XCIxOSAxMiAxMiAxOSA1IDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dEb3duTGVmdCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctZG93bi1sZWZ0XCI+XFxuICAgIDxsaW5lIHgxPVwiMTdcIiB5MT1cIjdcIiB4Mj1cIjdcIiB5Mj1cIjE3XCI+PC9saW5lPjxwb2x5bGluZSBwb2ludHM9XCIxNyAxNyA3IDE3IDcgN1wiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93TGVmdCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctbGVmdFwiPlxcbiAgICA8bGluZSB4MT1cIjE5XCIgeTE9XCIxMlwiIHgyPVwiNVwiIHkyPVwiMTJcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjEyIDE5IDUgMTIgMTIgNVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93TGVmdENpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctbGVmdC1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxwb2x5bGluZSBwb2ludHM9XCIxMiA4IDggMTIgMTIgMTZcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTZcIiB5MT1cIjEyXCIgeDI9XCI4XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dSaWdodCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctcmlnaHRcIj5cXG4gICAgPGxpbmUgeDE9XCI1XCIgeTE9XCIxMlwiIHgyPVwiMTlcIiB5Mj1cIjEyXCI+PC9saW5lPjxwb2x5bGluZSBwb2ludHM9XCIxMiA1IDE5IDEyIDEyIDE5XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dVcCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctdXBcIj5cXG4gICAgPGxpbmUgeDE9XCIxMlwiIHkxPVwiMTlcIiB4Mj1cIjEyXCIgeTI9XCI1XCI+PC9saW5lPjxwb2x5bGluZSBwb2ludHM9XCI1IDEyIDEyIDUgMTkgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd1VwUmlnaHQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFycm93LXVwLXJpZ2h0XCI+XFxuICAgIDxsaW5lIHgxPVwiN1wiIHkxPVwiMTdcIiB4Mj1cIjE3XCIgeTI9XCI3XCI+PC9saW5lPjxwb2x5bGluZSBwb2ludHM9XCI3IDcgMTcgNyAxNyAxN1wiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEF0U2lnbiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXQtc2lnblwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjRcIj48L2NpcmNsZT48cGF0aCBkPVwiTTE2IDh2NWEzIDMgMCAwIDAgNiAwdi0xYTEwIDEwIDAgMSAwLTMuOTIgNy45NFwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQmFyQ2hhcnQyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1iYXItY2hhcnQtMlwiPlxcbiAgICA8bGluZSB4MT1cIjE4XCIgeTE9XCIyMFwiIHgyPVwiMThcIiB5Mj1cIjEwXCI+PC9saW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjIwXCIgeDI9XCIxMlwiIHkyPVwiNFwiPjwvbGluZT48bGluZSB4MT1cIjZcIiB5MT1cIjIwXCIgeDI9XCI2XCIgeTI9XCIxNFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQmVsbCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYmVsbFwiPlxcbiAgICA8cGF0aCBkPVwiTTE4IDhBNiA2IDAgMCAwIDYgOGMwIDctMyA5LTMgOWgxOHMtMy0yLTMtOVwiPjwvcGF0aD48cGF0aCBkPVwiTTEzLjczIDIxYTIgMiAwIDAgMS0zLjQ2IDBcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEJvb2sgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWJvb2tcIj5cXG4gICAgPHBhdGggZD1cIk00IDE5LjVBMi41IDIuNSAwIDAgMSA2LjUgMTdIMjBcIj48L3BhdGg+PHBhdGggZD1cIk02LjUgMkgyMHYyMEg2LjVBMi41IDIuNSAwIDAgMSA0IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJ6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBCb29rT3BlbiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYm9vay1vcGVuXCI+XFxuICAgIDxwYXRoIGQ9XCJNMiAzaDZhNCA0IDAgMCAxIDQgNHYxNGEzIDMgMCAwIDAtMy0zSDJ6XCI+PC9wYXRoPjxwYXRoIGQ9XCJNMjIgM2gtNmE0IDQgMCAwIDAtNCA0djE0YTMgMyAwIDAgMSAzLTNoN3pcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEJyaWVmY2FzZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYnJpZWZjYXNlXCI+XFxuICAgIDxyZWN0IHg9XCIyXCIgeT1cIjdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMTRcIiByeD1cIjJcIiByeT1cIjJcIj48L3JlY3Q+PHBhdGggZD1cIk0xNiAyMVY1YTIgMiAwIDAgMC0yLTJoLTRhMiAyIDAgMCAwLTIgMnYxNlwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQ2FsZW5kYXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNhbGVuZGFyXCI+XFxuICAgIDxyZWN0IHg9XCIzXCIgeT1cIjRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiByeD1cIjJcIiByeT1cIjJcIj48L3JlY3Q+PGxpbmUgeDE9XCIxNlwiIHkxPVwiMlwiIHgyPVwiMTZcIiB5Mj1cIjZcIj48L2xpbmU+PGxpbmUgeDE9XCI4XCIgeTE9XCIyXCIgeDI9XCI4XCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMTBcIiB4Mj1cIjIxXCIgeTI9XCIxMFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hlY2sgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNoZWNrXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMCA2IDkgMTcgNCAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZWNrQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jaGVjay1jaXJjbGVcIj5cXG4gICAgPHBhdGggZD1cIk0yMiAxMS4wOFYxMmExMCAxMCAwIDEgMS01LjkzLTkuMTRcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjIyIDQgMTIgMTQuMDEgOSAxMS4wMVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZWNrU3F1YXJlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jaGVjay1zcXVhcmVcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjkgMTEgMTIgMTQgMjIgNFwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk0yMSAxMnY3YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQ2hldnJvbkRvd24gPSBgPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgY2xhc3M9XFxcImZlYXRoZXIgZmVhdGhlci1jaGV2cm9uLWRvd25cXFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVxcXCI2IDkgMTIgMTUgMTggOVxcXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hldnJvbkxlZnQgPSBgPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgY2xhc3M9XFxcImZlYXRoZXIgZmVhdGhlci1jaGV2cm9uLWxlZnRcXFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVxcXCIxNSAxOCA5IDEyIDE1IDZcXFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZXZyb25SaWdodCA9IGA8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBjbGFzcz1cXFwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb24tcmlnaHRcXFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVxcXCI5IDE4IDE1IDEyIDkgNlxcXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hldnJvbnNSaWdodCA9IGA8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBjbGFzcz1cXFwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb25zLXJpZ2h0XFxcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cXFwiMTMgMTcgMTggMTIgMTMgN1xcXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVxcXCI2IDE3IDExIDEyIDYgN1xcXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hldnJvbnNMZWZ0ID0gYDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMjQgMjRcXFwiIGNsYXNzPVxcXCJmZWF0aGVyIGZlYXRoZXItY2hldnJvbnMtbGVmdFxcXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XFxcIjExIDE3IDYgMTIgMTEgN1xcXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVxcXCIxOCAxNyAxMyAxMiAxOCA3XFxcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uVXAgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb24tdXBcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjE4IDE1IDEyIDkgNiAxNVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENsaXBib2FyZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2xpcGJvYXJkXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDJcIj48L3BhdGg+PHJlY3QgeD1cIjhcIiB5PVwiMlwiIHdpZHRoPVwiOFwiIGhlaWdodD1cIjRcIiByeD1cIjFcIiByeT1cIjFcIj48L3JlY3Q+XFxuPC9zdmc+YDtcbmNvbnN0IENsb2NrID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jbG9ja1wiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PHBvbHlsaW5lIHBvaW50cz1cIjEyIDYgMTIgMTIgMTYgMTRcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDb2ZmZWUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNvZmZlZVwiPlxcbiAgICA8cGF0aCBkPVwiTTE4IDhoMWE0IDQgMCAwIDEgMCA4aC0xXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMiA4aDE2djlhNCA0IDAgMCAxLTQgNEg2YTQgNCAwIDAgMS00LTRWOHpcIj48L3BhdGg+PGxpbmUgeDE9XCI2XCIgeTE9XCIxXCIgeDI9XCI2XCIgeTI9XCI0XCI+PC9saW5lPjxsaW5lIHgxPVwiMTBcIiB5MT1cIjFcIiB4Mj1cIjEwXCIgeTI9XCI0XCI+PC9saW5lPjxsaW5lIHgxPVwiMTRcIiB5MT1cIjFcIiB4Mj1cIjE0XCIgeTI9XCI0XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDb3B5ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jb3B5XCI+XFxuICAgIDxyZWN0IHg9XCI5XCIgeT1cIjlcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIiByeD1cIjJcIiByeT1cIjJcIj48L3JlY3Q+PHBhdGggZD1cIk01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjFcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IENvcm5lckxlZnRVcCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY29ybmVyLWxlZnQtdXBcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjE0IDkgOSA0IDQgOVwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk0yMCAyMGgtN2E0IDQgMCAwIDEtNC00VjRcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IENyZWRpdENhcmQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNyZWRpdC1jYXJkXCI+XFxuICAgIDxyZWN0IHg9XCIxXCIgeT1cIjRcIiB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMTZcIiByeD1cIjJcIiByeT1cIjJcIj48L3JlY3Q+PGxpbmUgeDE9XCIxXCIgeTE9XCIxMFwiIHgyPVwiMjNcIiB5Mj1cIjEwXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBEb2xsYXJTaWduID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1kb2xsYXItc2lnblwiPlxcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCIxXCIgeDI9XCIxMlwiIHkyPVwiMjNcIj48L2xpbmU+PHBhdGggZD1cIk0xNyA1SDkuNWEzLjUgMy41IDAgMCAwIDAgN2g1YTMuNSAzLjUgMCAwIDEgMCA3SDZcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IERvd25sb2FkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1kb3dubG9hZFwiPlxcbiAgICA8cGF0aCBkPVwiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTRcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjcgMTAgMTIgMTUgMTcgMTBcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE1XCIgeDI9XCIxMlwiIHkyPVwiM1wiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRG93bmxvYWRDbG91ZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZG93bmxvYWQtY2xvdWRcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjggMTcgMTIgMjEgMTYgMTdcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjEyXCIgeDI9XCIxMlwiIHkyPVwiMjFcIj48L2xpbmU+PHBhdGggZD1cIk0yMC44OCAxOC4wOUE1IDUgMCAwIDAgMTggOWgtMS4yNkE4IDggMCAxIDAgMyAxNi4yOVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgRWRpdCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZWRpdFwiPlxcbiAgICA8cGF0aCBkPVwiTTExIDRINGEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnYtN1wiPjwvcGF0aD48cGF0aCBkPVwiTTE4LjUgMi41YTIuMTIxIDIuMTIxIDAgMCAxIDMgM0wxMiAxNWwtNCAxIDEtNCA5LjUtOS41elwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgRWRpdDIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWVkaXQtMlwiPlxcbiAgICA8cGF0aCBkPVwiTTE3IDNhMi44MjggMi44MjggMCAxIDEgNCA0TDcuNSAyMC41IDIgMjJsMS41LTUuNUwxNyAzelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgRXh0ZXJuYWxMaW5rID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1leHRlcm5hbC1saW5rXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNlwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTUgMyAyMSAzIDIxIDlcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTBcIiB5MT1cIjE0XCIgeDI9XCIyMVwiIHkyPVwiM1wiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRXllID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1leWVcIj5cXG4gICAgPHBhdGggZD1cIk0xIDEyczQtOCAxMS04IDExIDggMTEgOC00IDgtMTEgOC0xMS04LTExLTh6XCI+PC9wYXRoPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiM1wiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBFeWVPZmYgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWV5ZS1vZmZcIj5cXG4gICAgPHBhdGggZD1cIk0xNy45NCAxNy45NEExMC4wNyAxMC4wNyAwIDAgMSAxMiAyMGMtNyAwLTExLTgtMTEtOGExOC40NSAxOC40NSAwIDAgMSA1LjA2LTUuOTRNOS45IDQuMjRBOS4xMiA5LjEyIDAgMCAxIDEyIDRjNyAwIDExIDggMTEgOGExOC41IDE4LjUgMCAwIDEtMi4xNiAzLjE5bS02LjcyLTEuMDdhMyAzIDAgMSAxLTQuMjQtNC4yNFwiPjwvcGF0aD48bGluZSB4MT1cIjFcIiB5MT1cIjFcIiB4Mj1cIjIzXCIgeTI9XCIyM1wiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRmlsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZmlsZVwiPlxcbiAgICA8cGF0aCBkPVwiTTEzIDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY5elwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTMgMiAxMyA5IDIwIDlcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBGaWxlUGx1cyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZmlsZS1wbHVzXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCIxNCAyIDE0IDggMjAgOFwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMThcIiB4Mj1cIjEyXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjlcIiB5MT1cIjE1XCIgeDI9XCIxNVwiIHkyPVwiMTVcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEZpbGVUZXh0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1maWxlLXRleHRcIj5cXG4gICAgPHBhdGggZD1cIk0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE0IDIgMTQgOCAyMCA4XCI+PC9wb2x5bGluZT48bGluZSB4MT1cIjE2XCIgeTE9XCIxM1wiIHgyPVwiOFwiIHkyPVwiMTNcIj48L2xpbmU+PGxpbmUgeDE9XCIxNlwiIHkxPVwiMTdcIiB4Mj1cIjhcIiB5Mj1cIjE3XCI+PC9saW5lPjxwb2x5bGluZSBwb2ludHM9XCIxMCA5IDkgOSA4IDlcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBGaWx0ZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWZpbHRlclwiPlxcbiAgICA8cG9seWdvbiBwb2ludHM9XCIyMiAzIDIgMyAxMCAxMi40NiAxMCAxOSAxNCAyMSAxNCAxMi40NiAyMiAzXCI+PC9wb2x5Z29uPlxcbjwvc3ZnPmA7XG5jb25zdCBGbGFnID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1mbGFnXCI+XFxuICAgIDxwYXRoIGQ9XCJNNCAxNXMxLTEgNC0xIDUgMiA4IDIgNC0xIDQtMVYzcy0xIDEtNCAxLTUtMi04LTItNCAxLTQgMXpcIj48L3BhdGg+PGxpbmUgeDE9XCI0XCIgeTE9XCIyMlwiIHgyPVwiNFwiIHkyPVwiMTVcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEZvbGRlciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZm9sZGVyXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEhhc2ggPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWhhc2hcIj5cXG4gICAgPGxpbmUgeDE9XCI0XCIgeTE9XCI5XCIgeDI9XCIyMFwiIHkyPVwiOVwiPjwvbGluZT48bGluZSB4MT1cIjRcIiB5MT1cIjE1XCIgeDI9XCIyMFwiIHkyPVwiMTVcIj48L2xpbmU+PGxpbmUgeDE9XCIxMFwiIHkxPVwiM1wiIHgyPVwiOFwiIHkyPVwiMjFcIj48L2xpbmU+PGxpbmUgeDE9XCIxNlwiIHkxPVwiM1wiIHgyPVwiMTRcIiB5Mj1cIjIxXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBIZWxwQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1oZWxwLWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PHBhdGggZD1cIk05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgM1wiPjwvcGF0aD48bGluZSB4MT1cIjEyXCIgeTE9XCIxN1wiIHgyPVwiMTIuMDFcIiB5Mj1cIjE3XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBIb21lID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1ob21lXCI+XFxuICAgIDxwYXRoIGQ9XCJNMyA5bDktNyA5IDd2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCI5IDIyIDkgMTIgMTUgMTIgMTUgMjJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBJbmJveCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItaW5ib3hcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIyIDEyIDE2IDEyIDE0IDE1IDEwIDE1IDggMTIgMiAxMlwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk01LjQ1IDUuMTFMMiAxMnY2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNmwtMy40NS02Ljg5QTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEluZm8gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWluZm9cIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE2XCIgeDI9XCIxMlwiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiOFwiIHgyPVwiMTIuMDFcIiB5Mj1cIjhcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEtleSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXIta2V5XCI+XFxuICAgIDxwYXRoIGQ9XCJNMjEgMmwtMiAybS03LjYxIDcuNjFhNS41IDUuNSAwIDEgMS03Ljc3OCA3Ljc3OCA1LjUgNS41IDAgMCAxIDcuNzc3LTcuNzc3em0wIDBMMTUuNSA3LjVtMCAwbDMgM0wyMiA3bC0zLTNtLTMuNSAzLjVMMTkgNFwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgTGF5ZXJzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1sYXllcnNcIj5cXG4gICAgPHBvbHlnb24gcG9pbnRzPVwiMTIgMiAyIDcgMTIgMTIgMjIgNyAxMiAyXCI+PC9wb2x5Z29uPjxwb2x5bGluZSBwb2ludHM9XCIyIDE3IDEyIDIyIDIyIDE3XCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMiAxMiAxMiAxNyAyMiAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IExpbmsyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1saW5rLTJcIj5cXG4gICAgPHBhdGggZD1cIk0xNSA3aDNhNSA1IDAgMCAxIDUgNSA1IDUgMCAwIDEtNSA1aC0zbS02IDBINmE1IDUgMCAwIDEtNS01IDUgNSAwIDAgMSA1LTVoM1wiPjwvcGF0aD48bGluZSB4MT1cIjhcIiB5MT1cIjEyXCIgeDI9XCIxNlwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IExpc3QgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWxpc3RcIj5cXG4gICAgPGxpbmUgeDE9XCI4XCIgeTE9XCI2XCIgeDI9XCIyMVwiIHkyPVwiNlwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjEyXCIgeDI9XCIyMVwiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCI4XCIgeTE9XCIxOFwiIHgyPVwiMjFcIiB5Mj1cIjE4XCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiNlwiIHgyPVwiMy4wMVwiIHkyPVwiNlwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjEyXCIgeDI9XCIzLjAxXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjE4XCIgeDI9XCIzLjAxXCIgeTI9XCIxOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTG9jayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbG9ja1wiPlxcbiAgICA8cmVjdCB4PVwiM1wiIHk9XCIxMVwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxMVwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48cGF0aCBkPVwiTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBNYWlsID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tYWlsXCI+XFxuICAgIDxwYXRoIGQ9XCJNNCA0aDE2YzEuMSAwIDIgLjkgMiAydjEyYzAgMS4xLS45IDItMiAySDRjLTEuMSAwLTItLjktMi0yVjZjMC0xLjEuOS0yIDItMnpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjIyLDYgMTIsMTMgMiw2XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTWFwUGluID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tYXAtcGluXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjEgMTBjMCA3LTkgMTMtOSAxM3MtOS02LTktMTNhOSA5IDAgMCAxIDE4IDB6XCI+PC9wYXRoPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTBcIiByPVwiM1wiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBNYXhpbWl6ZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbWF4aW1pemVcIj5cXG4gICAgPHBhdGggZD1cIk04IDNINWEyIDIgMCAwIDAtMiAydjNtMTggMFY1YTIgMiAwIDAgMC0yLTJoLTNtMCAxOGgzYTIgMiAwIDAgMCAyLTJ2LTNNMyAxNnYzYTIgMiAwIDAgMCAyIDJoM1wiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgTWF4aW1pemUyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tYXhpbWl6ZS0yXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIxNSAzIDIxIDMgMjEgOVwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjkgMjEgMyAyMSAzIDE1XCI+PC9wb2x5bGluZT48bGluZSB4MT1cIjIxXCIgeTE9XCIzXCIgeDI9XCIxNFwiIHkyPVwiMTBcIj48L2xpbmU+PGxpbmUgeDE9XCIzXCIgeTE9XCIyMVwiIHgyPVwiMTBcIiB5Mj1cIjE0XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBNZW51ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tZW51XCI+XFxuICAgIDxsaW5lIHgxPVwiM1wiIHkxPVwiMTJcIiB4Mj1cIjIxXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjZcIiB4Mj1cIjIxXCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMThcIiB4Mj1cIjIxXCIgeTI9XCIxOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTWVzc2FnZUNpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbWVzc2FnZS1jaXJjbGVcIj5cXG4gICAgPHBhdGggZD1cIk0yMSAxMS41YTguMzggOC4zOCAwIDAgMS0uOSAzLjggOC41IDguNSAwIDAgMS03LjYgNC43IDguMzggOC4zOCAwIDAgMS0zLjgtLjlMMyAyMWwxLjktNS43YTguMzggOC4zOCAwIDAgMS0uOS0zLjggOC41IDguNSAwIDAgMSA0LjctNy42IDguMzggOC4zOCAwIDAgMSAzLjgtLjloLjVhOC40OCA4LjQ4IDAgMCAxIDggOHYuNXpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IE1pbmltaXplMiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbWluaW1pemUtMlwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiNCAxNCAxMCAxNCAxMCAyMFwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjIwIDEwIDE0IDEwIDE0IDRcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTRcIiB5MT1cIjEwXCIgeDI9XCIyMVwiIHkyPVwiM1wiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjIxXCIgeDI9XCIxMFwiIHkyPVwiMTRcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IE1pbnVzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1taW51c1wiPlxcbiAgICA8bGluZSB4MT1cIjVcIiB5MT1cIjEyXCIgeDI9XCIxOVwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IE1pbnVzQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1taW51cy1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTJcIiB4Mj1cIjE2XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTW9yZUhvcml6b250YWwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1vcmUtaG9yaXpvbnRhbFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjFcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTlcIiBjeT1cIjEyXCIgcj1cIjFcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiNVwiIGN5PVwiMTJcIiByPVwiMVwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBNb3JlVmVydGljYWwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1vcmUtdmVydGljYWxcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxXCI+PC9jaXJjbGU+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCI1XCIgcj1cIjFcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjE5XCIgcj1cIjFcIj48L2NpcmNsZT5cXG48L3N2Zz5gO1xuY29uc3QgUGFwZXJjbGlwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wYXBlcmNsaXBcIj5cXG4gICAgPHBhdGggZD1cIk0yMS40NCAxMS4wNWwtOS4xOSA5LjE5YTYgNiAwIDAgMS04LjQ5LTguNDlsOS4xOS05LjE5YTQgNCAwIDAgMSA1LjY2IDUuNjZsLTkuMiA5LjE5YTIgMiAwIDAgMS0yLjgzLTIuODNsOC40OS04LjQ4XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBQZXJjZW50ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wZXJjZW50XCI+XFxuICAgIDxsaW5lIHgxPVwiMTlcIiB5MT1cIjVcIiB4Mj1cIjVcIiB5Mj1cIjE5XCI+PC9saW5lPjxjaXJjbGUgY3g9XCI2LjVcIiBjeT1cIjYuNVwiIHI9XCIyLjVcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTcuNVwiIGN5PVwiMTcuNVwiIHI9XCIyLjVcIj48L2NpcmNsZT5cXG48L3N2Zz5gO1xuY29uc3QgUGhvbmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBob25lXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjIgMTYuOTJ2M2EyIDIgMCAwIDEtMi4xOCAyIDE5Ljc5IDE5Ljc5IDAgMCAxLTguNjMtMy4wNyAxOS41IDE5LjUgMCAwIDEtNi02IDE5Ljc5IDE5Ljc5IDAgMCAxLTMuMDctOC42N0EyIDIgMCAwIDEgNC4xMSAyaDNhMiAyIDAgMCAxIDIgMS43MiAxMi44NCAxMi44NCAwIDAgMCAuNyAyLjgxIDIgMiAwIDAgMS0uNDUgMi4xMUw4LjA5IDkuOTFhMTYgMTYgMCAwIDAgNiA2bDEuMjctMS4yN2EyIDIgMCAwIDEgMi4xMS0uNDUgMTIuODQgMTIuODQgMCAwIDAgMi44MS43QTIgMiAwIDAgMSAyMiAxNi45MnpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFBpZUNoYXJ0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1waWUtY2hhcnRcIj5cXG4gICAgPHBhdGggZD1cIk0yMS4yMSAxNS44OUExMCAxMCAwIDEgMSA4IDIuODNcIj48L3BhdGg+PHBhdGggZD1cIk0yMiAxMkExMCAxMCAwIDAgMCAxMiAydjEwelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgUGxheUNpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcGxheS1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxwb2x5Z29uIHBvaW50cz1cIjEwIDggMTYgMTIgMTAgMTYgMTAgOFwiPjwvcG9seWdvbj5cXG48L3N2Zz5gO1xuY29uc3QgUGx1cyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcGx1c1wiPlxcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCI1XCIgeDI9XCIxMlwiIHkyPVwiMTlcIj48L2xpbmU+PGxpbmUgeDE9XCI1XCIgeTE9XCIxMlwiIHgyPVwiMTlcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBQbHVzQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wbHVzLWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiOFwiIHgyPVwiMTJcIiB5Mj1cIjE2XCI+PC9saW5lPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTJcIiB4Mj1cIjE2XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgUG93ZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBvd2VyXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTguMzYgNi42NGE5IDkgMCAxIDEtMTIuNzMgMFwiPjwvcGF0aD48bGluZSB4MT1cIjEyXCIgeTE9XCIyXCIgeDI9XCIxMlwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFByaW50ZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXByaW50ZXJcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjYgOSA2IDIgMTggMiAxOCA5XCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTYgMThINGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1YTIgMiAwIDAgMS0yIDJoLTJcIj48L3BhdGg+PHJlY3QgeD1cIjZcIiB5PVwiMTRcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiOFwiPjwvcmVjdD5cXG48L3N2Zz5gO1xuY29uc3QgUmVmcmVzaEN3ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1yZWZyZXNoLWN3XCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMyA0IDIzIDEwIDE3IDEwXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMSAyMCAxIDE0IDcgMTRcIj48L3BvbHlsaW5lPjxwYXRoIGQ9XCJNMy41MSA5YTkgOSAwIDAgMSAxNC44NS0zLjM2TDIzIDEwTTEgMTRsNC42NCA0LjM2QTkgOSAwIDAgMCAyMC40OSAxNVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgUm90YXRlQ3cgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXJvdGF0ZS1jd1wiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjMgNCAyMyAxMCAxNyAxMFwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk0yMC40OSAxNWE5IDkgMCAxIDEtMi4xMi05LjM2TDIzIDEwXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBTYXZlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zYXZlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMWw1IDV2MTFhMiAyIDAgMCAxLTIgMnpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE3IDIxIDE3IDEzIDcgMTMgNyAyMVwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjcgMyA3IDggMTUgOFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFNlYXJjaCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2VhcmNoXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiOFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjIxXCIgeDI9XCIxNi42NVwiIHkyPVwiMTYuNjVcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFNlbmQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNlbmRcIj5cXG4gICAgPGxpbmUgeDE9XCIyMlwiIHkxPVwiMlwiIHgyPVwiMTFcIiB5Mj1cIjEzXCI+PC9saW5lPjxwb2x5Z29uIHBvaW50cz1cIjIyIDIgMTUgMjIgMTEgMTMgMiA5IDIyIDJcIj48L3BvbHlnb24+XFxuPC9zdmc+YDtcbmNvbnN0IFNldHRpbmdzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zZXR0aW5nc1wiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjNcIj48L2NpcmNsZT48cGF0aCBkPVwiTTE5LjQgMTVhMS42NSAxLjY1IDAgMCAwIC4zMyAxLjgybC4wNi4wNmEyIDIgMCAwIDEgMCAyLjgzIDIgMiAwIDAgMS0yLjgzIDBsLS4wNi0uMDZhMS42NSAxLjY1IDAgMCAwLTEuODItLjMzIDEuNjUgMS42NSAwIDAgMC0xIDEuNTFWMjFhMiAyIDAgMCAxLTIgMiAyIDIgMCAwIDEtMi0ydi0uMDlBMS42NSAxLjY1IDAgMCAwIDkgMTkuNGExLjY1IDEuNjUgMCAwIDAtMS44Mi4zM2wtLjA2LjA2YTIgMiAwIDAgMS0yLjgzIDAgMiAyIDAgMCAxIDAtMi44M2wuMDYtLjA2YTEuNjUgMS42NSAwIDAgMCAuMzMtMS44MiAxLjY1IDEuNjUgMCAwIDAtMS41MS0xSDNhMiAyIDAgMCAxLTItMiAyIDIgMCAwIDEgMi0yaC4wOUExLjY1IDEuNjUgMCAwIDAgNC42IDlhMS42NSAxLjY1IDAgMCAwLS4zMy0xLjgybC0uMDYtLjA2YTIgMiAwIDAgMSAwLTIuODMgMiAyIDAgMCAxIDIuODMgMGwuMDYuMDZhMS42NSAxLjY1IDAgMCAwIDEuODIuMzNIOWExLjY1IDEuNjUgMCAwIDAgMS0xLjUxVjNhMiAyIDAgMCAxIDItMiAyIDIgMCAwIDEgMiAydi4wOWExLjY1IDEuNjUgMCAwIDAgMSAxLjUxIDEuNjUgMS42NSAwIDAgMCAxLjgyLS4zM2wuMDYtLjA2YTIgMiAwIDAgMSAyLjgzIDAgMiAyIDAgMCAxIDAgMi44M2wtLjA2LjA2YTEuNjUgMS42NSAwIDAgMC0uMzMgMS44MlY5YTEuNjUgMS42NSAwIDAgMCAxLjUxIDFIMjFhMiAyIDAgMCAxIDIgMiAyIDIgMCAwIDEtMiAyaC0uMDlhMS42NSAxLjY1IDAgMCAwLTEuNTEgMXpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFNoYXJlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zaGFyZVwiPlxcbiAgICA8cGF0aCBkPVwiTTQgMTJ2OGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LThcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE2IDYgMTIgMiA4IDZcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjJcIiB4Mj1cIjEyXCIgeTI9XCIxNVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgU2hpZWxkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zaGllbGRcIj5cXG4gICAgPHBhdGggZD1cIk0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFNpZGViYXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNpZGViYXJcIj5cXG4gICAgPHJlY3QgeD1cIjNcIiB5PVwiM1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48bGluZSB4MT1cIjlcIiB5MT1cIjNcIiB4Mj1cIjlcIiB5Mj1cIjIxXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBTbGFzaCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2xhc2hcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiNC45M1wiIHkxPVwiNC45M1wiIHgyPVwiMTkuMDdcIiB5Mj1cIjE5LjA3XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBTbWlsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc21pbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxwYXRoIGQ9XCJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMlwiPjwvcGF0aD48bGluZSB4MT1cIjlcIiB5MT1cIjlcIiB4Mj1cIjkuMDFcIiB5Mj1cIjlcIj48L2xpbmU+PGxpbmUgeDE9XCIxNVwiIHkxPVwiOVwiIHgyPVwiMTUuMDFcIiB5Mj1cIjlcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFN0YXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXN0YXJcIj5cXG4gICAgPHBvbHlnb24gcG9pbnRzPVwiMTIgMiAxNS4wOSA4LjI2IDIyIDkuMjcgMTcgMTQuMTQgMTguMTggMjEuMDIgMTIgMTcuNzcgNS44MiAyMS4wMiA3IDE0LjE0IDIgOS4yNyA4LjkxIDguMjYgMTIgMlwiPjwvcG9seWdvbj5cXG48L3N2Zz5gO1xuY29uc3QgU3VuID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zdW5cIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCI1XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMVwiIHgyPVwiMTJcIiB5Mj1cIjNcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMjFcIiB4Mj1cIjEyXCIgeTI9XCIyM1wiPjwvbGluZT48bGluZSB4MT1cIjQuMjJcIiB5MT1cIjQuMjJcIiB4Mj1cIjUuNjRcIiB5Mj1cIjUuNjRcIj48L2xpbmU+PGxpbmUgeDE9XCIxOC4zNlwiIHkxPVwiMTguMzZcIiB4Mj1cIjE5Ljc4XCIgeTI9XCIxOS43OFwiPjwvbGluZT48bGluZSB4MT1cIjFcIiB5MT1cIjEyXCIgeDI9XCIzXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjIxXCIgeTE9XCIxMlwiIHgyPVwiMjNcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiNC4yMlwiIHkxPVwiMTkuNzhcIiB4Mj1cIjUuNjRcIiB5Mj1cIjE4LjM2XCI+PC9saW5lPjxsaW5lIHgxPVwiMTguMzZcIiB5MT1cIjUuNjRcIiB4Mj1cIjE5Ljc4XCIgeTI9XCI0LjIyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBUYWcgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXRhZ1wiPlxcbiAgICA8cGF0aCBkPVwiTTIwLjU5IDEzLjQxbC03LjE3IDcuMTdhMiAyIDAgMCAxLTIuODMgMEwyIDEyVjJoMTBsOC41OSA4LjU5YTIgMiAwIDAgMSAwIDIuODJ6XCI+PC9wYXRoPjxsaW5lIHgxPVwiN1wiIHkxPVwiN1wiIHgyPVwiNy4wMVwiIHkyPVwiN1wiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVGFyZ2V0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci10YXJnZXRcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiNlwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMlwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBUcmFzaDIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXRyYXNoLTJcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjMgNiA1IDYgMjEgNlwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk0xOSA2djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjZtMyAwVjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MlwiPjwvcGF0aD48bGluZSB4MT1cIjEwXCIgeTE9XCIxMVwiIHgyPVwiMTBcIiB5Mj1cIjE3XCI+PC9saW5lPjxsaW5lIHgxPVwiMTRcIiB5MT1cIjExXCIgeDI9XCIxNFwiIHkyPVwiMTdcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFRyZW5kaW5nRG93biA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdHJlbmRpbmctZG93blwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjMgMTggMTMuNSA4LjUgOC41IDEzLjUgMSA2XCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTcgMTggMjMgMTggMjMgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBUcmVuZGluZ1VwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci10cmVuZGluZy11cFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjMgNiAxMy41IDE1LjUgOC41IDEwLjUgMSAxOFwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjE3IDYgMjMgNiAyMyAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFVubG9jayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdW5sb2NrXCI+XFxuICAgIDxyZWN0IHg9XCIzXCIgeT1cIjExXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjExXCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxwYXRoIGQ9XCJNNyAxMVY3YTUgNSAwIDAgMSA5LjktMVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgVXBsb2FkQ2xvdWQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVwbG9hZC1jbG91ZFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTYgMTYgMTIgMTIgOCAxNlwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTJcIiB4Mj1cIjEyXCIgeTI9XCIyMVwiPjwvbGluZT48cGF0aCBkPVwiTTIwLjM5IDE4LjM5QTUgNSAwIDAgMCAxOCA5aC0xLjI2QTggOCAwIDEgMCAzIDE2LjNcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE2IDE2IDEyIDEyIDggMTZcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBVc2VyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci11c2VyXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjAgMjF2LTJhNCA0IDAgMCAwLTQtNEg4YTQgNCAwIDAgMC00IDR2MlwiPjwvcGF0aD48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjdcIiByPVwiNFwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBVc2VyQ2hlY2sgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVzZXItY2hlY2tcIj5cXG4gICAgPHBhdGggZD1cIk0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDVhNCA0IDAgMCAwLTQgNHYyXCI+PC9wYXRoPjxjaXJjbGUgY3g9XCI4LjVcIiBjeT1cIjdcIiByPVwiNFwiPjwvY2lyY2xlPjxwb2x5bGluZSBwb2ludHM9XCIxNyAxMSAxOSAxMyAyMyA5XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVXNlclBsdXMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVzZXItcGx1c1wiPlxcbiAgICA8cGF0aCBkPVwiTTE2IDIxdi0yYTQgNCAwIDAgMC00LTRINWE0IDQgMCAwIDAtNCA0djJcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjguNVwiIGN5PVwiN1wiIHI9XCI0XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIyMFwiIHkxPVwiOFwiIHgyPVwiMjBcIiB5Mj1cIjE0XCI+PC9saW5lPjxsaW5lIHgxPVwiMjNcIiB5MT1cIjExXCIgeDI9XCIxN1wiIHkyPVwiMTFcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFVzZXJzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci11c2Vyc1wiPlxcbiAgICA8cGF0aCBkPVwiTTE3IDIxdi0yYTQgNCAwIDAgMC00LTRINWE0IDQgMCAwIDAtNCA0djJcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjlcIiBjeT1cIjdcIiByPVwiNFwiPjwvY2lyY2xlPjxwYXRoIGQ9XCJNMjMgMjF2LTJhNCA0IDAgMCAwLTMtMy44N1wiPjwvcGF0aD48cGF0aCBkPVwiTTE2IDMuMTNhNCA0IDAgMCAxIDAgNy43NVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgWCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXIteFwiPlxcbiAgICA8bGluZSB4MT1cIjE4XCIgeTE9XCI2XCIgeDI9XCI2XCIgeTI9XCIxOFwiPjwvbGluZT48bGluZSB4MT1cIjZcIiB5MT1cIjZcIiB4Mj1cIjE4XCIgeTI9XCIxOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgWENpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXIteC1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMTVcIiB5MT1cIjlcIiB4Mj1cIjlcIiB5Mj1cIjE1XCI+PC9saW5lPjxsaW5lIHgxPVwiOVwiIHkxPVwiOVwiIHgyPVwiMTVcIiB5Mj1cIjE1XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBYU3F1YXJlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci14LXNxdWFyZVwiPlxcbiAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxsaW5lIHgxPVwiOVwiIHkxPVwiOVwiIHgyPVwiMTVcIiB5Mj1cIjE1XCI+PC9saW5lPjxsaW5lIHgxPVwiMTVcIiB5MT1cIjlcIiB4Mj1cIjlcIiB5Mj1cIjE1XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBab29tSW4gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXpvb20taW5cIj5cXG4gICAgPGNpcmNsZSBjeD1cIjExXCIgY3k9XCIxMVwiIHI9XCI4XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIyMVwiIHkxPVwiMjFcIiB4Mj1cIjE2LjY1XCIgeTI9XCIxNi42NVwiPjwvbGluZT48bGluZSB4MT1cIjExXCIgeTE9XCI4XCIgeDI9XCIxMVwiIHkyPVwiMTRcIj48L2xpbmU+PGxpbmUgeDE9XCI4XCIgeTE9XCIxMVwiIHgyPVwiMTRcIiB5Mj1cIjExXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBab29tT3V0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci16b29tLW91dFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjhcIj48L2NpcmNsZT48bGluZSB4MT1cIjIxXCIgeTE9XCIyMVwiIHgyPVwiMTYuNjVcIiB5Mj1cIjE2LjY1XCI+PC9saW5lPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTFcIiB4Mj1cIjE0XCIgeTI9XCIxMVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgUGluQWN0aXZlID0gYDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMTIgMTVMMTIgMjNcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk02IDFIMThMMTUgNEwxNiAxMi41TDIwIDE1SDRMOCAxMi41TDkgNEw2IDFaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz5gO1xuY29uc3QgUGluSW5hY3RpdmUgPSBgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMiAxNUwxMiAyM1wiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTYgMUgxOEwxNSA0TDE2IDEyLjVMMjAgMTVINEw4IDEyLjVMOSA0TDYgMVpcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+YDtcbmNvbnN0IERvY3VtZW50cyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiA+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk04Ljc1IDZjLS40NjQgMC0uOTEuMTY5LTEuMjM3LjQ2OUM3LjE4NCA2Ljc2OSA3IDcuMTc2IDcgNy42djEyLjhjMCAuNDI0LjE4NC44MzEuNTEzIDEuMTMxLjMyOC4zLjc3My40NjkgMS4yMzcuNDY5aDEwLjVjLjQ2NCAwIC45MS0uMTY5IDEuMjM3LS40NjkuMzI5LS4zLjUxMy0uNzA3LjUxMy0xLjEzMVY4YTIgMiAwIDAgMC0yLTJIOC43NXpcIiAvPiA8cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTcgMThINC43NWMtLjQ2NCAwLS45MS0uMTY5LTEuMjM3LS40NjlBMS41MzQgMS41MzQgMCAwIDEgMyAxNi40VjMuNmMwLS40MjQuMTg0LS44MzEuNTEzLTEuMTMxQzMuODQgMi4xNjkgNC4yODYgMiA0Ljc1IDJIMTVhMiAyIDAgMCAxIDIgMnYyTTE3IDE0aC02TTE3IDE4aC02TTEzIDEwaC0yXCIvPjwvc3ZnPmA7XG5jb25zdCBFeGNoYW5nZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE0LjUgNGw0IDQtNCA0TTkgMjBsLTQtNCA0LTRNMyA4aDE1TTYgMTZoMTVcIi8+PC9zdmc+YDtcbmNvbnN0IFJlb3JkZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMCw5IGwyNCwwXCIvPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMCwxNSBsMjQsMFwiLz48L3N2Zz5gO1xuY29uc3QgUmVvcmRlcjIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIm5vbmVcIj48cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk04IDVoM3YzSDh6TTggMTFoM3YzSDh6TTggMTdoM3YzSDh6TTEzIDVoM3YzaC0zek0xMyAxMWgzdjNoLTN6TTEzIDE3aDN2M2gtM3pcIi8+PC9zdmc+YDtcbmNvbnN0IFJlcGx5ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPiA8cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTkgMTdsLTUtNSA1LTVcIi8+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0yMCAxN3YtMWE0IDQgMCAwIDAtNC00SDRcIi8+PC9zdmc+YDtcbmNvbnN0IFJlcGx5QWxsID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPiA8cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTExIDE3bC01LTUgNS01XCIvPiA8cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTcgMTdsLTUtNSA1LTVcIi8+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0yMiAxN3YtMWE0IDQgMCAwIDAtNC00SDZcIi8+PC9zdmc+YDtcbmNvbnN0IFN1cHBvcnRDaGF0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDNcIi8+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJNMTIgMTZ2MVwiLz4gPHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNC41NjIgMjAuNjNhOSA5IDAgMSAxIDMuNjY2LTIuMTMzIDUuMDE0IDUuMDE0IDAgMCAwIDIuMjcyIDIuODM0QTQuOTc3IDQuOTc3IDAgMCAxIDE4IDIyYTQuOTgzIDQuOTgzIDAgMCAxLTMuNDM4LTEuMzd6XCIvPjwvc3ZnPmA7XG5cbmV4cG9ydCBjb25zdCBpY29ucyA9IHtcbiAgQWN0aXZpdHksXG4gIEFsZXJ0Q2lyY2xlLFxuICBBbGVydE9jdGFnb24sXG4gIEFsZXJ0VHJpYW5nbGUsXG4gIEFsaWduTGVmdCxcbiAgQW5jaG9yLFxuICBBcmNoaXZlLFxuICBBcnJvd0Rvd24sXG4gIEFycm93RG93bkxlZnQsXG4gIEFycm93TGVmdCxcbiAgQXJyb3dMZWZ0Q2lyY2xlLFxuICBBcnJvd1JpZ2h0LFxuICBBcnJvd1VwLFxuICBBcnJvd1VwUmlnaHQsXG4gIEF0U2lnbixcbiAgQmFyQ2hhcnQyLFxuICBCZWxsLFxuICBCcmllZmNhc2UsXG4gIEJvb2ssXG4gIEJvb2tPcGVuLFxuICBDYWxlbmRhcixcbiAgQ2hlY2ssXG4gIENoZWNrQ2lyY2xlLFxuICBDaGVja1NxdWFyZSxcbiAgQ2hldnJvbkRvd24sXG4gIENoZXZyb25MZWZ0LFxuICBDaGV2cm9uUmlnaHQsXG4gIENoZXZyb25zTGVmdCxcbiAgQ2hldnJvbnNSaWdodCxcbiAgQ2hldnJvblVwLFxuICBDbGlwYm9hcmQsXG4gIENsb2NrLFxuICBDb2ZmZWUsXG4gIENvcHksXG4gIENvcm5lckxlZnRVcCxcbiAgQ3JlZGl0Q2FyZCxcbiAgRG9sbGFyU2lnbixcbiAgRG9jdW1lbnRzLFxuICBEb3dubG9hZCxcbiAgRG93bmxvYWRDbG91ZCxcbiAgRWRpdCxcbiAgRWRpdDIsXG4gIEV4Y2hhbmdlLFxuICBFeHRlcm5hbExpbmssXG4gIEV5ZSxcbiAgRXllT2ZmLFxuICBGb2xkZXIsXG4gIEZpbGUsXG4gIEZpbGVQbHVzLFxuICBGaWxlVGV4dCxcbiAgRmlsdGVyLFxuICBGbGFnLFxuICBIYXNoLFxuICBIZWxwQ2lyY2xlLFxuICBIb21lLFxuICBJbmJveCxcbiAgSW5mbyxcbiAgS2V5LFxuICBMYXllcnMsXG4gIExpbmsyLFxuICBMaXN0LFxuICBMb2NrLFxuICBNYWlsLFxuICBNYXBQaW4sXG4gIE1heGltaXplLFxuICBNYXhpbWl6ZTIsXG4gIE1lbnUsXG4gIE1lc3NhZ2VDaXJjbGUsXG4gIE1pbmltaXplMixcbiAgTWludXMsXG4gIE1pbnVzQ2lyY2xlLFxuICBNb3JlSG9yaXpvbnRhbCxcbiAgTW9yZVZlcnRpY2FsLFxuICBQYXBlcmNsaXAsXG4gIFBob25lLFxuICBQZXJjZW50LFxuICBQaWVDaGFydCxcbiAgUGluQWN0aXZlLFxuICBQaW5JbmFjdGl2ZSxcbiAgUGxheUNpcmNsZSxcbiAgUGx1cyxcbiAgUGx1c0NpcmNsZSxcbiAgUG93ZXIsXG4gIFByaW50ZXIsXG4gIFJlZnJlc2hDdyxcbiAgUmVvcmRlcixcbiAgUmVvcmRlcjIsXG4gIFJlcGx5LFxuICBSZXBseUFsbCxcbiAgUm90YXRlQ3csXG4gIFNhdmUsXG4gIFNlYXJjaCxcbiAgU2VuZCxcbiAgU2V0dGluZ3MsXG4gIFNoYXJlLFxuICBTaGllbGQsXG4gIFNpZGViYXIsXG4gIFNsYXNoLFxuICBTbWlsZSxcbiAgU3RhcixcbiAgU3VuLFxuICBTdXBwb3J0Q2hhdCxcbiAgVGFnLFxuICBUYXJnZXQsXG4gIFRyYXNoMixcbiAgVHJlbmRpbmdEb3duLFxuICBUcmVuZGluZ1VwLFxuICBVbmxvY2ssXG4gIFVwbG9hZENsb3VkLFxuICBVc2VyLFxuICBVc2VyQ2hlY2ssXG4gIFVzZXJQbHVzLFxuICBVc2VycyxcbiAgWCxcbiAgWENpcmNsZSxcbiAgWFNxdWFyZSxcbiAgWm9vbUluLFxuICBab29tT3V0LFxufTtcblxuZXhwb3J0IHR5cGUgSWNvbk5hbWVzID0ga2V5b2YgdHlwZW9mIGljb25zO1xuXG5leHBvcnQgY29uc3QgSWNvblNpemVzID0gWzgsIDEyLCAxNiwgMjRdIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9ICh0eXBlb2YgSWNvblNpemVzKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgaWNvbnNNYXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbmZvciAoY29uc3Qga2V5IGluIGljb25zKSB7XG4gIGljb25zTWFwW2tleV0gPSBpY29uc1s8a2V5b2YgdHlwZW9mIGljb25zPmtleV07XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./callout.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class CalloutOutletComponent {
|
|
6
|
+
constructor(calloutService) {
|
|
7
|
+
this.calloutService = calloutService;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
CalloutOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalloutOutletComponent, deps: [{ token: i1.CalloutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
CalloutOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CalloutOutletComponent, selector: "riv-callout-outlet", ngImport: i0, template: "<ng-container *ngFor=\"let callout of calloutService.calloutStack$ | async\">\n <ng-container *ngTemplateOutlet=\"callout\"></ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CalloutOutletComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'riv-callout-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let callout of calloutService.calloutStack$ | async\">\n <ng-container *ngTemplateOutlet=\"callout\"></ng-container>\n</ng-container>\n" }]
|
|
15
|
+
}], ctorParameters: function () { return [{ type: i1.CalloutService }]; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbG91dC1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvbW9kYWwvY2FsbG91dC9jYWxsb3V0LW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9tb2RhbC9jYWxsb3V0L2NhbGxvdXQtb3V0bGV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRbkUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFxQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDOzttSEFENUMsc0JBQXNCO3VHQUF0QixzQkFBc0IsMERDUm5DLGlLQUdBOzJGREthLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGxvdXRTZXJ2aWNlIH0gZnJvbSAnLi9jYWxsb3V0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtY2FsbG91dC1vdXRsZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsbG91dC1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsbG91dE91dGxldENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNhbGxvdXRTZXJ2aWNlOiBDYWxsb3V0U2VydmljZSkge31cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhbGxvdXQgb2YgY2FsbG91dFNlcnZpY2UuY2FsbG91dFN0YWNrJCB8IGFzeW5jXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYWxsb3V0XCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export const AnchoredPositions = [
|
|
2
|
+
'top-left',
|
|
3
|
+
'top-center',
|
|
4
|
+
'top-right',
|
|
5
|
+
'center-right',
|
|
6
|
+
'bottom-right',
|
|
7
|
+
'bottom-center',
|
|
8
|
+
'bottom-left',
|
|
9
|
+
'center-left',
|
|
10
|
+
];
|
|
11
|
+
export function getOrigin(anchor, client, viewportSize, preferredPosition, allowedPositions = null, fallbackDirection, additionalOffset) {
|
|
12
|
+
let position = preferredPosition;
|
|
13
|
+
const allowed = !allowedPositions || allowedPositions.length === 0
|
|
14
|
+
? AnchoredPositions
|
|
15
|
+
: allowedPositions;
|
|
16
|
+
let index = allowed.indexOf(position);
|
|
17
|
+
let leastClippedIndex = index;
|
|
18
|
+
let origin = originAtPosition(anchor, client, position, additionalOffset);
|
|
19
|
+
let currentClippedX;
|
|
20
|
+
let currentClippedY;
|
|
21
|
+
let leastClipped = Infinity;
|
|
22
|
+
let foundUnclipped = false;
|
|
23
|
+
// Iterate through allowed positions. The first one we find that doesn't clip out of view, we use.
|
|
24
|
+
// If all of the positions clip, use the one which clipped the least.
|
|
25
|
+
for (let checkCount = 0; checkCount <= allowed.length && !foundUnclipped; checkCount++,
|
|
26
|
+
index =
|
|
27
|
+
fallbackDirection === 'clockwise'
|
|
28
|
+
? (index + 1) % allowed.length
|
|
29
|
+
: (index - 1 + allowed.length) % allowed.length) {
|
|
30
|
+
position = allowed[index];
|
|
31
|
+
origin = originAtPosition(anchor, client, position, additionalOffset);
|
|
32
|
+
currentClippedX =
|
|
33
|
+
-1 *
|
|
34
|
+
Math.min(origin.x, viewportSize.width - (origin.x + client.width), 0);
|
|
35
|
+
currentClippedY =
|
|
36
|
+
-1 *
|
|
37
|
+
Math.min(origin.y, viewportSize.height - (origin.y + client.height), 0);
|
|
38
|
+
if (currentClippedX > 0 || currentClippedY > 0) {
|
|
39
|
+
if (leastClipped > currentClippedX + currentClippedY) {
|
|
40
|
+
leastClipped = currentClippedX + currentClippedY;
|
|
41
|
+
leastClippedIndex = index;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
foundUnclipped = true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (!foundUnclipped) {
|
|
49
|
+
position = allowed[leastClippedIndex];
|
|
50
|
+
origin = originAtPosition(anchor, client, position, additionalOffset);
|
|
51
|
+
origin.y = origin.y < 0 ? 4 : origin.y;
|
|
52
|
+
}
|
|
53
|
+
return { ...origin, position };
|
|
54
|
+
}
|
|
55
|
+
export function originAtPosition(anchor, client, position, offset) {
|
|
56
|
+
switch (position) {
|
|
57
|
+
case 'top-left':
|
|
58
|
+
return {
|
|
59
|
+
x: anchor.x + anchor.width - client.width,
|
|
60
|
+
y: anchor.y - client.height - offset,
|
|
61
|
+
};
|
|
62
|
+
case 'top-center':
|
|
63
|
+
return {
|
|
64
|
+
x: anchor.x + anchor.width / 2 - client.width / 2,
|
|
65
|
+
y: anchor.y - client.height - offset,
|
|
66
|
+
};
|
|
67
|
+
case 'top-right':
|
|
68
|
+
return {
|
|
69
|
+
x: anchor.x,
|
|
70
|
+
y: anchor.y - client.height - offset,
|
|
71
|
+
};
|
|
72
|
+
case 'center-right':
|
|
73
|
+
return {
|
|
74
|
+
x: anchor.x + anchor.width + offset,
|
|
75
|
+
y: anchor.y + anchor.height / 2 - client.height / 2,
|
|
76
|
+
};
|
|
77
|
+
case 'bottom-right':
|
|
78
|
+
return {
|
|
79
|
+
x: anchor.x,
|
|
80
|
+
y: anchor.y + anchor.height + offset,
|
|
81
|
+
};
|
|
82
|
+
case 'bottom-center':
|
|
83
|
+
return {
|
|
84
|
+
x: anchor.x + anchor.width / 2 - client.width / 2,
|
|
85
|
+
y: anchor.y + anchor.height + offset,
|
|
86
|
+
};
|
|
87
|
+
case 'bottom-left':
|
|
88
|
+
return {
|
|
89
|
+
x: anchor.x + anchor.width - client.width,
|
|
90
|
+
y: anchor.y + anchor.height + offset,
|
|
91
|
+
};
|
|
92
|
+
case 'center-left':
|
|
93
|
+
return {
|
|
94
|
+
x: anchor.x - client.width - offset,
|
|
95
|
+
y: anchor.y + anchor.height / 2 - client.height / 2,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbG91dC1wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL21vZGFsL2NhbGxvdXQvY2FsbG91dC1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFdBQVc7SUFDWCxjQUFjO0lBQ2QsY0FBYztJQUNkLGVBQWU7SUFDZixhQUFhO0lBQ2IsYUFBYTtDQUNMLENBQUM7QUFvQlgsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsTUFBVyxFQUNYLE1BQWtCLEVBQ2xCLFlBQXdCLEVBQ3hCLGlCQUFtQyxFQUNuQyxtQkFBOEMsSUFBSSxFQUNsRCxpQkFBNEIsRUFDNUIsZ0JBQXdCO0lBRXhCLElBQUksUUFBUSxHQUFHLGlCQUFpQixDQUFDO0lBQ2pDLE1BQU0sT0FBTyxHQUNYLENBQUMsZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDaEQsQ0FBQyxDQUFDLGlCQUFpQjtRQUNuQixDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDdkIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUM5QixJQUFJLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFFLElBQUksZUFBZSxDQUFDO0lBQ3BCLElBQUksZUFBZSxDQUFDO0lBQ3BCLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQztJQUM1QixJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDM0Isa0dBQWtHO0lBQ2xHLHFFQUFxRTtJQUNyRSxLQUNFLElBQUksVUFBVSxHQUFHLENBQUMsRUFDbEIsVUFBVSxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQy9DLFVBQVUsRUFBRTtRQUNWLEtBQUs7WUFDSCxpQkFBaUIsS0FBSyxXQUFXO2dCQUMvQixDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU07Z0JBQzlCLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQ3JEO1FBQ0EsUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixNQUFNLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RSxlQUFlO1lBQ2IsQ0FBQyxDQUFDO2dCQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsZUFBZTtZQUNiLENBQUMsQ0FBQztnQkFDRixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksZUFBZSxHQUFHLENBQUMsSUFBSSxlQUFlLEdBQUcsQ0FBQyxFQUFFO1lBQzlDLElBQUksWUFBWSxHQUFHLGVBQWUsR0FBRyxlQUFlLEVBQUU7Z0JBQ3BELFlBQVksR0FBRyxlQUFlLEdBQUcsZUFBZSxDQUFDO2dCQUNqRCxpQkFBaUIsR0FBRyxLQUFLLENBQUM7YUFDM0I7U0FDRjthQUFNO1lBQ0wsY0FBYyxHQUFHLElBQUksQ0FBQztTQUN2QjtLQUNGO0lBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNuQixRQUFRLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0tBQ3hDO0lBQ0QsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE1BQVcsRUFDWCxNQUFrQixFQUNsQixRQUEwQixFQUMxQixNQUFjO0lBRWQsUUFBUSxRQUFRLEVBQUU7UUFDaEIsS0FBSyxVQUFVO1lBQ2IsT0FBTztnQkFDTCxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLO2dCQUN6QyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU07YUFDckMsQ0FBQztRQUNKLEtBQUssWUFBWTtZQUNmLE9BQU87Z0JBQ0wsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDO2dCQUNqRCxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU07YUFDckMsQ0FBQztRQUNKLEtBQUssV0FBVztZQUNkLE9BQU87Z0JBQ0wsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNYLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTTthQUNyQyxDQUFDO1FBQ0osS0FBSyxjQUFjO1lBQ2pCLE9BQU87Z0JBQ0wsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNO2dCQUNuQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7YUFDcEQsQ0FBQztRQUNKLEtBQUssY0FBYztZQUNqQixPQUFPO2dCQUNMLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDWCxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU07YUFDckMsQ0FBQztRQUNKLEtBQUssZUFBZTtZQUNsQixPQUFPO2dCQUNMLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQztnQkFDakQsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNO2FBQ3JDLENBQUM7UUFDSixLQUFLLGFBQWE7WUFDaEIsT0FBTztnQkFDTCxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLO2dCQUN6QyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU07YUFDckMsQ0FBQztRQUNKLEtBQUssYUFBYTtZQUNoQixPQUFPO2dCQUNMLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTTtnQkFDbkMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO2FBQ3BELENBQUM7S0FDTDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQW5jaG9yZWRQb3NpdGlvbnMgPSBbXG4gICd0b3AtbGVmdCcsXG4gICd0b3AtY2VudGVyJyxcbiAgJ3RvcC1yaWdodCcsXG4gICdjZW50ZXItcmlnaHQnLFxuICAnYm90dG9tLXJpZ2h0JyxcbiAgJ2JvdHRvbS1jZW50ZXInLFxuICAnYm90dG9tLWxlZnQnLFxuICAnY2VudGVyLWxlZnQnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQW5jaG9yZWRQb3NpdGlvbiA9ICh0eXBlb2YgQW5jaG9yZWRQb3NpdGlvbnMpW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIERpcmVjdGlvbiA9ICdjbG9ja3dpc2UnIHwgJ2NvdW50ZXItY2xvY2t3aXNlJztcblxudHlwZSBEaW1lbnNpb25zID0ge1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn07XG5cbnR5cGUgUG9pbnQgPSB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQm94ID0gUG9pbnQgJiBEaW1lbnNpb25zO1xuXG5leHBvcnQgdHlwZSBBbmNob3IgPSBQb2ludCAmIHsgcG9zaXRpb246IEFuY2hvcmVkUG9zaXRpb24gfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9yaWdpbihcbiAgYW5jaG9yOiBCb3gsXG4gIGNsaWVudDogRGltZW5zaW9ucyxcbiAgdmlld3BvcnRTaXplOiBEaW1lbnNpb25zLFxuICBwcmVmZXJyZWRQb3NpdGlvbjogQW5jaG9yZWRQb3NpdGlvbixcbiAgYWxsb3dlZFBvc2l0aW9uczogQW5jaG9yZWRQb3NpdGlvbltdIHwgbnVsbCA9IG51bGwsXG4gIGZhbGxiYWNrRGlyZWN0aW9uOiBEaXJlY3Rpb24sXG4gIGFkZGl0aW9uYWxPZmZzZXQ6IG51bWJlcixcbik6IEFuY2hvciB7XG4gIGxldCBwb3NpdGlvbiA9IHByZWZlcnJlZFBvc2l0aW9uO1xuICBjb25zdCBhbGxvd2VkID1cbiAgICAhYWxsb3dlZFBvc2l0aW9ucyB8fCBhbGxvd2VkUG9zaXRpb25zLmxlbmd0aCA9PT0gMFxuICAgICAgPyBBbmNob3JlZFBvc2l0aW9uc1xuICAgICAgOiBhbGxvd2VkUG9zaXRpb25zO1xuICBsZXQgaW5kZXggPSBhbGxvd2VkLmluZGV4T2YocG9zaXRpb24pO1xuICBsZXQgbGVhc3RDbGlwcGVkSW5kZXggPSBpbmRleDtcbiAgbGV0IG9yaWdpbiA9IG9yaWdpbkF0UG9zaXRpb24oYW5jaG9yLCBjbGllbnQsIHBvc2l0aW9uLCBhZGRpdGlvbmFsT2Zmc2V0KTtcbiAgbGV0IGN1cnJlbnRDbGlwcGVkWDtcbiAgbGV0IGN1cnJlbnRDbGlwcGVkWTtcbiAgbGV0IGxlYXN0Q2xpcHBlZCA9IEluZmluaXR5O1xuICBsZXQgZm91bmRVbmNsaXBwZWQgPSBmYWxzZTtcbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGFsbG93ZWQgcG9zaXRpb25zLiBUaGUgZmlyc3Qgb25lIHdlIGZpbmQgdGhhdCBkb2Vzbid0IGNsaXAgb3V0IG9mIHZpZXcsIHdlIHVzZS5cbiAgLy8gSWYgYWxsIG9mIHRoZSBwb3NpdGlvbnMgY2xpcCwgdXNlIHRoZSBvbmUgd2hpY2ggY2xpcHBlZCB0aGUgbGVhc3QuXG4gIGZvciAoXG4gICAgbGV0IGNoZWNrQ291bnQgPSAwO1xuICAgIGNoZWNrQ291bnQgPD0gYWxsb3dlZC5sZW5ndGggJiYgIWZvdW5kVW5jbGlwcGVkO1xuICAgIGNoZWNrQ291bnQrKyxcbiAgICAgIGluZGV4ID1cbiAgICAgICAgZmFsbGJhY2tEaXJlY3Rpb24gPT09ICdjbG9ja3dpc2UnXG4gICAgICAgICAgPyAoaW5kZXggKyAxKSAlIGFsbG93ZWQubGVuZ3RoXG4gICAgICAgICAgOiAoaW5kZXggLSAxICsgYWxsb3dlZC5sZW5ndGgpICUgYWxsb3dlZC5sZW5ndGhcbiAgKSB7XG4gICAgcG9zaXRpb24gPSBhbGxvd2VkW2luZGV4XTtcbiAgICBvcmlnaW4gPSBvcmlnaW5BdFBvc2l0aW9uKGFuY2hvciwgY2xpZW50LCBwb3NpdGlvbiwgYWRkaXRpb25hbE9mZnNldCk7XG4gICAgY3VycmVudENsaXBwZWRYID1cbiAgICAgIC0xICpcbiAgICAgIE1hdGgubWluKG9yaWdpbi54LCB2aWV3cG9ydFNpemUud2lkdGggLSAob3JpZ2luLnggKyBjbGllbnQud2lkdGgpLCAwKTtcbiAgICBjdXJyZW50Q2xpcHBlZFkgPVxuICAgICAgLTEgKlxuICAgICAgTWF0aC5taW4ob3JpZ2luLnksIHZpZXdwb3J0U2l6ZS5oZWlnaHQgLSAob3JpZ2luLnkgKyBjbGllbnQuaGVpZ2h0KSwgMCk7XG4gICAgaWYgKGN1cnJlbnRDbGlwcGVkWCA+IDAgfHwgY3VycmVudENsaXBwZWRZID4gMCkge1xuICAgICAgaWYgKGxlYXN0Q2xpcHBlZCA+IGN1cnJlbnRDbGlwcGVkWCArIGN1cnJlbnRDbGlwcGVkWSkge1xuICAgICAgICBsZWFzdENsaXBwZWQgPSBjdXJyZW50Q2xpcHBlZFggKyBjdXJyZW50Q2xpcHBlZFk7XG4gICAgICAgIGxlYXN0Q2xpcHBlZEluZGV4ID0gaW5kZXg7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvdW5kVW5jbGlwcGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgaWYgKCFmb3VuZFVuY2xpcHBlZCkge1xuICAgIHBvc2l0aW9uID0gYWxsb3dlZFtsZWFzdENsaXBwZWRJbmRleF07XG4gICAgb3JpZ2luID0gb3JpZ2luQXRQb3NpdGlvbihhbmNob3IsIGNsaWVudCwgcG9zaXRpb24sIGFkZGl0aW9uYWxPZmZzZXQpO1xuICAgIG9yaWdpbi55ID0gb3JpZ2luLnkgPCAwID8gNCA6IG9yaWdpbi55O1xuICB9XG4gIHJldHVybiB7IC4uLm9yaWdpbiwgcG9zaXRpb24gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9yaWdpbkF0UG9zaXRpb24oXG4gIGFuY2hvcjogQm94LFxuICBjbGllbnQ6IERpbWVuc2lvbnMsXG4gIHBvc2l0aW9uOiBBbmNob3JlZFBvc2l0aW9uLFxuICBvZmZzZXQ6IG51bWJlcixcbik6IFBvaW50IHtcbiAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IGFuY2hvci54ICsgYW5jaG9yLndpZHRoIC0gY2xpZW50LndpZHRoLFxuICAgICAgICB5OiBhbmNob3IueSAtIGNsaWVudC5oZWlnaHQgLSBvZmZzZXQsXG4gICAgICB9O1xuICAgIGNhc2UgJ3RvcC1jZW50ZXInOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogYW5jaG9yLnggKyBhbmNob3Iud2lkdGggLyAyIC0gY2xpZW50LndpZHRoIC8gMixcbiAgICAgICAgeTogYW5jaG9yLnkgLSBjbGllbnQuaGVpZ2h0IC0gb2Zmc2V0LFxuICAgICAgfTtcbiAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogYW5jaG9yLngsXG4gICAgICAgIHk6IGFuY2hvci55IC0gY2xpZW50LmhlaWdodCAtIG9mZnNldCxcbiAgICAgIH07XG4gICAgY2FzZSAnY2VudGVyLXJpZ2h0JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IGFuY2hvci54ICsgYW5jaG9yLndpZHRoICsgb2Zmc2V0LFxuICAgICAgICB5OiBhbmNob3IueSArIGFuY2hvci5oZWlnaHQgLyAyIC0gY2xpZW50LmhlaWdodCAvIDIsXG4gICAgICB9O1xuICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiBhbmNob3IueCxcbiAgICAgICAgeTogYW5jaG9yLnkgKyBhbmNob3IuaGVpZ2h0ICsgb2Zmc2V0LFxuICAgICAgfTtcbiAgICBjYXNlICdib3R0b20tY2VudGVyJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IGFuY2hvci54ICsgYW5jaG9yLndpZHRoIC8gMiAtIGNsaWVudC53aWR0aCAvIDIsXG4gICAgICAgIHk6IGFuY2hvci55ICsgYW5jaG9yLmhlaWdodCArIG9mZnNldCxcbiAgICAgIH07XG4gICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogYW5jaG9yLnggKyBhbmNob3Iud2lkdGggLSBjbGllbnQud2lkdGgsXG4gICAgICAgIHk6IGFuY2hvci55ICsgYW5jaG9yLmhlaWdodCArIG9mZnNldCxcbiAgICAgIH07XG4gICAgY2FzZSAnY2VudGVyLWxlZnQnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogYW5jaG9yLnggLSBjbGllbnQud2lkdGggLSBvZmZzZXQsXG4gICAgICAgIHk6IGFuY2hvci55ICsgYW5jaG9yLmhlaWdodCAvIDIgLSBjbGllbnQuaGVpZ2h0IC8gMixcbiAgICAgIH07XG4gIH1cbn1cbiJdfQ==
|