@esfaenza/core 15.2.5 → 15.2.6
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/components/base/navigable.component.d.ts +17 -0
- package/components/base/reactive.component.d.ts +9 -0
- package/components/breadcrumb/breadcrumb.component.d.ts +4 -0
- package/components/components.module.d.ts +11 -9
- package/components/jace-resource/jace-resource.component.d.ts +22 -0
- package/components/navbar/navbar.component.d.ts +22 -17
- package/components/public-api.d.ts +3 -0
- package/components/sidebar/sidebar.component.d.ts +13 -8
- package/domain/models/core/ApplicationJob.d.ts +12 -0
- package/domain/models/core/GenericItem.d.ts +10 -0
- package/domain/models/core/KeyValue.d.ts +5 -0
- package/domain/models/global_search/SaerchResultContainer.d.ts +5 -0
- package/domain/models/global_search/SearchResult.d.ts +10 -0
- package/domain/models/jace/{classes/ActiveModuleView.d.ts → ActiveModuleView.d.ts} +0 -5
- package/domain/models/jace/CategoriesWithModules.d.ts +6 -0
- package/domain/models/jace/{classes/JaceAccount.d.ts → JaceAccount.d.ts} +0 -9
- package/domain/models/jace/{classes/JaceIdentity.d.ts → JaceIdentity.d.ts} +1 -3
- package/domain/models/jace/JaceUser.d.ts +9 -0
- package/domain/public-api.d.ts +16 -10
- package/domain/tokens.d.ts +1 -1
- package/esm2020/components/base/navigable.component.mjs +43 -0
- package/esm2020/components/base/reactive.component.mjs +26 -0
- package/esm2020/components/breadcrumb/breadcrumb.component.mjs +34 -29
- package/esm2020/components/components.module.mjs +15 -8
- package/esm2020/components/error/Angular/angularerror.component.mjs +7 -5
- package/esm2020/components/external-page/external_pages.component.mjs +1 -2
- package/esm2020/components/jace-resource/jace-resource.component.mjs +65 -0
- package/esm2020/components/navbar/modules-board/jace-modules-board.component.mjs +1 -1
- package/esm2020/components/navbar/navbar.component.mjs +80 -60
- package/esm2020/components/public-api.mjs +4 -1
- package/esm2020/components/sidebar/sidebar.component.mjs +67 -39
- package/esm2020/domain/models/core/ApplicationJob.mjs +3 -0
- package/esm2020/domain/models/core/ApplicationMenu.mjs +26 -0
- package/esm2020/domain/models/core/EnvOptions.mjs +13 -0
- package/esm2020/domain/models/core/GenericItem.mjs +12 -0
- package/esm2020/domain/models/core/KeyValue.mjs +15 -0
- package/esm2020/domain/models/global_search/SaerchResultContainer.mjs +6 -0
- package/esm2020/domain/models/global_search/SearchResult.mjs +8 -0
- package/esm2020/domain/models/jace/AccountScope.mjs +8 -0
- package/esm2020/domain/models/jace/ActiveModuleView.mjs +3 -0
- package/esm2020/domain/models/jace/CategoriesWithModules.mjs +7 -0
- package/esm2020/domain/models/jace/JaceAccount.mjs +3 -0
- package/esm2020/domain/models/jace/JaceIdentity.mjs +13 -0
- package/esm2020/domain/models/jace/JaceModule.mjs +3 -0
- package/esm2020/domain/models/jace/JacePermission.mjs +3 -0
- package/esm2020/domain/models/jace/JaceRole.mjs +8 -0
- package/esm2020/domain/models/jace/JaceUser.mjs +3 -0
- package/esm2020/domain/public-api.mjs +17 -11
- package/esm2020/domain/tokens.mjs +1 -1
- package/esm2020/lib/app.component.mjs +2 -2
- package/esm2020/lib/core.module.mjs +8 -7
- package/esm2020/pipes/classes/included_in.pipe.mjs +17 -0
- package/esm2020/pipes/{safe_html → classes}/safe_html.pipe.mjs +1 -1
- package/esm2020/pipes/{safe_script → classes}/safe_script.pipe.mjs +1 -1
- package/esm2020/pipes/{safe_style → classes}/safe_style.pipe.mjs +1 -1
- package/esm2020/pipes/classes/safe_url.pipe.mjs +18 -0
- package/esm2020/pipes/pipes.module.mjs +6 -6
- package/esm2020/pipes/public-api.mjs +6 -6
- package/esm2020/services/classes/app.completedjobredirection.mjs +18 -0
- package/esm2020/services/classes/app.globalsearch.mjs +34 -0
- package/esm2020/services/classes/app.menufilter.mjs +21 -0
- package/esm2020/services/classes/app.state.mjs +101 -9
- package/esm2020/services/public-api.mjs +4 -1
- package/fesm2015/esfaenza-core-components.mjs +331 -207
- package/fesm2015/esfaenza-core-components.mjs.map +1 -1
- package/fesm2015/esfaenza-core-domain.mjs +55 -15
- package/fesm2015/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2015/esfaenza-core-pipes.mjs +2 -2
- package/fesm2015/esfaenza-core-pipes.mjs.map +1 -1
- package/fesm2015/esfaenza-core-services.mjs +168 -10
- package/fesm2015/esfaenza-core-services.mjs.map +1 -1
- package/fesm2015/esfaenza-core.mjs +11 -10
- package/fesm2015/esfaenza-core.mjs.map +1 -1
- package/fesm2020/esfaenza-core-components.mjs +323 -201
- package/fesm2020/esfaenza-core-components.mjs.map +1 -1
- package/fesm2020/esfaenza-core-domain.mjs +54 -14
- package/fesm2020/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2020/esfaenza-core-pipes.mjs +2 -2
- package/fesm2020/esfaenza-core-pipes.mjs.map +1 -1
- package/fesm2020/esfaenza-core-services.mjs +167 -10
- package/fesm2020/esfaenza-core-services.mjs.map +1 -1
- package/fesm2020/esfaenza-core.mjs +11 -10
- package/fesm2020/esfaenza-core.mjs.map +1 -1
- package/lib/core.module.d.ts +6 -8
- package/package.json +1 -1
- package/pipes/{safe_url → classes}/safe_url.pipe.d.ts +1 -1
- package/pipes/pipes.module.d.ts +5 -5
- package/pipes/public-api.d.ts +5 -5
- package/services/classes/app.completedjobredirection.d.ts +12 -0
- package/services/classes/app.globalsearch.d.ts +25 -0
- package/services/classes/app.menufilter.d.ts +14 -0
- package/services/classes/app.state.d.ts +10 -17
- package/services/public-api.d.ts +3 -0
- package/theme/initial.scss +0 -8
- package/components/sidebar/sidebar.component.service.d.ts +0 -27
- package/domain/models/jace/classes/User.d.ts +0 -4
- package/esm2020/components/sidebar/sidebar.component.service.mjs +0 -58
- package/esm2020/domain/models/core/classes/ApplicationMenu.mjs +0 -26
- package/esm2020/domain/models/core/classes/EnvOptions.mjs +0 -13
- package/esm2020/domain/models/jace/classes/AccountScope.mjs +0 -8
- package/esm2020/domain/models/jace/classes/ActiveModuleView.mjs +0 -9
- package/esm2020/domain/models/jace/classes/JaceAccount.mjs +0 -5
- package/esm2020/domain/models/jace/classes/JaceIdentity.mjs +0 -16
- package/esm2020/domain/models/jace/classes/JaceModule.mjs +0 -3
- package/esm2020/domain/models/jace/classes/JacePermission.mjs +0 -3
- package/esm2020/domain/models/jace/classes/JaceRole.mjs +0 -8
- package/esm2020/domain/models/jace/classes/User.mjs +0 -3
- package/esm2020/pipes/included_in/included_in.pipe.mjs +0 -17
- package/esm2020/pipes/safe_url/safe_url.pipe.mjs +0 -18
- /package/domain/models/core/{classes/ApplicationMenu.d.ts → ApplicationMenu.d.ts} +0 -0
- /package/domain/models/core/{classes/EnvOptions.d.ts → EnvOptions.d.ts} +0 -0
- /package/domain/models/jace/{classes/AccountScope.d.ts → AccountScope.d.ts} +0 -0
- /package/domain/models/jace/{classes/JaceModule.d.ts → JaceModule.d.ts} +0 -0
- /package/domain/models/jace/{classes/JacePermission.d.ts → JacePermission.d.ts} +0 -0
- /package/domain/models/jace/{classes/JaceRole.d.ts → JaceRole.d.ts} +0 -0
- /package/pipes/{included_in → classes}/included_in.pipe.d.ts +0 -0
- /package/pipes/{safe_html → classes}/safe_html.pipe.d.ts +0 -0
- /package/pipes/{safe_script → classes}/safe_script.pipe.d.ts +0 -0
- /package/pipes/{safe_style → classes}/safe_style.pipe.d.ts +0 -0
|
@@ -2,26 +2,31 @@
|
|
|
2
2
|
import { ChangeDetectionStrategy, Component, HostListener, Inject, Optional, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
3
3
|
import { NavigationEnd } from "@angular/router";
|
|
4
4
|
// Applicazione
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { MENU, MENU_LOCALIZATION } from "@esfaenza/core/domain";
|
|
6
|
+
import { firstValueFrom } from "rxjs";
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@esfaenza/localizations";
|
|
9
9
|
import * as i2 from "@angular/router";
|
|
10
10
|
import * as i3 from "@esfaenza/core/services";
|
|
11
|
-
import * as i4 from "
|
|
12
|
-
import * as i5 from "@
|
|
13
|
-
import * as i6 from "@
|
|
11
|
+
import * as i4 from "@esfaenza/extensions";
|
|
12
|
+
import * as i5 from "@esfaenza/access-control";
|
|
13
|
+
import * as i6 from "@angular/common";
|
|
14
|
+
import * as i7 from "@esfaenza/core/directives";
|
|
14
15
|
export class Sidebar {
|
|
15
|
-
constructor(lc, lcMenu, cdr, _elementRef, _router, _state,
|
|
16
|
+
constructor(lc, lcMenu, cdr, _elementRef, _router, _state, zone, utiExts, aac, menuItemsRaw, menuFilteringService) {
|
|
16
17
|
this.lc = lc;
|
|
17
18
|
this.cdr = cdr;
|
|
18
19
|
this._elementRef = _elementRef;
|
|
19
20
|
this._router = _router;
|
|
20
21
|
this._state = _state;
|
|
21
|
-
this._sidebarService = _sidebarService;
|
|
22
22
|
this.zone = zone;
|
|
23
|
+
this.utiExts = utiExts;
|
|
24
|
+
this.aac = aac;
|
|
25
|
+
this.menuItemsRaw = menuItemsRaw;
|
|
26
|
+
this.menuFilteringService = menuFilteringService;
|
|
23
27
|
this.isMenuCollapsed = false;
|
|
24
28
|
this.isMenuShouldCollapsed = false;
|
|
29
|
+
this.lc = this.lc.generateFromType(lcMenu);
|
|
25
30
|
this._state.subscribe("menu.isCollapsed", (isCollapsed) => {
|
|
26
31
|
this.isMenuCollapsed = isCollapsed;
|
|
27
32
|
this.cdr.markForCheck();
|
|
@@ -33,35 +38,55 @@ export class Sidebar {
|
|
|
33
38
|
this._router.events.subscribe(event => {
|
|
34
39
|
if (event instanceof NavigationEnd) {
|
|
35
40
|
let width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
|
|
36
|
-
if (width <= 768)
|
|
41
|
+
if (width <= 768)
|
|
37
42
|
this._state.notifyDataChanged("menu.isCollapsed", true);
|
|
38
|
-
}
|
|
39
43
|
window.scrollTo(0, 0);
|
|
40
44
|
}
|
|
41
45
|
});
|
|
42
|
-
this.lc = this.lc.generateFromType(lcMenu);
|
|
43
46
|
}
|
|
44
|
-
ngOnInit() {
|
|
45
|
-
|
|
46
|
-
this.
|
|
47
|
-
}
|
|
48
|
-
init() {
|
|
49
|
-
var mi = this._sidebarService.getMenuItems();
|
|
50
|
-
;
|
|
51
|
-
for (let i = 0; i < mi.length; i++)
|
|
52
|
-
this.assignLevel(mi[i], 1);
|
|
53
|
-
this.menuItems = mi;
|
|
47
|
+
async ngOnInit() {
|
|
48
|
+
let tmpMenuItems = this.getMenuItems();
|
|
49
|
+
this.menuItems = await firstValueFrom(this.menuFilteringService.filter(tmpMenuItems));
|
|
54
50
|
if (this._shouldMenuCollapse())
|
|
55
51
|
this.menuCollapse();
|
|
56
52
|
this.updateSidebarHeight();
|
|
57
53
|
this._state.setSidebarWidth(this.sidebar.nativeElement.offsetWidth);
|
|
54
|
+
this.cdr.markForCheck();
|
|
55
|
+
}
|
|
56
|
+
getMenuItems() {
|
|
57
|
+
var items = [];
|
|
58
|
+
for (let i = 0; i < this.menuItemsRaw.length; i++) {
|
|
59
|
+
let t = this.menuItemsRaw[i];
|
|
60
|
+
t.level = 1;
|
|
61
|
+
if (!t.ac || this.aac.has(t.ac)) {
|
|
62
|
+
if (!t.subMenu || t.subMenu.length == 0)
|
|
63
|
+
items.push(t);
|
|
64
|
+
else {
|
|
65
|
+
var toPush = this.checkSubMenuOverClaims(t, 1);
|
|
66
|
+
items.push(toPush);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return items;
|
|
58
71
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
72
|
+
checkSubMenuOverClaims(menuItem, level) {
|
|
73
|
+
var item = this.utiExts.deepClone(menuItem);
|
|
74
|
+
item.subMenu = [];
|
|
75
|
+
for (let i = 0; i < menuItem.subMenu.length; i++) {
|
|
76
|
+
let t = menuItem.subMenu[i];
|
|
77
|
+
t.level = level + 1;
|
|
78
|
+
if (!t.ac || this.aac.has(t.ac)) {
|
|
79
|
+
if (!t.subMenu || t.subMenu.length == 0)
|
|
80
|
+
item.subMenu.push(t);
|
|
81
|
+
else {
|
|
82
|
+
var toPush = this.checkSubMenuOverClaims(t, level + 1);
|
|
83
|
+
item.subMenu.push(toPush);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Calcolo qui per non doverlo calcolare lato HTML
|
|
87
|
+
t.padding_left = level > 2 ? (65 + ((level - 3) * 15) + 'px !important') : null;
|
|
88
|
+
}
|
|
89
|
+
return item;
|
|
65
90
|
}
|
|
66
91
|
onWindowResize() {
|
|
67
92
|
var isMenuShouldCollapsed = this._shouldMenuCollapse();
|
|
@@ -102,7 +127,7 @@ export class Sidebar {
|
|
|
102
127
|
this.menuHeight = this._elementRef.nativeElement.children[0].clientHeight - 60;
|
|
103
128
|
}
|
|
104
129
|
//Nonostante questa funzione sia collegata con (click.out-zone) per qualche motivo angular le esegue comunque nella sua zone
|
|
105
|
-
//generando un po' di
|
|
130
|
+
//generando un po' di irresponsività iniziale... succede solo col click... boh
|
|
106
131
|
collapseMenu($event, item) {
|
|
107
132
|
if (this.isMenuCollapsed)
|
|
108
133
|
this.menuExpand();
|
|
@@ -117,15 +142,15 @@ export class Sidebar {
|
|
|
117
142
|
let levelClassPlusOne = item.level ? "level-" + (item.level + 1) : "";
|
|
118
143
|
let slidePeriod = 400;
|
|
119
144
|
var link = jQuery($event.currentTarget);
|
|
120
|
-
//Se l'elemento non
|
|
145
|
+
//Se l'elemento non è espanso
|
|
121
146
|
if (!link.closest(".sidebar-item-expanded" + "_" + levelClass).length) {
|
|
122
147
|
//Tiro su tutti gli elementi dello stesso livello espansi e li chiudo
|
|
123
|
-
//Se ho compresso un menu vado a vedere se c'
|
|
148
|
+
//Se ho compresso un menu vado a vedere se c'è anche un altro menu di livello pi� basso da richiudere
|
|
124
149
|
jQuery("ul.nav-sidebar li" + "." + (levelClassPlusOne)).each(function () {
|
|
125
150
|
let closestLi = jQuery(this).closest("li");
|
|
126
151
|
if (closestLi.children("ul").length && closestLi.hasClass("sidebar-item-expanded")) {
|
|
127
152
|
closestLi.children("ul").slideUp(slidePeriod);
|
|
128
|
-
//Le uso sempre entrambe insieme. La prima
|
|
153
|
+
//Le uso sempre entrambe insieme. La prima è la classe per la logica, la seconda per le animazioni
|
|
129
154
|
closestLi.removeClass("sidebar-item-expanded" + "_" + (levelClassPlusOne));
|
|
130
155
|
closestLi.removeClass("sidebar-item-expanded");
|
|
131
156
|
}
|
|
@@ -135,7 +160,7 @@ export class Sidebar {
|
|
|
135
160
|
let closestLi = jQuery(this).closest("li");
|
|
136
161
|
if (closestLi.children("ul").length && closestLi.hasClass("sidebar-item-expanded")) {
|
|
137
162
|
closestLi.children("ul").slideUp(slidePeriod);
|
|
138
|
-
//Le uso sempre entrambe insieme. La prima
|
|
163
|
+
//Le uso sempre entrambe insieme. La prima è la classe per la logica, la seconda per le animazioni
|
|
139
164
|
closestLi.removeClass("sidebar-item-expanded" + "_" + levelClass);
|
|
140
165
|
closestLi.removeClass("sidebar-item-expanded");
|
|
141
166
|
}
|
|
@@ -143,15 +168,15 @@ export class Sidebar {
|
|
|
143
168
|
//Dopodich� espando quello attuale
|
|
144
169
|
link.next().slideDown(slidePeriod);
|
|
145
170
|
if (item.subMenu) {
|
|
146
|
-
//Le uso sempre entrambe insieme. La prima
|
|
171
|
+
//Le uso sempre entrambe insieme. La prima è la classe per la logica, la seconda per le animazioni
|
|
147
172
|
link.closest("li").addClass("sidebar-item-expanded" + "_" + levelClass);
|
|
148
173
|
link.closest("li").addClass("sidebar-item-expanded");
|
|
149
174
|
}
|
|
150
175
|
}
|
|
151
176
|
else {
|
|
152
|
-
//Altrimenti, se l'elemento
|
|
177
|
+
//Altrimenti, se l'elemento è già espanso lo chiudo
|
|
153
178
|
if (item.subMenu) {
|
|
154
|
-
//Le uso sempre entrambe insieme. La prima
|
|
179
|
+
//Le uso sempre entrambe insieme. La prima è la classe per la logica, la seconda per le animazioni
|
|
155
180
|
link.closest("li").removeClass("sidebar-item-expanded" + "_" + levelClass);
|
|
156
181
|
link.closest("li").removeClass("sidebar-item-expanded");
|
|
157
182
|
}
|
|
@@ -159,21 +184,24 @@ export class Sidebar {
|
|
|
159
184
|
}
|
|
160
185
|
}
|
|
161
186
|
}
|
|
162
|
-
Sidebar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Sidebar, deps: [{ token: i1.LocalizationService }, { token: MENU_LOCALIZATION, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.Router }, { token: i3.AppState }, { token: i4.
|
|
163
|
-
Sidebar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Sidebar, selector: "sidebar", host: { listeners: { "window:resize": "onWindowResize()" } },
|
|
187
|
+
Sidebar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Sidebar, deps: [{ token: i1.LocalizationService }, { token: MENU_LOCALIZATION, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.Router }, { token: i3.AppState }, { token: i0.NgZone }, { token: i4.UtilityService }, { token: i5.AccessControlService }, { token: MENU }, { token: i3.MenuFilteringService }], target: i0.ɵɵFactoryTarget.Component });
|
|
188
|
+
Sidebar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Sidebar, selector: "sidebar", host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "sidebar", first: true, predicate: ["sidebar"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"app-sidebar\" #sidebar [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" slim-scroll [slimScrollOptions]=\"{height: menuHeight}\" style=\"position:relative; zoom:1\">\r\n\r\n <li *ngFor=\"let item of menuItems\" class=\"sidebar-list-item level-{{item.level}}\" [ngClass]=\"{'has-sub-menu': item.subMenu, 'sidebar-item-expanded': item.expanded}\" [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"sidebar-hover-elem\"></div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"item.link ? item.link : '#'\" (click)=\"item.wip && $event.preventDefault()\" target=\"_blank\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.routerLink && !item.subMenu && !item.wip\" class=\"sidebar-list-link {{item.cssClass || ''}}\" [routerLink]=\"[item.routerLink]\" [queryParams]=\"item.queryParams\" routerLinkActive=\"active-link\" (click.out-zone)=\"collapseMenu($event, item)\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.subMenu && !item.wip\" (click.out-zone)=\"collapseMenu($event, item)\" [attr.href]=\"''\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n <b class=\"fa fa-angle-down\"></b>\r\n </a>\r\n\r\n <ul *ngIf=\"item.subMenu\" class=\"sidebar-sublist\">\r\n <li *ngFor=\"let subitem of item.subMenu\" class=\"sidebar-sublist-item level-{{subitem.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ul>\r\n</ng-template>", styles: [".app-sidebar{background:#344154;height:100%;min-height:100%;position:fixed;width:230px;overflow:hidden;display:block;z-index:9;margin-top:60px}.app-sidebar.menu-collapsed{width:50px}.app-sidebar.menu-collapsed a.sidebar-list-link b{display:none}.app-sidebar.menu-collapsed .sidebar-sublist{position:absolute;top:-1px;left:52px;width:0;display:block;overflow:hidden}.sidebar-list-item{display:block;position:relative;float:none;padding:0;border-bottom:1px solid rgba(36,45,58,.5);box-shadow:0 1px #ffffff1a}.sidebar-item-wip{cursor:default}.sidebar-item-wip a{color:#999!important}a.sidebar-list-link{display:block;height:42px;padding-left:18px!important;padding-top:0!important;text-shadow:none;font-size:13px;letter-spacing:.02em;text-decoration:none;color:#fff;line-height:42px;white-space:nowrap;overflow:hidden;cursor:pointer;transition:all .2s ease}a.sidebar-list-link i{margin-right:16px;width:16px;display:inline-block}a.sidebar-list-link b{display:block;opacity:1;width:14px;height:14px;line-height:14px;text-shadow:none;font-size:18px;position:absolute;right:10px;top:14px;padding:0;text-align:center;color:#fff;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#242d3a}.sidebar-list-item.sidebar-item-expanded>.sidebar-list-link b,.sidebar-sublist-item.sidebar-item-expanded>.sidebar-list-link b{transform:rotate(180deg)}.sidebar-sublist{display:none;padding:0;list-style:none;position:relative;background-color:#242d3a80}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-bottom:1px solid rgba(36,45,58,.7)}.sidebar-sublist li:last-child{border-bottom:none}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;color:#fff;padding-left:40px!important;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:FontAwesome;content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#242d3a}.sidebar-sublist .subitem-submenu-list li{border-top:1px solid rgba(36,45,58,.7)}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#242d3a80}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background:#637CA0;position:absolute;top:-150px;left:226px;transition:all .2s ease;transition-property:top,height;height:36px;display:block}.sidebar.menu-collapsed .sidebar-hover-elem{left:46px}.active-link{background-color:#637ca0}@media (max-width: 544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i7.SlimScroll, selector: "[slim-scroll]", inputs: ["slimScrollOptions"] }, { kind: "pipe", type: i1.LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
164
189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Sidebar, decorators: [{
|
|
165
190
|
type: Component,
|
|
166
|
-
args: [{ selector: "sidebar", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
191
|
+
args: [{ selector: "sidebar", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"app-sidebar\" #sidebar [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" slim-scroll [slimScrollOptions]=\"{height: menuHeight}\" style=\"position:relative; zoom:1\">\r\n\r\n <li *ngFor=\"let item of menuItems\" class=\"sidebar-list-item level-{{item.level}}\" [ngClass]=\"{'has-sub-menu': item.subMenu, 'sidebar-item-expanded': item.expanded}\" [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"sidebar-hover-elem\"></div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"item.link ? item.link : '#'\" (click)=\"item.wip && $event.preventDefault()\" target=\"_blank\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.routerLink && !item.subMenu && !item.wip\" class=\"sidebar-list-link {{item.cssClass || ''}}\" [routerLink]=\"[item.routerLink]\" [queryParams]=\"item.queryParams\" routerLinkActive=\"active-link\" (click.out-zone)=\"collapseMenu($event, item)\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.subMenu && !item.wip\" (click.out-zone)=\"collapseMenu($event, item)\" [attr.href]=\"''\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n <b class=\"fa fa-angle-down\"></b>\r\n </a>\r\n\r\n <ul *ngIf=\"item.subMenu\" class=\"sidebar-sublist\">\r\n <li *ngFor=\"let subitem of item.subMenu\" class=\"sidebar-sublist-item level-{{subitem.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ul>\r\n</ng-template>", styles: [".app-sidebar{background:#344154;height:100%;min-height:100%;position:fixed;width:230px;overflow:hidden;display:block;z-index:9;margin-top:60px}.app-sidebar.menu-collapsed{width:50px}.app-sidebar.menu-collapsed a.sidebar-list-link b{display:none}.app-sidebar.menu-collapsed .sidebar-sublist{position:absolute;top:-1px;left:52px;width:0;display:block;overflow:hidden}.sidebar-list-item{display:block;position:relative;float:none;padding:0;border-bottom:1px solid rgba(36,45,58,.5);box-shadow:0 1px #ffffff1a}.sidebar-item-wip{cursor:default}.sidebar-item-wip a{color:#999!important}a.sidebar-list-link{display:block;height:42px;padding-left:18px!important;padding-top:0!important;text-shadow:none;font-size:13px;letter-spacing:.02em;text-decoration:none;color:#fff;line-height:42px;white-space:nowrap;overflow:hidden;cursor:pointer;transition:all .2s ease}a.sidebar-list-link i{margin-right:16px;width:16px;display:inline-block}a.sidebar-list-link b{display:block;opacity:1;width:14px;height:14px;line-height:14px;text-shadow:none;font-size:18px;position:absolute;right:10px;top:14px;padding:0;text-align:center;color:#fff;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#242d3a}.sidebar-list-item.sidebar-item-expanded>.sidebar-list-link b,.sidebar-sublist-item.sidebar-item-expanded>.sidebar-list-link b{transform:rotate(180deg)}.sidebar-sublist{display:none;padding:0;list-style:none;position:relative;background-color:#242d3a80}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-bottom:1px solid rgba(36,45,58,.7)}.sidebar-sublist li:last-child{border-bottom:none}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;color:#fff;padding-left:40px!important;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:FontAwesome;content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#242d3a}.sidebar-sublist .subitem-submenu-list li{border-top:1px solid rgba(36,45,58,.7)}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#242d3a80}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background:#637CA0;position:absolute;top:-150px;left:226px;transition:all .2s ease;transition-property:top,height;height:36px;display:block}.sidebar.menu-collapsed .sidebar-hover-elem{left:46px}.active-link{background-color:#637ca0}@media (max-width: 544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}\n"] }]
|
|
167
192
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.Type, decorators: [{
|
|
168
193
|
type: Optional
|
|
169
194
|
}, {
|
|
170
195
|
type: Inject,
|
|
171
196
|
args: [MENU_LOCALIZATION]
|
|
172
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.Router }, { type: i3.AppState }, { type:
|
|
197
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.Router }, { type: i3.AppState }, { type: i0.NgZone }, { type: i4.UtilityService }, { type: i5.AccessControlService }, { type: undefined, decorators: [{
|
|
198
|
+
type: Inject,
|
|
199
|
+
args: [MENU]
|
|
200
|
+
}] }, { type: i3.MenuFilteringService }]; }, propDecorators: { sidebar: [{
|
|
173
201
|
type: ViewChild,
|
|
174
202
|
args: ["sidebar", { static: true }]
|
|
175
203
|
}], onWindowResize: [{
|
|
176
204
|
type: HostListener,
|
|
177
205
|
args: ["window:resize"]
|
|
178
206
|
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBb0IsUUFBUSxFQUFRLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4TCxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFLeEQsZUFBZTtBQUNmLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFjMUQsTUFBTSxPQUFPLE9BQU87SUFZaEIsWUFBbUIsRUFBdUIsRUFBeUMsTUFBaUMsRUFBVSxHQUFzQixFQUFVLFdBQXVCLEVBQVUsT0FBZSxFQUFTLE1BQWdCLEVBQVUsZUFBK0IsRUFBVSxJQUFZO1FBQW5SLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQW9GLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFUL1Isb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBUzFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLDZCQUE2QixFQUFFLENBQUMsU0FBa0IsRUFBRSxFQUFFO1lBQ3hFLElBQUksU0FBUztnQkFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNoQyxJQUFJLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZFLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUMzRDtnQkFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxRQUFRO1FBQ1gsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFBQSxDQUFDO1FBQzlDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFhLEVBQUUsS0FBSztRQUM1QixRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUV2QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFDakIsT0FBTztRQUVYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBR00sY0FBYztRQUNqQixJQUFJLHFCQUFxQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRXZELElBQUksSUFBSSxDQUFDLHFCQUFxQixLQUFLLHFCQUFxQixFQUFFO1lBQ3RELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBQ25ELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsT0FBTyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQztJQUNwQyxDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sdUJBQXVCLENBQUMsV0FBb0I7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFNO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUUxRSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxvQkFBb0I7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUV6QixDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLG1CQUFtQjtRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFRCw0SEFBNEg7SUFDNUgsOEVBQThFO0lBQ3ZFLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSTtRQUM1QixJQUFJLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFFakUsMEhBQTBIO1FBQzFILElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRGLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsSUFBSTtRQUMzQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RSxJQUFJLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFFdEIsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4Qyw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNuRSxxRUFBcUU7WUFFckUscUdBQXFHO1lBQ3JHLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUN6RCxJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsRUFBRTtvQkFDaEYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzlDLGtHQUFrRztvQkFDbEcsU0FBUyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7b0JBQzNFLFNBQVMsQ0FBQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQztpQkFDbEQ7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILHlEQUF5RDtZQUN6RCxNQUFNLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDaEQsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEVBQUU7b0JBQ2hGLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUM5QyxrR0FBa0c7b0JBQ2xHLFNBQVMsQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDO29CQUNsRSxTQUFTLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUM7aUJBQ2xEO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxrQ0FBa0M7WUFDbEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUVuQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2Qsa0dBQWtHO2dCQUNsRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7YUFDeEQ7U0FDSjthQUFNO1lBQ0gsbURBQW1EO1lBQ25ELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxrR0FBa0c7Z0JBQ2xHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLHVCQUF1QixHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQztnQkFDM0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUMzRDtZQUVELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDOztvR0FyTFEsT0FBTyxxREFZZ0QsaUJBQWlCO3dGQVp4RSxPQUFPLGdHQUpMLENBQUMsY0FBYyxDQUFDLDRJQ25CL0IscTdFQThCYzsyRkRQRCxPQUFPO2tCQVJuQixTQUFTOytCQUNJLFNBQVMsaUJBQ0osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsQ0FBQzs7MEJBZ0JrQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjttTUFGekMsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQXdEL0IsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIEluamVjdG9yLCBOZ1pvbmUsIE9wdGlvbmFsLCBUeXBlLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IFNpZGViYXJTZXJ2aWNlIH0gZnJvbSBcIi4vc2lkZWJhci5jb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNRU5VX0xPQ0FMSVpBVElPTiB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuaW1wb3J0IHsgQXBwU3RhdGUgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvc2VydmljZXNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIGpRdWVyeTtcclxuZGVjbGFyZSB2YXIgJDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwic2lkZWJhclwiLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbU2lkZWJhclNlcnZpY2VdLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL3NpZGViYXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3NpZGViYXIuY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2lkZWJhciB7XHJcbiAgICBwdWJsaWMgbWVudUl0ZW1zOiBBcnJheTxhbnk+O1xyXG4gICAgcHVibGljIG1lbnVIZWlnaHQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyBpc01lbnVDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc01lbnVTaG91bGRDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgc2hvd0hvdmVyRWxlbTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBob3ZlckVsZW1IZWlnaHQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyBob3ZlckVsZW1Ub3A6IG51bWJlcjtcclxuXHJcbiAgICBAVmlld0NoaWxkKFwic2lkZWJhclwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBzaWRlYmFyOiBFbGVtZW50UmVmO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgQE9wdGlvbmFsKCkgQEluamVjdChNRU5VX0xPQ0FMSVpBVElPTikgbGNNZW51OiBUeXBlPExvY2FsaXphdGlvblNlcnZpY2U+LCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLCBwdWJsaWMgX3N0YXRlOiBBcHBTdGF0ZSwgcHJpdmF0ZSBfc2lkZWJhclNlcnZpY2U6IFNpZGViYXJTZXJ2aWNlLCBwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xyXG4gICAgICAgIHRoaXMuX3N0YXRlLnN1YnNjcmliZShcIm1lbnUuaXNDb2xsYXBzZWRcIiwgKGlzQ29sbGFwc2VkKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNZW51Q29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLl9zdGF0ZS5zdWJzY3JpYmUoXCJhcHBsaWNhdGlvbi5EZXBsb3lBdmFpbGFibGVcIiwgKGF2YWlsYWJsZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYXZhaWxhYmxlKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICAgICAgICAgIGxldCB3aWR0aCA9ICh3aW5kb3cuaW5uZXJXaWR0aCA+IDApID8gd2luZG93LmlubmVyV2lkdGggOiBzY3JlZW4ud2lkdGg7XHJcbiAgICAgICAgICAgICAgICBpZiAod2lkdGggPD0gNzY4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RhdGUubm90aWZ5RGF0YUNoYW5nZWQoXCJtZW51LmlzQ29sbGFwc2VkXCIsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubGMgPSB0aGlzLmxjLmdlbmVyYXRlRnJvbVR5cGUobGNNZW51KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gSXZuZW50YXJzaSB1bmEgc29ydGEgZGkgcmVmcmVzaFxyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXQoKSB7XHJcbiAgICAgICAgdmFyIG1pID0gdGhpcy5fc2lkZWJhclNlcnZpY2UuZ2V0TWVudUl0ZW1zKCk7O1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWkubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIHRoaXMuYXNzaWduTGV2ZWwobWlbaV0sIDEpO1xyXG5cclxuICAgICAgICB0aGlzLm1lbnVJdGVtcyA9IG1pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2hvdWxkTWVudUNvbGxhcHNlKCkpXHJcbiAgICAgICAgICAgIHRoaXMubWVudUNvbGxhcHNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlU2lkZWJhckhlaWdodCgpO1xyXG4gICAgICAgIHRoaXMuX3N0YXRlLnNldFNpZGViYXJXaWR0aCh0aGlzLnNpZGViYXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXNzaWduTGV2ZWwobWVudUl0ZW06IGFueSwgbGV2ZWwpIHtcclxuICAgICAgICBtZW51SXRlbS5sZXZlbCA9IGxldmVsO1xyXG5cclxuICAgICAgICBpZiAoIW1lbnVJdGVtLnN1Yk1lbnUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZW51SXRlbS5zdWJNZW51Lmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICB0aGlzLmFzc2lnbkxldmVsKG1lbnVJdGVtLnN1Yk1lbnVbaV0sIGxldmVsICsgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIilcclxuICAgIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICB2YXIgaXNNZW51U2hvdWxkQ29sbGFwc2VkID0gdGhpcy5fc2hvdWxkTWVudUNvbGxhcHNlKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzTWVudVNob3VsZENvbGxhcHNlZCAhPT0gaXNNZW51U2hvdWxkQ29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudUNvbGxhcHNlU3RhdGVDaGFuZ2UoaXNNZW51U2hvdWxkQ29sbGFwc2VkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pc01lbnVTaG91bGRDb2xsYXBzZWQgPSBpc01lbnVTaG91bGRDb2xsYXBzZWQ7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTaWRlYmFySGVpZ2h0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvdWxkTWVudUNvbGxhcHNlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA3Njg7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1lbnVDb2xsYXBzZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1lbnVDb2xsYXBzZVN0YXRlQ2hhbmdlKHRydWUpO1xyXG4gICAgICAgIHRoaXMuX3N0YXRlLnNldFNpZGViYXJXaWR0aCh0aGlzLnNpZGViYXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1lbnVDb2xsYXBzZVN0YXRlQ2hhbmdlKGlzQ29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc01lbnVDb2xsYXBzZWQgPSBpc0NvbGxhcHNlZDtcclxuICAgICAgICB0aGlzLl9zdGF0ZS5ub3RpZnlEYXRhQ2hhbmdlZChcIm1lbnUuaXNDb2xsYXBzZWRcIiwgdGhpcy5pc01lbnVDb2xsYXBzZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBtZW51RXhwYW5kKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubWVudUNvbGxhcHNlU3RhdGVDaGFuZ2UoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX3N0YXRlLnNldFNpZGViYXJXaWR0aCh0aGlzLnNpZGViYXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhvdmVySXRlbSgkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dIb3ZlckVsZW0gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaG92ZXJFbGVtSGVpZ2h0ID0gJGV2ZW50LmN1cnJlbnRUYXJnZXQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuaG92ZXJFbGVtVG9wID0gJGV2ZW50LmN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIC0gNjA7XHJcblxyXG4gICAgICAgICQoXCIuc2lkZWJhci1ob3Zlci1lbGVtXCIpLmNzcyhcInRvcFwiLCB0aGlzLmhvdmVyRWxlbVRvcCArIFwicHhcIik7XHJcbiAgICAgICAgJChcIi5zaWRlYmFyLWhvdmVyLWVsZW1cIikuY3NzKFwiaGVpZ2h0XCIsIHRoaXMuaG92ZXJFbGVtSGVpZ2h0ICsgXCJweFwiKTtcclxuICAgICAgICAkKFwiLnNpZGViYXItaG92ZXItZWxlbVwiKS5hZGRDbGFzcyhcInNob3ctaG92ZXItZWxlbVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2VuZEF3YXlIb3ZlckVsZW1lbnQoKSB7XHJcbiAgICAgICAgdGhpcy5ob3ZlckVsZW1Ub3AgPSAtMjAwO1xyXG5cclxuICAgICAgICAkKFwiLnNpZGViYXItaG92ZXItZWxlbVwiKS5jc3MoXCJ0b3BcIiwgdGhpcy5ob3ZlckVsZW1Ub3AgKyBcInB4XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVTaWRlYmFySGVpZ2h0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubWVudUhlaWdodCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5jbGllbnRIZWlnaHQgLSA2MDtcclxuICAgIH1cclxuXHJcbiAgICAvL05vbm9zdGFudGUgcXVlc3RhIGZ1bnppb25lIHNpYSBjb2xsZWdhdGEgY29uIChjbGljay5vdXQtem9uZSkgcGVyIHF1YWxjaGUgbW90aXZvIGFuZ3VsYXIgbGUgZXNlZ3VlIGNvbXVucXVlIG5lbGxhIHN1YSB6b25lXHJcbiAgICAvL2dlbmVyYW5kbyB1biBwbycgZGkgaXJyZXNwb25zaXZpdO+/vSBpbml6aWFsZS4uLiBzdWNjZWRlIHNvbG8gY29sIGNsaWNrLi4uIGJvaFxyXG4gICAgcHVibGljIGNvbGxhcHNlTWVudSgkZXZlbnQsIGl0ZW0pOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5pc01lbnVDb2xsYXBzZWQpXHJcbiAgICAgICAgICAgIHRoaXMubWVudUV4cGFuZCgpO1xyXG5cclxuICAgICAgICBpZiAoIWl0ZW0ubGV2ZWwpXHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkxpdmVsbG8gbm9uIHByZXNlbnRlIGluIHVuIG9nZ2V0dG8gZGVsIG1lbnUhXCIpO1xyXG5cclxuICAgICAgICAvL04uQjogVHV0dGUgbGUgZnVuemlvbmkgZGkgSlF1ZXJ5IGxlIGVzZ3VvIGZ1b3JpIGRhIEFuZ3VsYXIgZGF0byBjaGUgYyfvv70gdW5hIGJ1b25hIHByb2JhYmlsaXTvv70gY2hlIHNpYW5vIGV2ZW50aSBhc2luY3JvbmlcclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4geyB0aGlzLm91dHNpZGVBbmd1bGFyQ2xpY2tIYW5kbGVyKCRldmVudCwgaXRlbSk7IH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvdXRzaWRlQW5ndWxhckNsaWNrSGFuZGxlcigkZXZlbnQsIGl0ZW0pIHtcclxuICAgICAgICBsZXQgbGV2ZWxDbGFzcyA9IGl0ZW0ubGV2ZWwgPyBcImxldmVsLVwiICsgKGl0ZW0ubGV2ZWwpIDogXCJcIjtcclxuICAgICAgICBsZXQgbGV2ZWxDbGFzc1BsdXNPbmUgPSBpdGVtLmxldmVsID8gXCJsZXZlbC1cIiArIChpdGVtLmxldmVsICsgMSkgOiBcIlwiO1xyXG4gICAgICAgIGxldCBzbGlkZVBlcmlvZCA9IDQwMDtcclxuXHJcbiAgICAgICAgdmFyIGxpbmsgPSBqUXVlcnkoJGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xyXG5cclxuICAgICAgICAvL1NlIGwnZWxlbWVudG8gbm9uIO+/vSBlc3BhbnNvXHJcbiAgICAgICAgaWYgKCFsaW5rLmNsb3Nlc3QoXCIuc2lkZWJhci1pdGVtLWV4cGFuZGVkXCIgKyBcIl9cIiArIGxldmVsQ2xhc3MpLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAvL1Rpcm8gc3UgdHV0dGkgZ2xpIGVsZW1lbnRpIGRlbGxvIHN0ZXNzbyBsaXZlbGxvIGVzcGFuc2kgZSBsaSBjaGl1ZG9cclxuXHJcbiAgICAgICAgICAgIC8vU2UgaG8gY29tcHJlc3NvIHVuIG1lbnUgdmFkbyBhIHZlZGVyZSBzZSBjJ++/vSBhbmNoZSB1biBhbHRybyBtZW51IGRpIGxpdmVsbG8gcGnvv70gYmFzc28gZGEgcmljaGl1ZGVyZVxyXG4gICAgICAgICAgICBqUXVlcnkoXCJ1bC5uYXYtc2lkZWJhciBsaVwiICsgXCIuXCIgKyAobGV2ZWxDbGFzc1BsdXNPbmUpKS5lYWNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBjbG9zZXN0TGkgPSBqUXVlcnkodGhpcykuY2xvc2VzdChcImxpXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGNsb3Nlc3RMaS5jaGlsZHJlbihcInVsXCIpLmxlbmd0aCAmJiBjbG9zZXN0TGkuaGFzQ2xhc3MoXCJzaWRlYmFyLWl0ZW0tZXhwYW5kZWRcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBjbG9zZXN0TGkuY2hpbGRyZW4oXCJ1bFwiKS5zbGlkZVVwKHNsaWRlUGVyaW9kKTtcclxuICAgICAgICAgICAgICAgICAgICAvL0xlIHVzbyBzZW1wcmUgZW50cmFtYmUgaW5zaWVtZS4gTGEgcHJpbWEg77+9IGxhIGNsYXNzZSBwZXIgbGEgbG9naWNhLCBsYSBzZWNvbmRhIHBlciBsZSBhbmltYXppb25pXHJcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VzdExpLnJlbW92ZUNsYXNzKFwic2lkZWJhci1pdGVtLWV4cGFuZGVkXCIgKyBcIl9cIiArIChsZXZlbENsYXNzUGx1c09uZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RMaS5yZW1vdmVDbGFzcyhcInNpZGViYXItaXRlbS1leHBhbmRlZFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAvL0RvcG9kaWNo77+9IHJpY2hpdWRvIHR1dHRpIHF1ZWxsaSBkZWwgbWlvIGxpdmVsbG8gYXR0dWFsZVxyXG4gICAgICAgICAgICBqUXVlcnkoXCJ1bC5uYXYtc2lkZWJhciBsaVwiICsgXCIuXCIgKyBsZXZlbENsYXNzKS5lYWNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBjbG9zZXN0TGkgPSBqUXVlcnkodGhpcykuY2xvc2VzdChcImxpXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGNsb3Nlc3RMaS5jaGlsZHJlbihcInVsXCIpLmxlbmd0aCAmJiBjbG9zZXN0TGkuaGFzQ2xhc3MoXCJzaWRlYmFyLWl0ZW0tZXhwYW5kZWRcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBjbG9zZXN0TGkuY2hpbGRyZW4oXCJ1bFwiKS5zbGlkZVVwKHNsaWRlUGVyaW9kKTtcclxuICAgICAgICAgICAgICAgICAgICAvL0xlIHVzbyBzZW1wcmUgZW50cmFtYmUgaW5zaWVtZS4gTGEgcHJpbWEg77+9IGxhIGNsYXNzZSBwZXIgbGEgbG9naWNhLCBsYSBzZWNvbmRhIHBlciBsZSBhbmltYXppb25pXHJcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VzdExpLnJlbW92ZUNsYXNzKFwic2lkZWJhci1pdGVtLWV4cGFuZGVkXCIgKyBcIl9cIiArIGxldmVsQ2xhc3MpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RMaS5yZW1vdmVDbGFzcyhcInNpZGViYXItaXRlbS1leHBhbmRlZFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAvL0RvcG9kaWNo77+9IGVzcGFuZG8gcXVlbGxvIGF0dHVhbGVcclxuICAgICAgICAgICAgbGluay5uZXh0KCkuc2xpZGVEb3duKHNsaWRlUGVyaW9kKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChpdGVtLnN1Yk1lbnUpIHtcclxuICAgICAgICAgICAgICAgIC8vTGUgdXNvIHNlbXByZSBlbnRyYW1iZSBpbnNpZW1lLiBMYSBwcmltYSDvv70gbGEgY2xhc3NlIHBlciBsYSBsb2dpY2EsIGxhIHNlY29uZGEgcGVyIGxlIGFuaW1hemlvbmlcclxuICAgICAgICAgICAgICAgIGxpbmsuY2xvc2VzdChcImxpXCIpLmFkZENsYXNzKFwic2lkZWJhci1pdGVtLWV4cGFuZGVkXCIgKyBcIl9cIiArIGxldmVsQ2xhc3MpO1xyXG4gICAgICAgICAgICAgICAgbGluay5jbG9zZXN0KFwibGlcIikuYWRkQ2xhc3MoXCJzaWRlYmFyLWl0ZW0tZXhwYW5kZWRcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvL0FsdHJpbWVudGksIHNlIGwnZWxlbWVudG8g77+9IGdp77+9IGVzcGFuc28gbG8gY2hpdWRvXHJcbiAgICAgICAgICAgIGlmIChpdGVtLnN1Yk1lbnUpIHtcclxuICAgICAgICAgICAgICAgIC8vTGUgdXNvIHNlbXByZSBlbnRyYW1iZSBpbnNpZW1lLiBMYSBwcmltYSDvv70gbGEgY2xhc3NlIHBlciBsYSBsb2dpY2EsIGxhIHNlY29uZGEgcGVyIGxlIGFuaW1hemlvbmlcclxuICAgICAgICAgICAgICAgIGxpbmsuY2xvc2VzdChcImxpXCIpLnJlbW92ZUNsYXNzKFwic2lkZWJhci1pdGVtLWV4cGFuZGVkXCIgKyBcIl9cIiArIGxldmVsQ2xhc3MpO1xyXG4gICAgICAgICAgICAgICAgbGluay5jbG9zZXN0KFwibGlcIikucmVtb3ZlQ2xhc3MoXCJzaWRlYmFyLWl0ZW0tZXhwYW5kZWRcIik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxpbmsubmV4dCgpLnNsaWRlVXAoc2xpZGVQZXJpb2QpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJhcHAtc2lkZWJhclwiICNzaWRlYmFyIFtuZ0NsYXNzXT1cInsnbWVudS1jb2xsYXBzZWQnOiBpc01lbnVDb2xsYXBzZWR9XCIgKG1vdXNlbGVhdmUub3V0LXpvbmUpPVwic2VuZEF3YXlIb3ZlckVsZW1lbnQoKTtcIj5cclxuICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc2lkZWJhciBmbGV4LWNvbHVtbiBmbGV4LW5vd3JhcFwiIHNsaW0tc2Nyb2xsIFtzbGltU2Nyb2xsT3B0aW9uc109XCJ7aGVpZ2h0OiBtZW51SGVpZ2h0fVwiIHN0eWxlPVwicG9zaXRpb246cmVsYXRpdmU7IHpvb206MVwiPlxyXG5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zXCIgY2xhc3M9XCJzaWRlYmFyLWxpc3QtaXRlbSBsZXZlbC17e2l0ZW0ubGV2ZWx9fVwiIFtuZ0NsYXNzXT1cInsnaGFzLXN1Yi1tZW51JzogaXRlbS5zdWJNZW51LCAnc2lkZWJhci1pdGVtLWV4cGFuZGVkJzogaXRlbS5leHBhbmRlZH1cIiBbY2xhc3Muc2lkZWJhci1pdGVtLXdpcF09XCJpdGVtLndpcFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudUl0ZW07IGNvbnRleHQgOiB7JGltcGxpY2l0OiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLWhvdmVyLWVsZW1cIj48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI21lbnVJdGVtIGxldC1pdGVtPlxyXG4gICAgPGEgW2F0dHIuc3R5bGUucGFkZGluZ19sZWZ0XT1cIml0ZW0ucGFkZGluZ19sZWZ0XCIgKm5nSWY9XCIoIWl0ZW0ucm91dGVyTGluayAmJiAhaXRlbS5zdWJNZW51KSB8fCBpdGVtLndpcFwiIFtocmVmXT1cIml0ZW0ubGluayA/IGl0ZW0ubGluayA6ICcjJ1wiIChjbGljayk9XCJpdGVtLndpcCAmJiAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwic2lkZWJhci1saXN0LWxpbmsge3tpdGVtLmNzc0NsYXNzIHx8ICcnfX1cIiAobW91c2VlbnRlci5vdXQtem9uZSk9XCJob3Zlckl0ZW0oJGV2ZW50KVwiPlxyXG4gICAgICAgIDxpICpuZ0lmPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX1cIj48L2k+PHNwYW4+e3sgaXRlbS50aXRsZSB8IGxvY2FsaXplIDogbGMgfX08L3NwYW4+XHJcbiAgICA8L2E+XHJcblxyXG4gICAgPGEgW2F0dHIuc3R5bGUucGFkZGluZ19sZWZ0XT1cIml0ZW0ucGFkZGluZ19sZWZ0XCIgKm5nSWY9XCJpdGVtLnJvdXRlckxpbmsgJiYgIWl0ZW0uc3ViTWVudSAmJiAhaXRlbS53aXBcIiBjbGFzcz1cInNpZGViYXItbGlzdC1saW5rIHt7aXRlbS5jc3NDbGFzcyB8fCAnJ319XCIgW3JvdXRlckxpbmtdPVwiW2l0ZW0ucm91dGVyTGlua11cIiBbcXVlcnlQYXJhbXNdPVwiaXRlbS5xdWVyeVBhcmFtc1wiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmUtbGlua1wiIChjbGljay5vdXQtem9uZSk9XCJjb2xsYXBzZU1lbnUoJGV2ZW50LCBpdGVtKVwiIChtb3VzZWVudGVyLm91dC16b25lKT1cImhvdmVySXRlbSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJpdGVtLmljb25cIiBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvaT48c3Bhbj57eyBpdGVtLnRpdGxlIHwgbG9jYWxpemUgOiBsYyB9fTwvc3Bhbj5cclxuICAgIDwvYT5cclxuXHJcbiAgICA8YSBbYXR0ci5zdHlsZS5wYWRkaW5nX2xlZnRdPVwiaXRlbS5wYWRkaW5nX2xlZnRcIiAqbmdJZj1cIml0ZW0uc3ViTWVudSAmJiAhaXRlbS53aXBcIiAoY2xpY2sub3V0LXpvbmUpPVwiY29sbGFwc2VNZW51KCRldmVudCwgaXRlbSlcIiBbYXR0ci5ocmVmXT1cIicnXCIgY2xhc3M9XCJzaWRlYmFyLWxpc3QtbGluayB7e2l0ZW0uY3NzQ2xhc3MgfHwgJyd9fVwiIChtb3VzZWVudGVyLm91dC16b25lKT1cImhvdmVySXRlbSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJpdGVtLmljb25cIiBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvaT48c3Bhbj57eyBpdGVtLnRpdGxlIHwgbG9jYWxpemUgOiBsYyB9fTwvc3Bhbj5cclxuICAgICAgICA8YiBjbGFzcz1cImZhIGZhLWFuZ2xlLWRvd25cIj48L2I+XHJcbiAgICA8L2E+XHJcblxyXG4gICAgPHVsICpuZ0lmPVwiaXRlbS5zdWJNZW51XCIgY2xhc3M9XCJzaWRlYmFyLXN1Ymxpc3RcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN1Yml0ZW0gb2YgaXRlbS5zdWJNZW51XCIgY2xhc3M9XCJzaWRlYmFyLXN1Ymxpc3QtaXRlbSBsZXZlbC17e3N1Yml0ZW0ubGV2ZWx9fVwiIFtjbGFzcy5zaWRlYmFyLWl0ZW0td2lwXT1cInN1Yml0ZW0ud2lwXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51SXRlbTsgY29udGV4dCA6IHskaW1wbGljaXQ6IHN1Yml0ZW19XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBVSxRQUFRLEVBQVEsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlLLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUt4RCxlQUFlO0FBQ2YsT0FBTyxFQUFtQixJQUFJLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUlqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFZdEMsTUFBTSxPQUFPLE9BQU87SUFZaEIsWUFDVyxFQUF1QixFQUF5QyxNQUFpQyxFQUFVLEdBQXNCLEVBQVUsV0FBdUIsRUFDakssT0FBZSxFQUFTLE1BQWdCLEVBQVUsSUFBWSxFQUFVLE9BQXVCLEVBQVUsR0FBeUIsRUFBd0IsWUFBK0IsRUFDekwsb0JBQTBDO1FBRjNDLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQW9GLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDakssWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVU7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFzQjtRQUF3QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDekwseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQVovQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQywwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFhMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLDZCQUE2QixFQUFFLENBQUMsU0FBa0IsRUFBRSxFQUFFO1lBQ3hFLElBQUksU0FBUztnQkFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNoQyxJQUFJLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZFLElBQUksS0FBSyxJQUFJLEdBQUc7b0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDNUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxLQUFLLENBQUMsUUFBUTtRQUNqQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFdEYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxLQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUVsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixDQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUM7b0JBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ2I7b0JBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDL0MsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDdEI7YUFDSjtTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFFBQXlCLEVBQUUsS0FBYTtRQUNuRSxJQUFJLElBQUksR0FBb0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsQ0FBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQztvQkFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3BCO29CQUNELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDN0I7YUFDSjtZQUNELGtEQUFrRDtZQUM1QyxDQUFFLENBQUMsWUFBWSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMxRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFHTSxjQUFjO1FBQ2pCLElBQUkscUJBQXFCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFdkQsSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUsscUJBQXFCLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDbkQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxZQUFZO1FBQ2YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxXQUFvQjtRQUMvQyxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQU07UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBRTFFLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLG9CQUFvQjtRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDO1FBRXpCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sbUJBQW1CO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDbkYsQ0FBQztJQUVELDRIQUE0SDtJQUM1SCw4RUFBOEU7SUFDdkUsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJO1FBQzVCLElBQUksSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUVqRSwwSEFBMEg7UUFDMUgsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdEYsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxJQUFJO1FBQzNDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNELElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RFLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUV0QixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhDLDZCQUE2QjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ25FLHFFQUFxRTtZQUVyRSxxR0FBcUc7WUFDckcsTUFBTSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pELElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO29CQUNoRixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDOUMsa0dBQWtHO29CQUNsRyxTQUFTLENBQUMsV0FBVyxDQUFDLHVCQUF1QixHQUFHLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztvQkFDM0UsU0FBUyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2lCQUNsRDtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgseURBQXlEO1lBQ3pELE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNoRCxJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsRUFBRTtvQkFDaEYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzlDLGtHQUFrRztvQkFDbEcsU0FBUyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUM7b0JBQ2xFLFNBQVMsQ0FBQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQztpQkFDbEQ7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILGtDQUFrQztZQUNsQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRW5DLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxrR0FBa0c7Z0JBQ2xHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUN4RDtTQUNKO2FBQU07WUFDSCxtREFBbUQ7WUFDbkQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNkLGtHQUFrRztnQkFDbEcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQzNEO1lBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7O29HQWhOUSxPQUFPLHFEQWF3QyxpQkFBaUIsOE5BQytFLElBQUk7d0ZBZG5KLE9BQU8sK05DeEJwQixxN0VBOEJjOzJGRE5ELE9BQU87a0JBUG5CLFNBQVM7K0JBQ0ksU0FBUyxpQkFDSixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFpQlYsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN3RSxNQUFNOzJCQUFDLElBQUk7K0VBSnBILE9BQU87c0JBQTlDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFtRi9CLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBOZ1pvbmUsIE9wdGlvbmFsLCBUeXBlLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uTWVudSwgTUVOVSwgTUVOVV9MT0NBTElaQVRJT04gfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcbmltcG9ydCB7IEFwcFN0YXRlLCBNZW51RmlsdGVyaW5nU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZGVjbGFyZSB2YXIgalF1ZXJ5O1xyXG5kZWNsYXJlIHZhciAkO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJzaWRlYmFyXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vc2lkZWJhci5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vc2lkZWJhci5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlYmFyIHtcclxuICAgIHB1YmxpYyBtZW51SXRlbXM6IEFycmF5PGFueT47XHJcbiAgICBwdWJsaWMgbWVudUhlaWdodDogbnVtYmVyO1xyXG4gICAgcHVibGljIGlzTWVudUNvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzTWVudVNob3VsZENvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBzaG93SG92ZXJFbGVtOiBib29sZWFuO1xyXG4gICAgcHVibGljIGhvdmVyRWxlbUhlaWdodDogbnVtYmVyO1xyXG4gICAgcHVibGljIGhvdmVyRWxlbVRvcDogbnVtYmVyO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoXCJzaWRlYmFyXCIsIHsgc3RhdGljOiB0cnVlIH0pIHNpZGViYXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBAT3B0aW9uYWwoKSBASW5qZWN0KE1FTlVfTE9DQUxJWkFUSU9OKSBsY01lbnU6IFR5cGU8TG9jYWxpemF0aW9uU2VydmljZT4sIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciwgcHVibGljIF9zdGF0ZTogQXBwU3RhdGUsIHByaXZhdGUgem9uZTogTmdab25lLCBwcml2YXRlIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLCBwcml2YXRlIGFhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBJbmplY3QoTUVOVSkgcHJpdmF0ZSBtZW51SXRlbXNSYXc6IEFwcGxpY2F0aW9uTWVudVtdLFxyXG4gICAgICAgIHByaXZhdGUgbWVudUZpbHRlcmluZ1NlcnZpY2U6IE1lbnVGaWx0ZXJpbmdTZXJ2aWNlKSB7XHJcblxyXG4gICAgICAgIHRoaXMubGMgPSB0aGlzLmxjLmdlbmVyYXRlRnJvbVR5cGUobGNNZW51KTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3RhdGUuc3Vic2NyaWJlKFwibWVudS5pc0NvbGxhcHNlZFwiLCAoaXNDb2xsYXBzZWQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc01lbnVDb2xsYXBzZWQgPSBpc0NvbGxhcHNlZDtcclxuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0YXRlLnN1YnNjcmliZShcImFwcGxpY2F0aW9uLkRlcGxveUF2YWlsYWJsZVwiLCAoYXZhaWxhYmxlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChhdmFpbGFibGUpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoID4gMCkgPyB3aW5kb3cuaW5uZXJXaWR0aCA6IHNjcmVlbi53aWR0aDtcclxuICAgICAgICAgICAgICAgIGlmICh3aWR0aCA8PSA3NjgpIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0YXRlLm5vdGlmeURhdGFDaGFuZ2VkKFwibWVudS5pc0NvbGxhcHNlZFwiLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBsZXQgdG1wTWVudUl0ZW1zID0gdGhpcy5nZXRNZW51SXRlbXMoKTtcclxuICAgICAgICB0aGlzLm1lbnVJdGVtcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMubWVudUZpbHRlcmluZ1NlcnZpY2UuZmlsdGVyKHRtcE1lbnVJdGVtcykpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2hvdWxkTWVudUNvbGxhcHNlKCkpXHJcbiAgICAgICAgICAgIHRoaXMubWVudUNvbGxhcHNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlU2lkZWJhckhlaWdodCgpO1xyXG4gICAgICAgIHRoaXMuX3N0YXRlLnNldFNpZGViYXJXaWR0aCh0aGlzLnNpZGViYXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRNZW51SXRlbXMoKTogQXBwbGljYXRpb25NZW51W10ge1xyXG4gICAgICAgIHZhciBpdGVtczogQXBwbGljYXRpb25NZW51W10gPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1lbnVJdGVtc1Jhdy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgdCA9IHRoaXMubWVudUl0ZW1zUmF3W2ldO1xyXG4gICAgICAgICAgICAoPGFueT50KS5sZXZlbCA9IDE7XHJcbiAgICAgICAgICAgIGlmICghdC5hYyB8fCB0aGlzLmFhYy5oYXModC5hYykpIHtcclxuICAgICAgICAgICAgICAgIGlmICghdC5zdWJNZW51IHx8IHQuc3ViTWVudS5sZW5ndGggPT0gMClcclxuICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHQpO1xyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRvUHVzaCA9IHRoaXMuY2hlY2tTdWJNZW51T3ZlckNsYWltcyh0LCAxKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHRvUHVzaCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBpdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrU3ViTWVudU92ZXJDbGFpbXMobWVudUl0ZW06IEFwcGxpY2F0aW9uTWVudSwgbGV2ZWw6IG51bWJlcik6IEFwcGxpY2F0aW9uTWVudSB7XHJcbiAgICAgICAgdmFyIGl0ZW06IEFwcGxpY2F0aW9uTWVudSA9IHRoaXMudXRpRXh0cy5kZWVwQ2xvbmUobWVudUl0ZW0pO1xyXG4gICAgICAgIGl0ZW0uc3ViTWVudSA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1lbnVJdGVtLnN1Yk1lbnUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IHQgPSBtZW51SXRlbS5zdWJNZW51W2ldO1xyXG4gICAgICAgICAgICAoPGFueT50KS5sZXZlbCA9IGxldmVsKzE7XHJcbiAgICAgICAgICAgIGlmICghdC5hYyB8fCB0aGlzLmFhYy5oYXModC5hYykpIHtcclxuICAgICAgICAgICAgICAgIGlmICghdC5zdWJNZW51IHx8IHQuc3ViTWVudS5sZW5ndGggPT0gMClcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnN1Yk1lbnUucHVzaCh0KTtcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0b1B1c2ggPSB0aGlzLmNoZWNrU3ViTWVudU92ZXJDbGFpbXModCwgbGV2ZWwrMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zdWJNZW51LnB1c2godG9QdXNoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBDYWxjb2xvIHF1aSBwZXIgbm9uIGRvdmVybG8gY2FsY29sYXJlIGxhdG8gSFRNTFxyXG4gICAgICAgICAgICAoPGFueT50KS5wYWRkaW5nX2xlZnQgPSBsZXZlbCA+IDIgPyAoNjUgKyAoKGxldmVsIC0gMykgKiAxNSkgKyAncHggIWltcG9ydGFudCcpIDogbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxyXG4gICAgcHVibGljIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xyXG4gICAgICAgIHZhciBpc01lbnVTaG91bGRDb2xsYXBzZWQgPSB0aGlzLl9zaG91bGRNZW51Q29sbGFwc2UoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNNZW51U2hvdWxkQ29sbGFwc2VkICE9PSBpc01lbnVTaG91bGRDb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5tZW51Q29sbGFwc2VTdGF0ZUNoYW5nZShpc01lbnVTaG91bGRDb2xsYXBzZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzTWVudVNob3VsZENvbGxhcHNlZCA9IGlzTWVudVNob3VsZENvbGxhcHNlZDtcclxuICAgICAgICB0aGlzLnVwZGF0ZVNpZGViYXJIZWlnaHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG91bGRNZW51Q29sbGFwc2UoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2ODtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbWVudUNvbGxhcHNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubWVudUNvbGxhcHNlU3RhdGVDaGFuZ2UodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5fc3RhdGUuc2V0U2lkZWJhcldpZHRoKHRoaXMuc2lkZWJhci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbWVudUNvbGxhcHNlU3RhdGVDaGFuZ2UoaXNDb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzTWVudUNvbGxhcHNlZCA9IGlzQ29sbGFwc2VkO1xyXG4gICAgICAgIHRoaXMuX3N0YXRlLm5vdGlmeURhdGFDaGFuZ2VkKFwibWVudS5pc0NvbGxhcHNlZFwiLCB0aGlzLmlzTWVudUNvbGxhcHNlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1lbnVFeHBhbmQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tZW51Q29sbGFwc2VTdGF0ZUNoYW5nZShmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5fc3RhdGUuc2V0U2lkZWJhcldpZHRoKHRoaXMuc2lkZWJhci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaG92ZXJJdGVtKCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2hvd0hvdmVyRWxlbSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ob3ZlckVsZW1IZWlnaHQgPSAkZXZlbnQuY3VycmVudFRhcmdldC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgdGhpcy5ob3ZlckVsZW1Ub3AgPSAkZXZlbnQuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSA2MDtcclxuXHJcbiAgICAgICAgJChcIi5zaWRlYmFyLWhvdmVyLWVsZW1cIikuY3NzKFwidG9wXCIsIHRoaXMuaG92ZXJFbGVtVG9wICsgXCJweFwiKTtcclxuICAgICAgICAkKFwiLnNpZGViYXItaG92ZXItZWxlbVwiKS5jc3MoXCJoZWlnaHRcIiwgdGhpcy5ob3ZlckVsZW1IZWlnaHQgKyBcInB4XCIpO1xyXG4gICAgICAgICQoXCIuc2lkZWJhci1ob3Zlci1lbGVtXCIpLmFkZENsYXNzKFwic2hvdy1ob3Zlci1lbGVtXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZW5kQXdheUhvdmVyRWxlbWVudCgpIHtcclxuICAgICAgICB0aGlzLmhvdmVyRWxlbVRvcCA9IC0yMDA7XHJcblxyXG4gICAgICAgICQoXCIuc2lkZWJhci1ob3Zlci1lbGVtXCIpLmNzcyhcInRvcFwiLCB0aGlzLmhvdmVyRWxlbVRvcCArIFwicHhcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZVNpZGViYXJIZWlnaHQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tZW51SGVpZ2h0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdLmNsaWVudEhlaWdodCAtIDYwO1xyXG4gICAgfVxyXG5cclxuICAgIC8vTm9ub3N0YW50ZSBxdWVzdGEgZnVuemlvbmUgc2lhIGNvbGxlZ2F0YSBjb24gKGNsaWNrLm91dC16b25lKSBwZXIgcXVhbGNoZSBtb3Rpdm8gYW5ndWxhciBsZSBlc2VndWUgY29tdW5xdWUgbmVsbGEgc3VhIHpvbmVcclxuICAgIC8vZ2VuZXJhbmRvIHVuIHBvJyBkaSBpcnJlc3BvbnNpdml0w6AgaW5pemlhbGUuLi4gc3VjY2VkZSBzb2xvIGNvbCBjbGljay4uLiBib2hcclxuICAgIHB1YmxpYyBjb2xsYXBzZU1lbnUoJGV2ZW50LCBpdGVtKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNNZW51Q29sbGFwc2VkKVxyXG4gICAgICAgICAgICB0aGlzLm1lbnVFeHBhbmQoKTtcclxuXHJcbiAgICAgICAgaWYgKCFpdGVtLmxldmVsKVxyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJMaXZlbGxvIG5vbiBwcmVzZW50ZSBpbiB1biBvZ2dldHRvIGRlbCBtZW51IVwiKTtcclxuXHJcbiAgICAgICAgLy9OLkI6IFR1dHRlIGxlIGZ1bnppb25pIGRpIEpRdWVyeSBsZSBlc2d1byBmdW9yaSBkYSBBbmd1bGFyIGRhdG8gY2hlIGMn77+9IHVuYSBidW9uYSBwcm9iYWJpbGl077+9IGNoZSBzaWFubyBldmVudGkgYXNpbmNyb25pXHJcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHsgdGhpcy5vdXRzaWRlQW5ndWxhckNsaWNrSGFuZGxlcigkZXZlbnQsIGl0ZW0pOyB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb3V0c2lkZUFuZ3VsYXJDbGlja0hhbmRsZXIoJGV2ZW50LCBpdGVtKSB7XHJcbiAgICAgICAgbGV0IGxldmVsQ2xhc3MgPSBpdGVtLmxldmVsID8gXCJsZXZlbC1cIiArIChpdGVtLmxldmVsKSA6IFwiXCI7XHJcbiAgICAgICAgbGV0IGxldmVsQ2xhc3NQbHVzT25lID0gaXRlbS5sZXZlbCA/IFwibGV2ZWwtXCIgKyAoaXRlbS5sZXZlbCArIDEpIDogXCJcIjtcclxuICAgICAgICBsZXQgc2xpZGVQZXJpb2QgPSA0MDA7XHJcblxyXG4gICAgICAgIHZhciBsaW5rID0galF1ZXJ5KCRldmVudC5jdXJyZW50VGFyZ2V0KTtcclxuXHJcbiAgICAgICAgLy9TZSBsJ2VsZW1lbnRvIG5vbiDDqCBlc3BhbnNvXHJcbiAgICAgICAgaWYgKCFsaW5rLmNsb3Nlc3QoXCIuc2lkZWJhci1pdGVtLWV4cGFuZGVkXCIgKyBcIl9cIiArIGxldmVsQ2xhc3MpLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAvL1Rpcm8gc3UgdHV0dGkgZ2xpIGVsZW1lbnRpIGRlbGxvIHN0ZXNzbyBsaXZlbGxvIGVzcGFuc2kgZSBsaSBjaGl1ZG9cclxuXHJcbiAgICAgICAgICAgIC8vU2UgaG8gY29tcHJlc3NvIHVuIG1lbnUgdmFkbyBhIHZlZGVyZSBzZSBjJ8OoIGFuY2hlIHVuIGFsdHJvIG1lbnUgZGkgbGl2ZWxsbyBwae+/vSBiYXNzbyBkYSByaWNoaXVkZXJlXHJcbiAgICAgICAgICAgIGpRdWVyeShcInVsLm5hdi1zaWRlYmFyIGxpXCIgKyBcIi5cIiArIChsZXZlbENsYXNzUGx1c09uZSkpLmVhY2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNsb3Nlc3RMaSA9IGpRdWVyeSh0aGlzKS5jbG9zZXN0KFwibGlcIik7XHJcbiAgICAgICAgICAgICAgICBpZiAoY2xvc2VzdExpLmNoaWxkcmVuKFwidWxcIikubGVuZ3RoICYmIGNsb3Nlc3RMaS5oYXNDbGFzcyhcInNpZGViYXItaXRlbS1leHBhbmRlZFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RMaS5jaGlsZHJlbihcInVsXCIpLnNsaWRlVXAoc2xpZGVQZXJpb2QpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vTGUgdXNvIHNlbXByZSBlbnRyYW1iZSBpbnNpZW1lLiBMYSBwcmltYSDDqCBsYSBjbGFzc2UgcGVyIGxhIGxvZ2ljYSwgbGEgc2Vjb25kYSBwZXIgbGUgYW5pbWF6aW9uaVxyXG4gICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RMaS5yZW1vdmVDbGFzcyhcInNpZGViYXItaXRlbS1leHBhbmRlZFwiICsgXCJfXCIgKyAobGV2ZWxDbGFzc1BsdXNPbmUpKTtcclxuICAgICAgICAgICAgICAgICAgICBjbG9zZXN0TGkucmVtb3ZlQ2xhc3MoXCJzaWRlYmFyLWl0ZW0tZXhwYW5kZWRcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgLy9Eb3BvZGljaO+/vSByaWNoaXVkbyB0dXR0aSBxdWVsbGkgZGVsIG1pbyBsaXZlbGxvIGF0dHVhbGVcclxuICAgICAgICAgICAgalF1ZXJ5KFwidWwubmF2LXNpZGViYXIgbGlcIiArIFwiLlwiICsgbGV2ZWxDbGFzcykuZWFjaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY2xvc2VzdExpID0galF1ZXJ5KHRoaXMpLmNsb3Nlc3QoXCJsaVwiKTtcclxuICAgICAgICAgICAgICAgIGlmIChjbG9zZXN0TGkuY2hpbGRyZW4oXCJ1bFwiKS5sZW5ndGggJiYgY2xvc2VzdExpLmhhc0NsYXNzKFwic2lkZWJhci1pdGVtLWV4cGFuZGVkXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VzdExpLmNoaWxkcmVuKFwidWxcIikuc2xpZGVVcChzbGlkZVBlcmlvZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9MZSB1c28gc2VtcHJlIGVudHJhbWJlIGluc2llbWUuIExhIHByaW1hIMOoIGxhIGNsYXNzZSBwZXIgbGEgbG9naWNhLCBsYSBzZWNvbmRhIHBlciBsZSBhbmltYXppb25pXHJcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VzdExpLnJlbW92ZUNsYXNzKFwic2lkZWJhci1pdGVtLWV4cGFuZGVkXCIgKyBcIl9cIiArIGxldmVsQ2xhc3MpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNsb3Nlc3RMaS5yZW1vdmVDbGFzcyhcInNpZGViYXItaXRlbS1leHBhbmRlZFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAvL0RvcG9kaWNo77+9IGVzcGFuZG8gcXVlbGxvIGF0dHVhbGVcclxuICAgICAgICAgICAgbGluay5uZXh0KCkuc2xpZGVEb3duKHNsaWRlUGVyaW9kKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChpdGVtLnN1Yk1lbnUpIHtcclxuICAgICAgICAgICAgICAgIC8vTGUgdXNvIHNlbXByZSBlbnRyYW1iZSBpbnNpZW1lLiBMYSBwcmltYSDDqCBsYSBjbGFzc2UgcGVyIGxhIGxvZ2ljYSwgbGEgc2Vjb25kYSBwZXIgbGUgYW5pbWF6aW9uaVxyXG4gICAgICAgICAgICAgICAgbGluay5jbG9zZXN0KFwibGlcIikuYWRkQ2xhc3MoXCJzaWRlYmFyLWl0ZW0tZXhwYW5kZWRcIiArIFwiX1wiICsgbGV2ZWxDbGFzcyk7XHJcbiAgICAgICAgICAgICAgICBsaW5rLmNsb3Nlc3QoXCJsaVwiKS5hZGRDbGFzcyhcInNpZGViYXItaXRlbS1leHBhbmRlZFwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vQWx0cmltZW50aSwgc2UgbCdlbGVtZW50byDDqCBnacOgIGVzcGFuc28gbG8gY2hpdWRvXHJcbiAgICAgICAgICAgIGlmIChpdGVtLnN1Yk1lbnUpIHtcclxuICAgICAgICAgICAgICAgIC8vTGUgdXNvIHNlbXByZSBlbnRyYW1iZSBpbnNpZW1lLiBMYSBwcmltYSDDqCBsYSBjbGFzc2UgcGVyIGxhIGxvZ2ljYSwgbGEgc2Vjb25kYSBwZXIgbGUgYW5pbWF6aW9uaVxyXG4gICAgICAgICAgICAgICAgbGluay5jbG9zZXN0KFwibGlcIikucmVtb3ZlQ2xhc3MoXCJzaWRlYmFyLWl0ZW0tZXhwYW5kZWRcIiArIFwiX1wiICsgbGV2ZWxDbGFzcyk7XHJcbiAgICAgICAgICAgICAgICBsaW5rLmNsb3Nlc3QoXCJsaVwiKS5yZW1vdmVDbGFzcyhcInNpZGViYXItaXRlbS1leHBhbmRlZFwiKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGluay5uZXh0KCkuc2xpZGVVcChzbGlkZVBlcmlvZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImFwcC1zaWRlYmFyXCIgI3NpZGViYXIgW25nQ2xhc3NdPVwieydtZW51LWNvbGxhcHNlZCc6IGlzTWVudUNvbGxhcHNlZH1cIiAobW91c2VsZWF2ZS5vdXQtem9uZSk9XCJzZW5kQXdheUhvdmVyRWxlbWVudCgpO1wiPlxyXG4gICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zaWRlYmFyIGZsZXgtY29sdW1uIGZsZXgtbm93cmFwXCIgc2xpbS1zY3JvbGwgW3NsaW1TY3JvbGxPcHRpb25zXT1cIntoZWlnaHQ6IG1lbnVIZWlnaHR9XCIgc3R5bGU9XCJwb3NpdGlvbjpyZWxhdGl2ZTsgem9vbToxXCI+XHJcblxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXNcIiBjbGFzcz1cInNpZGViYXItbGlzdC1pdGVtIGxldmVsLXt7aXRlbS5sZXZlbH19XCIgW25nQ2xhc3NdPVwieydoYXMtc3ViLW1lbnUnOiBpdGVtLnN1Yk1lbnUsICdzaWRlYmFyLWl0ZW0tZXhwYW5kZWQnOiBpdGVtLmV4cGFuZGVkfVwiIFtjbGFzcy5zaWRlYmFyLWl0ZW0td2lwXT1cIml0ZW0ud2lwXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51SXRlbTsgY29udGV4dCA6IHskaW1wbGljaXQ6IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItaG92ZXItZWxlbVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbWVudUl0ZW0gbGV0LWl0ZW0+XHJcbiAgICA8YSBbYXR0ci5zdHlsZS5wYWRkaW5nX2xlZnRdPVwiaXRlbS5wYWRkaW5nX2xlZnRcIiAqbmdJZj1cIighaXRlbS5yb3V0ZXJMaW5rICYmICFpdGVtLnN1Yk1lbnUpIHx8IGl0ZW0ud2lwXCIgW2hyZWZdPVwiaXRlbS5saW5rID8gaXRlbS5saW5rIDogJyMnXCIgKGNsaWNrKT1cIml0ZW0ud2lwICYmICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJzaWRlYmFyLWxpc3QtbGluayB7e2l0ZW0uY3NzQ2xhc3MgfHwgJyd9fVwiIChtb3VzZWVudGVyLm91dC16b25lKT1cImhvdmVySXRlbSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJpdGVtLmljb25cIiBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvaT48c3Bhbj57eyBpdGVtLnRpdGxlIHwgbG9jYWxpemUgOiBsYyB9fTwvc3Bhbj5cclxuICAgIDwvYT5cclxuXHJcbiAgICA8YSBbYXR0ci5zdHlsZS5wYWRkaW5nX2xlZnRdPVwiaXRlbS5wYWRkaW5nX2xlZnRcIiAqbmdJZj1cIml0ZW0ucm91dGVyTGluayAmJiAhaXRlbS5zdWJNZW51ICYmICFpdGVtLndpcFwiIGNsYXNzPVwic2lkZWJhci1saXN0LWxpbmsge3tpdGVtLmNzc0NsYXNzIHx8ICcnfX1cIiBbcm91dGVyTGlua109XCJbaXRlbS5yb3V0ZXJMaW5rXVwiIFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZS1saW5rXCIgKGNsaWNrLm91dC16b25lKT1cImNvbGxhcHNlTWVudSgkZXZlbnQsIGl0ZW0pXCIgKG1vdXNlZW50ZXIub3V0LXpvbmUpPVwiaG92ZXJJdGVtKCRldmVudClcIj5cclxuICAgICAgICA8aSAqbmdJZj1cIml0ZW0uaWNvblwiIGNsYXNzPVwie3sgaXRlbS5pY29uIH19XCI+PC9pPjxzcGFuPnt7IGl0ZW0udGl0bGUgfCBsb2NhbGl6ZSA6IGxjIH19PC9zcGFuPlxyXG4gICAgPC9hPlxyXG5cclxuICAgIDxhIFthdHRyLnN0eWxlLnBhZGRpbmdfbGVmdF09XCJpdGVtLnBhZGRpbmdfbGVmdFwiICpuZ0lmPVwiaXRlbS5zdWJNZW51ICYmICFpdGVtLndpcFwiIChjbGljay5vdXQtem9uZSk9XCJjb2xsYXBzZU1lbnUoJGV2ZW50LCBpdGVtKVwiIFthdHRyLmhyZWZdPVwiJydcIiBjbGFzcz1cInNpZGViYXItbGlzdC1saW5rIHt7aXRlbS5jc3NDbGFzcyB8fCAnJ319XCIgKG1vdXNlZW50ZXIub3V0LXpvbmUpPVwiaG92ZXJJdGVtKCRldmVudClcIj5cclxuICAgICAgICA8aSAqbmdJZj1cIml0ZW0uaWNvblwiIGNsYXNzPVwie3sgaXRlbS5pY29uIH19XCI+PC9pPjxzcGFuPnt7IGl0ZW0udGl0bGUgfCBsb2NhbGl6ZSA6IGxjIH19PC9zcGFuPlxyXG4gICAgICAgIDxiIGNsYXNzPVwiZmEgZmEtYW5nbGUtZG93blwiPjwvYj5cclxuICAgIDwvYT5cclxuXHJcbiAgICA8dWwgKm5nSWY9XCJpdGVtLnN1Yk1lbnVcIiBjbGFzcz1cInNpZGViYXItc3VibGlzdFwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgc3ViaXRlbSBvZiBpdGVtLnN1Yk1lbnVcIiBjbGFzcz1cInNpZGViYXItc3VibGlzdC1pdGVtIGxldmVsLXt7c3ViaXRlbS5sZXZlbH19XCIgW2NsYXNzLnNpZGViYXItaXRlbS13aXBdPVwic3ViaXRlbS53aXBcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVJdGVtOyBjb250ZXh0IDogeyRpbXBsaWNpdDogc3ViaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class ApplicationJob {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25Kb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL2NvcmUvQXBwbGljYXRpb25Kb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGNBQWM7Q0FVMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXBvcnRQYXJhbSB9IGZyb20gXCJAZXNmYWVuemEvZXMtdGFibGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkpvYiB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHNtYWxsZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHBlcmNlbnRhZ2U6IG51bWJlcjtcclxuICAgIGNvbXBsZXRlZDogYm9vbGVhbjtcclxuICAgIGZpbGVpZDogc3RyaW5nO1xyXG4gICAgcmVwb3J0aWQ6IHN0cmluZztcclxuICAgIGNvbXBsZXhyZXBvcnRpZDogc3RyaW5nO1xyXG4gICAgcmVwb3J0cGFyczogUmVwb3J0UGFyYW1bXTtcclxufSJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class ApplicationMenu {
|
|
2
|
+
constructor(title, link, routerLink, icon, ac, wip, subMenu, queryParams) {
|
|
3
|
+
this.title = title;
|
|
4
|
+
this.link = link;
|
|
5
|
+
this.routerLink = routerLink;
|
|
6
|
+
this.icon = icon;
|
|
7
|
+
this.ac = ac;
|
|
8
|
+
this.wip = wip;
|
|
9
|
+
this.subMenu = subMenu;
|
|
10
|
+
this.queryParams = queryParams;
|
|
11
|
+
}
|
|
12
|
+
static Group(title, icon, ac, wip, subMenu) {
|
|
13
|
+
return new ApplicationMenu(title, null, null, icon, ac, wip, subMenu);
|
|
14
|
+
}
|
|
15
|
+
static TopItem(title, icon, routerLink, ac, queryParams, wip) {
|
|
16
|
+
return new ApplicationMenu(title, null, routerLink, icon, ac, wip, null, queryParams);
|
|
17
|
+
}
|
|
18
|
+
static Item(title, routerLink, ac, queryParams, wip) {
|
|
19
|
+
return new ApplicationMenu(title, null, routerLink, null, ac, !routerLink && !ac && !queryParams ? true : wip, null, queryParams);
|
|
20
|
+
}
|
|
21
|
+
static Link(title, link) {
|
|
22
|
+
return new ApplicationMenu(title, link);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
ApplicationMenu.ignoreStorage = { ignoreStorage: true };
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25NZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kb21haW4vc3JjL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uTWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUNXLEtBQWEsRUFDYixJQUFhLEVBQ2IsVUFBbUIsRUFDbkIsSUFBYSxFQUNiLEVBQVcsRUFDWCxHQUFhLEVBQ2IsT0FBMkIsRUFDM0IsV0FBZ0I7UUFQaEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFTO1FBQ1gsUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO0lBQUksQ0FBQztJQUVoQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsRUFBVSxFQUFFLEdBQVksRUFBRSxPQUEwQjtRQUMxRixPQUFPLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsVUFBbUIsRUFBRSxFQUFXLEVBQUUsV0FBZ0IsRUFBRSxHQUFhO1FBQ3pHLE9BQU8sSUFBSSxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQWEsRUFBRSxVQUFtQixFQUFFLEVBQVcsRUFBRSxXQUFnQixFQUFFLEdBQWE7UUFDeEYsT0FBTyxJQUFJLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEksQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBYSxFQUFFLElBQWE7UUFDcEMsT0FBTyxJQUFJLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUFFTSw2QkFBYSxHQUFRLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uTWVudSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgbGluaz86IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgcm91dGVyTGluaz86IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgaWNvbj86IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYWM/OiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHdpcD86IGJvb2xlYW4sXHJcbiAgICAgICAgcHVibGljIHN1Yk1lbnU/OiBBcHBsaWNhdGlvbk1lbnVbXSxcclxuICAgICAgICBwdWJsaWMgcXVlcnlQYXJhbXM/OiB7fSkgeyB9XHJcblxyXG4gICAgc3RhdGljIEdyb3VwKHRpdGxlOiBzdHJpbmcsIGljb246IHN0cmluZywgYWM6IHN0cmluZywgd2lwOiBib29sZWFuLCBzdWJNZW51OiBBcHBsaWNhdGlvbk1lbnVbXSk6IEFwcGxpY2F0aW9uTWVudSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBcHBsaWNhdGlvbk1lbnUodGl0bGUsIG51bGwsIG51bGwsIGljb24sIGFjLCB3aXAsIHN1Yk1lbnUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBUb3BJdGVtKHRpdGxlOiBzdHJpbmcsIGljb246IHN0cmluZywgcm91dGVyTGluaz86IHN0cmluZywgYWM/OiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzoge30sIHdpcD86IGJvb2xlYW4pOiBBcHBsaWNhdGlvbk1lbnUge1xyXG4gICAgICAgIHJldHVybiBuZXcgQXBwbGljYXRpb25NZW51KHRpdGxlLCBudWxsLCByb3V0ZXJMaW5rLCBpY29uLCBhYywgd2lwLCBudWxsLCBxdWVyeVBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIEl0ZW0odGl0bGU6IHN0cmluZywgcm91dGVyTGluaz86IHN0cmluZywgYWM/OiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzoge30sIHdpcD86IGJvb2xlYW4pOiBBcHBsaWNhdGlvbk1lbnUge1xyXG4gICAgICAgIHJldHVybiBuZXcgQXBwbGljYXRpb25NZW51KHRpdGxlLCBudWxsLCByb3V0ZXJMaW5rLCBudWxsLCBhYywgIXJvdXRlckxpbmsgJiYgIWFjICYmICFxdWVyeVBhcmFtcyA/IHRydWUgOiB3aXAsIG51bGwsIHF1ZXJ5UGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgTGluayh0aXRsZTogc3RyaW5nLCBsaW5rPzogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBcHBsaWNhdGlvbk1lbnUodGl0bGUsIGxpbmspO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpZ25vcmVTdG9yYWdlOiBhbnkgPSB7IGlnbm9yZVN0b3JhZ2U6IHRydWUgfTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class EnvOptions {
|
|
2
|
+
constructor(moduleId, moduleDef, env, varsion, description) {
|
|
3
|
+
this.AppData = {
|
|
4
|
+
ModuleDefId: moduleDef,
|
|
5
|
+
ModuleId: moduleId,
|
|
6
|
+
ComponentEnvironment: env,
|
|
7
|
+
ComponentVersion: varsion,
|
|
8
|
+
ModuleDescription: description
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW52T3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZG9tYWluL3NyYy9tb2RlbHMvY29yZS9FbnZPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBQ25CLFlBQVksUUFBZ0IsRUFBRSxTQUFpQixFQUFFLEdBQVcsRUFBRSxPQUFlLEVBQUUsV0FBbUI7UUFDOUYsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLG9CQUFvQixFQUFFLEdBQUc7WUFDekIsZ0JBQWdCLEVBQUUsT0FBTztZQUN6QixpQkFBaUIsRUFBRSxXQUFXO1NBQ2pDLENBQUE7SUFDTCxDQUFDO0NBV0o7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVudk9wdGlvbnMge1xyXG4gICAgY29uc3RydWN0b3IobW9kdWxlSWQ6IHN0cmluZywgbW9kdWxlRGVmOiBudW1iZXIsIGVudjogbnVtYmVyLCB2YXJzaW9uOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLkFwcERhdGEgPSB7XHJcbiAgICAgICAgICAgIE1vZHVsZURlZklkOiBtb2R1bGVEZWYsXHJcbiAgICAgICAgICAgIE1vZHVsZUlkOiBtb2R1bGVJZCxcclxuICAgICAgICAgICAgQ29tcG9uZW50RW52aXJvbm1lbnQ6IGVudixcclxuICAgICAgICAgICAgQ29tcG9uZW50VmVyc2lvbjogdmFyc2lvbixcclxuICAgICAgICAgICAgTW9kdWxlRGVzY3JpcHRpb246IGRlc2NyaXB0aW9uXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vUHJvcHJpZXTDoCBkaSBjb25maWd1cmF6aW9uZVxyXG4gICAgQXBwRGF0YTogeyBNb2R1bGVJZDogc3RyaW5nLCBNb2R1bGVEZWZJZDogbnVtYmVyLCBDb21wb25lbnRFbnZpcm9ubWVudDogbnVtYmVyLCBDb21wb25lbnRWZXJzaW9uOiBzdHJpbmcsIE1vZHVsZURlc2NyaXB0aW9uOiBzdHJpbmcgfTtcclxuICAgIEF1dGhVcmw/OiBzdHJpbmc7XHJcbiAgICBDbGllbnQ/OiBzdHJpbmc7XHJcbiAgICBKYWNlRGFzaGJvYXJkVXJsPzogc3RyaW5nO1xyXG4gICAgVHJhbnNhY3Rpb25UaW1lb3V0U2Vjb25kczogbnVtYmVyO1xyXG5cclxuICAgIC8vUHJvcHJpZXTDoCBkaSBzaXN0ZW1hXHJcbiAgICByZWRpcmVjdEluUHJvZ3Jlc3M/OiBib29sZWFuO1xyXG59OyJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Rappresentazione di un oggetto generico */
|
|
2
|
+
export class GenericItem {
|
|
3
|
+
/**
|
|
4
|
+
* Costruttore
|
|
5
|
+
*
|
|
6
|
+
* @param properties Dizionario Chiave - Valore delle proprietà di questo oggetto generico
|
|
7
|
+
*/
|
|
8
|
+
constructor(properties) {
|
|
9
|
+
this.properties = properties;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJpY0l0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL2NvcmUvR2VuZXJpY0l0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOENBQThDO0FBQzlDLE1BQU0sT0FBTyxXQUFXO0lBQ3BCOzs7O09BSUc7SUFDSCxZQUFtQixVQUFrQztRQUFsQyxlQUFVLEdBQVYsVUFBVSxDQUF3QjtJQUFJLENBQUM7Q0FDN0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUmFwcHJlc2VudGF6aW9uZSBkaSB1biBvZ2dldHRvIGdlbmVyaWNvICovXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmljSXRlbSB7XHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlIFxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gcHJvcGVydGllcyBEaXppb25hcmlvIENoaWF2ZSAtIFZhbG9yZSBkZWxsZSBwcm9wcmlldMOgIGRpIHF1ZXN0byBvZ2dldHRvIGdlbmVyaWNvXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7IH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Export } from "@esfaenza/extensions";
|
|
3
|
+
export class KeyValue {
|
|
4
|
+
constructor(id, description) {
|
|
5
|
+
this.id = id;
|
|
6
|
+
this.description = description;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
__decorate([
|
|
10
|
+
Export(10, "Cod.")
|
|
11
|
+
], KeyValue.prototype, "id", void 0);
|
|
12
|
+
__decorate([
|
|
13
|
+
Export(20, "Descrizione")
|
|
14
|
+
], KeyValue.prototype, "description", void 0);
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5VmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL2NvcmUvS2V5VmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QyxNQUFNLE9BQU8sUUFBUTtJQUNqQixZQUFZLEVBQVUsRUFBRSxXQUFtQjtRQUN2QyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ25DLENBQUM7Q0FHSjtBQUZ1QjtJQUFuQixNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQztvQ0FBWTtBQUNKO0lBQTFCLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDOzZDQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydCB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEtleVZhbHVlIHtcclxuICAgIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmlkID0gaWQ7XHJcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xyXG4gICAgfVxyXG4gICAgQEV4cG9ydCgxMCwgXCJDb2QuXCIpIGlkOiBzdHJpbmc7XHJcbiAgICBARXhwb3J0KDIwLCBcIkRlc2NyaXppb25lXCIpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbn0iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export class SearchResultContainer {
|
|
2
|
+
constructor(results) {
|
|
3
|
+
this.results = results;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2FlcmNoUmVzdWx0Q29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kb21haW4vc3JjL21vZGVscy9nbG9iYWxfc2VhcmNoL1NhZXJjaFJlc3VsdENvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW1CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUksQ0FBQztDQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gXCIuL1NlYXJjaFJlc3VsdFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdENvbnRhaW5lciB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVzdWx0czogU2VhcmNoUmVzdWx0W10pIHsgfVxyXG59Il19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class SearchResult {
|
|
2
|
+
constructor(description, columns, items) {
|
|
3
|
+
this.description = description;
|
|
4
|
+
this.columns = columns;
|
|
5
|
+
this.items = items;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kb21haW4vc3JjL21vZGVscy9nbG9iYWxfc2VhcmNoL1NlYXJjaFJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sWUFBWTtJQUVyQixZQUNXLFdBQW1CLEVBQ25CLE9BQW1CLEVBQ25CLEtBQW9CO1FBRnBCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBZTtJQUMzQixDQUFDO0NBSVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljSXRlbSB9IGZyb20gXCIuLi9jb3JlL0dlbmVyaWNJdGVtXCI7XHJcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uL2NvcmUvS2V5VmFsdWVcIjtcclxuaW1wb3J0IHsgRXNUYWJsZUNvbHVtbnNEZWZpbml0aW9uIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy10YWJsZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGNvbHVtbnM6IEtleVZhbHVlW10sXHJcbiAgICAgICAgcHVibGljIGl0ZW1zOiBHZW5lcmljSXRlbVtdXHJcbiAgICApIHsgfVxyXG5cclxuICAgIC8vIFNvbG8gVUkgcGVyIGxhIHZpc3VhbGl6emF6aW9uZSBkZWkgcmlzdWx0YXRpXHJcbiAgICBlc3RfY29sczogRXNUYWJsZUNvbHVtbnNEZWZpbml0aW9uW107XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class AccountScope {
|
|
2
|
+
constructor(modules = [], roles = [], permissions = []) {
|
|
3
|
+
this.modules = modules;
|
|
4
|
+
this.roles = roles;
|
|
5
|
+
this.permissions = permissions;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3VudFNjb3BlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kb21haW4vc3JjL21vZGVscy9qYWNlL0FjY291bnRTY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sWUFBWTtJQUNyQixZQUFtQixVQUF3QixFQUFFLEVBQVMsUUFBb0IsRUFBRSxFQUFTLGNBQWdDLEVBQUU7UUFBcEcsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtJQUFJLENBQUM7Q0FDL0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKYWNlTW9kdWxlIH0gZnJvbSBcIi4vSmFjZU1vZHVsZVwiO1xyXG5pbXBvcnQgeyBKYWNlUGVybWlzc2lvbiB9IGZyb20gXCIuL0phY2VQZXJtaXNzaW9uXCI7XHJcbmltcG9ydCB7IEphY2VSb2xlIH0gZnJvbSBcIi4vSmFjZVJvbGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2NvcGUge1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIG1vZHVsZXM6IEphY2VNb2R1bGVbXSA9IFtdLCBwdWJsaWMgcm9sZXM6IEphY2VSb2xlW10gPSBbXSwgcHVibGljIHBlcm1pc3Npb25zOiBKYWNlUGVybWlzc2lvbltdID0gW10pIHsgfVxyXG59Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class ActiveModuleView {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWN0aXZlTW9kdWxlVmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZG9tYWluL3NyYy9tb2RlbHMvamFjZS9BY3RpdmVNb2R1bGVWaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxnQkFBZ0I7Q0FVNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQWN0aXZlTW9kdWxlVmlld1xyXG57XHJcbiAgICBpZG1vZHVsZTogbnVtYmVyO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgYWx0bmFtZTogc3RyaW5nO1xyXG4gICAgY2F0ZWdvcnk6IHN0cmluZztcclxuICAgIHRlbmFudDogc3RyaW5nO1xyXG4gICAgdWl1cmw6IHN0cmluZztcclxuICAgIGVudmlyb25tZW50OiBzdHJpbmc7XHJcbiAgICBocmVmOiBzdHJpbmc7XHJcbn0iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class CategoriesWithModules {
|
|
2
|
+
constructor(module) {
|
|
3
|
+
this.category = module?.category?.toUpperCase();
|
|
4
|
+
this.module_rows = [[module]];
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2F0ZWdvcmllc1dpdGhNb2R1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kb21haW4vc3JjL21vZGVscy9qYWNlL0NhdGVnb3JpZXNXaXRoTW9kdWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQVksTUFBd0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUdKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlTW9kdWxlVmlldyB9IGZyb20gXCIuL0FjdGl2ZU1vZHVsZVZpZXdcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcmllc1dpdGhNb2R1bGVzIHtcclxuICAgIGNvbnN0cnVjdG9yKG1vZHVsZTogQWN0aXZlTW9kdWxlVmlldykge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnkgPSBtb2R1bGU/LmNhdGVnb3J5Py50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgIHRoaXMubW9kdWxlX3Jvd3MgPSBbW21vZHVsZV1dO1xyXG4gICAgfVxyXG4gICAgY2F0ZWdvcnk6IHN0cmluZztcclxuICAgIG1vZHVsZV9yb3dzOiBBY3RpdmVNb2R1bGVWaWV3W11bXTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class JaceAccount {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFjZUFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL2phY2UvSmFjZUFjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7Q0FrQnZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEphY2VBY2NvdW50IHtcclxuICAgIGlkYWNjb3VudDogbnVtYmVyO1xyXG4gICAgaWR1c2VyOiBudW1iZXI7XHJcbiAgICBpZHRlbmFudDogc3RyaW5nO1xyXG4gICAgZHN1c2VybmFtZTogc3RyaW5nO1xyXG4gICAgZHNwYXNzd29yZDogc3RyaW5nO1xyXG4gICAgZHR2YWxpZGZyb206IERhdGU7XHJcbiAgICBkdHZhbGlkdG86IERhdGU7XHJcbiAgICBzeWRhdGFpbnM6IERhdGU7XHJcbiAgICBzeWRhdGF1cGQ6IERhdGU7XHJcbiAgICBkdGxvY2tkb3duOiBEYXRlO1xyXG4gICAgc3l1c2VydXBkOiBzdHJpbmc7XHJcbiAgICBzeXVzZXJpbnM6IHN0cmluZztcclxuICAgIGRzcmVhc29ubG9ja2Rvd246IHN0cmluZztcclxuICAgIGNuYXR0ZW1wdHM6IG51bWJlcjtcclxuXHJcbiAgICAvL1NvbG8gVUlcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbn0iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class JaceIdentity {
|
|
2
|
+
constructor(scope = null) {
|
|
3
|
+
this.Roles = [];
|
|
4
|
+
this.Modules = [];
|
|
5
|
+
this.Permissions = [];
|
|
6
|
+
if (scope) {
|
|
7
|
+
this.Roles = scope.roles.map(x => x.idrolealt);
|
|
8
|
+
this.Permissions = scope.permissions.map(x => x.idpermissionalt);
|
|
9
|
+
this.Modules = scope.modules.map(x => x.idmodule);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFjZUlkZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kb21haW4vc3JjL21vZGVscy9qYWNlL0phY2VJZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sWUFBWTtJQVVyQixZQUFZLFFBQXNCLElBQUk7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNyRDtJQUNMLENBQUM7Q0FJSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY291bnRTY29wZSB9IGZyb20gXCIuL0FjY291bnRTY29wZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEphY2VJZGVudGl0eSB7XHJcbiAgICBFeHBpcmVkOiBib29sZWFuO1xyXG4gICAgSWRBY2NvdW50OiBudW1iZXI7XHJcbiAgICBJZFVzZXI6IG51bWJlcjtcclxuICAgIERzVXNlcjogc3RyaW5nO1xyXG4gICAgRnVsbE5hbWU6IHN0cmluZztcclxuICAgIElkdGVuYW50OiBzdHJpbmc7XHJcbiAgICBUZW5hbnROYW1lOiBzdHJpbmc7XHJcbiAgICBFeHBpcmF0aW9uVGltZTogRGF0ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQWNjb3VudFNjb3BlID0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuUm9sZXMgPSBbXTtcclxuICAgICAgICB0aGlzLk1vZHVsZXMgPSBbXTtcclxuICAgICAgICB0aGlzLlBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgaWYgKHNjb3BlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuUm9sZXMgPSBzY29wZS5yb2xlcy5tYXAoeCA9PiB4Lmlkcm9sZWFsdCk7XHJcbiAgICAgICAgICAgIHRoaXMuUGVybWlzc2lvbnMgPSBzY29wZS5wZXJtaXNzaW9ucy5tYXAoeCA9PiB4LmlkcGVybWlzc2lvbmFsdCk7XHJcbiAgICAgICAgICAgIHRoaXMuTW9kdWxlcyA9IHNjb3BlLm1vZHVsZXMubWFwKHggPT4geC5pZG1vZHVsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgUm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgTW9kdWxlczogbnVtYmVyW107XHJcbiAgICBQZXJtaXNzaW9uczogc3RyaW5nW107XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class JaceModule {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFjZU1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZG9tYWluL3NyYy9tb2RlbHMvamFjZS9KYWNlTW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0NBTXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEphY2VNb2R1bGVcclxue1xyXG4gICBpZG1vZHVsZTogbnVtYmVyO1xyXG4gICBkc25hbWU6IHN0cmluZztcclxuICAgZHNjYXRlZ29yeTogc3RyaW5nO1xyXG4gICBpZG1vZHVsZWFsdDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class JacePermission {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFjZVBlcm1pc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL2phY2UvSmFjZVBlcm1pc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7Q0FTMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSmFjZVBlcm1pc3Npb25cclxue1xyXG4gICBpZHBlcm1pc3Npb246IG51bWJlcjtcclxuICAgZHNwZXJtaXNzaW9uOiBzdHJpbmc7XHJcbiAgIGlkcGVybWlzc2lvbmFsdDogc3RyaW5nO1xyXG4gICBzeWRhdGFpbnM6IERhdGU7XHJcbiAgIHN5dXNlcmluczogc3RyaW5nO1xyXG4gICBzeWRhdGF1cGQ6IERhdGU7XHJcbiAgIHN5dXNlcnVwZDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class JaceRole {
|
|
2
|
+
constructor(idrole, idrolealt, dsrole) {
|
|
3
|
+
this.idrole = idrole;
|
|
4
|
+
this.idrolealt = idrolealt;
|
|
5
|
+
this.dsrole = dsrole;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFjZVJvbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL2phY2UvSmFjZVJvbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFFbEIsWUFBbUIsTUFBYyxFQUFTLFNBQWlCLEVBQVMsTUFBYztRQUEvRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDO0NBUXpGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEphY2VSb2xlXHJcbntcclxuICAgY29uc3RydWN0b3IocHVibGljIGlkcm9sZTogbnVtYmVyLCBwdWJsaWMgaWRyb2xlYWx0OiBzdHJpbmcsIHB1YmxpYyBkc3JvbGU6IHN0cmluZykgeyB9XHJcblxyXG4gICBkc25vdGU6IHN0cmluZztcclxuICAgaWRwYXJlbnQ6IG51bWJlcjtcclxuICAgc3lkYXRhaW5zOiBEYXRlO1xyXG4gICBzeXVzZXJpbnM6IHN0cmluZztcclxuICAgc3lkYXRhdXBkOiBEYXRlIHwgbnVsbDtcclxuICAgc3l1c2VydXBkOiBzdHJpbmc7XHJcbn0iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class JaceUser {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFjZVVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL2phY2UvSmFjZVVzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLFFBQVE7Q0FRcEIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGNsYXNzIEphY2VVc2VyIHtcclxuICAgIGlkdXNlcjogbnVtYmVyO1xyXG4gICAgZHNub21lOiBzdHJpbmc7XHJcbiAgICBkc2NvZ25vbWU6IHN0cmluZztcclxuICAgIHN5ZGF0YWluczogRGF0ZTtcclxuICAgIHN5dXNlcmluczogc3RyaW5nO1xyXG4gICAgc3lkYXRhdXBkOiBEYXRlO1xyXG4gICAgc3l1c2VydXBkOiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
export * from './models/core/
|
|
2
|
-
export * from './models/core/
|
|
3
|
-
export * from './models/
|
|
4
|
-
export * from './models/
|
|
5
|
-
export * from './models/
|
|
6
|
-
export * from './models/jace/
|
|
7
|
-
export * from './models/jace/
|
|
8
|
-
export * from './models/jace/
|
|
9
|
-
export * from './models/jace/
|
|
10
|
-
export * from './models/jace/
|
|
1
|
+
export * from './models/core/ApplicationMenu';
|
|
2
|
+
export * from './models/core/ApplicationJob';
|
|
3
|
+
export * from './models/core/EnvOptions';
|
|
4
|
+
export * from './models/core/KeyValue';
|
|
5
|
+
export * from './models/core/GenericItem';
|
|
6
|
+
export * from './models/jace/CategoriesWithModules';
|
|
7
|
+
export * from './models/jace/AccountScope';
|
|
8
|
+
export * from './models/jace/ActiveModuleView';
|
|
9
|
+
export * from './models/jace/JaceAccount';
|
|
10
|
+
export * from './models/jace/JaceIdentity';
|
|
11
|
+
export * from './models/jace/JaceModule';
|
|
12
|
+
export * from './models/jace/JacePermission';
|
|
13
|
+
export * from './models/jace/JaceRole';
|
|
14
|
+
export * from './models/jace/JaceUser';
|
|
15
|
+
export * from './models/global_search/SaerchResultContainer';
|
|
16
|
+
export * from './models/global_search/SearchResult';
|
|
11
17
|
export * from './tokens';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZG9tYWluL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uTWVudSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uSm9iJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvcmUvRW52T3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0tleVZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvcmUvR2VuZXJpY0l0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9DYXRlZ29yaWVzV2l0aE1vZHVsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9BY2NvdW50U2NvcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9BY3RpdmVNb2R1bGVWaWV3JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZUFjY291bnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9KYWNlSWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9KYWNlTW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZVBlcm1pc3Npb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9KYWNlUm9sZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL0phY2VVc2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2dsb2JhbF9zZWFyY2gvU2FlcmNoUmVzdWx0Q29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2dsb2JhbF9zZWFyY2gvU2VhcmNoUmVzdWx0JztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zJzsiXX0=
|