@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.
Files changed (119) hide show
  1. package/components/base/navigable.component.d.ts +17 -0
  2. package/components/base/reactive.component.d.ts +9 -0
  3. package/components/breadcrumb/breadcrumb.component.d.ts +4 -0
  4. package/components/components.module.d.ts +11 -9
  5. package/components/jace-resource/jace-resource.component.d.ts +22 -0
  6. package/components/navbar/navbar.component.d.ts +22 -17
  7. package/components/public-api.d.ts +3 -0
  8. package/components/sidebar/sidebar.component.d.ts +13 -8
  9. package/domain/models/core/ApplicationJob.d.ts +12 -0
  10. package/domain/models/core/GenericItem.d.ts +10 -0
  11. package/domain/models/core/KeyValue.d.ts +5 -0
  12. package/domain/models/global_search/SaerchResultContainer.d.ts +5 -0
  13. package/domain/models/global_search/SearchResult.d.ts +10 -0
  14. package/domain/models/jace/{classes/ActiveModuleView.d.ts → ActiveModuleView.d.ts} +0 -5
  15. package/domain/models/jace/CategoriesWithModules.d.ts +6 -0
  16. package/domain/models/jace/{classes/JaceAccount.d.ts → JaceAccount.d.ts} +0 -9
  17. package/domain/models/jace/{classes/JaceIdentity.d.ts → JaceIdentity.d.ts} +1 -3
  18. package/domain/models/jace/JaceUser.d.ts +9 -0
  19. package/domain/public-api.d.ts +16 -10
  20. package/domain/tokens.d.ts +1 -1
  21. package/esm2020/components/base/navigable.component.mjs +43 -0
  22. package/esm2020/components/base/reactive.component.mjs +26 -0
  23. package/esm2020/components/breadcrumb/breadcrumb.component.mjs +34 -29
  24. package/esm2020/components/components.module.mjs +15 -8
  25. package/esm2020/components/error/Angular/angularerror.component.mjs +7 -5
  26. package/esm2020/components/external-page/external_pages.component.mjs +1 -2
  27. package/esm2020/components/jace-resource/jace-resource.component.mjs +65 -0
  28. package/esm2020/components/navbar/modules-board/jace-modules-board.component.mjs +1 -1
  29. package/esm2020/components/navbar/navbar.component.mjs +80 -60
  30. package/esm2020/components/public-api.mjs +4 -1
  31. package/esm2020/components/sidebar/sidebar.component.mjs +67 -39
  32. package/esm2020/domain/models/core/ApplicationJob.mjs +3 -0
  33. package/esm2020/domain/models/core/ApplicationMenu.mjs +26 -0
  34. package/esm2020/domain/models/core/EnvOptions.mjs +13 -0
  35. package/esm2020/domain/models/core/GenericItem.mjs +12 -0
  36. package/esm2020/domain/models/core/KeyValue.mjs +15 -0
  37. package/esm2020/domain/models/global_search/SaerchResultContainer.mjs +6 -0
  38. package/esm2020/domain/models/global_search/SearchResult.mjs +8 -0
  39. package/esm2020/domain/models/jace/AccountScope.mjs +8 -0
  40. package/esm2020/domain/models/jace/ActiveModuleView.mjs +3 -0
  41. package/esm2020/domain/models/jace/CategoriesWithModules.mjs +7 -0
  42. package/esm2020/domain/models/jace/JaceAccount.mjs +3 -0
  43. package/esm2020/domain/models/jace/JaceIdentity.mjs +13 -0
  44. package/esm2020/domain/models/jace/JaceModule.mjs +3 -0
  45. package/esm2020/domain/models/jace/JacePermission.mjs +3 -0
  46. package/esm2020/domain/models/jace/JaceRole.mjs +8 -0
  47. package/esm2020/domain/models/jace/JaceUser.mjs +3 -0
  48. package/esm2020/domain/public-api.mjs +17 -11
  49. package/esm2020/domain/tokens.mjs +1 -1
  50. package/esm2020/lib/app.component.mjs +2 -2
  51. package/esm2020/lib/core.module.mjs +8 -7
  52. package/esm2020/pipes/classes/included_in.pipe.mjs +17 -0
  53. package/esm2020/pipes/{safe_html → classes}/safe_html.pipe.mjs +1 -1
  54. package/esm2020/pipes/{safe_script → classes}/safe_script.pipe.mjs +1 -1
  55. package/esm2020/pipes/{safe_style → classes}/safe_style.pipe.mjs +1 -1
  56. package/esm2020/pipes/classes/safe_url.pipe.mjs +18 -0
  57. package/esm2020/pipes/pipes.module.mjs +6 -6
  58. package/esm2020/pipes/public-api.mjs +6 -6
  59. package/esm2020/services/classes/app.completedjobredirection.mjs +18 -0
  60. package/esm2020/services/classes/app.globalsearch.mjs +34 -0
  61. package/esm2020/services/classes/app.menufilter.mjs +21 -0
  62. package/esm2020/services/classes/app.state.mjs +101 -9
  63. package/esm2020/services/public-api.mjs +4 -1
  64. package/fesm2015/esfaenza-core-components.mjs +331 -207
  65. package/fesm2015/esfaenza-core-components.mjs.map +1 -1
  66. package/fesm2015/esfaenza-core-domain.mjs +55 -15
  67. package/fesm2015/esfaenza-core-domain.mjs.map +1 -1
  68. package/fesm2015/esfaenza-core-pipes.mjs +2 -2
  69. package/fesm2015/esfaenza-core-pipes.mjs.map +1 -1
  70. package/fesm2015/esfaenza-core-services.mjs +168 -10
  71. package/fesm2015/esfaenza-core-services.mjs.map +1 -1
  72. package/fesm2015/esfaenza-core.mjs +11 -10
  73. package/fesm2015/esfaenza-core.mjs.map +1 -1
  74. package/fesm2020/esfaenza-core-components.mjs +323 -201
  75. package/fesm2020/esfaenza-core-components.mjs.map +1 -1
  76. package/fesm2020/esfaenza-core-domain.mjs +54 -14
  77. package/fesm2020/esfaenza-core-domain.mjs.map +1 -1
  78. package/fesm2020/esfaenza-core-pipes.mjs +2 -2
  79. package/fesm2020/esfaenza-core-pipes.mjs.map +1 -1
  80. package/fesm2020/esfaenza-core-services.mjs +167 -10
  81. package/fesm2020/esfaenza-core-services.mjs.map +1 -1
  82. package/fesm2020/esfaenza-core.mjs +11 -10
  83. package/fesm2020/esfaenza-core.mjs.map +1 -1
  84. package/lib/core.module.d.ts +6 -8
  85. package/package.json +1 -1
  86. package/pipes/{safe_url → classes}/safe_url.pipe.d.ts +1 -1
  87. package/pipes/pipes.module.d.ts +5 -5
  88. package/pipes/public-api.d.ts +5 -5
  89. package/services/classes/app.completedjobredirection.d.ts +12 -0
  90. package/services/classes/app.globalsearch.d.ts +25 -0
  91. package/services/classes/app.menufilter.d.ts +14 -0
  92. package/services/classes/app.state.d.ts +10 -17
  93. package/services/public-api.d.ts +3 -0
  94. package/theme/initial.scss +0 -8
  95. package/components/sidebar/sidebar.component.service.d.ts +0 -27
  96. package/domain/models/jace/classes/User.d.ts +0 -4
  97. package/esm2020/components/sidebar/sidebar.component.service.mjs +0 -58
  98. package/esm2020/domain/models/core/classes/ApplicationMenu.mjs +0 -26
  99. package/esm2020/domain/models/core/classes/EnvOptions.mjs +0 -13
  100. package/esm2020/domain/models/jace/classes/AccountScope.mjs +0 -8
  101. package/esm2020/domain/models/jace/classes/ActiveModuleView.mjs +0 -9
  102. package/esm2020/domain/models/jace/classes/JaceAccount.mjs +0 -5
  103. package/esm2020/domain/models/jace/classes/JaceIdentity.mjs +0 -16
  104. package/esm2020/domain/models/jace/classes/JaceModule.mjs +0 -3
  105. package/esm2020/domain/models/jace/classes/JacePermission.mjs +0 -3
  106. package/esm2020/domain/models/jace/classes/JaceRole.mjs +0 -8
  107. package/esm2020/domain/models/jace/classes/User.mjs +0 -3
  108. package/esm2020/pipes/included_in/included_in.pipe.mjs +0 -17
  109. package/esm2020/pipes/safe_url/safe_url.pipe.mjs +0 -18
  110. /package/domain/models/core/{classes/ApplicationMenu.d.ts → ApplicationMenu.d.ts} +0 -0
  111. /package/domain/models/core/{classes/EnvOptions.d.ts → EnvOptions.d.ts} +0 -0
  112. /package/domain/models/jace/{classes/AccountScope.d.ts → AccountScope.d.ts} +0 -0
  113. /package/domain/models/jace/{classes/JaceModule.d.ts → JaceModule.d.ts} +0 -0
  114. /package/domain/models/jace/{classes/JacePermission.d.ts → JacePermission.d.ts} +0 -0
  115. /package/domain/models/jace/{classes/JaceRole.d.ts → JaceRole.d.ts} +0 -0
  116. /package/pipes/{included_in → classes}/included_in.pipe.d.ts +0 -0
  117. /package/pipes/{safe_html → classes}/safe_html.pipe.d.ts +0 -0
  118. /package/pipes/{safe_script → classes}/safe_script.pipe.d.ts +0 -0
  119. /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 { SidebarService } from "./sidebar.component.service";
6
- import { MENU_LOCALIZATION } from "@esfaenza/core/domain";
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 "./sidebar.component.service";
12
- import * as i5 from "@angular/common";
13
- import * as i6 from "@esfaenza/core/directives";
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, _sidebarService, zone) {
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
- // Ivnentarsi una sorta di refresh
46
- this.init();
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
- assignLevel(menuItem, level) {
60
- menuItem.level = level;
61
- if (!menuItem.subMenu)
62
- return;
63
- for (let i = 0; i < menuItem.subMenu.length; i++)
64
- this.assignLevel(menuItem.subMenu[i], level + 1);
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 irresponsivit� iniziale... succede solo col click... boh
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 espanso
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' anche un altro menu di livello pi� basso da richiudere
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 la classe per la logica, la seconda per le animazioni
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 la classe per la logica, la seconda per le animazioni
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 la classe per la logica, la seconda per le animazioni
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 gi� espanso lo chiudo
177
+ //Altrimenti, se l'elemento è già espanso lo chiudo
153
178
  if (item.subMenu) {
154
- //Le uso sempre entrambe insieme. La prima la classe per la logica, la seconda per le animazioni
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.SidebarService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
163
- Sidebar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Sidebar, selector: "sidebar", host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [SidebarService], 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: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i6.SlimScroll, selector: "[slim-scroll]", inputs: ["slimScrollOptions"] }, { kind: "pipe", type: i1.LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
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, providers: [SidebarService], 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"] }]
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: i4.SidebarService }, { type: i0.NgZone }]; }, propDecorators: { sidebar: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBb0IsUUFBUSxFQUFRLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4TCxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFLeEQsZUFBZTtBQUNmLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFjMUQsTUFBTSxPQUFPLE9BQU87SUFZaEIsWUFBbUIsRUFBdUIsRUFBeUMsTUFBaUMsRUFBVSxHQUFzQixFQUFVLFdBQXVCLEVBQVUsT0FBZSxFQUFTLE1BQWdCLEVBQVUsZUFBK0IsRUFBVSxJQUFZO1FBQW5SLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQW9GLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFUL1Isb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBUzFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtC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RCxPQUFPO2tCQVJuQixTQUFTOytCQUNJLFNBQVMsaUJBQ0osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsQ0FBQzs7MEJBZ0JrQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjttTUFGekMsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQXdEL0IsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIEluamVjdG9yLCBOZ1pvbmUsIE9wdGlvbmFsLCBUeXBlLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IFNpZGViYXJTZXJ2aWNlIH0gZnJvbSBcIi4vc2lkZWJhci5jb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNRU5VX0xPQ0FMSVpBVElPTiB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuaW1wb3J0IHsgQXBwU3RhdGUgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvc2VydmljZXNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIGpRdWVyeTtcclxuZGVjbGFyZSB2YXIgJDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwic2lkZWJhclwiLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbU2lkZWJhclNlcnZpY2VdLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL3NpZGViYXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3NpZGViYXIuY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2lkZWJhciB7XHJcbiAgICBwdWJsaWMgbWVudUl0ZW1zOiBBcnJheTxhbnk+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBVSxRQUFRLEVBQVEsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlLLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUt4RCxlQUFlO0FBQ2YsT0FBTyxFQUFtQixJQUFJLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUlqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFZdEMsTUFBTSxPQUFPLE9BQU87SUFZaEIsWUFDVyxFQUF1QixFQUF5QyxNQUFpQyxFQUFVLEdBQXNCLEVBQVUsV0FBdUIsRUFDakssT0FBZSxFQUFTLE1BQWdCLEVBQVUsSUFBWSxFQUFVLE9BQXVCLEVBQVUsR0FBeUIsRUFBd0IsWUFBK0IsRUFDekwsb0JBQTBDO1FBRjNDLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQW9GLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDakssWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVU7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFzQjtRQUF3QixpQkFBWSxHQUFaLFlBQVks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SSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQzNEO1lBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7O29HQWhOUSxPQUFPLHFEQWF3QyxpQkFBaUIsOE5BQytFLElBQUk7d0ZBZG5KLE9BQU8sK05DeEJwQixxN0VBOEJjOzJGRE5ELE9BQU87a0JBUG5CLFNBQVM7K0JBQ0ksU0FBUyxpQkFDSixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFpQlYsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN3RSxNQUFNOzJCQUFDLElBQUk7K0VBSnBILE9BQU87c0JBQTlDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFtRi9CLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBOZ1pvbmUsIE9wdGlvbmFsLCBUeXBlLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uTWVudSwgTUVOVSwgTUVOVV9MT0NBTElaQVRJT04gfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcbmltcG9ydCB7IEFwcFN0YXRlLCBNZW51RmlsdGVyaW5nU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZGVjbGFyZSB2YXIgalF1ZXJ5O1xyXG5kZWNsYXJlIHZhciAkO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJzaWRlYmFyXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vc2lkZWJhci5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vc2lkZWJhci5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlYmFyIHtcclxuICAgIHB1YmxpYyBtZW51SXRlbXM6IEFycmF5PGFueT47XHJcbiAgICBwdWJsaWMgbWVudUhlaWdodDogbnVtYmVyO1xyXG4gICAgcHVibGljIGlzTWVudUNvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzTWVudVNob3VsZENvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBzaG93SG92ZXJFbGVtOiBib29sZWFuO1xyXG4gICAgcHVibGljIGhvdmVyRWxlbUhlaWdodDogbnVtYmVyO1xyXG4gICAgcHVibGljIGhvdmVyRWxlbVRvcDogbnVtYmVyO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoXCJzaWRlYmFyXCIsIHsgc3RhdGljOiB0cnVlIH0pIHNpZGViYXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBAT3B0aW9uYWwoKSBASW5qZWN0KE1FTlVfTE9DQUxJWkFUSU9OKSBsY01lbnU6IFR5cGU8TG9jYWxpemF0aW9uU2VydmljZT4sIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciwgcHVibGljIF9zdGF0ZTogQXBwU3RhdGUsIHByaXZhdGUgem9uZTogTmdab25lLCBwcml2YXRlIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLCBwcml2YXRlIGFhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBJbmplY3QoTUVOVSkgcHJpdmF0ZSBtZW51SXRlbXNSYXc6IEFwcGxpY2F0aW9uTWVudVtdLFxyXG4gICAgICAgIHByaXZhdGUgbWVudUZpbHRlcmluZ1NlcnZpY2U6IE1lbnVGaWx0ZXJpbmdTZXJ2aWNlKSB7XHJcblxyXG4gICAgICAgIHRoaXMubGMgPSB0aGlzLmxjLmdlbmVyYXRlRnJvbVR5cGUobGNNZW51KTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3RhdGUuc3Vic2NyaWJlKFwibWVudS5pc0NvbGxhcHNlZFwiLCAoaXNDb2xsYXBzZWQpID0+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/classes/ApplicationMenu';
2
- export * from './models/core/classes/EnvOptions';
3
- export * from './models/jace/classes/AccountScope';
4
- export * from './models/jace/classes/ActiveModuleView';
5
- export * from './models/jace/classes/JaceAccount';
6
- export * from './models/jace/classes/JaceIdentity';
7
- export * from './models/jace/classes/JaceModule';
8
- export * from './models/jace/classes/JacePermission';
9
- export * from './models/jace/classes/JaceRole';
10
- export * from './models/jace/classes/User';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZG9tYWluL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL2NsYXNzZXMvQXBwbGljYXRpb25NZW51JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvcmUvY2xhc3Nlcy9FbnZPcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvY2xhc3Nlcy9BY2NvdW50U2NvcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9jbGFzc2VzL0FjdGl2ZU1vZHVsZVZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9jbGFzc2VzL0phY2VBY2NvdW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvY2xhc3Nlcy9KYWNlSWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9jbGFzc2VzL0phY2VNb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9jbGFzc2VzL0phY2VQZXJtaXNzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvY2xhc3Nlcy9KYWNlUm9sZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL2NsYXNzZXMvVXNlcic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7Il19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZG9tYWluL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uTWVudSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uSm9iJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvcmUvRW52T3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0tleVZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvcmUvR2VuZXJpY0l0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9DYXRlZ29yaWVzV2l0aE1vZHVsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9BY2NvdW50U2NvcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9BY3RpdmVNb2R1bGVWaWV3JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZUFjY291bnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9KYWNlSWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9KYWNlTW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZVBlcm1pc3Npb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9KYWNlUm9sZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL0phY2VVc2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2dsb2JhbF9zZWFyY2gvU2FlcmNoUmVzdWx0Q29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2dsb2JhbF9zZWFyY2gvU2VhcmNoUmVzdWx0JztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zJzsiXX0=