@bnsights/bbsf-admin-portal 1.0.12 → 1.0.13
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/bnsights-bbsf-admin-portal-1.0.13.tgz +0 -0
- package/bundles/bnsights-bbsf-admin-portal.umd.js +479 -307
- package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -1
- package/esm2015/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.js +2 -2
- package/esm2015/lib/Pages/anonymouslayout/activation/activation.component.js +4 -2
- package/esm2015/lib/Pages/anonymouslayout/anonymouslayout-routing.module.js +3 -1
- package/esm2015/lib/Pages/anonymouslayout/anonymouslayout.module.js +9 -5
- package/esm2015/lib/Pages/anonymouslayout/error/error.component.js +52 -0
- package/esm2015/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.js +3 -2
- package/esm2015/lib/Pages/anonymouslayout/rest-password/rest-password.component.js +4 -2
- package/esm2015/lib/Pages/anonymouslayout/upload-license/upload-license.component.js +4 -2
- package/esm2015/lib/Pages/configurations/configuration/configuration.component.js +109 -85
- package/esm2015/lib/Pages/core/authentication/admin.guard.js +5 -5
- package/esm2015/lib/Pages/core/authentication/auth.guard.js +17 -7
- package/esm2015/lib/Pages/departments/department/department.component.js +4 -2
- package/esm2015/lib/Pages/departments/department-info/department-info.component.js +2 -2
- package/esm2015/lib/Pages/helpCenter/help-center/help-center.component.js +2 -2
- package/esm2015/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.js +2 -2
- package/esm2015/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.js +2 -2
- package/esm2015/lib/Pages/license/license/license.component.js +8 -2
- package/esm2015/lib/Pages/localizations/localizations.component.js +20 -3
- package/esm2015/lib/Pages/lookups/lookup/lookup.component.js +2 -2
- package/esm2015/lib/Pages/lookups/lookup-group/lookup-group.component.js +2 -2
- package/esm2015/lib/Pages/lookups/lookup-item/lookup-item.component.js +2 -2
- package/esm2015/lib/Pages/notifications/master-layouts/master-layouts.component.js +2 -2
- package/esm2015/lib/Pages/notifications/templates/templates.component.js +2 -2
- package/esm2015/lib/Pages/providers/provider/provider.component.js +2 -2
- package/esm2015/lib/Pages/publicHolidays/public-holiday/public-holiday.component.js +4 -2
- package/esm2015/lib/Pages/roles/permission-set-info/permission-set-info.component.js +2 -2
- package/esm2015/lib/Pages/roles/permissions/permissions.component.js +2 -2
- package/esm2015/lib/Pages/roles/permissionsets/permissionsets.component.js +2 -2
- package/esm2015/lib/Pages/sectors/department-info/department-info.component.js +2 -2
- package/esm2015/lib/Pages/sectors/sector/sector.component.js +4 -2
- package/esm2015/lib/Pages/sectors/sector-info/sector-info.component.js +2 -2
- package/esm2015/lib/Pages/shared/Services/HttpErrorInterceptor.service.js +1 -2
- package/esm2015/lib/Pages/shared/Services/localizationsService.service .js +5 -2
- package/esm2015/lib/Pages/shared/Services/userService.service.js +2 -2
- package/esm2015/lib/Pages/users/users.component.js +13 -19
- package/esm2015/lib/Pages/workflows/tabs/tabs.component.js +3 -3
- package/esm2015/lib/Pages/workflows/workflow/workflow.component.js +2 -3
- package/fesm2015/bnsights-bbsf-admin-portal.js +452 -281
- package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -1
- package/lib/Pages/anonymouslayout/anonymouslayout.module.d.ts +10 -8
- package/lib/Pages/anonymouslayout/error/error.component.d.ts +23 -0
- package/lib/Pages/configurations/configuration/configuration.component.d.ts +1 -2
- package/lib/Pages/core/authentication/admin.guard.d.ts +2 -2
- package/lib/Pages/core/authentication/auth.guard.d.ts +3 -2
- package/lib/Pages/license/license/license.component.d.ts +1 -0
- package/lib/Pages/localizations/localizations.component.d.ts +1 -0
- package/lib/Pages/shared/Services/localizationsService.service .d.ts +1 -0
- package/lib/Pages/users/users.component.d.ts +1 -1
- package/lib/Pages/workflows/tabs/tabs.component.d.ts +0 -1
- package/lib/Pages/workflows/workflow/workflow.component.d.ts +0 -1
- package/package.json +3 -3
- package/src/lib/assets/css/anonymousBundle-Dark-RTL.css +3 -0
- package/src/lib/assets/css/anonymousBundle-Dark.css +4 -0
- package/src/lib/assets/css/anonymousBundle-light-RTL.css +4 -0
- package/src/lib/assets/css/anonymousBundle-light.css +3 -0
- package/bnsights-bbsf-admin-portal-1.0.12.tgz +0 -0
|
@@ -4,14 +4,14 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@angular/router";
|
|
5
5
|
import * as i2 from "@bnsights/bbsf-utilities";
|
|
6
6
|
export class AdminGuard extends AuthGuard {
|
|
7
|
-
constructor(router, authService) {
|
|
8
|
-
super(router, authService);
|
|
7
|
+
constructor(router, authService, masterLayoutService) {
|
|
8
|
+
super(router, authService, masterLayoutService);
|
|
9
9
|
this.allowedPermission = [1];
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
AdminGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AdminGuard, deps: [{ token: i1.Router }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
AdminGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AdminGuard, deps: [{ token: i1.Router }, { token: i2.AuthService }, { token: i2.MasterLayoutService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13
13
|
AdminGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AdminGuard });
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AdminGuard, decorators: [{
|
|
15
15
|
type: Injectable
|
|
16
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AuthService }]; } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AuthService }, { type: i2.MasterLayoutService }]; } });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2NvcmUvYXV0aGVudGljYXRpb24vYWRtaW4uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBSXpDLE1BQU0sT0FBTyxVQUFXLFNBQVEsU0FBUztJQUN2QyxZQUFhLE1BQWMsRUFBRSxXQUF3QixFQUFFLG1CQUF1QztRQUUxRixLQUFLLENBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7O3dHQUxVLFVBQVU7NEdBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIENhbkFjdGl2YXRlLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIE1hc3RlckxheW91dFNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBBdXRoR3VhcmQgfSBmcm9tICcuL2F1dGguZ3VhcmQnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFkbWluR3VhcmQgZXh0ZW5kcyBBdXRoR3VhcmQge1xyXG4gIGNvbnN0cnVjdG9yKCByb3V0ZXI6IFJvdXRlciwgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBtYXN0ZXJMYXlvdXRTZXJ2aWNlOk1hc3RlckxheW91dFNlcnZpY2UpXHJcbiAge1xyXG4gICAgICBzdXBlcihyb3V0ZXIsYXV0aFNlcnZpY2UsbWFzdGVyTGF5b3V0U2VydmljZSk7XHJcbiAgICAgIHRoaXMuYWxsb3dlZFBlcm1pc3Npb249WzFdO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -5,9 +5,10 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "@angular/router";
|
|
6
6
|
import * as i2 from "@bnsights/bbsf-utilities";
|
|
7
7
|
export class AuthGuard {
|
|
8
|
-
constructor(router, authService) {
|
|
8
|
+
constructor(router, authService, masterLayoutService) {
|
|
9
9
|
this.router = router;
|
|
10
10
|
this.authService = authService;
|
|
11
|
+
this.masterLayoutService = masterLayoutService;
|
|
11
12
|
this.allowedPermission = [];
|
|
12
13
|
this.homeURL = "";
|
|
13
14
|
}
|
|
@@ -23,17 +24,26 @@ export class AuthGuard {
|
|
|
23
24
|
this.router.navigate([area.AreaUrl]);
|
|
24
25
|
return true;
|
|
25
26
|
}
|
|
27
|
+
else {
|
|
28
|
+
let error = "You are trying to access undefined area.";
|
|
29
|
+
yield this.masterLayoutService.logError(error).subscribe((res) => {
|
|
30
|
+
this.router.navigate([`/Admin/account/error/${res}/${error}`]);
|
|
31
|
+
return false;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
26
34
|
}
|
|
27
35
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
36
|
+
else {
|
|
37
|
+
this.authService.setUrl(state.url);
|
|
38
|
+
this.router.navigate(['/Admin/account/login'], { queryParams: { redirect: state.url }, replaceUrl: true });
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
31
41
|
});
|
|
32
42
|
}
|
|
33
43
|
}
|
|
34
|
-
AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
+
AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.AuthService }, { token: i2.MasterLayoutService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
45
|
AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard });
|
|
36
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AuthGuard, decorators: [{
|
|
37
47
|
type: Injectable
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AuthService }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AuthService }, { type: i2.MasterLayoutService }]; } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvY29yZS9hdXRoZW50aWNhdGlvbi9hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFJaEcsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBb0IsTUFBYyxFQUFVLFdBQXdCLEVBQVUsbUJBQXVDO1FBQWpHLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFGOUcsc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBQ2pDLFlBQU8sR0FBVyxFQUFFLENBQUM7SUFFNUIsQ0FBQztJQUVLLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCOztZQUN6RSxJQUFJLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO29CQUNuRyxPQUFPLElBQUksQ0FBQTtnQkFFYixJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMxQyxJQUFJLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFBO29CQUM5RixJQUFJLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3hHLElBQUksSUFBSSxFQUFFO3dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7d0JBQ3BDLE9BQU8sSUFBSSxDQUFDO3FCQUNiO3lCQUVEO3dCQUNFLElBQUksS0FBSyxHQUFFLDBDQUEwQyxDQUFDO3dCQUN0RCxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUN0RCxDQUFDLEdBQUcsRUFBQyxFQUFFOzRCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQy9ELE9BQU8sS0FBSyxDQUFDO3dCQUVmLENBQUMsQ0FDRixDQUFDO3FCQUNIO2lCQUNGO2FBQ0Y7aUJBRUQ7Z0JBQ0UsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUMxRyxPQUFPLEtBQUssQ0FBQTthQUNiO1FBRUgsQ0FBQztLQUFBOzt1R0F0Q1UsU0FBUzsyR0FBVCxTQUFTOzRGQUFULFNBQVM7a0JBRHJCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQ2FuQWN0aXZhdGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlLCBNYXN0ZXJMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcbiAgcHVibGljIGFsbG93ZWRQZXJtaXNzaW9uOiBudW1iZXJbXSA9IFtdO1xyXG4gIHB1YmxpYyBob21lVVJMOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlICxwcml2YXRlIG1hc3RlckxheW91dFNlcnZpY2U6TWFzdGVyTGF5b3V0U2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAoYXdhaXQgdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKSkge1xyXG4gICAgICBpZiAodGhpcy5hbGxvd2VkUGVybWlzc2lvbi5sZW5ndGggPT0gMCB8fCBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmlzVXNlckluUm9sZSh0aGlzLmFsbG93ZWRQZXJtaXNzaW9uKSlcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG5cclxuICAgICAgaWYgKEVudmlyb25tZW50U2VydmljZS5BcmVhTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbGV0IHVzZXJQZXJtaXNzaW9uU2V0SUQgPSBOdW1iZXIucGFyc2VJbnQoQXV0aFNlcnZpY2UudXNlci5wcm9maWxlW1wic2VsZWN0ZWRwZXJtaXNzaW9uc2V0aWRcIl0pXHJcbiAgICAgICAgbGV0IGFyZWEgPSBFbnZpcm9ubWVudFNlcnZpY2UuQXJlYUxpc3QuZmlsdGVyKChpdGVtKSA9PiBpdGVtLlBlcm1pc3Npb25TZXRJRCA9PSB1c2VyUGVybWlzc2lvblNldElEKVswXTtcclxuICAgICAgICBpZiAoYXJlYSkge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2FyZWEuQXJlYVVybF0pXHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxldCBlcnJvcj0gXCJZb3UgYXJlIHRyeWluZyB0byBhY2Nlc3MgdW5kZWZpbmVkIGFyZWEuXCI7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLm1hc3RlckxheW91dFNlcnZpY2UubG9nRXJyb3IoZXJyb3IpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKHJlcyk9PntcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9BZG1pbi9hY2NvdW50L2Vycm9yLyR7cmVzfS8ke2Vycm9yfWBdKTtcclxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnNldFVybChzdGF0ZS51cmwpXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL2FjY291bnQvbG9naW4nXSwgeyBxdWVyeVBhcmFtczogeyByZWRpcmVjdDogc3RhdGUudXJsIH0sIHJlcGxhY2VVcmw6IHRydWUgfSlcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -40,6 +40,7 @@ export class DepartmentComponent {
|
|
|
40
40
|
let ResultModel = this.AddDepartmentForm.value;
|
|
41
41
|
let AddModel = new DepartmentModel();
|
|
42
42
|
AddModel.samAccount = ResultModel.AddSamAccount;
|
|
43
|
+
AddModel.departmentNameDTO = new EnglishArabicDTO();
|
|
43
44
|
AddModel.departmentNameDTO.Arabic = ResultModel.AddName.Arabic;
|
|
44
45
|
AddModel.departmentNameDTO.English = ResultModel.AddName.English;
|
|
45
46
|
paramArray.push(AddModel);
|
|
@@ -59,6 +60,7 @@ export class DepartmentComponent {
|
|
|
59
60
|
let ResultModel = this.EditDepartmentForm.value;
|
|
60
61
|
let EditModel = new DepartmentModel();
|
|
61
62
|
EditModel.id = this.DepartmentId;
|
|
63
|
+
EditModel.departmentNameDTO = new EnglishArabicDTO();
|
|
62
64
|
EditModel.departmentNameDTO.English = ResultModel.EditName.English;
|
|
63
65
|
EditModel.departmentNameDTO.Arabic = ResultModel.EditName.Arabic;
|
|
64
66
|
EditModel.samAccount = ResultModel.EditSamAccount;
|
|
@@ -206,7 +208,7 @@ export class DepartmentComponent {
|
|
|
206
208
|
}
|
|
207
209
|
}
|
|
208
210
|
DepartmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DepartmentComponent, deps: [{ token: i1.EnvironmentService }, { token: i2.DepartmentService }, { token: i3.NgbModal }, { token: i1.AuthService }, { token: i1.UtilityService }, { token: i4.PageInfoService }, { token: i1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
209
|
-
DepartmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DepartmentComponent, selector: "lib-department", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["DepartmentPagingViewElement"], descendants: true }, { propertyName: "ConfirmationModalControl", first: true, predicate: ["ConfirmationModalControl"], descendants: true }], ngImport: i0, template: "<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n <BBSF-TextBox [options]=\"searchTextBox\" (OnChange)=\"filterDepartmentList($event)\" [group]=\"DepartmentForm\"></BBSF-TextBox>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddDepartmentModal(AddDepartmentModal)\">\r\n <i class=\"fas fa-plus me-1\"></i>\r\n {{utilityService.getResourceValue(\"Add\")}}\r\n </button>\r\n\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"table-responsive\">\r\n <!--begin::Permission list-->\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"SamAccount\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"UsersCount\")}}</th>\r\n <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n <tr *ngFor=\"let Department of DepartmentFilteredList\">\r\n\r\n <td>\r\n <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Departments/DepartmentInfo',Department.idEncrypted]\" routerLinkActive=\"router-link-active\"\r\n class=\"text-dark\">{{Department.departmentName}}</a>\r\n\r\n </td>\r\n <td>{{Department.samAccount}}</td>\r\n <td>{{Department.usersCount}}</td>\r\n <td>\r\n <div>\r\n <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button class=\"drop-item px-3\" ngbDropdownItem\r\n (click)=\"showEditDepartmentModal(Department.id,Department.idEncrypted,EditDepartmentModal)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </button>\r\n <a ngbDropdownItem class=\"drop-item px-3\"\r\n (click)=\"showDeleteDepartmentModal(Department.idEncrypted)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n </a>\r\n </mat-menu>\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"DepartmentFilteredList.length == 0\">\r\n <td colspan=\"4\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <!--end::Permission list-->\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setDepartmentListResult($event)\" *ngIf=\"IsFilterLoaded\"\r\n [options]=\"DepartmentPaging\" [group]=\"DepartmentForm\" #DepartmentPagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddDepartmentModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Department\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"AddDepartmentFormOptions\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddDepartmentForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"AddSamAccount\" [group]=\"AddDepartmentForm\" >\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseDepartmentModal id=\"CloseDepartmentModal\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n<!--Edit Modal-->\r\n<ng-template #EditDepartmentModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Department\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"EditDepartmentFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditDepartmentForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"EditSamAccount\" [group]=\"EditDepartmentForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditDepartmentModal id=\"CloseEditDepartmentModal\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\" #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n", components: [{ type: i5.BlockUIComponent, selector: "block-ui", inputs: ["name", "template", "message", "delayStart", "delayStop"] }, { type: i6.ɵd, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.EmptyDataComponent, selector: "lib-empty-data", inputs: ["Message", "ShowImage", "ImgURL"] }, { type: i6.ɵs, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { type: i6.ɵv, selector: "BBSF-Form", inputs: ["options"] }, { type: i6.ɵc, selector: "BBSF-MultiLingualTextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i6.ɵw, selector: "BBSF-ConfirmationModal", inputs: ["options"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i10.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i3.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { type: i11.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }] });
|
|
211
|
+
DepartmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DepartmentComponent, selector: "lib-department", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["DepartmentPagingViewElement"], descendants: true }, { propertyName: "ConfirmationModalControl", first: true, predicate: ["ConfirmationModalControl"], descendants: true }], ngImport: i0, template: "<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n <!--(OnChange)=\"filterDepartmentList($event)\" -->\r\n <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"DepartmentForm\"></BBSF-TextBox>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\" (click)=\"showAddDepartmentModal(AddDepartmentModal)\">\r\n <i class=\"fas fa-plus me-1\"></i>\r\n {{utilityService.getResourceValue(\"Add\")}}\r\n </button>\r\n\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"table-responsive\">\r\n <!--begin::Permission list-->\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"SamAccount\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"UsersCount\")}}</th>\r\n <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n <tr *ngFor=\"let Department of DepartmentFilteredList\">\r\n\r\n <td>\r\n <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Departments/DepartmentInfo',Department.idEncrypted]\" routerLinkActive=\"router-link-active\"\r\n class=\"text-dark\">{{Department.departmentName}}</a>\r\n\r\n </td>\r\n <td>{{Department.samAccount}}</td>\r\n <td>{{Department.usersCount}}</td>\r\n <td>\r\n <div>\r\n <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button class=\"drop-item px-3\" ngbDropdownItem\r\n (click)=\"showEditDepartmentModal(Department.id,Department.idEncrypted,EditDepartmentModal)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </button>\r\n <a ngbDropdownItem class=\"drop-item px-3\"\r\n (click)=\"showDeleteDepartmentModal(Department.idEncrypted)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n </a>\r\n </mat-menu>\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"DepartmentFilteredList.length == 0\">\r\n <td colspan=\"4\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <!--end::Permission list-->\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setDepartmentListResult($event)\" *ngIf=\"IsFilterLoaded\"\r\n [options]=\"DepartmentPaging\" [group]=\"DepartmentForm\" #DepartmentPagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddDepartmentModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Department\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"AddDepartmentFormOptions\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddDepartmentForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"AddSamAccount\" [group]=\"AddDepartmentForm\" >\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseDepartmentModal id=\"CloseDepartmentModal\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n<!--Edit Modal-->\r\n<ng-template #EditDepartmentModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Department\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"EditDepartmentFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditDepartmentForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"EditSamAccount\" [group]=\"EditDepartmentForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditDepartmentModal id=\"CloseEditDepartmentModal\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\" #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n", components: [{ type: i5.BlockUIComponent, selector: "block-ui", inputs: ["name", "template", "message", "delayStart", "delayStop"] }, { type: i6.ɵd, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.EmptyDataComponent, selector: "lib-empty-data", inputs: ["Message", "ShowImage", "ImgURL"] }, { type: i6.ɵs, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { type: i6.ɵv, selector: "BBSF-Form", inputs: ["options"] }, { type: i6.ɵc, selector: "BBSF-MultiLingualTextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i6.ɵw, selector: "BBSF-ConfirmationModal", inputs: ["options"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i10.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i3.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { type: i11.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }] });
|
|
210
212
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DepartmentComponent, decorators: [{
|
|
211
213
|
type: Component,
|
|
212
214
|
args: [{
|
|
@@ -220,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
220
222
|
type: ViewChild,
|
|
221
223
|
args: ['ConfirmationModalControl', { static: false }]
|
|
222
224
|
}] } });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhNLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7Ozs7QUFVckYsTUFBTSxPQUFPLG1CQUFtQjtJQW9DOUIsWUFFVSxrQkFBcUMsRUFDckMsaUJBQW9DLEVBQ3BDLFlBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGVBQStCLEVBQy9CLHFCQUEyQztRQU4zQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENB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QUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQzs7WUFFL0ksSUFBSSxDQUFDLHNCQUFzQixHQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQTtJQUMxRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFL0MsQ0FBQzs7aUhBMVBVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLDJTQ2ZoQyx3K09BNEpBOzRGRDdJYSxtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtpQkFDM0M7eVJBYzhELGFBQWE7c0JBQXpFLFNBQVM7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQW1CRCx3QkFBd0I7c0JBQWpGLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRW5nbGlzaEFyYWJpY0RUTywgRmlsdGVySXRlbSwgRmlsdGVyVHlwZSwgSW5wdXRUeXBlLCBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucywgUGFnaW5nT3B0aW9ucywgVGV4dEJveE9wdGlvbnMsIEZvcm1PcHRpb25zLCBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL0RlcGFydG1lbnRTZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXBhcnRtZW50TW9kZWwgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RlcGFydG1lbnRNb2RlbHMvRGVwYXJ0bWVudE1vZGVsJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21ldHJvbmljL2NvcmUvc2VydmljZXMvcGFnZS1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCwgIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlLCBVdGlsaXR5U2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQYWdpbmdDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scy9saWIvY29udHJvbHMvUGFnaW5nL1BhZ2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzL2xpYi9jb250cm9scy9Db25maXJtYXRpb25Nb2RhbC9Db25maXJtYXRpb25Nb2RhbC5jb21wb25lbnQnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1kZXBhcnRtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVwYXJ0bWVudC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0ICxPbkRlc3Ryb3kge1xyXG4gIC8vUGFnZSByZXF1aXJlbWVudHNcclxuICBQcm9kdWN0aW9uTW9kZTogYm9vbGVhbjtcclxuICBBcGlVcmwgPSB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLkFwaVVybFxyXG5cclxuICAvL0ZpbHRlciBhbmQgcGFnaW5nIGNvbXBvbmVudHNcclxuICBEZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIHNlYXJjaFRleHRCb3g6IFRleHRCb3hPcHRpb25zO1xyXG4gIFRleHRJbnB1dEZpbHRlcjogRmlsdGVySXRlbTtcclxuICBJc0ZpbHRlckxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIERlcGFydG1lbnRQYWdpbmc6IFBhZ2luZ09wdGlvbnM7XHJcbiAgRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdDogYW55W10gPSBbXTtcclxuICBEZXBhcnRtZW50RmlsdGVyZWRMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ0RlcGFydG1lbnRQYWdpbmdWaWV3RWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwYWdpbmdFbGVtZW50OiBQYWdpbmdDb21wb25lbnQ8RGVwYXJ0bWVudE1vZGVsPjtcclxuXHJcbiAgLy9BZGQgTW9kZWwgQ29udHJvbHNcclxuICBBZGREZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEFkZERlcGFydG1lbnRGb3JtT3B0aW9uczogRm9ybU9wdGlvbnNcclxuICBBZGROYW1lOk11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zXHJcbiAgQWRkU2FtQWNjb3VudDogVGV4dEJveE9wdGlvbnM7XHJcblxyXG4gIC8vRWRpdCBNb2RlbCBDb250cm9sc1xyXG4gIEVkaXREZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnM6IEZvcm1PcHRpb25zXHJcbiAgRWRpdE5hbWU6TXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnNcclxuICBFZGl0U2FtQWNjb3VudDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRGVwYXJ0bWVudElkOiBudW1iZXI7XHJcblxyXG4gIC8vZGVsZXRlICBNb2RlbCBDb250cm9sc1xyXG4gIGRlbGV0ZURlcGFydG1lbnRJZDogc3RyaW5nO1xyXG4gIERlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnM6IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucztcclxuICBkZWxldGVDb250cm9sTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZCgnQ29uZmlybWF0aW9uTW9kYWxDb250cm9sJywgeyBzdGF0aWM6IGZhbHNlIH0pIENvbmZpcm1hdGlvbk1vZGFsQ29udHJvbDogQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQ7XHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3JcclxuICAoXHJcbiAgICBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTpFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlcGFydG1lbnRTZXJ2aWNlOiBEZXBhcnRtZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHVibGljICB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvU2VydmljZTpQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTpSZXF1ZXN0SGFuZGxlclNlcnZpY2UsXHJcbiAgICkgXHJcbiAge1xyXG4gIH1cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgIC8vUGFnZSBoZWFkZXIgKGJyZWFkY3J1bWIgYW5kIHRpdGxlKVxyXG4gICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZXBhcnRtZW50c1wiKVxyXG4gICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJIb21lXCIpLCBwYXRoOiAnL0FkbWluL0hvbWUnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH1cclxuXHJcbiAgICAgXTtcclxuICAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVUaXRsZSgpO1xyXG4gICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZUJyZWFkY3J1bWJzKCk7XHJcbiAgICAgdGhpcy5Qcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKCk7XHJcblxyXG4gICAgIC8vaW5pdGlhbGl6ZSBwYWdlXHJcbiAgICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vSW5pdGlhbGl6ZSBmaWx0ZXJzIGFuZCBwYWdpbmdcclxuICBpbml0aWFsaXplUGFnZSgpIHtcclxuICAgICAgLy8gVGV4dEJveCBpbml0XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dEJveCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLnNlYXJjaFRleHRCb3guTmFtZSA9IFwic2VhcmNoVGV4dEJveFwiXHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dEJveC5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICB0aGlzLnNlYXJjaFRleHRCb3guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dEJveC5QbGFjZWhvbGRlciA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNlYXJjaEJ5TmFtZVwiKVxyXG5cclxuICAgICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSBcInNlYXJjaFRleHRCb3hcIlxyXG4gICAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJzZWFyY2hUZXh0XCJcclxuICAgICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWVcclxuICAgICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuVGV4dEJveFxyXG5cclxuICAgICBcclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nID0gbmV3IFBhZ2luZ09wdGlvbnM8RGVwYXJ0bWVudE1vZGVsPigpO1xyXG4gICAgICB0aGlzLkRlcGFydG1lbnRQYWdpbmcuQWN0aW9uUG9zdFVSTCA9ICB0aGlzLkFwaVVybCArICdHZXREZXBhcnRtZW50c0J5RmlsdGVyJztcclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW1wic2VhcmNoVGV4dEJveFwiXVxyXG4gICAgICB0aGlzLkRlcGFydG1lbnRQYWdpbmcuRmlsdGVycyA9IFt0aGlzLlRleHRJbnB1dEZpbHRlcl1cclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLlZhbGlkYXRpb25Ub2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKClcclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLlR5cGVPZlJlc3BvbnNlPURlcGFydG1lbnRNb2RlbDtcclxuICAgICAgdGhpcy5Jc0ZpbHRlckxvYWRlZCA9IHRydWU7XHJcbiAgICAgIFxyXG4gIH1cclxuXHJcbiAgLy9QYWdpbmcgZnVuY3Rpb25zXHJcbiAgc2V0RGVwYXJ0bWVudExpc3RSZXN1bHQocmVzdWx0OkRlcGFydG1lbnRNb2RlbFtdKSB7XHJcbiAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nUmVzdWx0PSByZXN1bHRcclxuICAgIHRoaXMuRGVwYXJ0bWVudEZpbHRlcmVkTGlzdD10aGlzLkRlcGFydG1lbnRQYWdpbmdSZXN1bHQ7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKClcclxuICB9XHJcblxyXG4gIC8vQWRkIGRlcGFydG1lbnRcclxuICBzaG93QWRkRGVwYXJ0bWVudE1vZGFsKGFkZERlcGFydG1lbnRNb2RhbCkge1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdGFydEJsb2NrVUkoKVxyXG4gICAgdGhpcy5BZGREZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pXHJcblxyXG4gICAgdGhpcy5BZGREZXBhcnRtZW50Rm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1cclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEFkZERlcGFydG1lbnRNb2RlbDtcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0QWRkRGVwYXJ0bWVudEZ1bmN0aW9uO1xyXG4gICAgdGhpcy5BZGREZXBhcnRtZW50Rm9ybU9wdGlvbnMuT25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25BZGREZXBhcnRtZW50U3VjY2VzcztcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLk9uRXJyb3JIYW5kbGVyID0gdGhpcy5vbkFkZERlcGFydG1lbnRFcnJvcjtcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudCAgXHJcblxyXG4gICAgdGhpcy5BZGROYW1lID0gbmV3IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICB0aGlzLkFkZE5hbWUuTmFtZSA9IFwiQWRkTmFtZVwiO1xyXG4gICAgdGhpcy5BZGROYW1lLkFyYWJpY0xhYmVsS2V5ID0gXCJOYW1lSW5BcmFiaWNcIjtcclxuICAgIHRoaXMuQWRkTmFtZS5FbmdsaXNoTGFiZWxLZXkgPSBcIk5hbWVJbkVuZ2xpc2hcIjtcclxuICAgIHRoaXMuQWRkTmFtZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgIHRoaXMuQWRkTmFtZS5WYWx1ZSA9IG51bGw7XHJcbiAgICBcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgdGhpcy5BZGRTYW1BY2NvdW50Lk5hbWUgPSBcIkFkZFNhbUFjY291bnRcIjtcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudC5MYWJlbEtleSA9IFwiU2FtQWNjb3VudFwiO1xyXG4gICAgdGhpcy5BZGRTYW1BY2NvdW50LlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudC5WYWx1ZSA9IG51bGw7XHJcblxyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihhZGREZXBhcnRtZW50TW9kYWwpO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgY29uc29sZS5sb2coIHRoaXMuQWRkU2FtQWNjb3VudClcclxuICB9XHJcblxyXG4gIGdldEFkZERlcGFydG1lbnRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5BZGREZXBhcnRtZW50Rm9ybS52YWx1ZTtcclxuICAgIGxldCBBZGRNb2RlbDogRGVwYXJ0bWVudE1vZGVsID0gbmV3IERlcGFydG1lbnRNb2RlbCgpO1xyXG4gICAgQWRkTW9kZWwuc2FtQWNjb3VudCA9IFJlc3VsdE1vZGVsLkFkZFNhbUFjY291bnQ7XHJcbiAgICBBZGRNb2RlbC5kZXBhcnRtZW50TmFtZURUTy5BcmFiaWMgPSBSZXN1bHRNb2RlbC5BZGROYW1lLkFyYWJpYztcclxuICAgIEFkZE1vZGVsLmRlcGFydG1lbnROYW1lRFRPLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5BZGROYW1lLkVuZ2xpc2g7XHJcbiAgICBwYXJhbUFycmF5LnB1c2goQWRkTW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXRBZGREZXBhcnRtZW50RnVuY3Rpb24gPSAoQWRkTW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuYWRkRGVwYXJ0bWVudChBZGRNb2RlbClcclxuICB9XHJcbiAgb25BZGREZXBhcnRtZW50U3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcbiAgfVxyXG4gIG9uQWRkRGVwYXJ0bWVudEVycm9yID0gKGVycm9yKSA9PiB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgfVxyXG4gIC8vRWRpdCBkZXBhcnRtZW50XHJcbiAgc2hvd0VkaXREZXBhcnRtZW50TW9kYWwoZGVwYXJ0bWVudElkOiBudW1iZXIsZGVwYXJ0bWVudElERW5jOiBzdHJpbmcsIGVkaXREZXBhcnRtZW50TW9kYWwpIHtcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnMuRm9ybUdyb3VwID0gdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1cclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0RGVwYXJ0bWVudE1vZGVsO1xyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdERlcGFydG1lbnRGdW5jdGlvbjtcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5PblN1Y2Nlc3NIYW5kbGVyID0gdGhpcy5vbkVkaXREZXBhcnRtZW50U3VjY2VzcztcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5PbkVycm9ySGFuZGxlciA9IHRoaXMub25FZGl0RGVwYXJ0bWVudEVycm9yO1xyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudFxyXG5cclxuICAgIHRoaXMuRGVwYXJ0bWVudElkID0gZGVwYXJ0bWVudElkO1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZ2V0THVja3lOdW1iZXIoKS5zdWJzY3JpYmUoKCk9Pnt9KVxyXG4gICAgdGhpcy5kZXBhcnRtZW50U2VydmljZS5nZXRFZGl0RGVwYXJ0bWVudChkZXBhcnRtZW50SURFbmMpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgbGV0IGRlcGFydG1lbnQgPSByZXN1bHQubW9kZWwgYXMgYW55O1xyXG5cclxuICAgICAgbGV0IG5hbWUgPSBuZXcgRW5nbGlzaEFyYWJpY0RUTygpO1xyXG4gICAgICBuYW1lLkFyYWJpYyA9IGRlcGFydG1lbnQuZGVwYXJ0bWVudE5hbWVEVE8uYXJhYmljO1xyXG4gICAgICBuYW1lLkVuZ2xpc2ggPSBkZXBhcnRtZW50LmRlcGFydG1lbnROYW1lRFRPLmVuZ2xpc2g7XHJcblxyXG4gICAgICB0aGlzLkVkaXROYW1lID0gbmV3IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuTmFtZSA9IFwiRWRpdE5hbWVcIjtcclxuICAgICAgdGhpcy5FZGl0TmFtZS5BcmFiaWNMYWJlbEtleSA9IFwiTmFtZUluQXJhYmljXCI7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuRW5nbGlzaExhYmVsS2V5ID0gXCJOYW1lSW5FbmdsaXNoXCI7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuVmFsdWUgPSBuYW1lO1xyXG5cclxuXHJcbiAgICAgIHRoaXMuRWRpdFNhbUFjY291bnQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0U2FtQWNjb3VudC5OYW1lID0gXCJFZGl0U2FtQWNjb3VudFwiO1xyXG4gICAgICB0aGlzLkVkaXRTYW1BY2NvdW50LkxhYmVsS2V5ID0gXCJTYW1BY2NvdW50XCI7XHJcbiAgICAgIHRoaXMuRWRpdFNhbUFjY291bnQuVHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICB0aGlzLkVkaXRTYW1BY2NvdW50LlZhbHVlID0gZGVwYXJ0bWVudC5zYW1BY2NvdW50O1xyXG5cclxuICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihlZGl0RGVwYXJ0bWVudE1vZGFsKTtcclxuXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRFZGl0RGVwYXJ0bWVudE1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybS52YWx1ZTtcclxuICAgIGxldCBFZGl0TW9kZWw6IERlcGFydG1lbnRNb2RlbCA9IG5ldyBEZXBhcnRtZW50TW9kZWwoKTtcclxuICAgIEVkaXRNb2RlbC5pZCA9IHRoaXMuRGVwYXJ0bWVudElkO1xyXG4gICAgRWRpdE1vZGVsLmRlcGFydG1lbnROYW1lRFRPLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5FZGl0TmFtZS5FbmdsaXNoO1xyXG4gICAgRWRpdE1vZGVsLmRlcGFydG1lbnROYW1lRFRPLkFyYWJpYyA9IFJlc3VsdE1vZGVsLkVkaXROYW1lLkFyYWJpYztcclxuICAgIEVkaXRNb2RlbC5zYW1BY2NvdW50ID0gUmVzdWx0TW9kZWwuRWRpdFNhbUFjY291bnQ7XHJcbiAgICBwYXJhbUFycmF5LnB1c2goRWRpdE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdERlcGFydG1lbnRGdW5jdGlvbiA9IChFZGl0TW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZWRpdERlcGFydG1lbnQoRWRpdE1vZGVsKVxyXG4gIH1cclxuICBvbkVkaXREZXBhcnRtZW50U3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcbiAgfVxyXG4gIG9uRWRpdERlcGFydG1lbnRFcnJvciA9IChlcnJvcikgPT4ge1xyXG4gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgLy9EZWxldGUgZGVwYXJ0bWVudFxyXG4gIHNob3dEZWxldGVEZXBhcnRtZW50TW9kYWwoZGVwYXJ0bWVudElkRW5jOiBhbnkpIHtcclxuICAgIHRoaXMuZGVsZXRlRGVwYXJ0bWVudElkID0gZGVwYXJ0bWVudElkRW5jO1xyXG5cclxuICAgIC8vYXJyYXkgc2VudCB0byBzZXJ2aWNlIGZ1bmN0aW9uXHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIHBhcmFtQXJyYXkucHVzaCh0aGlzLmRlbGV0ZURlcGFydG1lbnRJZCk7XHJcblxyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zID0gbmV3IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucygpO1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZGVsZXRlRGVwYXJ0bWVudDtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5TZXJ2aWNlU3VibWl0TW9kZWwgPSBwYXJhbUFycmF5O1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLmRlbGV0ZUNvbnRyb2xMb2FkZWQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuQ29uZmlybWF0aW9uTW9kYWxDb250cm9sLnNob3dNb2RhbCgpO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZURlcGFydG1lbnQgPSAoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXBhcnRtZW50U2VydmljZS5kZWxldGVEZXBhcnRtZW50KGlkKTtcclxuICB9XHJcblxyXG4gIC8qKkZ1bmN0aW9uTmFtZTpmaWx0ZXJEZXBhcnRtZW50TGlzdCAqL1xyXG4gIC8qKkRlY2xhcmF0aW9uOmZ1bmN0aW9uIHRvIGZpbHRlciBEZXBhcnRtZW50TGlzdCBpbiBjbGllbnQtc2lkZSAqL1xyXG4gIC8qKlBhcmFtZXRlcnM6Ki9cclxuICAvKipzZWFyY2hWYWx1ZTogY3VycmVudCB2YWx1ZSBvZiBzZWFyY2ggYm94Ki9cclxuICBmaWx0ZXJEZXBhcnRtZW50TGlzdChzZWFyY2hWYWx1ZSl7XHJcbiAgICBpZihzZWFyY2hWYWx1ZSlcclxuICAgIHRoaXMuRGVwYXJ0bWVudEZpbHRlcmVkTGlzdD0gdGhpcy5EZXBhcnRtZW50UGFnaW5nUmVzdWx0LmZpbHRlcihpdGVtID0+IGl0ZW0uZGVwYXJ0bWVudE5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKSk7XHJcbiAgICBlbHNlXHJcbiAgICB0aGlzLkRlcGFydG1lbnRGaWx0ZXJlZExpc3Q9IHRoaXMuRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdFxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5vbkRlc3Ryb3kkLm5leHQoKTtcclxuIFxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcbjwhLS0gUGFnZSBDb250ZW50IC0tPlxyXG48ZGl2ICBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC01XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCIgKm5nSWY9XCJJc0ZpbHRlckxvYWRlZFwiPlxyXG4gICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJzZWFyY2hUZXh0Qm94XCIgIChPbkNoYW5nZSk9XCJmaWx0ZXJEZXBhcnRtZW50TGlzdCgkZXZlbnQpXCIgW2dyb3VwXT1cIkRlcGFydG1lbnRGb3JtXCI+PC9CQlNGLVRleHRCb3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgPCEtLSBiZWdpbjo6TWVudSAtLT5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIiB0aXRsZT1cIkFkZFwiIChjbGljayk9XCJzaG93QWRkRGVwYXJ0bWVudE1vZGFsKEFkZERlcGFydG1lbnRNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMgbWUtMVwiPjwvaT5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFkZFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gZW5kOjpNZW51IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBhbGlnbi1taWRkbGUgdGFibGUtcm93LWRhc2hlZCBmcy02IGd5LTUgZGF0YVRhYmxlIG5vLWZvb3RlclwiPlxyXG4gICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJ0ZXh0LXN0YXJ0IHRleHQtZ3JheS00MDAgZnctYm9sZGVyIGZzLTcgdGV4dC11cHBlcmNhc2UgZ3MtMFwiPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTmFtZVwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhbUFjY291bnRcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJVc2Vyc0NvdW50XCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3Rpb25cIil9fTwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgPHRib2R5IGlkPVwibGlzdGluZ0NvbnRhaW5lclwiIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNjAwIGJvcmRlci0wXCI+XHJcblxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IERlcGFydG1lbnQgb2YgRGVwYXJ0bWVudEZpbHRlcmVkTGlzdFwiPlxyXG5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW3JvdXRlckxpbmtdPVwiWycvQWRtaW4vRGVwYXJ0bWVudHMvRGVwYXJ0bWVudEluZm8nLERlcGFydG1lbnQuaWRFbmNyeXB0ZWRdXCIgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZGFya1wiPnt7RGVwYXJ0bWVudC5kZXBhcnRtZW50TmFtZX19PC9hPlxyXG5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD57e0RlcGFydG1lbnQuc2FtQWNjb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3tEZXBhcnRtZW50LnVzZXJzQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1saWdodCBidG4tYWN0aXZlLWxpZ2h0LXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVsbGlwc2lzLWhcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRyb3AtaXRlbSBweC0zXCIgbmdiRHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0VkaXREZXBhcnRtZW50TW9kYWwoRGVwYXJ0bWVudC5pZCxEZXBhcnRtZW50LmlkRW5jcnlwdGVkLEVkaXREZXBhcnRtZW50TW9kYWwpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3AtbGluayBweC0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3AtaXRlbSBweC0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0RlbGV0ZURlcGFydG1lbnRNb2RhbChEZXBhcnRtZW50LmlkRW5jcnlwdGVkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wLWxpbmsgcHgtM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlbGV0ZVwiKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHIgKm5nSWY9XCJEZXBhcnRtZW50RmlsdGVyZWRMaXN0Lmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI0XCI+XHJcbiAgICAgICAgICAgICAgICA8bGliLWVtcHR5LWRhdGE+PC9saWItZW1wdHktZGF0YT5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICA8IS0tZW5kOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgYm9yZGVyLTBcIj5cclxuICAgICAgPEJCU0YtUGFnaW5nIChJdGVtcyk9XCJzZXREZXBhcnRtZW50TGlzdFJlc3VsdCgkZXZlbnQpXCIgKm5nSWY9XCJJc0ZpbHRlckxvYWRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJEZXBhcnRtZW50UGFnaW5nXCIgW2dyb3VwXT1cIkRlcGFydG1lbnRGb3JtXCIgI0RlcGFydG1lbnRQYWdpbmdWaWV3RWxlbWVudD5cclxuICAgICAgPC9CQlNGLVBhZ2luZz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48IS0tYWRkIE1vZGFsLS0+XHJcbjxuZy10ZW1wbGF0ZSAjQWRkRGVwYXJ0bWVudE1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj4ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWRkXCIpfX0ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVwYXJ0bWVudFwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG4gICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJBZGREZXBhcnRtZW50Rm9ybU9wdGlvbnNcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94IFtvcHRpb25zXT1cIkFkZE5hbWVcIiBbZ3JvdXBdPVwiQWRkRGVwYXJ0bWVudEZvcm1cIj48L0JCU0YtTXVsdGlMaW5ndWFsVGV4dEJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkFkZFNhbUFjY291bnRcIiBbZ3JvdXBdPVwiQWRkRGVwYXJ0bWVudEZvcm1cIiA+XHJcbiAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VEZXBhcnRtZW50TW9kYWwgaWQ9XCJDbG9zZURlcGFydG1lbnRNb2RhbFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSAgbWUtM1wiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjwhLS1FZGl0IE1vZGFsLS0+XHJcbjxuZy10ZW1wbGF0ZSAjRWRpdERlcGFydG1lbnRNb2RhbCBsZXQtbW9kYWw+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBwYi0wIGJvcmRlci0wIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHNjcm9sbC15IHB4LTEwIHB4LWxnLTE1IHB0LTAgcGItMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0xMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKX19IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlcGFydG1lbnRcIil9fTwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiRWRpdERlcGFydG1lbnRGb3JtT3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsVGV4dEJveCBbb3B0aW9uc109XCJFZGl0TmFtZVwiIFtncm91cF09XCJFZGl0RGVwYXJ0bWVudEZvcm1cIj48L0JCU0YtTXVsdGlMaW5ndWFsVGV4dEJveD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVkaXRTYW1BY2NvdW50XCIgW2dyb3VwXT1cIkVkaXREZXBhcnRtZW50Rm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlRWRpdERlcGFydG1lbnRNb2RhbCBpZD1cIkNsb3NlRWRpdERlcGFydG1lbnRNb2RhbFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSAgbWUtM1wiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjwhLS1kZWxldGUgTW9kYWwtLT5cclxuPEJCU0YtQ29uZmlybWF0aW9uTW9kYWwgKm5nSWY9XCJkZWxldGVDb250cm9sTG9hZGVkXCIgW29wdGlvbnNdPVwiRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9uc1wiIGlkPVwiQ29uZmlybWF0aW9uTW9kYWxDb250cm9sXCIgI0NvbmZpcm1hdGlvbk1vZGFsQ29udHJvbD48L0JCU0YtQ29uZmlybWF0aW9uTW9kYWw+XHJcbiJdfQ==
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhNLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7Ozs7QUFVckYsTUFBTSxPQUFPLG1CQUFtQjtJQW9DOUIsWUFFVSxrQkFBcUMsRUFDckMsaUJBQW9DLEVBQ3BDLFlBQXNCLEVBQ3RCLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLGVBQStCLEVBQy9CLHFCQUEyQztRQU4zQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENB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Q0FBNkM7SUFDN0Msb0JBQW9CLENBQUMsV0FBVztRQUM5QixJQUFHLFdBQVc7WUFDZCxJQUFJLENBQUMsc0JBQXNCLEdBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7O1lBRS9JLElBQUksQ0FBQyxzQkFBc0IsR0FBRSxJQUFJLENBQUMsc0JBQXNCLENBQUE7SUFDMUQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRS9DLENBQUM7O2lIQTVQVSxtQkFBbUI7cUdBQW5CLG1CQUFtQiwyU0NmaEMsNi9PQTZKQTs0RkQ5SWEsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSw2QkFBNkI7aUJBQzNDO3lSQWM4RCxhQUFhO3NCQUF6RSxTQUFTO3VCQUFDLDZCQUE2QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFtQkQsd0JBQXdCO3NCQUFqRixTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVuZ2xpc2hBcmFiaWNEVE8sIEZpbHRlckl0ZW0sIEZpbHRlclR5cGUsIElucHV0VHlwZSwgTXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnMsIFBhZ2luZ09wdGlvbnMsIFRleHRCb3hPcHRpb25zLCBGb3JtT3B0aW9ucywgQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG5pbXBvcnQgeyBEZXBhcnRtZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9EZXBhcnRtZW50U2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRNb2RlbCc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsICB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEVudmlyb25tZW50U2VydmljZSwgVXRpbGl0eVNlcnZpY2UsIFJlcXVlc3RIYW5kbGVyU2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFnaW5nQ29tcG9uZW50IH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMvbGliL2NvbnRyb2xzL1BhZ2luZy9QYWdpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scy9saWIvY29udHJvbHMvQ29uZmlybWF0aW9uTW9kYWwvQ29uZmlybWF0aW9uTW9kYWwuY29tcG9uZW50JztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZGVwYXJ0bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlcGFydG1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCAsT25EZXN0cm95IHtcclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgUHJvZHVjdGlvbk1vZGU6IGJvb2xlYW47XHJcbiAgQXBpVXJsID0gdGhpcy5kZXBhcnRtZW50U2VydmljZS5BcGlVcmxcclxuXHJcbiAgLy9GaWx0ZXIgYW5kIHBhZ2luZyBjb21wb25lbnRzXHJcbiAgRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBzZWFyY2hUZXh0Qm94OiBUZXh0Qm94T3B0aW9ucztcclxuICBUZXh0SW5wdXRGaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgSXNGaWx0ZXJMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBEZXBhcnRtZW50UGFnaW5nOiBQYWdpbmdPcHRpb25zO1xyXG4gIERlcGFydG1lbnRQYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgRGVwYXJ0bWVudEZpbHRlcmVkTGlzdDogYW55W10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdEZXBhcnRtZW50UGFnaW5nVmlld0VsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcGFnaW5nRWxlbWVudDogUGFnaW5nQ29tcG9uZW50PERlcGFydG1lbnRNb2RlbD47XHJcblxyXG4gIC8vQWRkIE1vZGVsIENvbnRyb2xzXHJcbiAgQWRkRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBBZGREZXBhcnRtZW50Rm9ybU9wdGlvbnM6IEZvcm1PcHRpb25zXHJcbiAgQWRkTmFtZTpNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9uc1xyXG4gIEFkZFNhbUFjY291bnQ6IFRleHRCb3hPcHRpb25zO1xyXG5cclxuICAvL0VkaXQgTW9kZWwgQ29udHJvbHNcclxuICBFZGl0RGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBFZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zOiBGb3JtT3B0aW9uc1xyXG4gIEVkaXROYW1lOk11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zXHJcbiAgRWRpdFNhbUFjY291bnQ6IFRleHRCb3hPcHRpb25zO1xyXG4gIERlcGFydG1lbnRJZDogbnVtYmVyO1xyXG5cclxuICAvL2RlbGV0ZSAgTW9kZWwgQ29udHJvbHNcclxuICBkZWxldGVEZXBhcnRtZW50SWQ6IHN0cmluZztcclxuICBEZWxldGVDb25maXJtYXRpb25PcHRpb25zOiBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnM7XHJcbiAgZGVsZXRlQ29udHJvbExvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ0NvbmZpcm1hdGlvbk1vZGFsQ29udHJvbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBDb25maXJtYXRpb25Nb2RhbENvbnRyb2w6IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50O1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yXHJcbiAgKFxyXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6RW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkZXBhcnRtZW50U2VydmljZTogRGVwYXJ0bWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHB1YmxpYyAgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mb1NlcnZpY2U6UGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0SGFuZGxlclNlcnZpY2U6UmVxdWVzdEhhbmRsZXJTZXJ2aWNlLFxyXG4gICApIFxyXG4gIHtcclxuICB9XHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAvL1BhZ2UgaGVhZGVyIChicmVhZGNydW1iIGFuZCB0aXRsZSlcclxuICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZVRpdGxlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVwYXJ0bWVudHNcIilcclxuICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzID0gW1xyXG4gICAgICAgeyB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSG9tZVwiKSwgcGF0aDogJy9BZG1pbi9Ib21lJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9XHJcblxyXG4gICAgIF07XHJcbiAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVCcmVhZGNydW1icygpO1xyXG4gICAgIHRoaXMuUHJvZHVjdGlvbk1vZGUgPSB0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRQcm9kdWN0aW9uTW9kZSgpO1xyXG5cclxuICAgICAvL2luaXRpYWxpemUgcGFnZVxyXG4gICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2UoKTtcclxuICB9XHJcblxyXG5cclxuICAvL0luaXRpYWxpemUgZmlsdGVycyBhbmQgcGFnaW5nXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICAgIC8vIFRleHRCb3ggaW5pdFxyXG4gICAgICB0aGlzLnNlYXJjaFRleHRCb3ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5zZWFyY2hUZXh0Qm94Lk5hbWUgPSBcInNlYXJjaFRleHRCb3hcIlxyXG4gICAgICB0aGlzLnNlYXJjaFRleHRCb3guSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zZWFyY2hUZXh0Qm94LlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLnNlYXJjaFRleHRCb3guUGxhY2Vob2xkZXIgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTZWFyY2hCeU5hbWVcIilcclxuXHJcbiAgICAgIHRoaXMuVGV4dElucHV0RmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuRm9ybUNvbnRyb2xOYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwic2VhcmNoVGV4dFwiXHJcbiAgICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlXHJcbiAgICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3hcclxuXHJcbiAgICAgXHJcbiAgICAgIHRoaXMuRGVwYXJ0bWVudFBhZ2luZyA9IG5ldyBQYWdpbmdPcHRpb25zPERlcGFydG1lbnRNb2RlbD4oKTtcclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLkFjdGlvblBvc3RVUkwgPSAgdGhpcy5BcGlVcmwgKyAnR2V0RGVwYXJ0bWVudHNCeUZpbHRlcic7XHJcbiAgICAgIHRoaXMuRGVwYXJ0bWVudFBhZ2luZy5PbktleVByZXNzRmlsdGVyc0NvbnRyb2xOYW1lcyA9IFtcInNlYXJjaFRleHRCb3hcIl1cclxuICAgICAgdGhpcy5EZXBhcnRtZW50UGFnaW5nLkZpbHRlcnMgPSBbdGhpcy5UZXh0SW5wdXRGaWx0ZXJdXHJcbiAgICAgIHRoaXMuRGVwYXJ0bWVudFBhZ2luZy5WYWxpZGF0aW9uVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpXHJcbiAgICAgIHRoaXMuRGVwYXJ0bWVudFBhZ2luZy5UeXBlT2ZSZXNwb25zZT1EZXBhcnRtZW50TW9kZWw7XHJcbiAgICAgIHRoaXMuSXNGaWx0ZXJMb2FkZWQgPSB0cnVlO1xyXG4gICAgICBcclxuICB9XHJcblxyXG4gIC8vUGFnaW5nIGZ1bmN0aW9uc1xyXG4gIHNldERlcGFydG1lbnRMaXN0UmVzdWx0KHJlc3VsdDpEZXBhcnRtZW50TW9kZWxbXSkge1xyXG4gICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICAgIHRoaXMuRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdD0gcmVzdWx0XHJcbiAgICB0aGlzLkRlcGFydG1lbnRGaWx0ZXJlZExpc3Q9dGhpcy5EZXBhcnRtZW50UGFnaW5nUmVzdWx0O1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpXHJcbiAgfVxyXG5cclxuICAvL0FkZCBkZXBhcnRtZW50XHJcbiAgc2hvd0FkZERlcGFydG1lbnRNb2RhbChhZGREZXBhcnRtZW50TW9kYWwpIHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKClcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KVxyXG5cclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5Gb3JtR3JvdXAgPSB0aGlzLkFkZERlcGFydG1lbnRGb3JtXHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRBZGREZXBhcnRtZW50TW9kZWw7XHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEFkZERlcGFydG1lbnRGdW5jdGlvbjtcclxuICAgIHRoaXMuQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zLk9uU3VjY2Vzc0hhbmRsZXIgPSB0aGlzLm9uQWRkRGVwYXJ0bWVudFN1Y2Nlc3M7XHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5PbkVycm9ySGFuZGxlciA9IHRoaXMub25BZGREZXBhcnRtZW50RXJyb3I7XHJcbiAgICB0aGlzLkFkZERlcGFydG1lbnRGb3JtT3B0aW9ucy5QYWdpbmdSZWZlcmVuY2UgPSB0aGlzLnBhZ2luZ0VsZW1lbnQgIFxyXG5cclxuICAgIHRoaXMuQWRkTmFtZSA9IG5ldyBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgdGhpcy5BZGROYW1lLk5hbWUgPSBcIkFkZE5hbWVcIjtcclxuICAgIHRoaXMuQWRkTmFtZS5BcmFiaWNMYWJlbEtleSA9IFwiTmFtZUluQXJhYmljXCI7XHJcbiAgICB0aGlzLkFkZE5hbWUuRW5nbGlzaExhYmVsS2V5ID0gXCJOYW1lSW5FbmdsaXNoXCI7XHJcbiAgICB0aGlzLkFkZE5hbWUuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICB0aGlzLkFkZE5hbWUuVmFsdWUgPSBudWxsO1xyXG4gICAgXHJcbiAgICB0aGlzLkFkZFNhbUFjY291bnQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudC5OYW1lID0gXCJBZGRTYW1BY2NvdW50XCI7XHJcbiAgICB0aGlzLkFkZFNhbUFjY291bnQuTGFiZWxLZXkgPSBcIlNhbUFjY291bnRcIjtcclxuICAgIHRoaXMuQWRkU2FtQWNjb3VudC5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICB0aGlzLkFkZFNhbUFjY291bnQuVmFsdWUgPSBudWxsO1xyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oYWRkRGVwYXJ0bWVudE1vZGFsKTtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgIGNvbnNvbGUubG9nKCB0aGlzLkFkZFNhbUFjY291bnQpXHJcbiAgfVxyXG5cclxuICBnZXRBZGREZXBhcnRtZW50TW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuQWRkRGVwYXJ0bWVudEZvcm0udmFsdWU7XHJcbiAgICBsZXQgQWRkTW9kZWw6IERlcGFydG1lbnRNb2RlbCA9IG5ldyBEZXBhcnRtZW50TW9kZWwoKTtcclxuICAgIEFkZE1vZGVsLnNhbUFjY291bnQgPSBSZXN1bHRNb2RlbC5BZGRTYW1BY2NvdW50O1xyXG4gICAgQWRkTW9kZWwuZGVwYXJ0bWVudE5hbWVEVE89bmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgIEFkZE1vZGVsLmRlcGFydG1lbnROYW1lRFRPLkFyYWJpYyA9IFJlc3VsdE1vZGVsLkFkZE5hbWUuQXJhYmljO1xyXG4gICAgQWRkTW9kZWwuZGVwYXJ0bWVudE5hbWVEVE8uRW5nbGlzaCA9IFJlc3VsdE1vZGVsLkFkZE5hbWUuRW5nbGlzaDtcclxuICAgIHBhcmFtQXJyYXkucHVzaChBZGRNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldEFkZERlcGFydG1lbnRGdW5jdGlvbiA9IChBZGRNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXBhcnRtZW50U2VydmljZS5hZGREZXBhcnRtZW50KEFkZE1vZGVsKVxyXG4gIH1cclxuICBvbkFkZERlcGFydG1lbnRTdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICB9XHJcbiAgb25BZGREZXBhcnRtZW50RXJyb3IgPSAoZXJyb3IpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICB9XHJcbiAgLy9FZGl0IGRlcGFydG1lbnRcclxuICBzaG93RWRpdERlcGFydG1lbnRNb2RhbChkZXBhcnRtZW50SWQ6IG51bWJlcixkZXBhcnRtZW50SURFbmM6IHN0cmluZywgZWRpdERlcGFydG1lbnRNb2RhbCkge1xyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgIHRoaXMuRWRpdERlcGFydG1lbnRGb3JtT3B0aW9ucy5Gb3JtR3JvdXAgPSB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybVxyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEVkaXREZXBhcnRtZW50TW9kZWw7XHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnMuU2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0RGVwYXJ0bWVudEZ1bmN0aW9uO1xyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zLk9uU3VjY2Vzc0hhbmRsZXIgPSB0aGlzLm9uRWRpdERlcGFydG1lbnRTdWNjZXNzO1xyXG4gICAgdGhpcy5FZGl0RGVwYXJ0bWVudEZvcm1PcHRpb25zLk9uRXJyb3JIYW5kbGVyID0gdGhpcy5vbkVkaXREZXBhcnRtZW50RXJyb3I7XHJcbiAgICB0aGlzLkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnMuUGFnaW5nUmVmZXJlbmNlID0gdGhpcy5wYWdpbmdFbGVtZW50XHJcblxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWQgPSBkZXBhcnRtZW50SWQ7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5nZXRMdWNreU51bWJlcigpLnN1YnNjcmliZSgoKT0+e30pXHJcbiAgICB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmdldEVkaXREZXBhcnRtZW50KGRlcGFydG1lbnRJREVuYykuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgZGVwYXJ0bWVudCA9IHJlc3VsdC5tb2RlbCBhcyBhbnk7XHJcblxyXG4gICAgICBsZXQgbmFtZSA9IG5ldyBFbmdsaXNoQXJhYmljRFRPKCk7XHJcbiAgICAgIG5hbWUuQXJhYmljID0gZGVwYXJ0bWVudC5kZXBhcnRtZW50TmFtZURUTy5hcmFiaWM7XHJcbiAgICAgIG5hbWUuRW5nbGlzaCA9IGRlcGFydG1lbnQuZGVwYXJ0bWVudE5hbWVEVE8uZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMuRWRpdE5hbWUgPSBuZXcgTXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0TmFtZS5OYW1lID0gXCJFZGl0TmFtZVwiO1xyXG4gICAgICB0aGlzLkVkaXROYW1lLkFyYWJpY0xhYmVsS2V5ID0gXCJOYW1lSW5BcmFiaWNcIjtcclxuICAgICAgdGhpcy5FZGl0TmFtZS5FbmdsaXNoTGFiZWxLZXkgPSBcIk5hbWVJbkVuZ2xpc2hcIjtcclxuICAgICAgdGhpcy5FZGl0TmFtZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5FZGl0TmFtZS5WYWx1ZSA9IG5hbWU7XHJcblxyXG5cclxuICAgICAgdGhpcy5FZGl0U2FtQWNjb3VudCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRTYW1BY2NvdW50Lk5hbWUgPSBcIkVkaXRTYW1BY2NvdW50XCI7XHJcbiAgICAgIHRoaXMuRWRpdFNhbUFjY291bnQuTGFiZWxLZXkgPSBcIlNhbUFjY291bnRcIjtcclxuICAgICAgdGhpcy5FZGl0U2FtQWNjb3VudC5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICAgIHRoaXMuRWRpdFNhbUFjY291bnQuVmFsdWUgPSBkZXBhcnRtZW50LnNhbUFjY291bnQ7XHJcblxyXG4gICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKGVkaXREZXBhcnRtZW50TW9kYWwpO1xyXG5cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGdldEVkaXREZXBhcnRtZW50TW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuRWRpdERlcGFydG1lbnRGb3JtLnZhbHVlO1xyXG4gICAgbGV0IEVkaXRNb2RlbDogRGVwYXJ0bWVudE1vZGVsID0gbmV3IERlcGFydG1lbnRNb2RlbCgpO1xyXG4gICAgRWRpdE1vZGVsLmlkID0gdGhpcy5EZXBhcnRtZW50SWQ7XHJcbiAgICBFZGl0TW9kZWwuZGVwYXJ0bWVudE5hbWVEVE89bmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgIEVkaXRNb2RlbC5kZXBhcnRtZW50TmFtZURUTy5FbmdsaXNoID0gUmVzdWx0TW9kZWwuRWRpdE5hbWUuRW5nbGlzaDtcclxuICAgIEVkaXRNb2RlbC5kZXBhcnRtZW50TmFtZURUTy5BcmFiaWMgPSBSZXN1bHRNb2RlbC5FZGl0TmFtZS5BcmFiaWM7XHJcbiAgICBFZGl0TW9kZWwuc2FtQWNjb3VudCA9IFJlc3VsdE1vZGVsLkVkaXRTYW1BY2NvdW50O1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKEVkaXRNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldEVkaXREZXBhcnRtZW50RnVuY3Rpb24gPSAoRWRpdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmVkaXREZXBhcnRtZW50KEVkaXRNb2RlbClcclxuICB9XHJcbiAgb25FZGl0RGVwYXJ0bWVudFN1Y2Nlc3MgPSAocmVzdWx0KSA9PiB7XHJcbiAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gIH1cclxuICBvbkVkaXREZXBhcnRtZW50RXJyb3IgPSAoZXJyb3IpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICB9XHJcblxyXG4gIC8vRGVsZXRlIGRlcGFydG1lbnRcclxuICBzaG93RGVsZXRlRGVwYXJ0bWVudE1vZGFsKGRlcGFydG1lbnRJZEVuYzogYW55KSB7XHJcbiAgICB0aGlzLmRlbGV0ZURlcGFydG1lbnRJZCA9IGRlcGFydG1lbnRJZEVuYztcclxuXHJcbiAgICAvL2FycmF5IHNlbnQgdG8gc2VydmljZSBmdW5jdGlvblxyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBwYXJhbUFycmF5LnB1c2godGhpcy5kZWxldGVEZXBhcnRtZW50SWQpO1xyXG5cclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucyA9IG5ldyBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnMoKTtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmRlbGV0ZURlcGFydG1lbnQ7XHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMuU2VydmljZVN1Ym1pdE1vZGVsID0gcGFyYW1BcnJheTtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5QYWdpbmdSZWZlcmVuY2UgPSB0aGlzLnBhZ2luZ0VsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy5kZWxldGVDb250cm9sTG9hZGVkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLkNvbmZpcm1hdGlvbk1vZGFsQ29udHJvbC5zaG93TW9kYWwoKTtcclxuICAgIH0sIDIwMCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVEZXBhcnRtZW50ID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZGVsZXRlRGVwYXJ0bWVudChpZCk7XHJcbiAgfVxyXG5cclxuICAvKipGdW5jdGlvbk5hbWU6ZmlsdGVyRGVwYXJ0bWVudExpc3QgKi9cclxuICAvKipEZWNsYXJhdGlvbjpmdW5jdGlvbiB0byBmaWx0ZXIgRGVwYXJ0bWVudExpc3QgaW4gY2xpZW50LXNpZGUgKi9cclxuICAvKipQYXJhbWV0ZXJzOiovXHJcbiAgLyoqc2VhcmNoVmFsdWU6IGN1cnJlbnQgdmFsdWUgb2Ygc2VhcmNoIGJveCovXHJcbiAgZmlsdGVyRGVwYXJ0bWVudExpc3Qoc2VhcmNoVmFsdWUpe1xyXG4gICAgaWYoc2VhcmNoVmFsdWUpXHJcbiAgICB0aGlzLkRlcGFydG1lbnRGaWx0ZXJlZExpc3Q9IHRoaXMuRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdC5maWx0ZXIoaXRlbSA9PiBpdGVtLmRlcGFydG1lbnROYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSkpO1xyXG4gICAgZWxzZVxyXG4gICAgdGhpcy5EZXBhcnRtZW50RmlsdGVyZWRMaXN0PSB0aGlzLkRlcGFydG1lbnRQYWdpbmdSZXN1bHRcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2Uub25EZXN0cm95JC5uZXh0KCk7XHJcbiBcclxuICB9XHJcblxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG48IS0tIFBhZ2UgQ29udGVudCAtLT5cclxuPGRpdiAgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIj5cclxuICAgICAgICAgPCEtLShPbkNoYW5nZSk9XCJmaWx0ZXJEZXBhcnRtZW50TGlzdCgkZXZlbnQpXCIgLS0+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cInNlYXJjaFRleHRCb3hcIiAgIFtncm91cF09XCJEZXBhcnRtZW50Rm9ybVwiPjwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgIDwhLS0gYmVnaW46Ok1lbnUgLS0+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCIgdGl0bGU9XCJBZGRcIiAoY2xpY2spPVwic2hvd0FkZERlcGFydG1lbnRNb2RhbChBZGREZXBhcnRtZW50TW9kYWwpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1wbHVzIG1lLTFcIj48L2k+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBZGRcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8IS0tIGVuZDo6TWVudSAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktM1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6UGVybWlzc2lvbiBsaXN0LS0+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgYWxpZ24tbWlkZGxlIHRhYmxlLXJvdy1kYXNoZWQgZnMtNiBneS01IGRhdGFUYWJsZSBuby1mb290ZXJcIj5cclxuICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgPHRyIGNsYXNzPVwidGV4dC1zdGFydCB0ZXh0LWdyYXktNDAwIGZ3LWJvbGRlciBmcy03IHRleHQtdXBwZXJjYXNlIGdzLTBcIj5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk5hbWVcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTYW1BY2NvdW50XCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiVXNlcnNDb3VudFwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy01MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWN0aW9uXCIpfX08L3RoPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgIDx0Ym9keSBpZD1cImxpc3RpbmdDb250YWluZXJcIiBjbGFzcz1cImZ3LWJvbGQgdGV4dC1ncmF5LTYwMCBib3JkZXItMFwiPlxyXG5cclxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBEZXBhcnRtZW50IG9mIERlcGFydG1lbnRGaWx0ZXJlZExpc3RcIj5cclxuXHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIFtyb3V0ZXJMaW5rXT1cIlsnL0FkbWluL0RlcGFydG1lbnRzL0RlcGFydG1lbnRJbmZvJyxEZXBhcnRtZW50LmlkRW5jcnlwdGVkXVwiIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWRhcmtcIj57e0RlcGFydG1lbnQuZGVwYXJ0bWVudE5hbWV9fTwvYT5cclxuXHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3tEZXBhcnRtZW50LnNhbUFjY291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7RGVwYXJ0bWVudC51c2Vyc0NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tbGlnaHQgYnRuLWFjdGl2ZS1saWdodC1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy1oXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkcm9wLWl0ZW0gcHgtM1wiIG5nYkRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dFZGl0RGVwYXJ0bWVudE1vZGFsKERlcGFydG1lbnQuaWQsRGVwYXJ0bWVudC5pZEVuY3J5cHRlZCxFZGl0RGVwYXJ0bWVudE1vZGFsKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wLWxpbmsgcHgtM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIil9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBuZ2JEcm9wZG93bkl0ZW0gY2xhc3M9XCJkcm9wLWl0ZW0gcHgtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dEZWxldGVEZXBhcnRtZW50TW9kYWwoRGVwYXJ0bWVudC5pZEVuY3J5cHRlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcC1saW5rIHB4LTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZWxldGVcIil9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyICpuZ0lmPVwiRGVwYXJ0bWVudEZpbHRlcmVkTGlzdC5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1lbXB0eS1kYXRhPjwvbGliLWVtcHR5LWRhdGE+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuXHJcbiAgICAgICAgPCEtLWVuZDo6UGVybWlzc2lvbiBsaXN0LS0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIGJvcmRlci0wXCI+XHJcbiAgICAgIDxCQlNGLVBhZ2luZyAoSXRlbXMpPVwic2V0RGVwYXJ0bWVudExpc3RSZXN1bHQoJGV2ZW50KVwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiRGVwYXJ0bWVudFBhZ2luZ1wiIFtncm91cF09XCJEZXBhcnRtZW50Rm9ybVwiICNEZXBhcnRtZW50UGFnaW5nVmlld0VsZW1lbnQ+XHJcbiAgICAgIDwvQkJTRi1QYWdpbmc+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPCEtLWFkZCBNb2RhbC0tPlxyXG48bmctdGVtcGxhdGUgI0FkZERlcGFydG1lbnRNb2RhbCBsZXQtbW9kYWw+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBwYi0wIGJvcmRlci0wIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHNjcm9sbC15IHB4LTEwIHB4LWxnLTE1IHB0LTAgcGItMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0xMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFkZFwiKX19IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlcGFydG1lbnRcIil9fTwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiQWRkRGVwYXJ0bWVudEZvcm1PcHRpb25zXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsVGV4dEJveCBbb3B0aW9uc109XCJBZGROYW1lXCIgW2dyb3VwXT1cIkFkZERlcGFydG1lbnRGb3JtXCI+PC9CQlNGLU11bHRpTGluZ3VhbFRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJBZGRTYW1BY2NvdW50XCIgW2dyb3VwXT1cIkFkZERlcGFydG1lbnRGb3JtXCIgPlxyXG4gICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlRGVwYXJ0bWVudE1vZGFsIGlkPVwiQ2xvc2VEZXBhcnRtZW50TW9kYWxcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gIG1lLTNcIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTYXZlTGFiZWxcIil9fTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvQkJTRi1Gb3JtPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48IS0tRWRpdCBNb2RhbC0tPlxyXG48bmctdGVtcGxhdGUgI0VkaXREZXBhcnRtZW50TW9kYWwgbGV0LW1vZGFsPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiZXhhbXBsZU1vZGFsTGFiZWxcIj48L2g1PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2MS5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBzY3JvbGwteSBweC0xMCBweC1sZy0xNSBwdC0wIHBiLTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGgxIGNsYXNzPVwibWItM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIil9fSB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZXBhcnRtZW50XCIpfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cIkVkaXREZXBhcnRtZW50Rm9ybU9wdGlvbnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRCb3ggW29wdGlvbnNdPVwiRWRpdE5hbWVcIiBbZ3JvdXBdPVwiRWRpdERlcGFydG1lbnRGb3JtXCI+PC9CQlNGLU11bHRpTGluZ3VhbFRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFZGl0U2FtQWNjb3VudFwiIFtncm91cF09XCJFZGl0RGVwYXJ0bWVudEZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTdcIj5cclxuICAgICAgICA8YnV0dG9uICNDbG9zZUVkaXREZXBhcnRtZW50TW9kYWwgaWQ9XCJDbG9zZUVkaXREZXBhcnRtZW50TW9kYWxcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gIG1lLTNcIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTYXZlTGFiZWxcIil9fTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvQkJTRi1Gb3JtPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48IS0tZGVsZXRlIE1vZGFsLS0+XHJcbjxCQlNGLUNvbmZpcm1hdGlvbk1vZGFsICpuZ0lmPVwiZGVsZXRlQ29udHJvbExvYWRlZFwiIFtvcHRpb25zXT1cIkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnNcIiBpZD1cIkNvbmZpcm1hdGlvbk1vZGFsQ29udHJvbFwiICNDb25maXJtYXRpb25Nb2RhbENvbnRyb2w+PC9CQlNGLUNvbmZpcm1hdGlvbk1vZGFsPlxyXG4iXX0=
|
|
@@ -177,7 +177,7 @@ export class DepartmentInfoComponent {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
DepartmentInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DepartmentInfoComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.UtilityService }, { token: i3.DepartmentService }, { token: i4.PageInfoService }, { token: i2.AuthService }, { token: i5.NgbModal }, { token: i2.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
180
|
-
DepartmentInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DepartmentInfoComponent, selector: "lib-department-info", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["UserDepartmentPagingViewElement"], descendants: true }, { propertyName: "ConfirmationModalControl", first: true, predicate: ["ConfirmationModalControl"], descendants: true }], ngImport: i0, template: "<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n <BBSF-TextBox [hidden]=\"true\" [options]=\"DepartmentIdTextBox\" [group]=\"UserDepartmentForm\">\r\n </BBSF-TextBox>\r\n <BBSF-TextBox [options]=\"searchTextBox\"
|
|
180
|
+
DepartmentInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DepartmentInfoComponent, selector: "lib-department-info", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["UserDepartmentPagingViewElement"], descendants: true }, { propertyName: "ConfirmationModalControl", first: true, predicate: ["ConfirmationModalControl"], descendants: true }], ngImport: i0, template: "<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n <BBSF-TextBox [hidden]=\"true\" [options]=\"DepartmentIdTextBox\" [group]=\"UserDepartmentForm\">\r\n </BBSF-TextBox>\r\n <!--(OnChange)=\"filterUserDepartmentList($event)\" -->\r\n <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"UserDepartmentForm\"></BBSF-TextBox>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" title=\"Add\"\r\n (click)=\"showAddUserToDepartmentModal(AddUserToDepartmentModal)\">\r\n <i class=\"fas fa-plus me-1\"></i>\r\n {{utilityService.getResourceValue(\"Add\")}}\r\n </button>\r\n\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"table-responsive\">\r\n <!--begin::Permission list-->\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Email\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Roles\")}}</th>\r\n <th class=\"min-w-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n <tr *ngFor=\"let user of FilteredUserDepartmentPagingResult\">\r\n\r\n <td>\r\n <span class=\"text-dark\">{{user.userName}}</span>\r\n </td>\r\n <td>{{user.email}}</td>\r\n <td>{{user.userPermsets}}</td>\r\n <td>\r\n <div>\r\n <button mat-button [matMenuTriggerFor]=\"menu\"\r\n class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <a ngbDropdownItem class=\"drop-item px-3\"\r\n (click)=\"showDeleteUserFromDepartmentModal(user.idEncrypted)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n </a>\r\n </mat-menu>\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"FilteredUserDepartmentPagingResult.length == 0\">\r\n <td colspan=\"4\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <!--end::Permission list-->\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setUserDepartmentListResult($event)\" *ngIf=\"IsFilterLoaded\" [options]=\"UserDepartmentPaging\"\r\n [group]=\"UserDepartmentForm\" #UserDepartmentPagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n\r\n\r\n<!--add Modal-->\r\n<ng-template #AddUserToDepartmentModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\"\r\n (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"User\")}} </h1>\r\n </div>\r\n <BBSF-Form [options]=\"AddUserToDepartmentFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TagsInput [options]=\"UserAutoComplete\" [group]=\"AddUsersToDepartmentForm\">\r\n </BBSF-TagsInput>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseAddUsersToDepartment id=\"CloseAddUsersToDepartment\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3\" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\"\r\n #ConfirmationModalControl></BBSF-ConfirmationModal>", components: [{ type: i6.BlockUIComponent, selector: "block-ui", inputs: ["name", "template", "message", "delayStart", "delayStop"] }, { type: i7.ɵd, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.EmptyDataComponent, selector: "lib-empty-data", inputs: ["Message", "ShowImage", "ImgURL"] }, { type: i7.ɵs, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { type: i7.ɵv, selector: "BBSF-Form", inputs: ["options"] }, { type: i7.ɵr, selector: "BBSF-TagsInput", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i7.ɵw, selector: "BBSF-ConfirmationModal", inputs: ["options"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i5.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { type: i11.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }] });
|
|
181
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DepartmentInfoComponent, decorators: [{
|
|
182
182
|
type: Component,
|
|
183
183
|
args: [{
|
|
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
191
191
|
type: ViewChild,
|
|
192
192
|
args: ['ConfirmationModalControl', { static: false }]
|
|
193
193
|
}] } });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvZGVwYXJ0bWVudHMvZGVwYXJ0bWVudC1pbmZvL2RlcGFydG1lbnQtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQtaW5mby9kZXBhcnRtZW50LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwSyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBV25ILE1BQU0sT0FBTyx1QkFBdUI7SUFpQ2xDLFlBQ1UsY0FBOEIsRUFDL0IsY0FBOEIsRUFDN0IsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLFdBQXdCLEVBQ3hCLFlBQXNCLEVBQ3RCLHFCQUE0QztRQU41QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FB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bkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO2lCQUNoRDtxUkFvQmtFLGFBQWE7c0JBQTdFLFNBQVM7dUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQWFMLHdCQUF3QjtzQkFBakYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucywgRmlsdGVySXRlbSwgRmlsdGVyVHlwZSwgRm9ybU9wdGlvbnMsIElucHV0VHlwZSwgUGFnaW5nT3B0aW9ucywgVGFnc0lucHV0T3B0aW9ucywgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRNb2RlbCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRVc2Vyc0lEUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRVc2Vyc0lEUmVxdWVzdE1vZGVsJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRGVwYXJ0bWVudFNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSAsIFJlcXVlc3RIYW5kbGVyU2VydmljZSwgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBQYWdpbmdDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scy9saWIvY29udHJvbHMvUGFnaW5nL1BhZ2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRlcGFydG1lbnQtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlcGFydG1lbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgQXBpVXJsID0gdGhpcy5kZXBhcnRtZW50U2VydmljZS5BcGlVcmxcclxuXHJcbiAgLy9QYXJlbnQgZGVwYXJ0bWVudCBkYXRhXHJcbiAgRGVwYXJ0bWVudElkOiBzdHJpbmcgPSBcIlwiXHJcbiAgRGVwYXJ0bWVudDogRGVwYXJ0bWVudE1vZGVsID0gbmV3IERlcGFydG1lbnRNb2RlbCgpO1xyXG5cclxuICAvL0ZpbHRlciBhbmQgcGFnaW5nIGNvbXBvbmVudHNcclxuICBVc2VyRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBzZWFyY2hUZXh0Qm94OiBUZXh0Qm94T3B0aW9ucztcclxuICBUZXh0SW5wdXRGaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgRGVwYXJ0bWVudElkVGV4dEJveDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIElzRmlsdGVyTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgVXNlckRlcGFydG1lbnRQYWdpbmc6IFBhZ2luZ09wdGlvbnM7XHJcbiAgVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdDogYW55W10gPSBbXTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnVXNlckRlcGFydG1lbnRQYWdpbmdWaWV3RWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwYWdpbmdFbGVtZW50OiBQYWdpbmdDb21wb25lbnQ8YW55PjtcclxuXHJcblxyXG5cclxuICAvL0FkZCBNb2RlbCBDb250cm9sc1xyXG4gIEFkZFVzZXJzVG9EZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9uczogRm9ybU9wdGlvbnNcclxuICBVc2VyQXV0b0NvbXBsZXRlOiBUYWdzSW5wdXRPcHRpb25zO1xyXG5cclxuICAvL2RlbGV0ZSAgTW9kZWwgQ29udHJvbHNcclxuICBkZWxldGVVc2VySWQ6IHN0cmluZztcclxuICBEZWxldGVDb25maXJtYXRpb25PcHRpb25zOiBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnM7XHJcbiAgZGVsZXRlQ29udHJvbExvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ0NvbmZpcm1hdGlvbk1vZGFsQ29udHJvbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBDb25maXJtYXRpb25Nb2RhbENvbnRyb2w6IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkZXBhcnRtZW50U2VydmljZTogRGVwYXJ0bWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLFxyXG5cclxuICApIHtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLkRlcGFydG1lbnRJZCA9IHBhcmFtc1snaWQnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAgbmdPbkluaXQoKTogdm9pZHtcclxuICAgIC8vUGFnZSBoZWFkZXIgKGJyZWFkY3J1bWIgYW5kIHRpdGxlKVxyXG4gICAgdGhpcy5sb2FkQnJlYWRDcnVtcERhdGEoKTtcclxuICAgXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vUGFnaW5nIGZ1bmN0aW9uc1xyXG4gIHNldFVzZXJEZXBhcnRtZW50TGlzdFJlc3VsdChyZXN1bHQpIHtcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQgPSByZXN1bHRcclxuICAgIHRoaXMuRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdCA9IHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQ7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKClcclxuICB9XHJcbiAgLy9SZXNldCBhbGwgRmlsdGVyc1xyXG4gIHJlc2V0RmlsdGVycygpIHtcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRGb3JtLmNvbnRyb2xzW1wic2VhcmNoVGV4dEJveFwiXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIGxldCBlbGVtZW50ID0gdGhpcy5wYWdpbmdFbGVtZW50IGFzIGFueTtcclxuICAgIGVsZW1lbnQuUmVpbml0aWFsaXplUGFnaW5nKCk7XHJcbiAgfVxyXG4gIC8vR2V0IHBhcmVudCBkZXBhcnRtZW50IG5hbWUgYW5kIHNldCBwYWdlIHRpdGxlIGFuZCBicmVhZGNydW1ic1xyXG4gIGxvYWRCcmVhZENydW1wRGF0YSgpIHtcclxuICAgIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZ2V0RGVwYXJ0bWVudEluZm8odGhpcy5EZXBhcnRtZW50SWQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCByZXN1bHRNb2RlbCA9IHJlc3VsdCBhcyBhbnlcclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHJlc3VsdE1vZGVsLnZhbC5kZXBhcnRtZW50TmFtZTtcclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VCcmVhZGNydW1icyA9IFtcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJIb21lXCIpLCBwYXRoOiAnL0FkbWluL0hvbWUnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlcGFydG1lbnRzXCIpLCBwYXRoOiAnL0FkbWluL0RlcGFydG1lbnRzL0RlcGFydG1lbnRzJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfVxyXG5cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgICAgIC8vaW5pdGlhbGl6ZSBwYWdlXHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2UoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Jbml0aWFsaXplIGZpbHRlcnMgYW5kIHBhZ2luZ1xyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgLy8gVGV4dEJveCBpbnRpXHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5OYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5IaWRlTGFiZWwgPSB0cnVlXHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guUGxhY2Vob2xkZXIgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTZWFyY2hCeU5hbWVPckVtYWlsXCIpO1xyXG5cclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94Lk5hbWUgPSBcIkRlcGFydG1lbnRJZFRleHRCb3hcIlxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94LkxhYmVsS2V5ID0gXCJEZXBhcnRtZW50SWRUZXh0Qm94XCJcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5WYWx1ZSA9IHRoaXMuRGVwYXJ0bWVudElkO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94LlBsYWNlaG9sZGVyID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2VhcmNoQnlOYW1lXCIpXHJcblxyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuRm9ybUNvbnRyb2xOYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcInNlYXJjaFRleHRcIlxyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWVcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3hcclxuXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSBcIkRlcGFydG1lbnRJZFRleHRCb3hcIlxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiZGVwYXJ0bWVudElkXCJcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlci5GaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5UZXh0Qm94XHJcblxyXG4gICBcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5BY3Rpb25Qb3N0VVJMID0gdGhpcy5BcGlVcmwgKyAnR2V0VXNlcnNCeUZpbHRlcic7XHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW1wic2VhcmNoVGV4dEJveFwiLCBcIkRlcGFydG1lbnRJZFRleHRCb3hcIl1cclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuRmlsdGVycyA9IFt0aGlzLlRleHRJbnB1dEZpbHRlciwgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXJdXHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLlBhZ2VTaXplID0gMTBcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuSGlkZVBhZ2luYXRpb25XaGVuUGFnZVNpemVFcXVhbE9uZSA9IHRydWVcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuU2hvd1BhZ2VTaXplT3B0aW9uID0gdHJ1ZVxyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5TaG93Rmlyc3RBbmRMYXN0ID0gdHJ1ZVxyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5WYWxpZGF0aW9uVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpXHJcblxyXG4gICAgdGhpcy5Jc0ZpbHRlckxvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9BZGQgdXNlciB0byBkZXBhcnRtZW50XHJcbiAgc2hvd0FkZFVzZXJUb0RlcGFydG1lbnRNb2RhbChBZGRVc2VyVG9EZXBhcnRtZW50TW9kYWwpIHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKClcclxuICAgIFxyXG4gICAgdGhpcy5BZGRVc2Vyc1RvRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KVxyXG4gICAgdGhpcy5BZGRVc2VyVG9EZXBhcnRtZW50Rm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgIHRoaXMuQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuQWRkVXNlcnNUb0RlcGFydG1lbnRGb3JtXHJcbiAgICB0aGlzLkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRBZGRVc2VyVG9EZXBhcnRtZW50TW9kZWw7XHJcbiAgICB0aGlzLkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEFkZFVzZXJUb0RlcGFydG1lbnRGdW5jdGlvbjtcclxuICAgIHRoaXMuQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudFxyXG5cclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZSA9IG5ldyBUYWdzSW5wdXRPcHRpb25zKCk7XHJcbiAgICB0aGlzLlVzZXJBdXRvQ29tcGxldGUuTmFtZSA9IFwiVXNlckF1dG9Db21wbGV0ZVwiO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLkxhYmVsS2V5ID0gXCJVc2Vyc1wiO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLlZhbHVlID0gbnVsbDtcclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZS5BY3Rpb25VUkwgPSB0aGlzLkFwaVVybCArIFwiQXV0b0NvbXBsZXRlVXNlckxpc3RcIlxyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLlZhbGlkYXRpb25Ub2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKClcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsKTtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBnZXRBZGRVc2VyVG9EZXBhcnRtZW50TW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuQWRkVXNlcnNUb0RlcGFydG1lbnRGb3JtLnZhbHVlO1xyXG4gICAgbGV0IEFkZE1vZGVsOiBEZXBhcnRtZW50VXNlcnNJRFJlcXVlc3RNb2RlbCA9IG5ldyBEZXBhcnRtZW50VXNlcnNJRFJlcXVlc3RNb2RlbCgpO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IFJlc3VsdE1vZGVsLlVzZXJBdXRvQ29tcGxldGUubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgIGNvbnN0IGtleSA9IFJlc3VsdE1vZGVsLlVzZXJBdXRvQ29tcGxldGVbaW5kZXhdLmtleTtcclxuICAgICAgQWRkTW9kZWwuVXNlcnNJRHMucHVzaChOdW1iZXIoa2V5KSlcclxuICAgIH1cclxuICAgIEFkZE1vZGVsLkRlcGFydG1lbnRJZCA9IHRoaXMuRGVwYXJ0bWVudElkO1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKEFkZE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0QWRkVXNlclRvRGVwYXJ0bWVudEZ1bmN0aW9uID0gKEFkZE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmFkZFVzZXJzVG9EZXBhcnRtZW50KEFkZE1vZGVsKVxyXG4gIH1cclxuXHJcblxyXG4gIC8vRGVsZXRlIHVzZXIgZnJvbSBkZXBhcnRtZW50XHJcbiAgc2hvd0RlbGV0ZVVzZXJGcm9tRGVwYXJ0bWVudE1vZGFsKGVuY3J5cHRlZFVzZXJJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRlbGV0ZVVzZXJJZCA9IGVuY3J5cHRlZFVzZXJJZDtcclxuICAgIC8vYXJyYXkgc2VudCB0byBzZXJ2aWNlIGZ1bmN0aW9uXHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIHBhcmFtQXJyYXkucHVzaCh0aGlzLmRlbGV0ZVVzZXJJZCk7XHJcblxyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zID0gbmV3IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucygpO1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZGVsZXRlVXNlckZyb21EZXBhcnRtZW50O1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRNb2RlbCA9IHBhcmFtQXJyYXk7XHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMuUGFnaW5nUmVmZXJlbmNlID0gdGhpcy5wYWdpbmdFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuZGVsZXRlQ29udHJvbExvYWRlZCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5Db25maXJtYXRpb25Nb2RhbENvbnRyb2wuc2hvd01vZGFsKCk7XHJcbiAgICB9LCAyMDApO1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBkZWxldGVVc2VyRnJvbURlcGFydG1lbnQgPSAoZGVsZXRlVXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZGVsZXRlVXNlckZyb21EZXBhcnRtZW50KGRlbGV0ZVVzZXJJZCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqRnVuY3Rpb25OYW1lOmZpbHRlclVzZXJEZXBhcnRtZW50TGlzdCAqL1xyXG4gIC8qKkRlY2xhcmF0aW9uOmZ1bmN0aW9uIHRvIGZpbHRlciB1c2VyIERlcGFydG1lbnQgTGlzdCBpbiBjbGllbnQtc2lkZSAqL1xyXG4gIC8qKlBhcmFtZXRlcnM6Ki9cclxuICAvKipzZWFyY2hWYWx1ZTogY3VycmVudCB2YWx1ZSBvZiBzZWFyY2ggYm94Ki9cclxuICBmaWx0ZXJVc2VyRGVwYXJ0bWVudExpc3Qoc2VhcmNoVmFsdWUpIHtcclxuICAgIGlmIChzZWFyY2hWYWx1ZSlcclxuICAgICAgdGhpcy5GaWx0ZXJlZFVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0ID0gdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdC5maWx0ZXIoaXRlbSA9PiBpdGVtLnVzZXJOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLkZpbHRlcmVkVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQgPSB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZGVzdHJveUhhbmRsZXIoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG48IS0tIFBhZ2UgQ29udGVudCAtLT5cclxuPGRpdiAgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIj5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW2hpZGRlbl09XCJ0cnVlXCIgW29wdGlvbnNdPVwiRGVwYXJ0bWVudElkVGV4dEJveFwiIFtncm91cF09XCJVc2VyRGVwYXJ0bWVudEZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJzZWFyY2hUZXh0Qm94XCIgKE9uQ2hhbmdlKT1cImZpbHRlclVzZXJEZXBhcnRtZW50TGlzdCgkZXZlbnQpXCIgIFtncm91cF09XCJVc2VyRGVwYXJ0bWVudEZvcm1cIj48L0JCU0YtVGV4dEJveD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICA8IS0tIGJlZ2luOjpNZW51IC0tPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIHRpdGxlPVwiQWRkXCJcclxuICAgICAgICAgIChjbGljayk9XCJzaG93QWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsKEFkZFVzZXJUb0RlcGFydG1lbnRNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMgbWUtMVwiPjwvaT5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFkZFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gZW5kOjpNZW51IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBhbGlnbi1taWRkbGUgdGFibGUtcm93LWRhc2hlZCBmcy02IGd5LTUgZGF0YVRhYmxlIG5vLWZvb3RlclwiPlxyXG4gICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJ0ZXh0LXN0YXJ0IHRleHQtZ3JheS00MDAgZnctYm9sZGVyIGZzLTcgdGV4dC11cHBlcmNhc2UgZ3MtMFwiPlxyXG5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk5hbWVcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbWFpbFwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlJvbGVzXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3Rpb25cIil9fTwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgPHRib2R5IGlkPVwibGlzdGluZ0NvbnRhaW5lclwiIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNjAwIGJvcmRlci0wXCI+XHJcblxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHVzZXIgb2YgRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdFwiPlxyXG5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFya1wiPnt7dXNlci51c2VyTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7dXNlci5lbWFpbH19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3t1c2VyLnVzZXJQZXJtc2V0c319PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tbGlnaHQgYnRuLWFjdGl2ZS1saWdodC1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy1oXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3AtaXRlbSBweC0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93RGVsZXRlVXNlckZyb21EZXBhcnRtZW50TW9kYWwodXNlci5pZEVuY3J5cHRlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcC1saW5rIHB4LTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZWxldGVcIil9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyICpuZ0lmPVwiRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdC5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1lbXB0eS1kYXRhPjwvbGliLWVtcHR5LWRhdGE+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8IS0tZW5kOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgYm9yZGVyLTBcIj5cclxuICAgICAgPEJCU0YtUGFnaW5nIChJdGVtcyk9XCJzZXRVc2VyRGVwYXJ0bWVudExpc3RSZXN1bHQoJGV2ZW50KVwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIiBbb3B0aW9uc109XCJVc2VyRGVwYXJ0bWVudFBhZ2luZ1wiXHJcbiAgICAgICAgW2dyb3VwXT1cIlVzZXJEZXBhcnRtZW50Rm9ybVwiICNVc2VyRGVwYXJ0bWVudFBhZ2luZ1ZpZXdFbGVtZW50PlxyXG4gICAgICA8L0JCU0YtUGFnaW5nPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcblxyXG48IS0tYWRkIE1vZGFsLS0+XHJcbjxuZy10ZW1wbGF0ZSAjQWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiXHJcbiAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj4ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWRkXCIpfX0ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiVXNlclwiKX19IDwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UYWdzSW5wdXQgW29wdGlvbnNdPVwiVXNlckF1dG9Db21wbGV0ZVwiIFtncm91cF09XCJBZGRVc2Vyc1RvRGVwYXJ0bWVudEZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UYWdzSW5wdXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlQWRkVXNlcnNUb0RlcGFydG1lbnQgaWQ9XCJDbG9zZUFkZFVzZXJzVG9EZXBhcnRtZW50XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtICBtZS0zXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS1kZWxldGUgTW9kYWwtLT5cclxuPEJCU0YtQ29uZmlybWF0aW9uTW9kYWwgKm5nSWY9XCJkZWxldGVDb250cm9sTG9hZGVkXCIgW29wdGlvbnNdPVwiRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9uc1wiIGlkPVwiQ29uZmlybWF0aW9uTW9kYWxDb250cm9sXCJcclxuICAjQ29uZmlybWF0aW9uTW9kYWxDb250cm9sPjwvQkJTRi1Db25maXJtYXRpb25Nb2RhbD4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvZGVwYXJ0bWVudHMvZGVwYXJ0bWVudC1pbmZvL2RlcGFydG1lbnQtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnQtaW5mby9kZXBhcnRtZW50LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwSyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBV25ILE1BQU0sT0FBTyx1QkFBdUI7SUFpQ2xDLFlBQ1UsY0FBOEIsRUFDL0IsY0FBOEIsRUFDN0IsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLFdBQXdCLEVBQ3hCLFlBQXNCLEVBQ3RCLHFCQUE0QztRQU41QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FB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bkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO2lCQUNoRDtxUkFvQmtFLGFBQWE7c0JBQTdFLFNBQVM7dUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQWFMLHdCQUF3QjtzQkFBakYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucywgRmlsdGVySXRlbSwgRmlsdGVyVHlwZSwgRm9ybU9wdGlvbnMsIElucHV0VHlwZSwgUGFnaW5nT3B0aW9ucywgVGFnc0lucHV0T3B0aW9ucywgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRNb2RlbCc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRVc2Vyc0lEUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EZXBhcnRtZW50TW9kZWxzL0RlcGFydG1lbnRVc2Vyc0lEUmVxdWVzdE1vZGVsJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRGVwYXJ0bWVudFNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSAsIFJlcXVlc3RIYW5kbGVyU2VydmljZSwgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBQYWdpbmdDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scy9saWIvY29udHJvbHMvUGFnaW5nL1BhZ2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRlcGFydG1lbnQtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlcGFydG1lbnQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgQXBpVXJsID0gdGhpcy5kZXBhcnRtZW50U2VydmljZS5BcGlVcmxcclxuXHJcbiAgLy9QYXJlbnQgZGVwYXJ0bWVudCBkYXRhXHJcbiAgRGVwYXJ0bWVudElkOiBzdHJpbmcgPSBcIlwiXHJcbiAgRGVwYXJ0bWVudDogRGVwYXJ0bWVudE1vZGVsID0gbmV3IERlcGFydG1lbnRNb2RlbCgpO1xyXG5cclxuICAvL0ZpbHRlciBhbmQgcGFnaW5nIGNvbXBvbmVudHNcclxuICBVc2VyRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBzZWFyY2hUZXh0Qm94OiBUZXh0Qm94T3B0aW9ucztcclxuICBUZXh0SW5wdXRGaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgRGVwYXJ0bWVudElkVGV4dEJveDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIElzRmlsdGVyTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgVXNlckRlcGFydG1lbnRQYWdpbmc6IFBhZ2luZ09wdGlvbnM7XHJcbiAgVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdDogYW55W10gPSBbXTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnVXNlckRlcGFydG1lbnRQYWdpbmdWaWV3RWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwYWdpbmdFbGVtZW50OiBQYWdpbmdDb21wb25lbnQ8YW55PjtcclxuXHJcblxyXG5cclxuICAvL0FkZCBNb2RlbCBDb250cm9sc1xyXG4gIEFkZFVzZXJzVG9EZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9uczogRm9ybU9wdGlvbnNcclxuICBVc2VyQXV0b0NvbXBsZXRlOiBUYWdzSW5wdXRPcHRpb25zO1xyXG5cclxuICAvL2RlbGV0ZSAgTW9kZWwgQ29udHJvbHNcclxuICBkZWxldGVVc2VySWQ6IHN0cmluZztcclxuICBEZWxldGVDb25maXJtYXRpb25PcHRpb25zOiBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnM7XHJcbiAgZGVsZXRlQ29udHJvbExvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ0NvbmZpcm1hdGlvbk1vZGFsQ29udHJvbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBDb25maXJtYXRpb25Nb2RhbENvbnRyb2w6IENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkZXBhcnRtZW50U2VydmljZTogRGVwYXJ0bWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLFxyXG5cclxuICApIHtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLkRlcGFydG1lbnRJZCA9IHBhcmFtc1snaWQnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAgbmdPbkluaXQoKTogdm9pZHtcclxuICAgIC8vUGFnZSBoZWFkZXIgKGJyZWFkY3J1bWIgYW5kIHRpdGxlKVxyXG4gICAgdGhpcy5sb2FkQnJlYWRDcnVtcERhdGEoKTtcclxuICAgXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vUGFnaW5nIGZ1bmN0aW9uc1xyXG4gIHNldFVzZXJEZXBhcnRtZW50TGlzdFJlc3VsdChyZXN1bHQpIHtcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQgPSByZXN1bHRcclxuICAgIHRoaXMuRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdCA9IHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQ7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKClcclxuICB9XHJcbiAgLy9SZXNldCBhbGwgRmlsdGVyc1xyXG4gIHJlc2V0RmlsdGVycygpIHtcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRGb3JtLmNvbnRyb2xzW1wic2VhcmNoVGV4dEJveFwiXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIGxldCBlbGVtZW50ID0gdGhpcy5wYWdpbmdFbGVtZW50IGFzIGFueTtcclxuICAgIGVsZW1lbnQuUmVpbml0aWFsaXplUGFnaW5nKCk7XHJcbiAgfVxyXG4gIC8vR2V0IHBhcmVudCBkZXBhcnRtZW50IG5hbWUgYW5kIHNldCBwYWdlIHRpdGxlIGFuZCBicmVhZGNydW1ic1xyXG4gIGxvYWRCcmVhZENydW1wRGF0YSgpIHtcclxuICAgIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZ2V0RGVwYXJ0bWVudEluZm8odGhpcy5EZXBhcnRtZW50SWQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCByZXN1bHRNb2RlbCA9IHJlc3VsdCBhcyBhbnlcclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHJlc3VsdE1vZGVsLnZhbC5kZXBhcnRtZW50TmFtZTtcclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VCcmVhZGNydW1icyA9IFtcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJIb21lXCIpLCBwYXRoOiAnL0FkbWluL0hvbWUnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlcGFydG1lbnRzXCIpLCBwYXRoOiAnL0FkbWluL0RlcGFydG1lbnRzL0RlcGFydG1lbnRzJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfVxyXG5cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgICAgIC8vaW5pdGlhbGl6ZSBwYWdlXHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2UoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Jbml0aWFsaXplIGZpbHRlcnMgYW5kIHBhZ2luZ1xyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgLy8gVGV4dEJveCBpbnRpXHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5OYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5IaWRlTGFiZWwgPSB0cnVlXHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guUGxhY2Vob2xkZXIgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTZWFyY2hCeU5hbWVPckVtYWlsXCIpO1xyXG5cclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94Lk5hbWUgPSBcIkRlcGFydG1lbnRJZFRleHRCb3hcIlxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94LkxhYmVsS2V5ID0gXCJEZXBhcnRtZW50SWRUZXh0Qm94XCJcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dEJveC5WYWx1ZSA9IHRoaXMuRGVwYXJ0bWVudElkO1xyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0Qm94LlBsYWNlaG9sZGVyID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2VhcmNoQnlOYW1lXCIpXHJcblxyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuRm9ybUNvbnRyb2xOYW1lID0gXCJzZWFyY2hUZXh0Qm94XCJcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcInNlYXJjaFRleHRcIlxyXG4gICAgdGhpcy5UZXh0SW5wdXRGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWVcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3hcclxuXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSBcIkRlcGFydG1lbnRJZFRleHRCb3hcIlxyXG4gICAgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiZGVwYXJ0bWVudElkXCJcclxuICAgIHRoaXMuRGVwYXJ0bWVudElkVGV4dElucHV0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlXHJcbiAgICB0aGlzLkRlcGFydG1lbnRJZFRleHRJbnB1dEZpbHRlci5GaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5UZXh0Qm94XHJcblxyXG4gICBcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5BY3Rpb25Qb3N0VVJMID0gdGhpcy5BcGlVcmwgKyAnR2V0VXNlcnNCeUZpbHRlcic7XHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW1wic2VhcmNoVGV4dEJveFwiLCBcIkRlcGFydG1lbnRJZFRleHRCb3hcIl1cclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuRmlsdGVycyA9IFt0aGlzLlRleHRJbnB1dEZpbHRlciwgdGhpcy5EZXBhcnRtZW50SWRUZXh0SW5wdXRGaWx0ZXJdXHJcbiAgICB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nLlBhZ2VTaXplID0gMTBcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuSGlkZVBhZ2luYXRpb25XaGVuUGFnZVNpemVFcXVhbE9uZSA9IHRydWVcclxuICAgIHRoaXMuVXNlckRlcGFydG1lbnRQYWdpbmcuU2hvd1BhZ2VTaXplT3B0aW9uID0gdHJ1ZVxyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5TaG93Rmlyc3RBbmRMYXN0ID0gdHJ1ZVxyXG4gICAgdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZy5WYWxpZGF0aW9uVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpXHJcblxyXG4gICAgdGhpcy5Jc0ZpbHRlckxvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9BZGQgdXNlciB0byBkZXBhcnRtZW50XHJcbiAgc2hvd0FkZFVzZXJUb0RlcGFydG1lbnRNb2RhbChBZGRVc2VyVG9EZXBhcnRtZW50TW9kYWwpIHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKClcclxuICAgIFxyXG4gICAgdGhpcy5BZGRVc2Vyc1RvRGVwYXJ0bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KVxyXG4gICAgdGhpcy5BZGRVc2VyVG9EZXBhcnRtZW50Rm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgIHRoaXMuQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuQWRkVXNlcnNUb0RlcGFydG1lbnRGb3JtXHJcbiAgICB0aGlzLkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRBZGRVc2VyVG9EZXBhcnRtZW50TW9kZWw7XHJcbiAgICB0aGlzLkFkZFVzZXJUb0RlcGFydG1lbnRGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmdldEFkZFVzZXJUb0RlcGFydG1lbnRGdW5jdGlvbjtcclxuICAgIHRoaXMuQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zLlBhZ2luZ1JlZmVyZW5jZSA9IHRoaXMucGFnaW5nRWxlbWVudFxyXG5cclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZSA9IG5ldyBUYWdzSW5wdXRPcHRpb25zKCk7XHJcbiAgICB0aGlzLlVzZXJBdXRvQ29tcGxldGUuTmFtZSA9IFwiVXNlckF1dG9Db21wbGV0ZVwiO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLkxhYmVsS2V5ID0gXCJVc2Vyc1wiO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLlZhbHVlID0gbnVsbDtcclxuICAgIHRoaXMuVXNlckF1dG9Db21wbGV0ZS5BY3Rpb25VUkwgPSB0aGlzLkFwaVVybCArIFwiQXV0b0NvbXBsZXRlVXNlckxpc3RcIlxyXG4gICAgdGhpcy5Vc2VyQXV0b0NvbXBsZXRlLlZhbGlkYXRpb25Ub2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKClcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsKTtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBnZXRBZGRVc2VyVG9EZXBhcnRtZW50TW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuQWRkVXNlcnNUb0RlcGFydG1lbnRGb3JtLnZhbHVlO1xyXG4gICAgbGV0IEFkZE1vZGVsOiBEZXBhcnRtZW50VXNlcnNJRFJlcXVlc3RNb2RlbCA9IG5ldyBEZXBhcnRtZW50VXNlcnNJRFJlcXVlc3RNb2RlbCgpO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IFJlc3VsdE1vZGVsLlVzZXJBdXRvQ29tcGxldGUubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgIGNvbnN0IGtleSA9IFJlc3VsdE1vZGVsLlVzZXJBdXRvQ29tcGxldGVbaW5kZXhdLmtleTtcclxuICAgICAgQWRkTW9kZWwuVXNlcnNJRHMucHVzaChOdW1iZXIoa2V5KSlcclxuICAgIH1cclxuICAgIEFkZE1vZGVsLkRlcGFydG1lbnRJZCA9IHRoaXMuRGVwYXJ0bWVudElkO1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKEFkZE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0QWRkVXNlclRvRGVwYXJ0bWVudEZ1bmN0aW9uID0gKEFkZE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLmRlcGFydG1lbnRTZXJ2aWNlLmFkZFVzZXJzVG9EZXBhcnRtZW50KEFkZE1vZGVsKVxyXG4gIH1cclxuXHJcblxyXG4gIC8vRGVsZXRlIHVzZXIgZnJvbSBkZXBhcnRtZW50XHJcbiAgc2hvd0RlbGV0ZVVzZXJGcm9tRGVwYXJ0bWVudE1vZGFsKGVuY3J5cHRlZFVzZXJJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRlbGV0ZVVzZXJJZCA9IGVuY3J5cHRlZFVzZXJJZDtcclxuICAgIC8vYXJyYXkgc2VudCB0byBzZXJ2aWNlIGZ1bmN0aW9uXHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIHBhcmFtQXJyYXkucHVzaCh0aGlzLmRlbGV0ZVVzZXJJZCk7XHJcblxyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zID0gbmV3IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucygpO1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZGVsZXRlVXNlckZyb21EZXBhcnRtZW50O1xyXG4gICAgdGhpcy5EZWxldGVDb25maXJtYXRpb25PcHRpb25zLlNlcnZpY2VTdWJtaXRNb2RlbCA9IHBhcmFtQXJyYXk7XHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMuUGFnaW5nUmVmZXJlbmNlID0gdGhpcy5wYWdpbmdFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuZGVsZXRlQ29udHJvbExvYWRlZCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5Db25maXJtYXRpb25Nb2RhbENvbnRyb2wuc2hvd01vZGFsKCk7XHJcbiAgICB9LCAyMDApO1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBkZWxldGVVc2VyRnJvbURlcGFydG1lbnQgPSAoZGVsZXRlVXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwYXJ0bWVudFNlcnZpY2UuZGVsZXRlVXNlckZyb21EZXBhcnRtZW50KGRlbGV0ZVVzZXJJZCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqRnVuY3Rpb25OYW1lOmZpbHRlclVzZXJEZXBhcnRtZW50TGlzdCAqL1xyXG4gIC8qKkRlY2xhcmF0aW9uOmZ1bmN0aW9uIHRvIGZpbHRlciB1c2VyIERlcGFydG1lbnQgTGlzdCBpbiBjbGllbnQtc2lkZSAqL1xyXG4gIC8qKlBhcmFtZXRlcnM6Ki9cclxuICAvKipzZWFyY2hWYWx1ZTogY3VycmVudCB2YWx1ZSBvZiBzZWFyY2ggYm94Ki9cclxuICBmaWx0ZXJVc2VyRGVwYXJ0bWVudExpc3Qoc2VhcmNoVmFsdWUpIHtcclxuICAgIGlmIChzZWFyY2hWYWx1ZSlcclxuICAgICAgdGhpcy5GaWx0ZXJlZFVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0ID0gdGhpcy5Vc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdC5maWx0ZXIoaXRlbSA9PiBpdGVtLnVzZXJOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLkZpbHRlcmVkVXNlckRlcGFydG1lbnRQYWdpbmdSZXN1bHQgPSB0aGlzLlVzZXJEZXBhcnRtZW50UGFnaW5nUmVzdWx0XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZGVzdHJveUhhbmRsZXIoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG48IS0tIFBhZ2UgQ29udGVudCAtLT5cclxuPGRpdiAgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIj5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW2hpZGRlbl09XCJ0cnVlXCIgW29wdGlvbnNdPVwiRGVwYXJ0bWVudElkVGV4dEJveFwiIFtncm91cF09XCJVc2VyRGVwYXJ0bWVudEZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgPCEtLShPbkNoYW5nZSk9XCJmaWx0ZXJVc2VyRGVwYXJ0bWVudExpc3QoJGV2ZW50KVwiIC0tPlxyXG4gICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJzZWFyY2hUZXh0Qm94XCIgIFtncm91cF09XCJVc2VyRGVwYXJ0bWVudEZvcm1cIj48L0JCU0YtVGV4dEJveD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICA8IS0tIGJlZ2luOjpNZW51IC0tPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIHRpdGxlPVwiQWRkXCJcclxuICAgICAgICAgIChjbGljayk9XCJzaG93QWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsKEFkZFVzZXJUb0RlcGFydG1lbnRNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBsdXMgbWUtMVwiPjwvaT5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFkZFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gZW5kOjpNZW51IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBhbGlnbi1taWRkbGUgdGFibGUtcm93LWRhc2hlZCBmcy02IGd5LTUgZGF0YVRhYmxlIG5vLWZvb3RlclwiPlxyXG4gICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJ0ZXh0LXN0YXJ0IHRleHQtZ3JheS00MDAgZnctYm9sZGVyIGZzLTcgdGV4dC11cHBlcmNhc2UgZ3MtMFwiPlxyXG5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIk5hbWVcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbWFpbFwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlJvbGVzXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3Rpb25cIil9fTwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgPHRib2R5IGlkPVwibGlzdGluZ0NvbnRhaW5lclwiIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNjAwIGJvcmRlci0wXCI+XHJcblxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHVzZXIgb2YgRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdFwiPlxyXG5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFya1wiPnt7dXNlci51c2VyTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7dXNlci5lbWFpbH19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3t1c2VyLnVzZXJQZXJtc2V0c319PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tbGlnaHQgYnRuLWFjdGl2ZS1saWdodC1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy1oXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3AtaXRlbSBweC0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93RGVsZXRlVXNlckZyb21EZXBhcnRtZW50TW9kYWwodXNlci5pZEVuY3J5cHRlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcC1saW5rIHB4LTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZWxldGVcIil9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyICpuZ0lmPVwiRmlsdGVyZWRVc2VyRGVwYXJ0bWVudFBhZ2luZ1Jlc3VsdC5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1lbXB0eS1kYXRhPjwvbGliLWVtcHR5LWRhdGE+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8IS0tZW5kOjpQZXJtaXNzaW9uIGxpc3QtLT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgYm9yZGVyLTBcIj5cclxuICAgICAgPEJCU0YtUGFnaW5nIChJdGVtcyk9XCJzZXRVc2VyRGVwYXJ0bWVudExpc3RSZXN1bHQoJGV2ZW50KVwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIiBbb3B0aW9uc109XCJVc2VyRGVwYXJ0bWVudFBhZ2luZ1wiXHJcbiAgICAgICAgW2dyb3VwXT1cIlVzZXJEZXBhcnRtZW50Rm9ybVwiICNVc2VyRGVwYXJ0bWVudFBhZ2luZ1ZpZXdFbGVtZW50PlxyXG4gICAgICA8L0JCU0YtUGFnaW5nPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcblxyXG48IS0tYWRkIE1vZGFsLS0+XHJcbjxuZy10ZW1wbGF0ZSAjQWRkVXNlclRvRGVwYXJ0bWVudE1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiXHJcbiAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj4ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWRkXCIpfX0ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiVXNlclwiKX19IDwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiQWRkVXNlclRvRGVwYXJ0bWVudEZvcm1PcHRpb25zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UYWdzSW5wdXQgW29wdGlvbnNdPVwiVXNlckF1dG9Db21wbGV0ZVwiIFtncm91cF09XCJBZGRVc2Vyc1RvRGVwYXJ0bWVudEZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UYWdzSW5wdXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlQWRkVXNlcnNUb0RlcGFydG1lbnQgaWQ9XCJDbG9zZUFkZFVzZXJzVG9EZXBhcnRtZW50XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtICBtZS0zXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS1kZWxldGUgTW9kYWwtLT5cclxuPEJCU0YtQ29uZmlybWF0aW9uTW9kYWwgKm5nSWY9XCJkZWxldGVDb250cm9sTG9hZGVkXCIgW29wdGlvbnNdPVwiRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9uc1wiIGlkPVwiQ29uZmlybWF0aW9uTW9kYWxDb250cm9sXCJcclxuICAjQ29uZmlybWF0aW9uTW9kYWxDb250cm9sPjwvQkJTRi1Db25maXJtYXRpb25Nb2RhbD4iXX0=
|