myrta-ui 17.0.46 → 17.0.48
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/esm2022/lib/components/link/link.component.mjs +7 -9
- package/esm2022/lib/components/paginator/paginator.component.mjs +3 -3
- package/esm2022/lib/components/pdf-viewer/pdf-viewer.component.mjs +3 -2
- package/fesm2022/myrta-ui.mjs +73 -74
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/link/link.component.d.ts +1 -3
- package/package.json +1 -1
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { LinkSizesEnum, LinkTargetTypesEnum, LinkTypesEnum } from './link.enum';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/
|
|
5
|
-
import * as i2 from "@angular/
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/router";
|
|
6
6
|
export class LinkComponent {
|
|
7
|
-
_router;
|
|
8
7
|
href;
|
|
9
8
|
target = '_self';
|
|
10
9
|
routerLink;
|
|
@@ -15,8 +14,7 @@ export class LinkComponent {
|
|
|
15
14
|
prevent = false;
|
|
16
15
|
size = 'medium';
|
|
17
16
|
clicked = new EventEmitter();
|
|
18
|
-
constructor(
|
|
19
|
-
this._router = _router;
|
|
17
|
+
constructor() {
|
|
20
18
|
}
|
|
21
19
|
get getClasses() {
|
|
22
20
|
return `${LinkTypesEnum[this.type]} ${this.customClasses} ${this.monochrome ? 'mrx-link-monochrome' : 'mrx-link-colored'} ${LinkSizesEnum[this.size]}`;
|
|
@@ -31,13 +29,13 @@ export class LinkComponent {
|
|
|
31
29
|
this.clicked.emit();
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkComponent, deps: [
|
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LinkComponent, selector: "mrx-link", inputs: { href: "href", target: "target", routerLink: "routerLink", queryParams: "queryParams", type: "type", monochrome: "monochrome", customClasses: "customClasses", prevent: "prevent", size: "size" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<a\r\n *ngIf=\"routerLink && !prevent; else standardLink\"\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n routerLinkActive=\"mrx-link-active\"\r\n [routerLink]=\"routerLink\"\r\n [queryParams]=\"queryParams\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</a>\r\n\r\n<ng-template #standardLink>\r\n <a\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n [href]=\"href || routerLink\"\r\n [target]=\"getTarget\"\r\n (click)=\"onClick($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </a>\r\n</ng-template>\r\n\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", styles: [".mrx-link.mrx-link{display:inline;position:relative}.mrx-link.mrx-link.small{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-link.mrx-link.medium{font-size:var(--body-md-font-size);line-height:var(--body-md-line-height)}.mrx-link.mrx-link.large{font-size:var(--body-lg-font-size);line-height:var(--body-lg-line-height)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default{color:var(--system-text-link-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:hover{border-bottom:var(--border-width-default) solid var(--system-text-link-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:visited{color:var(--system-text-link-visited)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:visited:hover{border-bottom:var(--border-width-default) solid var(--system-text-link-visited)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-navigational{color:var(--brand-text-nav-link)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-navigational:hover{border-bottom:var(--border-width-default) solid var(--brand-bg-primary-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-pseudo{color:var(--brand-text-nav-link);border-bottom:var(--border-width-default) dashed var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-pseudo:hover{border-bottom:var(--border-width-default) dashed var(--brand-bg-primary-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-navigational{color:var(--neutral-text-primary);border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-navigational:hover{border-bottom:var(--border-width-default) solid var(--neutral-text-primary)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-pseudo{color:var(--neutral-text-primary);border-bottom:var(--border-width-default) dashed var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-pseudo:hover{border-bottom:var(--border-width-default) dashed var(--neutral-text-primary)}\n"], dependencies: [{ kind: "directive", type:
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LinkComponent, selector: "mrx-link", inputs: { href: "href", target: "target", routerLink: "routerLink", queryParams: "queryParams", type: "type", monochrome: "monochrome", customClasses: "customClasses", prevent: "prevent", size: "size" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<a\r\n *ngIf=\"routerLink && !prevent; else standardLink\"\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n routerLinkActive=\"mrx-link-active\"\r\n [routerLink]=\"routerLink\"\r\n [queryParams]=\"queryParams\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</a>\r\n\r\n<ng-template #standardLink>\r\n <a\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n [href]=\"href || routerLink\"\r\n [target]=\"getTarget\"\r\n (click)=\"onClick($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </a>\r\n</ng-template>\r\n\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", styles: [".mrx-link.mrx-link{display:inline;position:relative}.mrx-link.mrx-link.small{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-link.mrx-link.medium{font-size:var(--body-md-font-size);line-height:var(--body-md-line-height)}.mrx-link.mrx-link.large{font-size:var(--body-lg-font-size);line-height:var(--body-lg-line-height)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default{color:var(--system-text-link-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:hover{border-bottom:var(--border-width-default) solid var(--system-text-link-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:visited{color:var(--system-text-link-visited)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:visited:hover{border-bottom:var(--border-width-default) solid var(--system-text-link-visited)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-navigational{color:var(--brand-text-nav-link)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-navigational:hover{border-bottom:var(--border-width-default) solid var(--brand-bg-primary-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-pseudo{color:var(--brand-text-nav-link);border-bottom:var(--border-width-default) dashed var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-pseudo:hover{border-bottom:var(--border-width-default) dashed var(--brand-bg-primary-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-navigational{color:var(--neutral-text-primary);border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-navigational:hover{border-bottom:var(--border-width-default) solid var(--neutral-text-primary)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-pseudo{color:var(--neutral-text-primary);border-bottom:var(--border-width-default) dashed var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-pseudo:hover{border-bottom:var(--border-width-default) dashed var(--neutral-text-primary)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
36
34
|
}
|
|
37
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkComponent, decorators: [{
|
|
38
36
|
type: Component,
|
|
39
37
|
args: [{ selector: 'mrx-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\r\n *ngIf=\"routerLink && !prevent; else standardLink\"\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n routerLinkActive=\"mrx-link-active\"\r\n [routerLink]=\"routerLink\"\r\n [queryParams]=\"queryParams\"\r\n (click)=\"onClick($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</a>\r\n\r\n<ng-template #standardLink>\r\n <a\r\n class=\"mrx-link\"\r\n [class]=\"getClasses\"\r\n [href]=\"href || routerLink\"\r\n [target]=\"getTarget\"\r\n (click)=\"onClick($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </a>\r\n</ng-template>\r\n\r\n<ng-template #content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", styles: [".mrx-link.mrx-link{display:inline;position:relative}.mrx-link.mrx-link.small{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-link.mrx-link.medium{font-size:var(--body-md-font-size);line-height:var(--body-md-line-height)}.mrx-link.mrx-link.large{font-size:var(--body-lg-font-size);line-height:var(--body-lg-line-height)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default{color:var(--system-text-link-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:hover{border-bottom:var(--border-width-default) solid var(--system-text-link-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:visited{color:var(--system-text-link-visited)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-default:visited:hover{border-bottom:var(--border-width-default) solid var(--system-text-link-visited)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-navigational{color:var(--brand-text-nav-link)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-navigational:hover{border-bottom:var(--border-width-default) solid var(--brand-bg-primary-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-pseudo{color:var(--brand-text-nav-link);border-bottom:var(--border-width-default) dashed var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-colored.mrx-link-pseudo:hover{border-bottom:var(--border-width-default) dashed var(--brand-bg-primary-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-navigational{color:var(--neutral-text-primary);border-bottom:var(--border-width-default) solid var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-navigational:hover{border-bottom:var(--border-width-default) solid var(--neutral-text-primary)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-pseudo{color:var(--neutral-text-primary);border-bottom:var(--border-width-default) dashed var(--neutral-bg-stroke-default)}.mrx-link.mrx-link.mrx-link-monochrome.mrx-link-pseudo:hover{border-bottom:var(--border-width-default) dashed var(--neutral-text-primary)}\n"] }]
|
|
40
|
-
}], ctorParameters: () => [
|
|
38
|
+
}], ctorParameters: () => [], propDecorators: { href: [{
|
|
41
39
|
type: Input
|
|
42
40
|
}], target: [{
|
|
43
41
|
type: Input
|
|
@@ -58,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
58
56
|
}], clicked: [{
|
|
59
57
|
type: Output
|
|
60
58
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvbGluay9saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9saW5rL2xpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQ0wsYUFBYSxFQUdiLG1CQUFtQixFQUVuQixhQUFhLEVBQ2QsTUFBTSxhQUFhLENBQUM7Ozs7QUFRckIsTUFBTSxPQUFPLGFBQWE7SUFDZixJQUFJLENBQVU7SUFDZCxNQUFNLEdBQW9CLE9BQU8sQ0FBQztJQUVsQyxVQUFVLENBQVU7SUFDcEIsV0FBVyxDQUE2QjtJQUV4QyxJQUFJLEdBQWMsU0FBUyxDQUFDO0lBQzVCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3pCLElBQUksR0FBbUIsUUFBUSxDQUFDO0lBRS9CLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRW5EO0lBQ0EsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUN6SixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNyQixDQUFDO0lBQ0gsQ0FBQzt3R0FoQ1UsYUFBYTs0RkFBYixhQUFhLDZSQ2hCMUIsZ3RCQTJCQTs7NEZEWGEsYUFBYTtrQkFOekIsU0FBUzsrQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07d0RBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgTGlua1NpemVzRW51bSxcclxuICBMaW5rU2l6ZXNUeXBlcyxcclxuICBMaW5rVGFyZ2V0VHlwZXMsXHJcbiAgTGlua1RhcmdldFR5cGVzRW51bSxcclxuICBMaW5rVHlwZXMsXHJcbiAgTGlua1R5cGVzRW51bVxyXG59IGZyb20gJy4vbGluay5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWxpbmsnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saW5rLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaW5rQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRhcmdldDogTGlua1RhcmdldFR5cGVzID0gJ19zZWxmJztcclxuXHJcbiAgQElucHV0KCkgcm91dGVyTGluaz86IHN0cmluZztcclxuICBASW5wdXQoKSBxdWVyeVBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcblxyXG4gIEBJbnB1dCgpIHR5cGU6IExpbmtUeXBlcyA9ICdkZWZhdWx0JztcclxuICBASW5wdXQoKSBtb25vY2hyb21lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3Nlczogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgcHJldmVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNpemU6IExpbmtTaXplc1R5cGVzID0gJ21lZGl1bSc7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7TGlua1R5cGVzRW51bVt0aGlzLnR5cGVdfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc30gJHt0aGlzLm1vbm9jaHJvbWUgPyAnbXJ4LWxpbmstbW9ub2Nocm9tZScgOiAnbXJ4LWxpbmstY29sb3JlZCd9ICR7TGlua1NpemVzRW51bVt0aGlzLnNpemVdfWA7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0VGFyZ2V0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTGlua1RhcmdldFR5cGVzRW51bVt0aGlzLnRhcmdldF1cclxuICB9XHJcblxyXG4gIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucHJldmVudCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXHJcbiAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KClcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFcclxuICAqbmdJZj1cInJvdXRlckxpbmsgJiYgIXByZXZlbnQ7IGVsc2Ugc3RhbmRhcmRMaW5rXCJcclxuICBjbGFzcz1cIm1yeC1saW5rXCJcclxuICBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiXHJcbiAgcm91dGVyTGlua0FjdGl2ZT1cIm1yeC1saW5rLWFjdGl2ZVwiXHJcbiAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua1wiXHJcbiAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcclxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbjwvYT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc3RhbmRhcmRMaW5rPlxyXG4gIDxhXHJcbiAgICBjbGFzcz1cIm1yeC1saW5rXCJcclxuICAgIFtjbGFzc109XCJnZXRDbGFzc2VzXCJcclxuICAgIFtocmVmXT1cImhyZWYgfHwgcm91dGVyTGlua1wiXHJcbiAgICBbdGFyZ2V0XT1cImdldFRhcmdldFwiXHJcbiAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -109,11 +109,11 @@ export class PaginatorComponent {
|
|
|
109
109
|
return item.id;
|
|
110
110
|
}
|
|
111
111
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
112
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PaginatorComponent, selector: "mrx-paginator", inputs: { pageSizes: "pageSizes", currentPage: "currentPage", pageSize: "pageSize", total: "total", customClasses: "customClasses", isEmptyPaginator: "isEmptyPaginator", isPaginatorText: "isPaginatorText", paginatorText: "paginatorText", dropdownPosition: "dropdownPosition", popupPosition: "popupPosition", setPosition: ["position", "setPosition"], setWithPageSize: ["withPageSize", "setWithPageSize"] }, outputs: { dataStateChanged: "dataStateChanged" }, ngImport: i0, template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n @if (withPageSize) {\r\n <mrx-select\r\n [ngModel]=\"pageSize\"\r\n [size]=\"'medium'\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [popupPosition]=\"popupPosition\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-select>\r\n }\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SelectComponent, selector: "mrx-select", inputs: ["fields", "items", "multiple", "isLoading", "searchable", "clearable", "closable", "size", "bindValue", "bindLabel", "bindIcon", "emptyText", "placeholder", "searchPlaceholder", "disabled", "readonly", "invalid", "invalidMessage", "checkInvalid", "popupPosition"], outputs: ["changed", "modelChange"] }] });
|
|
113
113
|
}
|
|
114
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
115
115
|
type: Component,
|
|
116
|
-
args: [{ selector: 'mrx-paginator', template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n
|
|
116
|
+
args: [{ selector: 'mrx-paginator', template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n @if (withPageSize) {\r\n <mrx-select\r\n [ngModel]=\"pageSize\"\r\n [size]=\"'medium'\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [popupPosition]=\"popupPosition\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-select>\r\n }\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"] }]
|
|
117
117
|
}], propDecorators: { pageSizes: [{
|
|
118
118
|
type: Input
|
|
119
119
|
}], currentPage: [{
|
|
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
143
143
|
}], dataStateChanged: [{
|
|
144
144
|
type: Output
|
|
145
145
|
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUdjLG9CQUFvQixHQUN4QyxNQUFNLGtCQUFrQixDQUFDOzs7OztBQVMxQixNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLFFBQVEsR0FBa0MsVUFBVSxDQUFDO0lBQ3JELFlBQVksR0FBd0IsSUFBSSxDQUFDO0lBRXZDLFNBQVMsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNoQixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFFbkIsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDakMsYUFBYSxHQUFXLFFBQVEsQ0FBQztJQUNqQyxnQkFBZ0IsR0FBc0IsTUFBTSxDQUFDLENBQUMsYUFBYTtJQUMzRCxhQUFhLEdBQWtDLGNBQWMsQ0FBQztJQUV2RSxJQUNXLFdBQVcsQ0FBQyxLQUFvQztRQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxVQUFVLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csZUFBZSxDQUFDLEtBQTBCO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRVMsZ0JBQWdCLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO0lBRTFHLElBQVcsVUFBVTtRQUNuQixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pGLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUN4QixJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ1AsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQy9ELE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVztvQkFDcEMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7b0JBQ25DLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUNuQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUN4QyxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3JFLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVc7b0JBQy9CLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUNuQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUN4QyxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckYsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQztvQkFDeEMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7b0JBQ25DLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUNuQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXO29CQUMvQixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEUsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQztvQkFDeEMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7b0JBQ25DLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVc7b0JBQy9CLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUNuQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUN4QyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7b0JBQ25DLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUNuQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDcEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcseUJBQXlCO1FBQ2xDLElBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFDRCxJQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckUsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFXLHdCQUF3QjtRQUNqQyxJQUFHLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsSUFBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQWE7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN6QixXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQWE7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFFckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUN2QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQzt3R0FySFUsa0JBQWtCOzRGQUFsQixrQkFBa0IsOGZDZC9CLGdzRUF1REE7OzRGRHpDYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTs4QkFRaEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHSyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLFVBQVU7Z0JBTU4sZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxjQUFjO2dCQUtYLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgUGFnaW5hdGVPdXRwdXRPYmplY3QsXHJcbiAgUGFnaW5hdG9ySXRlbSxcclxuICBQYWdpbmF0b3JQb3NpdGlvbiwgUGFnaW5hdG9yUG9zaXRpb25Dc3MsXHJcbn0gZnJvbSAnLi9wYWdpbmF0b3IuZW51bSc7XHJcbmltcG9ydCB7IERyb3Bkb3duUG9zaXRpb24gfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdC9saWIvbmctc2VsZWN0LnR5cGVzJztcclxuaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb25WYXJpYW50c1R5cGUgfSBmcm9tICcuLi9jZGstdG9vbHRpcC9jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtcGFnaW5hdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0b3IuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcG9zaXRpb246IFBhZ2luYXRvclBvc2l0aW9uIHwgdW5kZWZpbmVkID0gJ2NlbnRlcmVkJztcclxuICBwdWJsaWMgd2l0aFBhZ2VTaXplOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcGFnZVNpemVzOiBudW1iZXJbXSA9IFsyMCwgNTAsIDEwMF07XHJcbiAgQElucHV0KCkgY3VycmVudFBhZ2UgPSAxO1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplID0gMjA7XHJcbiAgQElucHV0KCkgdG90YWwgPSAwO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuXHJcbiAgQElucHV0KCkgaXNFbXB0eVBhZ2luYXRvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUGFnaW5hdG9yVGV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBhZ2luYXRvclRleHQ6IHN0cmluZyA9ICfQt9Cw0L/QuNGB0LgnO1xyXG4gIEBJbnB1dCgpIGRyb3Bkb3duUG9zaXRpb246IERyb3Bkb3duUG9zaXRpb24gID0gJ2F1dG8nOyAvLyBkZXByZWNhdGVkXHJcbiAgQElucHV0KCkgcG9wdXBQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb25WYXJpYW50c1R5cGUgPSAnYm90dG9tLXN0YXJ0JztcclxuXHJcbiAgQElucHV0KCdwb3NpdGlvbicpXHJcbiAgcHVibGljIHNldCBzZXRQb3NpdGlvbih2YWx1ZTogUGFnaW5hdG9yUG9zaXRpb24gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMucG9zaXRpb24gPSB2YWx1ZSB8fCAnY2VudGVyZWQnO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCd3aXRoUGFnZVNpemUnKVxyXG4gIHB1YmxpYyBzZXQgc2V0V2l0aFBhZ2VTaXplKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLndpdGhQYWdlU2l6ZSA9IHZhbHVlIHx8IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGRhdGFTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxQYWdpbmF0ZU91dHB1dE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2luYXRlT3V0cHV0T2JqZWN0PigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLnBvc2l0aW9uICYmIFBhZ2luYXRvclBvc2l0aW9uQ3NzW3RoaXMucG9zaXRpb25dfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJdGVtcygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wYWdlU2l6ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldE51bWJlcnMoKTogUGFnaW5hdG9ySXRlbVtdIHtcclxuICAgIHJldHVybiBBcnJheSh0aGlzLmdldEl0ZW1zKVxyXG4gICAgICAuZmlsbCgxKVxyXG4gICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gKHsgaW5kZXg6IGluZGV4ICsgMSwgYWN0aXZlOiBpbmRleCArIDEgPT09IHRoaXMuY3VycmVudFBhZ2UgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRWaWV3SXRlbXMoKTogUGFnaW5hdG9ySXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLmdldE51bWJlcnMuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA9PT0gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAzIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgNDtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRQYWdlID09IDIgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDM7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA9PSB0aGlzLmdldEl0ZW1zIC0gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRQYWdlID4gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDQgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAzIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRGaXJzdE51bWJlckN1cnJlbnRQYWdlKCk6IG51bWJlciB7XHJcbiAgICBpZih0aGlzLnRvdGFsID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50b3RhbCA8IHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlIC0gdGhpcy5wYWdlU2l6ZSArIDEpIHtcclxuICAgICAgcmV0dXJuIDE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICh0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSAtIHRoaXMucGFnZVNpemUpICsgMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0TGFzdE51bWJlckN1cnJlbnRQYWdlKCk6IG51bWJlciB7XHJcbiAgICBpZih0aGlzLnRvdGFsID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50b3RhbCA8IHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlQ3VycmVudFBhZ2UodmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhU3RhdGVDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICBjdXJyZW50UGFnZTogdmFsdWUsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZVBhZ2VTaXplKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG5cclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHBhZ2VTaXplOiB2YWx1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcGFnaW5hdG9yXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIiAqbmdJZj1cImlzRW1wdHlQYWdpbmF0b3IgfHwgdG90YWxcIj5cclxuICA8dWwgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19saXN0XCI+XHJcbiAgICA8bGlcclxuICAgICAgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19wcmV2aW91c1wiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyZW50UGFnZSA8PSAxXCJcclxuICAgICAgKGNsaWNrKT1cImN1cnJlbnRQYWdlID4gMSAmJiBvbkNoYW5nZUN1cnJlbnRQYWdlKGN1cnJlbnRQYWdlIC0gMSlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1sZWZ0IGljb24tZm9udC0yNFwiPjwvZGl2PlxyXG4gICAgPC9saT5cclxuXHJcbiAgICA8bGkgKm5nSWY9XCJnZXRWaWV3SXRlbXMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtIGFjdGl2ZVwiPjE8L2xpPlxyXG5cclxuICAgIDxsaSBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX2l0ZW1cIiAqbmdJZj1cImN1cnJlbnRQYWdlID4gMyAmJiBnZXRJdGVtcyA+IDVcIiAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZSgxKVwiPjE8L2xpPlxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBkb3RzXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA+IDMgJiYgZ2V0SXRlbXMgPiA1XCI+Li4uPC9saT5cclxuXHJcbiAgICA8bGlcclxuICAgICAgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCJcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0Vmlld0l0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZShpdGVtLmluZGV4KVwiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFBhZ2UgPT09IGl0ZW0uaW5kZXhcIlxyXG4gICAgPlxyXG4gICAgICB7e2l0ZW0uaW5kZXh9fVxyXG4gICAgPC9saT5cclxuXHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtIGRvdHNcIiAqbmdJZj1cImN1cnJlbnRQYWdlIDwgZ2V0SXRlbXMgLSAyICYmIGdldEl0ZW1zID4gNVwiPi4uLjwvbGk+XHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zIC0gMiAmJiBnZXRJdGVtcyA+IDVcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNoYW5nZUN1cnJlbnRQYWdlKGdldEl0ZW1zKVwiPnt7Z2V0SXRlbXN9fTwvbGk+XHJcblxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fbmV4dFwiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyZW50UGFnZSA+PSBnZXRJdGVtc1wiXHJcbiAgICAgIChjbGljayk9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zICYmIG9uQ2hhbmdlQ3VycmVudFBhZ2UoY3VycmVudFBhZ2UgKyAxKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLXJpZ2h0IGljb24tZm9udC0yNFwiPjwvZGl2PlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3NlbGVjdD5cclxuICAgIDxtcngtc2VsZWN0XHJcbiAgICAgIFtuZ01vZGVsXT1cInBhZ2VTaXplXCJcclxuICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICBbaXRlbXNdPVwicGFnZVNpemVzXCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICAgICAgW3BvcHVwUG9zaXRpb25dPVwicG9wdXBQb3NpdGlvblwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXHJcbiAgICA+PC9tcngtc2VsZWN0PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWxlY3RcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImlzUGFnaW5hdG9yVGV4dFwiIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fdGV4dFwiPlxyXG4gICAg0J7RgtC+0LHRgNCw0LbQtdC90Ysge3twYWdpbmF0b3JUZXh0fX0ge3tnZXRGaXJzdE51bWJlckN1cnJlbnRQYWdlfX0gLSB7e2dldExhc3ROdW1iZXJDdXJyZW50UGFnZX19INC40Lcge3t0b3RhbH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUdjLG9CQUFvQixHQUN4QyxNQUFNLGtCQUFrQixDQUFDOzs7OztBQVMxQixNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLFFBQVEsR0FBa0MsVUFBVSxDQUFDO0lBQ3JELFlBQVksR0FBd0IsSUFBSSxDQUFDO0lBRXZDLFNBQVMsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNoQixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFFbkIsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDakMsYUFBYSxHQUFXLFFBQVEsQ0FBQztJQUNqQyxnQkFBZ0IsR0FBc0IsTUFBTSxDQUFDLENBQUMsYUFBYTtJQUMzRCxhQUFhLEdBQWtDLGNBQWMsQ0FBQztJQUV2RSxJQUNXLFdBQVcsQ0FBQyxLQUFvQztRQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxVQUFVLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csZUFBZSxDQUFDLEtBQTBCO1FBQ25ELElBQUks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O3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHSyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLFVBQVU7Z0JBTU4sZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxjQUFjO2dCQUtYLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgUGFnaW5hdGVPdXRwdXRPYmplY3QsXHJcbiAgUGFnaW5hdG9ySXRlbSxcclxuICBQYWdpbmF0b3JQb3NpdGlvbiwgUGFnaW5hdG9yUG9zaXRpb25Dc3MsXHJcbn0gZnJvbSAnLi9wYWdpbmF0b3IuZW51bSc7XHJcbmltcG9ydCB7IERyb3Bkb3duUG9zaXRpb24gfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdC9saWIvbmctc2VsZWN0LnR5cGVzJztcclxuaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb25WYXJpYW50c1R5cGUgfSBmcm9tICcuLi9jZGstdG9vbHRpcC9jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtcGFnaW5hdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0b3IuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcG9zaXRpb246IFBhZ2luYXRvclBvc2l0aW9uIHwgdW5kZWZpbmVkID0gJ2NlbnRlcmVkJztcclxuICBwdWJsaWMgd2l0aFBhZ2VTaXplOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcGFnZVNpemVzOiBudW1iZXJbXSA9IFsyMCwgNTAsIDEwMF07XHJcbiAgQElucHV0KCkgY3VycmVudFBhZ2UgPSAxO1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplID0gMjA7XHJcbiAgQElucHV0KCkgdG90YWwgPSAwO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuXHJcbiAgQElucHV0KCkgaXNFbXB0eVBhZ2luYXRvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUGFnaW5hdG9yVGV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBhZ2luYXRvclRleHQ6IHN0cmluZyA9ICfQt9Cw0L/QuNGB0LgnO1xyXG4gIEBJbnB1dCgpIGRyb3Bkb3duUG9zaXRpb246IERyb3Bkb3duUG9zaXRpb24gID0gJ2F1dG8nOyAvLyBkZXByZWNhdGVkXHJcbiAgQElucHV0KCkgcG9wdXBQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb25WYXJpYW50c1R5cGUgPSAnYm90dG9tLXN0YXJ0JztcclxuXHJcbiAgQElucHV0KCdwb3NpdGlvbicpXHJcbiAgcHVibGljIHNldCBzZXRQb3NpdGlvbih2YWx1ZTogUGFnaW5hdG9yUG9zaXRpb24gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMucG9zaXRpb24gPSB2YWx1ZSB8fCAnY2VudGVyZWQnO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCd3aXRoUGFnZVNpemUnKVxyXG4gIHB1YmxpYyBzZXQgc2V0V2l0aFBhZ2VTaXplKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLndpdGhQYWdlU2l6ZSA9IHZhbHVlIHx8IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGRhdGFTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxQYWdpbmF0ZU91dHB1dE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2luYXRlT3V0cHV0T2JqZWN0PigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLnBvc2l0aW9uICYmIFBhZ2luYXRvclBvc2l0aW9uQ3NzW3RoaXMucG9zaXRpb25dfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJdGVtcygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wYWdlU2l6ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldE51bWJlcnMoKTogUGFnaW5hdG9ySXRlbVtdIHtcclxuICAgIHJldHVybiBBcnJheSh0aGlzLmdldEl0ZW1zKVxyXG4gICAgICAuZmlsbCgxKVxyXG4gICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gKHsgaW5kZXg6IGluZGV4ICsgMSwgYWN0aXZlOiBpbmRleCArIDEgPT09IHRoaXMuY3VycmVudFBhZ2UgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRWaWV3SXRlbXMoKTogUGFnaW5hdG9ySXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLmdldE51bWJlcnMuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA9PT0gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAzIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgNDtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRQYWdlID09IDIgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDM7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA9PSB0aGlzLmdldEl0ZW1zIC0gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRQYWdlID4gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDQgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAzIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRGaXJzdE51bWJlckN1cnJlbnRQYWdlKCk6IG51bWJlciB7XHJcbiAgICBpZih0aGlzLnRvdGFsID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50b3RhbCA8IHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlIC0gdGhpcy5wYWdlU2l6ZSArIDEpIHtcclxuICAgICAgcmV0dXJuIDE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICh0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSAtIHRoaXMucGFnZVNpemUpICsgMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0TGFzdE51bWJlckN1cnJlbnRQYWdlKCk6IG51bWJlciB7XHJcbiAgICBpZih0aGlzLnRvdGFsID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50b3RhbCA8IHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlQ3VycmVudFBhZ2UodmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhU3RhdGVDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICBjdXJyZW50UGFnZTogdmFsdWUsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZVBhZ2VTaXplKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG5cclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHBhZ2VTaXplOiB2YWx1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcGFnaW5hdG9yXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIiAqbmdJZj1cImlzRW1wdHlQYWdpbmF0b3IgfHwgdG90YWxcIj5cclxuICA8dWwgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19saXN0XCI+XHJcbiAgICA8bGlcclxuICAgICAgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19wcmV2aW91c1wiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyZW50UGFnZSA8PSAxXCJcclxuICAgICAgKGNsaWNrKT1cImN1cnJlbnRQYWdlID4gMSAmJiBvbkNoYW5nZUN1cnJlbnRQYWdlKGN1cnJlbnRQYWdlIC0gMSlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1sZWZ0IGljb24tZm9udC0yNFwiPjwvZGl2PlxyXG4gICAgPC9saT5cclxuXHJcbiAgICA8bGkgKm5nSWY9XCJnZXRWaWV3SXRlbXMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtIGFjdGl2ZVwiPjE8L2xpPlxyXG5cclxuICAgIDxsaSBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX2l0ZW1cIiAqbmdJZj1cImN1cnJlbnRQYWdlID4gMyAmJiBnZXRJdGVtcyA+IDVcIiAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZSgxKVwiPjE8L2xpPlxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBkb3RzXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA+IDMgJiYgZ2V0SXRlbXMgPiA1XCI+Li4uPC9saT5cclxuXHJcbiAgICA8bGlcclxuICAgICAgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCJcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0Vmlld0l0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZShpdGVtLmluZGV4KVwiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFBhZ2UgPT09IGl0ZW0uaW5kZXhcIlxyXG4gICAgPlxyXG4gICAgICB7e2l0ZW0uaW5kZXh9fVxyXG4gICAgPC9saT5cclxuXHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtIGRvdHNcIiAqbmdJZj1cImN1cnJlbnRQYWdlIDwgZ2V0SXRlbXMgLSAyICYmIGdldEl0ZW1zID4gNVwiPi4uLjwvbGk+XHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zIC0gMiAmJiBnZXRJdGVtcyA+IDVcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNoYW5nZUN1cnJlbnRQYWdlKGdldEl0ZW1zKVwiPnt7Z2V0SXRlbXN9fTwvbGk+XHJcblxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fbmV4dFwiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyZW50UGFnZSA+PSBnZXRJdGVtc1wiXHJcbiAgICAgIChjbGljayk9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zICYmIG9uQ2hhbmdlQ3VycmVudFBhZ2UoY3VycmVudFBhZ2UgKyAxKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLXJpZ2h0IGljb24tZm9udC0yNFwiPjwvZGl2PlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG5cclxuICBAaWYgKHdpdGhQYWdlU2l6ZSkge1xyXG4gICAgPG1yeC1zZWxlY3RcclxuICAgICAgW25nTW9kZWxdPVwicGFnZVNpemVcIlxyXG4gICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgIFtpdGVtc109XCJwYWdlU2l6ZXNcIlxyXG4gICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgW3NlYXJjaGFibGVdPVwiZmFsc2VcIlxyXG4gICAgICBbcG9wdXBQb3NpdGlvbl09XCJwb3B1cFBvc2l0aW9uXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VQYWdlU2l6ZSgkZXZlbnQpXCJcclxuICAgID48L21yeC1zZWxlY3Q+XHJcbiAgfVxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiaXNQYWdpbmF0b3JUZXh0XCIgY2xhc3M9XCJtcngtcGFnaW5hdG9yX190ZXh0XCI+XHJcbiAgICDQntGC0L7QsdGA0LDQttC10L3RiyB7e3BhZ2luYXRvclRleHR9fSB7e2dldEZpcnN0TnVtYmVyQ3VycmVudFBhZ2V9fSAtIHt7Z2V0TGFzdE51bWJlckN1cnJlbnRQYWdlfX0g0LjQtyB7e3RvdGFsfX1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuIl19
|
|
@@ -111,8 +111,9 @@ export class PdfViewerComponent {
|
|
|
111
111
|
if (viewOutline) {
|
|
112
112
|
viewOutline.title = '';
|
|
113
113
|
}
|
|
114
|
+
this._renderer.setStyle(viewThumbnail, 'display', 'none');
|
|
114
115
|
if (viewThumbnail) {
|
|
115
|
-
viewThumbnail.title = '';
|
|
116
|
+
viewThumbnail.title = 'test';
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
zoomClick(increase) {
|
|
@@ -265,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
265
266
|
type: ViewChild,
|
|
266
267
|
args: ['findMenu']
|
|
267
268
|
}] } });
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBRUwsU0FBUyxFQUNULDZCQUE2QixFQUc5QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFzQmpDLE1BQU0sT0FBTyxrQkFBa0I7SUEwQ25CO0lBQ0E7SUFDQTtJQTNDSCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsR0FBYyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ3pDLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDdkIsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1Qsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQzdCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFlBQVksR0FBOEMsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQztJQUNsRyxXQUFXLEdBQUc7UUFDbkIsRUFBQyxL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LENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzt5QkFDckQsQ0FBQztxQkFDSCxhQUNVLENBQUMsY0FBYyxDQUFDLG1CQUNWLHVCQUF1QixDQUFDLE1BQU07d0pBNEJ0QyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUVvQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLDZCQUE2QjtnQkFDakIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLi90b29sdGlwL3NlcnZpY2VzL3Rvb2x0aXAuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgRmluZFJlc3VsdE1hdGNoZXNDb3VudCxcclxuICBGaW5kU3RhdGUsXHJcbiAgTmd4RXh0ZW5kZWRQZGZWaWV3ZXJDb21wb25lbnQsXHJcbiAgTmd4RXh0ZW5kZWRQZGZWaWV3ZXJTZXJ2aWNlLFxyXG4gIFBhZ2VzTG9hZGVkRXZlbnRcclxufSBmcm9tICduZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlcic7XHJcblxyXG50eXBlIFJvdGF0aW9uVHlwZSA9IDAgfCA5MCB8IDE4MCB8IDI3MDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXBkZi12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlJywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnb3BlbicsXHJcbiAgICAgICAgc3R5bGUoe2hlaWdodDogJyonLCBwYWRkaW5nOiAnKicsICdtYXJnaW4tYm90dG9tJzogJzhweCd9KVxyXG4gICAgICApLFxyXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe2hlaWdodDogMCwgcGFkZGluZzogMCwgJ21hcmdpbi1ib3R0b20nOiAwfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlZCcsIFthbmltYXRlKCcwLjVzIGVhc2UnKV0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFthbmltYXRlKCcwLjVzIGVhc2UnKV0pLFxyXG4gICAgXSksXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtUb29sdGlwU2VydmljZV0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZGZWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgcHVibGljIHNlYXJjaFF1ZXJ5ID0gJyc7XHJcbiAgcHVibGljIGZpbmRTdGF0ZTogRmluZFN0YXRlID0gRmluZFN0YXRlLlBFTkRJTkc7XHJcbiAgcHVibGljIHRvdGFsRm91bmQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRGaW5kOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYWdlID0gMTtcclxuICBwdWJsaWMgaXNTZWFyY2hQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICBwdWJsaWMgc2lkZWJhclZpc2libGUgPSB0cnVlO1xyXG4gIHB1YmxpYyBwYWdlQ291bnQgPSAxO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFpvb206IHsgdmFsdWU6IG51bWJlciB8IHN0cmluZywgbGFiZWw6IHN0cmluZyB9ID0ge3ZhbHVlOiAnYXV0bycsIGxhYmVsOiAn0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgnfTtcclxuICBwdWJsaWMgem9vbU9wdGlvbnMgPSBbXHJcbiAgICB7dmFsdWU6ICdhdXRvJywgbGFiZWw6ICfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCd9LFxyXG4gICAge3ZhbHVlOiAncGFnZS1hY3R1YWwnLCBsYWJlbDogJ9Cg0LXQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAJ30sXHJcbiAgICB7dmFsdWU6ICdwZ2UtZml0JywgbGFiZWw6ICfQn9C+INGA0LDQt9C80LXRgNGDINGB0YLRgNCw0L3QuNGG0YsnfSxcclxuICAgIHt2YWx1ZTogJ3BhZ2Utd2lkdGgnLCBsYWJlbDogJ9Cf0L4g0YjQuNGA0LjQvdC1INGB0YLRgNCw0L3QuNGG0YsnfSxcclxuICAgIHt2YWx1ZTogNTAsIGxhYmVsOiAnNTAlJ30sXHJcbiAgICB7dmFsdWU6IDEwMCwgbGFiZWw6ICcxMDAlJ30sXHJcbiAgICB7dmFsdWU6IDEyNSwgbGFiZWw6ICcxMjUlJ30sXHJcbiAgICB7dmFsdWU6IDE1MCwgbGFiZWw6ICcxNTAlJ30sXHJcbiAgICB7dmFsdWU6IDIwMCwgbGFiZWw6ICcyMDAlJ30sXHJcbiAgICB7dmFsdWU6IDMwMCwgbGFiZWw6ICczMDAlJ30sXHJcbiAgICB7dmFsdWU6IDQwMCwgbGFiZWw6ICc0MDAlJ30sXHJcbiAgXTtcclxuXHJcbiAgcHVibGljIHJvdGF0aW9uOiBSb3RhdGlvblR5cGUgPSAwO1xyXG5cclxuICBASW5wdXQoKSBzaG93U2lkZWJhckJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0hhbmRUb29sQnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGFuZFRvb2wgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dGaW5kYmFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93Um90YXRlQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93UHJpbnRCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dEb3dubG9hZEJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0V4cGFuZEJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZGVmYXVsdFpvb206IG51bWJlciB8ICdhdXRvJyB8ICdwYWdlLWFjdHVhbCcgfCAncGdlLWZpdCcgfCAncGFnZS13aWR0aCcgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHNyYyA9ICcnO1xyXG5cclxuICBAVmlld0NoaWxkKE5neEV4dGVuZGVkUGRmVmlld2VyQ29tcG9uZW50KSBwZGZWaWV3ZXIhOiBOZ3hFeHRlbmRlZFBkZlZpZXdlckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdmaW5kTWVudScpIGZpbmRNZW51OiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGRmVmlld2VyU2VydmljZTogTmd4RXh0ZW5kZWRQZGZWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkZWZhdWx0Wm9vbSddICYmIGNoYW5nZXNbJ2RlZmF1bHRab29tJ10uY3VycmVudFZhbHVlICE9IGNoYW5nZXNbJ2RlZmF1bHRab29tJ10ucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXRab29tKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0Wm9vbSgpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nVmFsdWUgPSB0aGlzLnpvb21PcHRpb25zLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLmRlZmF1bHRab29tKTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHsuLi5leGlzdGluZ1ZhbHVlfTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiB0aGlzLmRlZmF1bHRab29tLCBsYWJlbDogYCR7dGhpcy5kZWZhdWx0Wm9vbX0lYH07XHJcbiAgfVxyXG5cclxuICBpbml0U2VhcmNoKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0ZpbmRiYXJCdXR0b24pIHtcclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2YnICYmIGV2ZW50LmN0cmxLZXkpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFNlYXJjaCgpO1xyXG4gICAgdGhpcy5pbml0Wm9vbSgpO1xyXG5cclxuICAgIHRoaXMuX3JlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSkge1xyXG4gICAgICAgIGNvbnN0IGlzSW5NZW51ID0gdGhpcy5maW5kTWVudT8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXHJcbiAgICAgICAgICB8fCAoZXZlbnQudGFyZ2V0IGFzIGFueSkuaWQgPT09ICdmaW5kTmV4dCdcclxuICAgICAgICAgIHx8IChldmVudC50YXJnZXQgYXMgYW55KS5pZCA9PT0gJ2ZpbmRQcmV2aW91cyc7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRmluZEJ1dHRvbiA9IChldmVudC50YXJnZXQgYXMgYW55KS5jbGFzc0xpc3QuY29udGFpbnMoJ21yeC1wZGYtdmlld2VyX19maW5kLWJ1dHRvbicpO1xyXG5cclxuICAgICAgICBpZiAoIWlzSW5NZW51ICYmICFpc0ZpbmRCdXR0b24pIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2UgPSAkZXZlbnQgfHwgMTtcclxuICB9XHJcblxyXG4gIG9uTmV4dFBhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlIDwgdGhpcy5wYWdlQ291bnQpIHtcclxuICAgICAgdGhpcy5wYWdlID0gdGhpcy5wYWdlICsgMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTGFzdFBhZ2UoKSB7XHJcbiAgICB0aGlzLnBhZ2UgPSB0aGlzLnBhZ2VDb3VudDtcclxuICB9XHJcblxyXG4gIG9uUGFnZXNMb2FkZWQoJGV2ZW50OiBQYWdlc0xvYWRlZEV2ZW50KSB7XHJcbiAgICBjb25zdCB2aWV3T3V0bGluZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN2aWV3T3V0bGluZScpO1xyXG4gICAgY29uc3Qgdmlld1RodW1ibmFpbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN2aWV3VGh1bWJuYWlsJyk7XHJcblxyXG4gICAgdGhpcy5wYWdlQ291bnQgPSAkZXZlbnQucGFnZXNDb3VudDtcclxuXHJcbiAgICBpZiAodmlld091dGxpbmUpIHtcclxuICAgICAgKHZpZXdPdXRsaW5lIGFzIGFueSkudGl0bGUgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmlld1RodW1ibmFpbCkge1xyXG4gICAgICAodmlld1RodW1ibmFpbCBhcyBhbnkpLnRpdGxlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB6b29tQ2xpY2soaW5jcmVhc2U6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiAxMDAsIGxhYmVsOiAnMTAwJSd9O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmV3VmFsdWUgPSBpbmNyZWFzZSA/IHRoaXMuc2VsZWN0ZWRab29tLnZhbHVlICs9IDIwIDogdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgLT0gMjA7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7dmFsdWU6IG5ld1ZhbHVlLCBsYWJlbDogYCR7bmV3VmFsdWV9JWB9O1xyXG4gIH1cclxuXHJcbiAgb25ab29tTGV2ZWxTZWxlY3QoaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBvblpvb21DaGFuZ2UoJGV2ZW50OiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nT3B0aW9uID0gdGhpcy56b29tT3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gJGV2ZW50KTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdPcHRpb24pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7Li4uZXhpc3RpbmdPcHRpb259O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZml4ZWRWYWx1ZSA9IE1hdGgucm91bmQoTnVtYmVyKCRldmVudCkpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiBmaXhlZFZhbHVlLCBsYWJlbDogYCR7Zml4ZWRWYWx1ZX0lYH07XHJcbiAgfVxyXG5cclxuICBvblJvdGF0ZShkaXJlY3Rpb246IG51bWJlcikge1xyXG4gICAgbGV0IGRhdGEgPSB0aGlzLnJvdGF0aW9uO1xyXG5cclxuICAgIGlmIChkaXJlY3Rpb24gPCAwKSB7XHJcbiAgICAgIGRhdGEgLT0gOTA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkYXRhICs9IDkwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkYXRhID49IDM2MCkge1xyXG4gICAgICB0aGlzLnJvdGF0aW9uID0gZGF0YSAtIDM2MCBhcyBSb3RhdGlvblR5cGU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0YSA8IDApIHtcclxuICAgICAgdGhpcy5yb3RhdGlvbiA9IDM2MCArIGRhdGEgYXMgUm90YXRpb25UeXBlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3RhdGlvbiA9IGRhdGEgYXMgUm90YXRpb25UeXBlO1xyXG4gIH1cclxuXHJcbiAgb25QcmludENsaWNrKCkge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5wcmludCgpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBwcmludERpYWxvZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2RpYWxvZyNwcmludFNlcnZpY2VEaWFsb2cnKTtcclxuICAgICAgY29uc3QgcHJvZ3Jlc3NUZXh0ID0gcHJpbnREaWFsb2c/LnF1ZXJ5U2VsZWN0b3IoJy5yb3cgc3BhbicpO1xyXG4gICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBwcmludERpYWxvZz8ucXVlcnlTZWxlY3RvcignI3ByaW50Q2FuY2VsIHNwYW4nKTtcclxuXHJcbiAgICAgIGlmIChwcm9ncmVzc1RleHQpIHtcclxuICAgICAgICBwcm9ncmVzc1RleHQudGV4dENvbnRlbnQgPSAn0J/QvtC00LPQvtGC0L7QstC60LAg0LTQvtC60YPQvNC10L3RgtCwINC6INC/0LXRh9Cw0YLQuC4uLic7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjYW5jZWxCdXR0b24pIHtcclxuICAgICAgICBjYW5jZWxCdXR0b24udGV4dENvbnRlbnQgPSAn0J7RgtC80LXQvdCwJztcclxuICAgICAgfVxyXG4gICAgfSwgMSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkRvd25sb2FkQ2xpY2soKSB7XHJcbiAgICBjb25zdCBibG9iOiBCbG9iID0gYXdhaXQgdGhpcy5fcGRmVmlld2VyU2VydmljZS5nZXRDdXJyZW50RG9jdW1lbnRBc0Jsb2IoKTtcclxuICAgIGNvbnN0IG9iamVjdFVybDogc3RyaW5nID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIGNvbnN0IGE6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xyXG5cclxuICAgIGEuaHJlZiA9IG9iamVjdFVybDtcclxuICAgIGEuZG93bmxvYWQgPSB0aGlzLmRvd25sb2FkRmlsZU5hbWUgfHwgdGhpcy5zcmM7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKG9iamVjdFVybCk7XHJcbiAgfVxyXG5cclxuICBvblNpZGViYXJWaWV3Q2xpY2soKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gIXRoaXMuc2lkZWJhclZpc2libGU7XHJcbiAgfVxyXG5cclxuICBvbkV4cGFuZE1vZGVDbGljaygpIHtcclxuICAgIGNvbnN0IHBkZlZpZXdlckFwcGxpY2F0aW9uID0gKHdpbmRvdyBhcyBhbnkpLlBERlZpZXdlckFwcGxpY2F0aW9uO1xyXG5cclxuICAgIGlmIChwZGZWaWV3ZXJBcHBsaWNhdGlvbj8ucGRmVmlld2VyKSB7XHJcbiAgICAgIHBkZlZpZXdlckFwcGxpY2F0aW9uLnJlcXVlc3RQcmVzZW50YXRpb25Nb2RlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaENsaWNrKCkge1xyXG4gICAgdGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSA9ICF0aGlzLmlzU2VhcmNoUGFuZWxWaXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2goJGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGlmICgkZXZlbnQpIHtcclxuICAgICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kKCRldmVudCwge2hpZ2hsaWdodEFsbDogdHJ1ZX0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmZpbmQoJycsIHt9KTtcclxuICB9XHJcblxyXG4gIGZpbmROZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kTmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgZmluZFByZXZpb3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kUHJldmlvdXMoKTtcclxuICB9XHJcblxyXG4gIG9uVXBkYXRlTWF0Y2hDYXNlKCRldmVudDogRmluZFJlc3VsdE1hdGNoZXNDb3VudCkge1xyXG4gICAgdGhpcy50b3RhbEZvdW5kID0gJGV2ZW50LnRvdGFsO1xyXG4gICAgdGhpcy5jdXJyZW50RmluZCA9ICRldmVudC5jdXJyZW50O1xyXG4gIH1cclxuXHJcbiAgb25GaW5kU3RhdGVDaGFuZ2VkKCRldmVudDogRmluZFN0YXRlKSB7XHJcbiAgICB0aGlzLmZpbmRTdGF0ZSA9ICRldmVudDtcclxuICB9XHJcblxyXG4gIG9uU2lkZWJhclZpc2libGVDaGFuZ2UoJGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gJGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgb25IYW5kVG9vbENsaWNrKCkge1xyXG4gICAgdGhpcy5oYW5kVG9vbCA9ICF0aGlzLmhhbmRUb29sO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2N1c3RvbVRvb2xiYXI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX190b29sYmFyXCIgaWQ9XCJ0b29sYmFyVmlld2VyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGctMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGctMVwiPlxyXG4gICAgICAgIEBpZihzaG93U2lkZWJhckJ1dHRvbikge1xyXG4gICAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWJ1cmdlcidcIlxyXG4gICAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgICAobXJ4Q2xpY2spPVwib25TaWRlYmFyVmlld0NsaWNrKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6IHNpZGViYXJWaXNpYmxlfVwiXHJcbiAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7QutCw0LfQsNGC0Ywv0YHQutGA0YvRgtGMINCx0L7QutC+0LLRg9GOINC/0LDQvdC10LvRjCdcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKHNob3dGaW5kYmFyQnV0dG9uKSB7XHJcbiAgICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tc2VhcmNoJ1wiXHJcbiAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgIChtcnhDbGljayk9XCJvblNlYXJjaENsaWNrKClcIlxyXG4gICAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yIG1yeC1wZGYtdmlld2VyX19maW5kLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6IGlzU2VhcmNoUGFuZWxWaXNpYmxlfVwiXHJcbiAgICAgICAgICAgIFt0b29sdGlwXT1cIifQndCw0LnRgtC4INCyINC00L7QutGD0LzQtdC90YLQtSdcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNTZWFyY2hQYW5lbFZpc2libGVcIiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX19maW5kYmFyIGctMVwiICNmaW5kTWVudT5cclxuICAgICAgICA8bXJ4LWlucHV0LXRleHRcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cImZpbmRTdGF0ZSA9PT0gMSA/ICdtcngtaW5wdXQtZXJyb3InIDonJysnc2VhcmNoVGV4dCdcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLQndCw0LnRgtC4INCyINC00L7QutGD0LzQtdC90YLQtS4uLlwiXHJcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hRdWVyeVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9tcngtaW5wdXQtdGV4dD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1sZWZ0J1wiXHJcbiAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidwLTEnXCJcclxuICAgICAgICAgICAgKG1yeENsaWNrKT1cImZpbmRQcmV2aW91cygpXCJcclxuICAgICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLXJpZ2h0J1wiXHJcbiAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidwLTEnXCJcclxuICAgICAgICAgICAgKG1yeENsaWNrKT1cImZpbmROZXh0KClcIlxyXG4gICAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZihmaW5kU3RhdGUgPT09IDAgfHwgZmluZFN0YXRlID09PSAyKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJfX2ZpbmRiYXItcmVzdWx0XCI+XHJcbiAgICAgICAgICAgIHt7Y3VycmVudEZpbmR9fSDQuNC3IHt7dG90YWxGb3VuZH19INGB0L7QstC/0LDQtNC10L3QuNC5XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKGZpbmRTdGF0ZSA9PT0gMSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbG9yLW5lZ2F0aXZlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbm93cmFwXCI+0KTRgNCw0LfQsCDQvdC1INC90LDQudC00LXQvdCwPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX190b29sYmFyLS1uYXZcIj5cclxuICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWluLXRoZS1lbmQtbGVmdCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcF09XCIn0J/QtdGA0LLQsNGPINGB0YLRgNCw0L3QuNGG0LAnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUGFnZUNoYW5nZSgxKVwiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1sZWZ0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9GA0LXQtNGL0LTRg9GJ0LDRjyDRgdGC0YDQsNC90LjRhtCwJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvblBhZ2VDaGFuZ2UocGFnZSAtIDEgfHwgMSlcIlxyXG4gICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICA8bXJ4LWlucHV0LW51bWJlciBcclxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIiBcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtNTYnXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cInBhZ2VcIlxyXG4gICAgICAgICAgW251bWJlclR5cGVdPVwiJ2ludCdcIlxyXG4gICAgICAgICAgW21pblZhbHVlXT1cIjFcIlxyXG4gICAgICAgICAgW21heFZhbHVlXT1cInBhZ2VDb3VudFwiXHJcbiAgICAgICAgICBbaXNBdXRvQ29ycmVjdGluZ1ZhbHVlXT1cInRydWVcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+0LjQtyB7e3BhZ2VDb3VudH19PC9zcGFuPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1yaWdodCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25OZXh0UGFnZSgpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQodC70LXQtNGD0Y7RidCw0Y8g0YHRgtGA0LDQvdC40YbQsCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24taW4tdGhlLWVuZC1yaWdodCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25MYXN0UGFnZSgpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0YHQu9C10LTQvdGP0Y8g0YHRgtGA0LDQvdC40YbQsCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgIChtcnhDbGljayk9XCJ6b29tQ2xpY2soZmFsc2UpXCJcclxuICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLW1pbnVzJ1wiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICBbdG9vbHRpcF09XCIn0KPQvNC10L3RjNGI0LjRgtGMJ1wiXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgIChtcnhDbGljayk9XCJ6b29tQ2xpY2sodHJ1ZSlcIlxyXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tcGx1cydcIlxyXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cj0LLQtdC70LjRh9C40YLRjCdcIlxyXG4gICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaW5wdXQtc2VsZWN0XHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtMTU2J1wiXHJcbiAgICAgICAgW2l0ZW1zXT1cInpvb21PcHRpb25zXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblpvb21MZXZlbFNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFpvb21cIlxyXG4gICAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIj5cclxuICAgICAgPC9tcngtaW5wdXQtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1mYy10ZXh0J1wiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICpuZ0lmPVwic2hvd0hhbmRUb29sQnV0dG9uXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6ICFoYW5kVG9vbH1cIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIChtcnhDbGljayk9XCJvbkhhbmRUb29sQ2xpY2soKVwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXJlbG9hZCdcIlxyXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAqbmdJZj1cInNob3dSb3RhdGVCdXR0b25cIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIChtcnhDbGljayk9XCJvblJvdGF0ZSgxKVwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgIFt0b29sdGlwXT1cIifQn9C+0LLQtdGA0L3Rg9GC0Ywg0L/QviDRh9Cw0YHQvtCy0L7QuSDRgdGC0YDQtdC70LrQtSdcIlxyXG4gICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tcmV0dXJuJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dSb3RhdGVCdXR0b25cIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25Sb3RhdGUoLTEpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0LLQtdGA0L3Rg9GC0Ywg0L/RgNC+0YLQuNCyINGH0LDRgdC+0LLQvtC5INGB0YLRgNC10LvQutC4J1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWFycm93LWV4cGFuZCdcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93RXhwYW5kQnV0dG9uXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uRXhwYW5kTW9kZUNsaWNrKClcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7QutCw0LfQsNGC0Ywg0L3QsCDQstC10YHRjCDRjdC60YDQsNC9J1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXByaW50J1wiXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dQcmludEJ1dHRvblwiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C10YfQsNGC0YwnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUHJpbnRDbGljaygpXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dEb3dubG9hZEJ1dHRvblwiXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWRvd25sb2FkJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQodC60LDRh9Cw0YLRjCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25Eb3dubG9hZENsaWNrKClcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmd4LWV4dGVuZGVkLXBkZi12aWV3ZXJcclxuICAgICNwZGZWaWV3ZXJcclxuICAgIGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJcIlxyXG4gICAgW3BhZ2VdPVwicGFnZVwiXHJcbiAgICBbc2lkZWJhclZpc2libGVdPVwic2hvd1NpZGViYXJCdXR0b24gJiYgc2lkZWJhclZpc2libGVcIlxyXG4gICAgKHNpZGViYXJWaXNpYmxlQ2hhbmdlKT1cIm9uU2lkZWJhclZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbY3VzdG9tVG9vbGJhcl09XCJjdXN0b21Ub29sYmFyXCJcclxuICAgIFtzaG93U2lkZWJhckJ1dHRvbl09XCJ0cnVlXCJcclxuICAgIChwYWdlc0xvYWRlZCk9XCJvblBhZ2VzTG9hZGVkKCRldmVudClcIlxyXG4gICAgW3pvb21dPVwic2VsZWN0ZWRab29tLnZhbHVlXCJcclxuICAgICh6b29tQ2hhbmdlKT1cIm9uWm9vbUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFt0ZXh0TGF5ZXJdPVwidHJ1ZVwiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbaGFuZFRvb2xdPVwiaGFuZFRvb2xcIlxyXG4gICAgW3JvdGF0aW9uXT1cInJvdGF0aW9uXCJcclxuICAgICh1cGRhdGVGaW5kTWF0Y2hlc0NvdW50KT1cIm9uVXBkYXRlTWF0Y2hDYXNlKCRldmVudClcIlxyXG4gICAgKHVwZGF0ZUZpbmRTdGF0ZSk9XCJvbkZpbmRTdGF0ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICBbc3JjXT1cInNyY1wiPlxyXG48L25neC1leHRlbmRlZC1wZGYtdmlld2VyPlxyXG4iXX0=
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBRUwsU0FBUyxFQUNULDZCQUE2QixFQUc5QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFzQmpDLE1BQU0sT0FBTyxrQkFBa0I7SUEwQ25CO0lBQ0E7SUFDQTtJQTNDSCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsR0FBYyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ3pDLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDdkIsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1Qsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQzdCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFlBQVksR0FBOEMsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQztJQUNsRyxXQUFXLEdBQUc7UUFDbkIsRUFBQyxL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QUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7NEJBQ3BELFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO3lCQUNyRCxDQUFDO3FCQUNILGFBQ1UsQ0FBQyxjQUFjLENBQUMsbUJBQ1YsdUJBQXVCLENBQUMsTUFBTTt3SkE0QnRDLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRW9DLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsNkJBQTZCO2dCQUNqQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBUb29sdGlwU2VydmljZSB9IGZyb20gJy4uL3Rvb2x0aXAvc2VydmljZXMvdG9vbHRpcC5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBGaW5kUmVzdWx0TWF0Y2hlc0NvdW50LFxyXG4gIEZpbmRTdGF0ZSxcclxuICBOZ3hFeHRlbmRlZFBkZlZpZXdlckNvbXBvbmVudCxcclxuICBOZ3hFeHRlbmRlZFBkZlZpZXdlclNlcnZpY2UsXHJcbiAgUGFnZXNMb2FkZWRFdmVudFxyXG59IGZyb20gJ25neC1leHRlbmRlZC1wZGYtdmlld2VyJztcclxuXHJcbnR5cGUgUm90YXRpb25UeXBlID0gMCB8IDkwIHwgMTgwIHwgMjcwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtcGRmLXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BkZi12aWV3ZXIuY29tcG9uZW50Lmxlc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICdvcGVuJyxcclxuICAgICAgICBzdHlsZSh7aGVpZ2h0OiAnKicsIHBhZGRpbmc6ICcqJywgJ21hcmdpbi1ib3R0b20nOiAnOHB4J30pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7aGVpZ2h0OiAwLCBwYWRkaW5nOiAwLCAnbWFyZ2luLWJvdHRvbSc6IDB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ29wZW4gPT4gY2xvc2VkJywgW2FuaW1hdGUoJzAuNXMgZWFzZScpXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ2Nsb3NlZCA9PiBvcGVuJywgW2FuaW1hdGUoJzAuNXMgZWFzZScpXSksXHJcbiAgICBdKSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1Rvb2x0aXBTZXJ2aWNlXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBkZlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBwdWJsaWMgc2VhcmNoUXVlcnkgPSAnJztcclxuICBwdWJsaWMgZmluZFN0YXRlOiBGaW5kU3RhdGUgPSBGaW5kU3RhdGUuUEVORElORztcclxuICBwdWJsaWMgdG90YWxGb3VuZDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY3VycmVudEZpbmQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHBhZ2UgPSAxO1xyXG4gIHB1YmxpYyBpc1NlYXJjaFBhbmVsVmlzaWJsZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaWRlYmFyVmlzaWJsZSA9IHRydWU7XHJcbiAgcHVibGljIHBhZ2VDb3VudCA9IDE7XHJcbiAgcHVibGljIHNlbGVjdGVkWm9vbTogeyB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBsYWJlbDogc3RyaW5nIH0gPSB7dmFsdWU6ICdhdXRvJywgbGFiZWw6ICfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCd9O1xyXG4gIHB1YmxpYyB6b29tT3B0aW9ucyA9IFtcclxuICAgIHt2YWx1ZTogJ2F1dG8nLCBsYWJlbDogJ9CQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4J30sXHJcbiAgICB7dmFsdWU6ICdwYWdlLWFjdHVhbCcsIGxhYmVsOiAn0KDQtdCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAnfSxcclxuICAgIHt2YWx1ZTogJ3BnZS1maXQnLCBsYWJlbDogJ9Cf0L4g0YDQsNC30LzQtdGA0YMg0YHRgtGA0LDQvdC40YbRiyd9LFxyXG4gICAge3ZhbHVlOiAncGFnZS13aWR0aCcsIGxhYmVsOiAn0J/QviDRiNC40YDQuNC90LUg0YHRgtGA0LDQvdC40YbRiyd9LFxyXG4gICAge3ZhbHVlOiA1MCwgbGFiZWw6ICc1MCUnfSxcclxuICAgIHt2YWx1ZTogMTAwLCBsYWJlbDogJzEwMCUnfSxcclxuICAgIHt2YWx1ZTogMTI1LCBsYWJlbDogJzEyNSUnfSxcclxuICAgIHt2YWx1ZTogMTUwLCBsYWJlbDogJzE1MCUnfSxcclxuICAgIHt2YWx1ZTogMjAwLCBsYWJlbDogJzIwMCUnfSxcclxuICAgIHt2YWx1ZTogMzAwLCBsYWJlbDogJzMwMCUnfSxcclxuICAgIHt2YWx1ZTogNDAwLCBsYWJlbDogJzQwMCUnfSxcclxuICBdO1xyXG5cclxuICBwdWJsaWMgcm90YXRpb246IFJvdGF0aW9uVHlwZSA9IDA7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dTaWRlYmFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93SGFuZFRvb2xCdXR0b24gPSBmYWxzZTtcclxuICBASW5wdXQoKSBoYW5kVG9vbCA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0ZpbmRiYXJCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dSb3RhdGVCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dQcmludEJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0Rvd25sb2FkQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RXhwYW5kQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkZWZhdWx0Wm9vbTogbnVtYmVyIHwgJ2F1dG8nIHwgJ3BhZ2UtYWN0dWFsJyB8ICdwZ2UtZml0JyB8ICdwYWdlLXdpZHRoJyA9ICdhdXRvJztcclxuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lID0gJyc7XHJcbiAgQElucHV0KCkgc3JjID0gJyc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoTmd4RXh0ZW5kZWRQZGZWaWV3ZXJDb21wb25lbnQpIHBkZlZpZXdlciE6IE5neEV4dGVuZGVkUGRmVmlld2VyQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbmRNZW51JykgZmluZE1lbnU6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9wZGZWaWV3ZXJTZXJ2aWNlOiBOZ3hFeHRlbmRlZFBkZlZpZXdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2RlZmF1bHRab29tJ10gJiYgY2hhbmdlc1snZGVmYXVsdFpvb20nXS5jdXJyZW50VmFsdWUgIT0gY2hhbmdlc1snZGVmYXVsdFpvb20nXS5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuaW5pdFpvb20oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXRab29tKCkge1xyXG4gICAgY29uc3QgZXhpc3RpbmdWYWx1ZSA9IHRoaXMuem9vbU9wdGlvbnMuZmluZCh4ID0+IHgudmFsdWUgPT09IHRoaXMuZGVmYXVsdFpvb20pO1xyXG5cclxuICAgIGlmIChleGlzdGluZ1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0gey4uLmV4aXN0aW5nVmFsdWV9O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7dmFsdWU6IHRoaXMuZGVmYXVsdFpvb20sIGxhYmVsOiBgJHt0aGlzLmRlZmF1bHRab29tfSVgfTtcclxuICB9XHJcblxyXG4gIGluaXRTZWFyY2goKSB7XHJcbiAgICBpZiAodGhpcy5zaG93RmluZGJhckJ1dHRvbikge1xyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAnZicgJiYgZXZlbnQuY3RybEtleSkge1xyXG4gICAgICAgICAgdGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0U2VhcmNoKCk7XHJcbiAgICB0aGlzLmluaXRab29tKCk7XHJcblxyXG4gICAgdGhpcy5fcmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnY2xpY2snLCAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlzU2VhcmNoUGFuZWxWaXNpYmxlKSB7XHJcbiAgICAgICAgY29uc3QgaXNJbk1lbnUgPSB0aGlzLmZpbmRNZW51Py5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcclxuICAgICAgICAgIHx8IChldmVudC50YXJnZXQgYXMgYW55KS5pZCA9PT0gJ2ZpbmROZXh0J1xyXG4gICAgICAgICAgfHwgKGV2ZW50LnRhcmdldCBhcyBhbnkpLmlkID09PSAnZmluZFByZXZpb3VzJztcclxuXHJcbiAgICAgICAgY29uc3QgaXNGaW5kQnV0dG9uID0gKGV2ZW50LnRhcmdldCBhcyBhbnkpLmNsYXNzTGlzdC5jb250YWlucygnbXJ4LXBkZi12aWV3ZXJfX2ZpbmQtYnV0dG9uJyk7XHJcblxyXG4gICAgICAgIGlmICghaXNJbk1lbnUgJiYgIWlzRmluZEJ1dHRvbikge1xyXG4gICAgICAgICAgdGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VDaGFuZ2UoJGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucGFnZSA9ICRldmVudCB8fCAxO1xyXG4gIH1cclxuXHJcbiAgb25OZXh0UGFnZSgpIHtcclxuICAgIGlmICh0aGlzLnBhZ2UgPCB0aGlzLnBhZ2VDb3VudCkge1xyXG4gICAgICB0aGlzLnBhZ2UgPSB0aGlzLnBhZ2UgKyAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25MYXN0UGFnZSgpIHtcclxuICAgIHRoaXMucGFnZSA9IHRoaXMucGFnZUNvdW50O1xyXG4gIH1cclxuXHJcbiAgb25QYWdlc0xvYWRlZCgkZXZlbnQ6IFBhZ2VzTG9hZGVkRXZlbnQpIHtcclxuICAgIGNvbnN0IHZpZXdPdXRsaW5lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3ZpZXdPdXRsaW5lJyk7XHJcbiAgICBjb25zdCB2aWV3VGh1bWJuYWlsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3ZpZXdUaHVtYm5haWwnKTtcclxuXHJcbiAgICB0aGlzLnBhZ2VDb3VudCA9ICRldmVudC5wYWdlc0NvdW50O1xyXG5cclxuICAgIGlmICh2aWV3T3V0bGluZSkge1xyXG4gICAgICAodmlld091dGxpbmUgYXMgYW55KS50aXRsZSA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHZpZXdUaHVtYm5haWwsICdkaXNwbGF5JywgJ25vbmUnKVxyXG4gICAgaWYgKHZpZXdUaHVtYm5haWwpIHtcclxuICAgICAgXHJcbiAgICAgICh2aWV3VGh1bWJuYWlsIGFzIGFueSkudGl0bGUgPSAndGVzdCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB6b29tQ2xpY2soaW5jcmVhc2U6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiAxMDAsIGxhYmVsOiAnMTAwJSd9O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmV3VmFsdWUgPSBpbmNyZWFzZSA/IHRoaXMuc2VsZWN0ZWRab29tLnZhbHVlICs9IDIwIDogdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgLT0gMjA7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7dmFsdWU6IG5ld1ZhbHVlLCBsYWJlbDogYCR7bmV3VmFsdWV9JWB9O1xyXG4gIH1cclxuXHJcbiAgb25ab29tTGV2ZWxTZWxlY3QoaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBvblpvb21DaGFuZ2UoJGV2ZW50OiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nT3B0aW9uID0gdGhpcy56b29tT3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gJGV2ZW50KTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdPcHRpb24pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7Li4uZXhpc3RpbmdPcHRpb259O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZml4ZWRWYWx1ZSA9IE1hdGgucm91bmQoTnVtYmVyKCRldmVudCkpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiBmaXhlZFZhbHVlLCBsYWJlbDogYCR7Zml4ZWRWYWx1ZX0lYH07XHJcbiAgfVxyXG5cclxuICBvblJvdGF0ZShkaXJlY3Rpb246IG51bWJlcikge1xyXG4gICAgbGV0IGRhdGEgPSB0aGlzLnJvdGF0aW9uO1xyXG5cclxuICAgIGlmIChkaXJlY3Rpb24gPCAwKSB7XHJcbiAgICAgIGRhdGEgLT0gOTA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkYXRhICs9IDkwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkYXRhID49IDM2MCkge1xyXG4gICAgICB0aGlzLnJvdGF0aW9uID0gZGF0YSAtIDM2MCBhcyBSb3RhdGlvblR5cGU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0YSA8IDApIHtcclxuICAgICAgdGhpcy5yb3RhdGlvbiA9IDM2MCArIGRhdGEgYXMgUm90YXRpb25UeXBlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3RhdGlvbiA9IGRhdGEgYXMgUm90YXRpb25UeXBlO1xyXG4gIH1cclxuXHJcbiAgb25QcmludENsaWNrKCkge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5wcmludCgpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBwcmludERpYWxvZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2RpYWxvZyNwcmludFNlcnZpY2VEaWFsb2cnKTtcclxuICAgICAgY29uc3QgcHJvZ3Jlc3NUZXh0ID0gcHJpbnREaWFsb2c/LnF1ZXJ5U2VsZWN0b3IoJy5yb3cgc3BhbicpO1xyXG4gICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBwcmludERpYWxvZz8ucXVlcnlTZWxlY3RvcignI3ByaW50Q2FuY2VsIHNwYW4nKTtcclxuXHJcbiAgICAgIGlmIChwcm9ncmVzc1RleHQpIHtcclxuICAgICAgICBwcm9ncmVzc1RleHQudGV4dENvbnRlbnQgPSAn0J/QvtC00LPQvtGC0L7QstC60LAg0LTQvtC60YPQvNC10L3RgtCwINC6INC/0LXRh9Cw0YLQuC4uLic7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjYW5jZWxCdXR0b24pIHtcclxuICAgICAgICBjYW5jZWxCdXR0b24udGV4dENvbnRlbnQgPSAn0J7RgtC80LXQvdCwJztcclxuICAgICAgfVxyXG4gICAgfSwgMSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkRvd25sb2FkQ2xpY2soKSB7XHJcbiAgICBjb25zdCBibG9iOiBCbG9iID0gYXdhaXQgdGhpcy5fcGRmVmlld2VyU2VydmljZS5nZXRDdXJyZW50RG9jdW1lbnRBc0Jsb2IoKTtcclxuICAgIGNvbnN0IG9iamVjdFVybDogc3RyaW5nID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIGNvbnN0IGE6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xyXG5cclxuICAgIGEuaHJlZiA9IG9iamVjdFVybDtcclxuICAgIGEuZG93bmxvYWQgPSB0aGlzLmRvd25sb2FkRmlsZU5hbWUgfHwgdGhpcy5zcmM7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKG9iamVjdFVybCk7XHJcbiAgfVxyXG5cclxuICBvblNpZGViYXJWaWV3Q2xpY2soKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gIXRoaXMuc2lkZWJhclZpc2libGU7XHJcbiAgfVxyXG5cclxuICBvbkV4cGFuZE1vZGVDbGljaygpIHtcclxuICAgIGNvbnN0IHBkZlZpZXdlckFwcGxpY2F0aW9uID0gKHdpbmRvdyBhcyBhbnkpLlBERlZpZXdlckFwcGxpY2F0aW9uO1xyXG5cclxuICAgIGlmIChwZGZWaWV3ZXJBcHBsaWNhdGlvbj8ucGRmVmlld2VyKSB7XHJcbiAgICAgIHBkZlZpZXdlckFwcGxpY2F0aW9uLnJlcXVlc3RQcmVzZW50YXRpb25Nb2RlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaENsaWNrKCkge1xyXG4gICAgdGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSA9ICF0aGlzLmlzU2VhcmNoUGFuZWxWaXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2goJGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGlmICgkZXZlbnQpIHtcclxuICAgICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kKCRldmVudCwge2hpZ2hsaWdodEFsbDogdHJ1ZX0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmZpbmQoJycsIHt9KTtcclxuICB9XHJcblxyXG4gIGZpbmROZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kTmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgZmluZFByZXZpb3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kUHJldmlvdXMoKTtcclxuICB9XHJcblxyXG4gIG9uVXBkYXRlTWF0Y2hDYXNlKCRldmVudDogRmluZFJlc3VsdE1hdGNoZXNDb3VudCkge1xyXG4gICAgdGhpcy50b3RhbEZvdW5kID0gJGV2ZW50LnRvdGFsO1xyXG4gICAgdGhpcy5jdXJyZW50RmluZCA9ICRldmVudC5jdXJyZW50O1xyXG4gIH1cclxuXHJcbiAgb25GaW5kU3RhdGVDaGFuZ2VkKCRldmVudDogRmluZFN0YXRlKSB7XHJcbiAgICB0aGlzLmZpbmRTdGF0ZSA9ICRldmVudDtcclxuICB9XHJcblxyXG4gIG9uU2lkZWJhclZpc2libGVDaGFuZ2UoJGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gJGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgb25IYW5kVG9vbENsaWNrKCkge1xyXG4gICAgdGhpcy5oYW5kVG9vbCA9ICF0aGlzLmhhbmRUb29sO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2N1c3RvbVRvb2xiYXI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX190b29sYmFyXCIgaWQ9XCJ0b29sYmFyVmlld2VyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGctMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGctMVwiPlxyXG4gICAgICAgIEBpZihzaG93U2lkZWJhckJ1dHRvbikge1xyXG4gICAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWJ1cmdlcidcIlxyXG4gICAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgICAobXJ4Q2xpY2spPVwib25TaWRlYmFyVmlld0NsaWNrKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6IHNpZGViYXJWaXNpYmxlfVwiXHJcbiAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7QutCw0LfQsNGC0Ywv0YHQutGA0YvRgtGMINCx0L7QutC+0LLRg9GOINC/0LDQvdC10LvRjCdcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKHNob3dGaW5kYmFyQnV0dG9uKSB7XHJcbiAgICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tc2VhcmNoJ1wiXHJcbiAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgIChtcnhDbGljayk9XCJvblNlYXJjaENsaWNrKClcIlxyXG4gICAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yIG1yeC1wZGYtdmlld2VyX19maW5kLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6IGlzU2VhcmNoUGFuZWxWaXNpYmxlfVwiXHJcbiAgICAgICAgICAgIFt0b29sdGlwXT1cIifQndCw0LnRgtC4INCyINC00L7QutGD0LzQtdC90YLQtSdcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNTZWFyY2hQYW5lbFZpc2libGVcIiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX19maW5kYmFyIGctMVwiICNmaW5kTWVudT5cclxuICAgICAgICA8bXJ4LWlucHV0LXRleHRcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cImZpbmRTdGF0ZSA9PT0gMSA/ICdtcngtaW5wdXQtZXJyb3InIDonJysnc2VhcmNoVGV4dCdcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLQndCw0LnRgtC4INCyINC00L7QutGD0LzQtdC90YLQtS4uLlwiXHJcbiAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hRdWVyeVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9tcngtaW5wdXQtdGV4dD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1sZWZ0J1wiXHJcbiAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidwLTEnXCJcclxuICAgICAgICAgICAgKG1yeENsaWNrKT1cImZpbmRQcmV2aW91cygpXCJcclxuICAgICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLXJpZ2h0J1wiXHJcbiAgICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidwLTEnXCJcclxuICAgICAgICAgICAgKG1yeENsaWNrKT1cImZpbmROZXh0KClcIlxyXG4gICAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZihmaW5kU3RhdGUgPT09IDAgfHwgZmluZFN0YXRlID09PSAyKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJfX2ZpbmRiYXItcmVzdWx0XCI+XHJcbiAgICAgICAgICAgIHt7Y3VycmVudEZpbmR9fSDQuNC3IHt7dG90YWxGb3VuZH19INGB0L7QstC/0LDQtNC10L3QuNC5XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKGZpbmRTdGF0ZSA9PT0gMSkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbG9yLW5lZ2F0aXZlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbm93cmFwXCI+0KTRgNCw0LfQsCDQvdC1INC90LDQudC00LXQvdCwPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX190b29sYmFyLS1uYXZcIj5cclxuICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWluLXRoZS1lbmQtbGVmdCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcF09XCIn0J/QtdGA0LLQsNGPINGB0YLRgNCw0L3QuNGG0LAnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUGFnZUNoYW5nZSgxKVwiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1sZWZ0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9GA0LXQtNGL0LTRg9GJ0LDRjyDRgdGC0YDQsNC90LjRhtCwJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvblBhZ2VDaGFuZ2UocGFnZSAtIDEgfHwgMSlcIlxyXG4gICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICA8bXJ4LWlucHV0LW51bWJlciBcclxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIiBcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtNTYnXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cInBhZ2VcIlxyXG4gICAgICAgICAgW251bWJlclR5cGVdPVwiJ2ludCdcIlxyXG4gICAgICAgICAgW21pblZhbHVlXT1cIjFcIlxyXG4gICAgICAgICAgW21heFZhbHVlXT1cInBhZ2VDb3VudFwiXHJcbiAgICAgICAgICBbaXNBdXRvQ29ycmVjdGluZ1ZhbHVlXT1cInRydWVcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+0LjQtyB7e3BhZ2VDb3VudH19PC9zcGFuPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1yaWdodCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25OZXh0UGFnZSgpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQodC70LXQtNGD0Y7RidCw0Y8g0YHRgtGA0LDQvdC40YbQsCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24taW4tdGhlLWVuZC1yaWdodCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25MYXN0UGFnZSgpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0YHQu9C10LTQvdGP0Y8g0YHRgtGA0LDQvdC40YbQsCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgIChtcnhDbGljayk9XCJ6b29tQ2xpY2soZmFsc2UpXCJcclxuICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLW1pbnVzJ1wiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICBbdG9vbHRpcF09XCIn0KPQvNC10L3RjNGI0LjRgtGMJ1wiXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgIChtcnhDbGljayk9XCJ6b29tQ2xpY2sodHJ1ZSlcIlxyXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tcGx1cydcIlxyXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cj0LLQtdC70LjRh9C40YLRjCdcIlxyXG4gICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaW5wdXQtc2VsZWN0XHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtMTU2J1wiXHJcbiAgICAgICAgW2l0ZW1zXT1cInpvb21PcHRpb25zXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblpvb21MZXZlbFNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFpvb21cIlxyXG4gICAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIj5cclxuICAgICAgPC9tcngtaW5wdXQtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1mYy10ZXh0J1wiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICpuZ0lmPVwic2hvd0hhbmRUb29sQnV0dG9uXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6ICFoYW5kVG9vbH1cIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIChtcnhDbGljayk9XCJvbkhhbmRUb29sQ2xpY2soKVwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXJlbG9hZCdcIlxyXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAqbmdJZj1cInNob3dSb3RhdGVCdXR0b25cIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIChtcnhDbGljayk9XCJvblJvdGF0ZSgxKVwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgIFt0b29sdGlwXT1cIifQn9C+0LLQtdGA0L3Rg9GC0Ywg0L/QviDRh9Cw0YHQvtCy0L7QuSDRgdGC0YDQtdC70LrQtSdcIlxyXG4gICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tcmV0dXJuJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dSb3RhdGVCdXR0b25cIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25Sb3RhdGUoLTEpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0LLQtdGA0L3Rg9GC0Ywg0L/RgNC+0YLQuNCyINGH0LDRgdC+0LLQvtC5INGB0YLRgNC10LvQutC4J1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWFycm93LWV4cGFuZCdcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93RXhwYW5kQnV0dG9uXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uRXhwYW5kTW9kZUNsaWNrKClcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7QutCw0LfQsNGC0Ywg0L3QsCDQstC10YHRjCDRjdC60YDQsNC9J1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXByaW50J1wiXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dQcmludEJ1dHRvblwiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C10YfQsNGC0YwnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUHJpbnRDbGljaygpXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dEb3dubG9hZEJ1dHRvblwiXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWRvd25sb2FkJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQodC60LDRh9Cw0YLRjCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25Eb3dubG9hZENsaWNrKClcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmd4LWV4dGVuZGVkLXBkZi12aWV3ZXJcclxuICAgICNwZGZWaWV3ZXJcclxuICAgIGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJcIlxyXG4gICAgW3BhZ2VdPVwicGFnZVwiXHJcbiAgICBbc2lkZWJhclZpc2libGVdPVwic2hvd1NpZGViYXJCdXR0b24gJiYgc2lkZWJhclZpc2libGVcIlxyXG4gICAgKHNpZGViYXJWaXNpYmxlQ2hhbmdlKT1cIm9uU2lkZWJhclZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbY3VzdG9tVG9vbGJhcl09XCJjdXN0b21Ub29sYmFyXCJcclxuICAgIFtzaG93U2lkZWJhckJ1dHRvbl09XCJ0cnVlXCJcclxuICAgIChwYWdlc0xvYWRlZCk9XCJvblBhZ2VzTG9hZGVkKCRldmVudClcIlxyXG4gICAgW3pvb21dPVwic2VsZWN0ZWRab29tLnZhbHVlXCJcclxuICAgICh6b29tQ2hhbmdlKT1cIm9uWm9vbUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFt0ZXh0TGF5ZXJdPVwidHJ1ZVwiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbaGFuZFRvb2xdPVwiaGFuZFRvb2xcIlxyXG4gICAgW3JvdGF0aW9uXT1cInJvdGF0aW9uXCJcclxuICAgICh1cGRhdGVGaW5kTWF0Y2hlc0NvdW50KT1cIm9uVXBkYXRlTWF0Y2hDYXNlKCRldmVudClcIlxyXG4gICAgKHVwZGF0ZUZpbmRTdGF0ZSk9XCJvbkZpbmRTdGF0ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICBbc3JjXT1cInNyY1wiPlxyXG48L25neC1leHRlbmRlZC1wZGYtdmlld2VyPlxyXG4iXX0=
|