tango-app-ui-shared 3.0.25-dev → 3.0.26-dev

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 (62) hide show
  1. package/esm2022/lib/guards/auth.guard.mjs +3 -3
  2. package/esm2022/lib/i18n/translation.module.mjs +4 -4
  3. package/esm2022/lib/i18n/translation.service.mjs +3 -3
  4. package/esm2022/lib/interceptors/http-auth-interceptor.mjs +3 -3
  5. package/esm2022/lib/modules/common/common-shared.module.mjs +4 -4
  6. package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +3 -3
  7. package/esm2022/lib/modules/common/filters/filters.component.mjs +3 -3
  8. package/esm2022/lib/modules/common/pagination/pagination.component.mjs +3 -3
  9. package/esm2022/lib/modules/errors/error404/error404.component.mjs +3 -3
  10. package/esm2022/lib/modules/errors/error500/error500.component.mjs +3 -3
  11. package/esm2022/lib/modules/errors/errors-routing.module.mjs +4 -4
  12. package/esm2022/lib/modules/errors/errors.component.mjs +3 -3
  13. package/esm2022/lib/modules/errors/errors.module.mjs +4 -4
  14. package/esm2022/lib/modules/layout/content/content.component.mjs +3 -3
  15. package/esm2022/lib/modules/layout/footer/footer.component.mjs +3 -3
  16. package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +3 -3
  17. package/esm2022/lib/modules/layout/header/header.component.mjs +3 -3
  18. package/esm2022/lib/modules/layout/header/navbar/navbar.component.mjs +3 -3
  19. package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +3 -3
  20. package/esm2022/lib/modules/layout/keenicon/keenicon.component.mjs +3 -3
  21. package/esm2022/lib/modules/layout/layout/layout.component.mjs +35 -13
  22. package/esm2022/lib/modules/layout/layout.module.mjs +5 -5
  23. package/esm2022/lib/modules/layout/scripts-init/scripts-init.component.mjs +3 -3
  24. package/esm2022/lib/modules/layout/scroll-top/scroll-top.component.mjs +3 -3
  25. package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  26. package/esm2022/lib/modules/layout/sidebar/sidebar-logo/sidebar-logo.component.mjs +3 -3
  27. package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +45 -8
  28. package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +3 -3
  29. package/esm2022/lib/modules/layout/toolbar/accounting/accounting.component.mjs +3 -3
  30. package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +8 -9
  31. package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +6 -4
  32. package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +8 -6
  33. package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +8 -6
  34. package/esm2022/lib/modules/layout/toolbar/extended/extended.component.mjs +3 -3
  35. package/esm2022/lib/modules/layout/toolbar/reports/reports.component.mjs +3 -3
  36. package/esm2022/lib/modules/layout/toolbar/saas/saas.component.mjs +3 -3
  37. package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +3 -3
  38. package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +6 -12
  39. package/esm2022/lib/pipes/customDate.pipe.mjs +3 -3
  40. package/esm2022/lib/routes/route-wraper-modules/edge-wrapper.module.mjs +4 -4
  41. package/esm2022/lib/routes/route-wraper-modules/manage-wrapper.module.mjs +4 -4
  42. package/esm2022/lib/routes/route-wraper-modules/profile-wrapper.module.mjs +4 -4
  43. package/esm2022/lib/routes/route-wraper-modules/store-wrapper.module.mjs +4 -4
  44. package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +4 -4
  45. package/esm2022/lib/services/auth.service.mjs +19 -4
  46. package/esm2022/lib/services/toast.service.mjs +3 -3
  47. package/fesm2022/{tango-app-ui-shared-edge-wrapper.module-C5NCXNfg.mjs → tango-app-ui-shared-edge-wrapper.module-DM8Er_Bd.mjs} +5 -5
  48. package/fesm2022/{tango-app-ui-shared-edge-wrapper.module-C5NCXNfg.mjs.map → tango-app-ui-shared-edge-wrapper.module-DM8Er_Bd.mjs.map} +1 -1
  49. package/fesm2022/{tango-app-ui-shared-manage-wrapper.module-DlmN8vDY.mjs → tango-app-ui-shared-manage-wrapper.module-B6GJQNQZ.mjs} +5 -5
  50. package/fesm2022/{tango-app-ui-shared-manage-wrapper.module-DlmN8vDY.mjs.map → tango-app-ui-shared-manage-wrapper.module-B6GJQNQZ.mjs.map} +1 -1
  51. package/fesm2022/{tango-app-ui-shared-profile-wrapper.module-CKirbe7B.mjs → tango-app-ui-shared-profile-wrapper.module-CTJBnU9I.mjs} +5 -5
  52. package/fesm2022/{tango-app-ui-shared-profile-wrapper.module-CKirbe7B.mjs.map → tango-app-ui-shared-profile-wrapper.module-CTJBnU9I.mjs.map} +1 -1
  53. package/fesm2022/{tango-app-ui-shared-store-wrapper.module-B6_Q91IL.mjs → tango-app-ui-shared-store-wrapper.module-UYYC9an_.mjs} +5 -5
  54. package/fesm2022/{tango-app-ui-shared-store-wrapper.module-B6_Q91IL.mjs.map → tango-app-ui-shared-store-wrapper.module-UYYC9an_.mjs.map} +1 -1
  55. package/fesm2022/{tango-app-ui-shared-ticket-wrapper.module-CYRnDM_A.mjs → tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs} +5 -5
  56. package/fesm2022/{tango-app-ui-shared-ticket-wrapper.module-CYRnDM_A.mjs.map → tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs.map} +1 -1
  57. package/fesm2022/tango-app-ui-shared.mjs +354 -286
  58. package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
  59. package/lib/modules/layout/layout/layout.component.d.ts +8 -2
  60. package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +11 -1
  61. package/lib/services/auth.service.d.ts +8 -4
  62. package/package.json +1 -1
@@ -34,10 +34,10 @@ export class PageTitleComponent {
34
34
  ngOnDestroy() {
35
35
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
36
36
  }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.PageInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: PageTitleComponent, selector: "lib-page-title", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleBreadcrumb: "appPageTitleBreadcrumb", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.PageInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PageTitleComponent, selector: "lib-page-title", inputs: { appPageTitleDirection: "appPageTitleDirection", appPageTitleBreadcrumb: "appPageTitleBreadcrumb", appPageTitleDescription: "appPageTitleDescription" }, ngImport: i0, template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: PageTitleComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PageTitleComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'lib-page-title', template: "<ng-container *ngIf=\"title$ | async as title\">\r\n\r\n <ng-container *ngIf=\"appPageTitleBreadcrumb\">\r\n <ng-container *ngIf=\"bc$ | async as _bc\">\r\n <ng-container *ngIf=\"_bc.length > 0\">\r\n <!-- <ng-container *ngIf=\"appPageTitleDirection === 'row'\">\r\n <span class=\"h-20px border-gray-300 border-start mx-4\"></span>\r\n </ng-container> -->\r\n <!--begin::Breadcrumb-->\r\n\r\n <ul class=\"breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0\"\r\n [ngClass]=\"{'pt-1': appPageTitleDirection === 'column'}\">\r\n <li *ngFor=\"let bc of _bc\" class=\"breadcrumb-item\"\r\n [ngClass]=\"!bc.isSeparator && bc.isActive ? 'text-gray-900' : ''\"\r\n [ngClass]=\"!bc.isSeparator && !bc.isActive ? 'text-muted' : ''\">\r\n <ng-container *ngIf=\"!bc.isSeparator\">\r\n <a class=\"inactive-bc text-hover-primary\" [routerLink]=\"bc.path\">\r\n {{ bc.title }}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"bc.isSeparator\">\r\n <img src=\"/assets/tango/layout/bc-seperator.svg\" alt=\"\">\r\n </ng-container>\r\n </li>\r\n <li class=\"breadcrumb-item active-bc\">{{ title }}</li>\r\n </ul>\r\n <!--end::Breadcrumb-->\r\n\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".active-bc{color:var(--Primary-600, #00A3FF);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.inactive-bc{color:#98a2b3}\n"] }]
43
43
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { appPageTitleDirection: [{
@@ -18,10 +18,10 @@ export class KeeniconComponent {
18
18
  get styleDisplay() {
19
19
  return 'contents';
20
20
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: KeeniconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: KeeniconComponent, selector: "lib-keenicon", inputs: { name: "name", class: "class", type: "type" }, host: { properties: { "style.display": "this.styleDisplay" } }, ngImport: i0, template: "<span *ngIf=\"type === 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\">\r\n <span *ngFor=\"let i of [].constructor(pathsNumber); let idx = index\" class=\"path{{ idx + 1 }}\"></span>\r\n</span>\r\n<span *ngIf=\"type !== 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\"></span>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: KeeniconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: KeeniconComponent, selector: "lib-keenicon", inputs: { name: "name", class: "class", type: "type" }, host: { properties: { "style.display": "this.styleDisplay" } }, ngImport: i0, template: "<span *ngIf=\"type === 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\">\r\n <span *ngFor=\"let i of [].constructor(pathsNumber); let idx = index\" class=\"path{{ idx + 1 }}\"></span>\r\n</span>\r\n<span *ngIf=\"type !== 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\"></span>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: KeeniconComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: KeeniconComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'lib-keenicon', template: "<span *ngIf=\"type === 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\">\r\n <span *ngFor=\"let i of [].constructor(pathsNumber); let idx = index\" class=\"path{{ idx + 1 }}\"></span>\r\n</span>\r\n<span *ngIf=\"type !== 'duotone'\" class=\"ki-{{ type }} ki-{{ name }}{{ class ? ' ' + class : '' }}\"></span>\r\n" }]
27
27
  }], ctorParameters: () => [], propDecorators: { name: [{
@@ -3,18 +3,23 @@ import { NavigationEnd } from '@angular/router';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "tango-app-ui-global";
5
5
  import * as i2 from "@angular/router";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "../header/header.component";
8
- import * as i5 from "../content/content.component";
9
- import * as i6 from "../scripts-init/scripts-init.component";
10
- import * as i7 from "../toolbar/toolbar.component";
11
- import * as i8 from "../sidebar/sidebar.component";
12
- import * as i9 from "../scroll-top/scroll-top.component";
6
+ import * as i3 from "../../../services/auth.service";
7
+ import * as i4 from "../../../services/toast.service";
8
+ import * as i5 from "@angular/common";
9
+ import * as i6 from "../header/header.component";
10
+ import * as i7 from "../content/content.component";
11
+ import * as i8 from "../scripts-init/scripts-init.component";
12
+ import * as i9 from "../toolbar/toolbar.component";
13
+ import * as i10 from "../sidebar/sidebar.component";
14
+ import * as i11 from "../scroll-top/scroll-top.component";
13
15
  export class LayoutComponent {
14
16
  initService;
15
17
  layout;
16
18
  router;
17
19
  activatedRoute;
20
+ authService;
21
+ toastService;
22
+ gs;
18
23
  unsubscribe = [];
19
24
  // Public variables
20
25
  // page
@@ -63,11 +68,14 @@ export class LayoutComponent {
63
68
  ktAside;
64
69
  ktHeaderMobile;
65
70
  ktHeader;
66
- constructor(initService, layout, router, activatedRoute) {
71
+ constructor(initService, layout, router, activatedRoute, authService, toastService, gs) {
67
72
  this.initService = initService;
68
73
  this.layout = layout;
69
74
  this.router = router;
70
75
  this.activatedRoute = activatedRoute;
76
+ this.authService = authService;
77
+ this.toastService = toastService;
78
+ this.gs = gs;
71
79
  // define layout type and load layout
72
80
  this.router.events.subscribe((event) => {
73
81
  if (event instanceof NavigationEnd) {
@@ -80,6 +88,7 @@ export class LayoutComponent {
80
88
  }
81
89
  }
82
90
  });
91
+ this.userProfile();
83
92
  }
84
93
  ngOnInit() {
85
94
  const subscr = this.layout.layoutConfigSubject
@@ -263,13 +272,26 @@ export class LayoutComponent {
263
272
  ngOnDestroy() {
264
273
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
265
274
  }
266
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.LayoutInitService }, { token: i1.LayoutService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
267
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: LayoutComponent, selector: "lib-layout", viewQueries: [{ propertyName: "ktSidebar", first: true, predicate: ["ktSidebar"], descendants: true, static: true }, { propertyName: "ktAside", first: true, predicate: ["ktAside"], descendants: true, static: true }, { propertyName: "ktHeaderMobile", first: true, predicate: ["ktHeaderMobile"], descendants: true, static: true }, { propertyName: "ktHeader", first: true, predicate: ["ktHeader"], descendants: true, static: true }], ngImport: i0, template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.HeaderComponent, selector: "lib-header" }, { kind: "component", type: i5.ContentComponent, selector: "lib-content", inputs: ["contentContainerCSSClass", "appContentContiner", "appContentContainerClass"] }, { kind: "component", type: i6.ScriptsInitComponent, selector: "lib-scripts-init" }, { kind: "component", type: i7.ToolbarComponent, selector: "lib-toolbar", inputs: ["currentLayoutType", "appToolbarLayout"] }, { kind: "component", type: i8.SidebarComponent, selector: "lib-sidebar" }, { kind: "component", type: i9.LayoutScrollTopComponent, selector: "lib-scroll-top" }] });
275
+ userProfile() {
276
+ this.unsubscribe.push(this.authService.userProfileDet().subscribe({
277
+ next: (res) => {
278
+ if (res && res.code == 200) {
279
+ this.gs.userAccess.next(res.data?.permission);
280
+ }
281
+ },
282
+ error: (err) => {
283
+ this.toastService.getErrorToast(err.error.error);
284
+ localStorage.clear();
285
+ },
286
+ }));
287
+ }
288
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.LayoutInitService }, { token: i1.LayoutService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.AuthService }, { token: i4.ToastService }, { token: i1.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
289
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: LayoutComponent, selector: "lib-layout", viewQueries: [{ propertyName: "ktSidebar", first: true, predicate: ["ktSidebar"], descendants: true, static: true }, { propertyName: "ktAside", first: true, predicate: ["ktAside"], descendants: true, static: true }, { propertyName: "ktHeaderMobile", first: true, predicate: ["ktHeaderMobile"], descendants: true, static: true }, { propertyName: "ktHeader", first: true, predicate: ["ktHeader"], descendants: true, static: true }], ngImport: i0, template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.HeaderComponent, selector: "lib-header" }, { kind: "component", type: i7.ContentComponent, selector: "lib-content", inputs: ["contentContainerCSSClass", "appContentContiner", "appContentContainerClass"] }, { kind: "component", type: i8.ScriptsInitComponent, selector: "lib-scripts-init" }, { kind: "component", type: i9.ToolbarComponent, selector: "lib-toolbar", inputs: ["currentLayoutType", "appToolbarLayout"] }, { kind: "component", type: i10.SidebarComponent, selector: "lib-sidebar" }, { kind: "component", type: i11.LayoutScrollTopComponent, selector: "lib-scroll-top" }] });
268
290
  }
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: LayoutComponent, decorators: [{
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutComponent, decorators: [{
270
292
  type: Component,
271
293
  args: [{ selector: 'lib-layout', template: "<!--begin::App-->\r\n<div class=\"d-flex flex-column flex-root app-root\" id=\"kt_app_root\">\r\n <!--begin::Page-->\r\n <div class=\"app-page flex-column flex-column-fluid\" id=\"kt_app_page\">\r\n <ng-container *ngIf=\"appHeaderDisplay\">\r\n <!--begin::Header-->\r\n <lib-header [ngClass]=\"appHeaderDefaultClass\" id=\"kt_app_header\" class=\"app-header\" data-kt-sticky=\"true\" data-kt-sticky-activate=\"{default: true, lg: true}\" data-kt-sticky-name=\"app-header-minimize\" data-kt-sticky-offset=\"{default: '200px', lg: '0'}\" data-kt-sticky-animation=\"false\">\r\n </lib-header>\r\n <!--end::Header-->\r\n </ng-container>\r\n\r\n <!--begin::Wrapper-->\r\n <div class=\"app-wrapper flex-column flex-row-fluid\" id=\"kt_app_wrapper\">\r\n\r\n <ng-container *ngIf=\"appSidebarDisplay\">\r\n <!--begin::sidebar-->\r\n <lib-sidebar #ktSidebar id=\"kt_app_sidebar\" class=\"app-sidebar flex-column\" [ngClass]=\"appSidebarDefaultClass\">\r\n </lib-sidebar>\r\n <!--end::sidebar-->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"appSidebarPanelDisplay\">\r\n <!-- TODO: app sidebar panel -->\r\n </ng-container>\r\n <!--begin::Main-->\r\n <div class=\"app-main content flex-column flex-row-fluid\" id=\"kt_app_main\">\r\n <!--begin::Content wrapper-->\r\n <ng-container *ngIf=\"appToolbarDisplay\">\r\n <lib-toolbar class=\"app-toolbar\" [ngClass]=\"appToolbarCSSClass\" id=\"kt_app_toolbar\"\r\n [appToolbarLayout]=\"appToolbarLayout\"></lib-toolbar>\r\n </ng-container>\r\n <div class=\"d-flex flex-column flex-column-fluid mt-15\">\r\n \r\n <lib-content id=\" kt_app_content\" class=\"app-content mt-15\" [ngClass]=\"contentCSSClasses\"\r\n [contentContainerCSSClass]=\"contentContainerCSSClass\" [appContentContiner]=\"appContentContiner\"\r\n [appContentContainerClass]=\"appContentContainerClass\">\r\n </lib-content>\r\n </div>\r\n <!--end::Content wrapper-->\r\n <!-- <ng-container *ngIf=\"appFooterDisplay\">\r\n <lib-footer class=\"app-footer\" [ngClass]=\"appFooterCSSClass\" id=\"kt_app_footer\"\r\n [appFooterContainerCSSClass]=\"appFooterContainerCSSClass\"></lib-footer>\r\n </ng-container> -->\r\n </div>\r\n <!--end:::Main-->\r\n </div>\r\n <!--end::Wrapper-->\r\n\r\n </div>\r\n <!--end::Page-->\r\n</div>\r\n<!--end::App-->\r\n\r\n<lib-scripts-init></lib-scripts-init>\r\n<ng-container>\r\n <lib-scroll-top id=\"kt_scrolltop\" class=\"scrolltop\" data-kt-scrolltop=\"true\"></lib-scroll-top>\r\n</ng-container>\r\n<!-- begin:: Drawers -->\r\n<!-- <lib-activity-drawer></lib-activity-drawer> -->\r\n<!-- <lib-messenger-drawer></lib-messenger-drawer> -->\r\n<!-- end:: Drawers -->\r\n\r\n<!-- end:: Engage -->\r\n<!-- <lib-engages></lib-engages> -->\r\n<!-- end:: Engage -->\r\n\r\n<!-- begin:: Modals -->\r\n<!-- <lib-main-modal></lib-main-modal> -->\r\n<!-- <lib-invite-users-modal></lib-invite-users-modal> -->\r\n<!-- <lib-upgrade-plan-modal></lib-upgrade-plan-modal> -->\r\n<!-- end:: Modals -->\r\n", styles: [":host{height:100%;margin:0}:host .flex-root{height:100%}.page-loaded app-layout{opacity:1;transition:opacity 1s ease-in-out}\n"] }]
272
- }], ctorParameters: () => [{ type: i1.LayoutInitService }, { type: i1.LayoutService }, { type: i2.Router }, { type: i2.ActivatedRoute }], propDecorators: { ktSidebar: [{
294
+ }], ctorParameters: () => [{ type: i1.LayoutInitService }, { type: i1.LayoutService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.AuthService }, { type: i4.ToastService }, { type: i1.GlobalStateService }], propDecorators: { ktSidebar: [{
273
295
  type: ViewChild,
274
296
  args: ['ktSidebar', { static: true }]
275
297
  }], ktAside: [{
@@ -282,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
282
304
  type: ViewChild,
283
305
  args: ['ktHeader', { static: true }]
284
306
  }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBVXhFLE1BQU0sT0FBTyxlQUFlO0lBdURoQjtJQUNBO0lBQ0E7SUFDQTtJQXpERixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUV6QyxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLHVCQUF1QixDQUFTO0lBQ2hDLFNBQVM7SUFDVCxxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsZ0JBQWdCLENBQVU7SUFDMUIsNkJBQTZCLENBQVU7SUFDdkMsZ0NBQWdDLEdBQW1DLEVBQUUsQ0FBQztJQUN0RSwrQkFBK0IsQ0FBVTtJQUN6QyxrQ0FBa0MsR0FBbUMsRUFBRSxDQUFDO0lBQ3hFLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixnQkFBZ0IsQ0FBNkQ7SUFDN0Usa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLHdCQUF3QixHQUFtQyxFQUFFLENBQUM7SUFDOUQsdUJBQXVCLENBQVU7SUFDakMsMEJBQTBCLEdBQW1DLEVBQUUsQ0FBQztJQUNoRSx5QkFBeUIsQ0FBVTtJQUNuQyw0QkFBNEIsR0FBbUMsRUFBRSxDQUFDO0lBRWxFLFVBQVU7SUFDVixrQkFBa0IsQ0FB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Z0JBRUQsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7b0JBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO3dCQUNuRCxJQUFJLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ3pELGNBQWMsQ0FBQyxZQUFZLENBQ3pCLEdBQUcsRUFDSCxJQUFJLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLENBQ3ZDLENBQUM7eUJBQ0g7cUJBQ0Y7aUJBQ0Y7YUFDRjtRQUNILENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBNVhVLGVBQWU7MkZBQWYsZUFBZSxpZUNqQjVCLHVuR0F1RUE7OzJGRHREYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7b0tBd0NvQixTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBY0EsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNTLGNBQWM7c0JBQTVELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNKLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSUxheW91dCwgTGF5b3V0VHlwZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBMYXlvdXRJbml0U2VydmljZSwgTGF5b3V0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAvLyBQdWJsaWMgdmFyaWFibGVzXHJcbiAgLy8gcGFnZVxyXG4gIHBhZ2VDb250YWluZXJDU1NDbGFzc2VzOiBzdHJpbmc7XHJcbiAgLy8gaGVhZGVyXHJcbiAgYXBwSGVhZGVyRGVmYXVsdENsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBIZWFkZXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBhcHBIZWFkZXJEZWZhdWx0TWluaW1pemVFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIC8vIHRvb2xiYXJcclxuICBhcHBUb29sYmFyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyTGF5b3V0OiAnY2xhc3NpYycgfCAnYWNjb3VudGluZycgfCAnZXh0ZW5kZWQnIHwgJ3JlcG9ydHMnIHwgJ3NhYXMnO1xyXG4gIGFwcFRvb2xiYXJDU1NDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgYXBwVG9vbGJhclN3YXBFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJTd2FwQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwVG9vbGJhclN0aWNreUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIGFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcblxyXG4gIC8vIGNvbnRlbnRcclxuICBhcHBDb250ZW50Q29udGluZXI/OiAnZml4ZWQnIHwgJ2ZsdWlkJztcclxuICBhcHBDb250ZW50Q29udGFpbmVyQ2xhc3M6IHN0cmluZztcclxuICBjb250ZW50Q1NTQ2xhc3Nlczogc3RyaW5nO1xyXG4gIGNvbnRlbnRDb250YWluZXJDU1NDbGFzczogc3RyaW5nO1xyXG4gIC8vIHNpZGViYXJcclxuICBhcHBTaWRlYmFyRGVmYXVsdENsYXNzOiBzdHJpbmc7XHJcbiAgYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwU2lkZWJhckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwU2lkZWJhckRlZmF1bHRTdGlja3lFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgQFZpZXdDaGlsZCgna3RTaWRlYmFyJywgeyBzdGF0aWM6IHRydWUgfSkga3RTaWRlYmFyOiBFbGVtZW50UmVmO1xyXG4gIC8vLyBzaWRlYmFyIHBhbmVsXHJcbiAgYXBwU2lkZWJhclBhbmVsRGlzcGxheTogYm9vbGVhbjtcclxuICAvLyBmb290ZXJcclxuICBhcHBGb290ZXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcEZvb3RlckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBGb290ZXJDb250YWluZXI6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEZvb3RlckNvbnRhaW5lckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBGb290ZXJGaXhlZERlc2t0b3A6IGJvb2xlYW47XHJcbiAgYXBwRm9vdGVyRml4ZWRNb2JpbGU6IGJvb2xlYW47XHJcblxyXG4gIC8vIHNjcm9sbHRvcFxyXG4gIHNjcm9sbHRvcERpc3BsYXk6IGJvb2xlYW47XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2t0QXNpZGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdEFzaWRlOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2t0SGVhZGVyTW9iaWxlJywgeyBzdGF0aWM6IHRydWUgfSkga3RIZWFkZXJNb2JpbGU6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgna3RIZWFkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdEhlYWRlcjogRWxlbWVudFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGluaXRTZXJ2aWNlOiBMYXlvdXRJbml0U2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5b3V0OiBMYXlvdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXHJcbiAgKSB7XHJcbiAgICAvLyBkZWZpbmUgbGF5b3V0IHR5cGUgYW5kIGxvYWQgbGF5b3V0XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudExheW91dFR5cGUgPSB0aGlzLmxheW91dC5jdXJyZW50TGF5b3V0VHlwZVN1YmplY3QudmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IG5leHRMYXlvdXRUeXBlOiBMYXlvdXRUeXBlID1cclxuICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGU/LmZpcnN0Q2hpbGQ/LnNuYXBzaG90LmRhdGEubGF5b3V0IHx8XHJcbiAgICAgICAgICB0aGlzLmxheW91dC5nZXRCYXNlTGF5b3V0VHlwZUZyb21Mb2NhbFN0b3JhZ2UoKTtcclxuXHJcbiAgICAgICAgaWYgKGN1cnJlbnRMYXlvdXRUeXBlICE9PSBuZXh0TGF5b3V0VHlwZSB8fCAhY3VycmVudExheW91dFR5cGUpIHtcclxuICAgICAgICAgIHRoaXMubGF5b3V0LmN1cnJlbnRMYXlvdXRUeXBlU3ViamVjdC5uZXh0KG5leHRMYXlvdXRUeXBlKTtcclxuICAgICAgICAgIHRoaXMuaW5pdFNlcnZpY2UucmVJbml0UHJvcHMobmV4dExheW91dFR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHN1YnNjciA9IHRoaXMubGF5b3V0LmxheW91dENvbmZpZ1N1YmplY3RcclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcHMoY29uZmlnKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2goc3Vic2NyKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BzKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5zY3JvbGx0b3BEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ3Njcm9sbHRvcC5kaXNwbGF5JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLnBhZ2VDb250YWluZXJDU1NDbGFzc2VzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygncGFnZUNvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0Q2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmhlYWRlci5kZWZhdWx0LmNsYXNzJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwSGVhZGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwRm9vdGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuZm9vdGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyUGFuZWxEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLXBhbmVsLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5jb250ZW50Q1NTQ2xhc3NlcyA9IHRoaXMubGF5b3V0LmdldFN0cmluZ0NTU0NsYXNzZXMoJ2NvbnRlbnQnKTtcclxuICAgIHRoaXMuY29udGVudENvbnRhaW5lckNTU0NsYXNzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygnY29udGVudENvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGluZXIgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGFpbmVyQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyQ2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgLy8gZm9vdGVyXHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJEaXNwbGF5KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRm9vdGVyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICAvLyBzaWRlYmFyXHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZVNpZGViYXIoY29uZmlnKTtcclxuICAgIH1cclxuICAgIC8vIGhlYWRlclxyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlcihjb25maWcpO1xyXG4gICAgfVxyXG4gICAgLy8gdG9vbGJhclxyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckRpc3BsYXkpIHtcclxuICAgICAgdGhpcy51cGRhdGVUb29sYmFyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTaWRlYmFyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdENsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuY2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG5cclxuICAgIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNpZGViYXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9zaWRlYmFyJyk7XHJcbiAgICAgIC8vIHNpZGViYXJcclxuICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgJiYgc2lkZWJhckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBzaWRlYmFyQXR0cmlidXRlcyA9IHNpZGViYXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIHNpZGViYXJBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+XHJcbiAgICAgICAgICBzaWRlYmFyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cilcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgc2lkZWJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICBzaWRlYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVIZWFkZXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9oZWFkZXInKTtcclxuICAgICAgLy8gaGVhZGVyXHJcbiAgICAgIGlmICh0aGlzLmFwcEhlYWRlckRpc3BsYXkgJiYgaGVhZGVyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckF0dHJpYnV0ZXMgPSBoZWFkZXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIGhlYWRlckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4gaGVhZGVyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cikpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0TWluaW1pemVFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRm9vdGVyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBGb290ZXJDU1NDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuY2xhc3MnLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID0gdGhpcy5sYXlvdXQuZ2V0UHJvcCgnYXBwLmZvb3Rlci5jb250YWluZXInLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmNvbnRhaW5lckNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJDb250YWluZXIgPT09ICdmaXhlZCcpIHtcclxuICAgICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyArPSAnIGNvbnRhaW5lci14eGwnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID09PSAnZmx1aWQnKSB7XHJcbiAgICAgICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyArPSAnIGNvbnRhaW5lci1mbHVpZCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcEZvb3RlckZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuZml4ZWQuZGVza3RvcCcsIGNvbmZpZykgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcEZvb3RlckZpeGVkRGVza3RvcCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtZm9vdGVyLWZpeGVkJywgJ3RydWUnKVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwRm9vdGVyRml4ZWRNb2JpbGUgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmZpeGVkLm1vYmlsZScpIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJGaXhlZE1vYmlsZSkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtZm9vdGVyLWZpeGVkLW1vYmlsZScsICd0cnVlJylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVRvb2xiYXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJMYXlvdXQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIubGF5b3V0JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdjbGFzc2ljJyB8ICdhY2NvdW50aW5nJyB8ICdleHRlbmRlZCcgfCAncmVwb3J0cycgfCAnc2Fhcyc7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5zd2FwLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC50b29sYmFyLnN3YXAuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuc3RpY2t5LmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTdGlja3lFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAudG9vbGJhci5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhckNTU0NsYXNzID1cclxuICAgICAgKHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC50b29sYmFyLmNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmcpIHx8ICcnO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLm1pbmltaXplLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgICAnYXBwLnRvb2xiYXIubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJDU1NDbGFzcyArPSAnIGFwcC10b29sYmFyLW1pbmltaXplJztcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgdG9vbGJhckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna3RfYXBwX3Rvb2xiYXInKTtcclxuICAgICAgLy8gdG9vbGJhclxyXG4gICAgICBpZiAodGhpcy5hcHBUb29sYmFyRGlzcGxheSAmJiB0b29sYmFyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IHRvb2xiYXJBdHRyaWJ1dGVzID0gdG9vbGJhckVsZW1lbnRcclxuICAgICAgICAgIC5nZXRBdHRyaWJ1dGVOYW1lcygpXHJcbiAgICAgICAgICAuZmlsdGVyKCh0KSA9PiB0LmluZGV4T2YoJ2RhdGEtJykgPiAtMSk7XHJcbiAgICAgICAgdG9vbGJhckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT5cclxuICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBUb29sYmFyU3dhcEF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcbn1cclxuIiwiPCEtLWJlZ2luOjpBcHAtLT5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXJvb3QgYXBwLXJvb3RcIiBpZD1cImt0X2FwcF9yb290XCI+XHJcbiAgPCEtLWJlZ2luOjpQYWdlLS0+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1wYWdlIGZsZXgtY29sdW1uIGZsZXgtY29sdW1uLWZsdWlkXCIgaWQ9XCJrdF9hcHBfcGFnZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcEhlYWRlckRpc3BsYXlcIj5cclxuICAgICAgPCEtLWJlZ2luOjpIZWFkZXItLT5cclxuICAgICAgPGxpYi1oZWFkZXIgW25nQ2xhc3NdPVwiYXBwSGVhZGVyRGVmYXVsdENsYXNzXCIgaWQ9XCJrdF9hcHBfaGVhZGVyXCIgY2xhc3M9XCJhcHAtaGVhZGVyXCIgZGF0YS1rdC1zdGlja3k9XCJ0cnVlXCIgZGF0YS1rdC1zdGlja3ktYWN0aXZhdGU9XCJ7ZGVmYXVsdDogdHJ1ZSwgbGc6IHRydWV9XCIgZGF0YS1rdC1zdGlja3ktbmFtZT1cImFwcC1oZWFkZXItbWluaW1pemVcIiBkYXRhLWt0LXN0aWNreS1vZmZzZXQ9XCJ7ZGVmYXVsdDogJzIwMHB4JywgbGc6ICcwJ31cIiBkYXRhLWt0LXN0aWNreS1hbmltYXRpb249XCJmYWxzZVwiPlxyXG4gICAgICA8L2xpYi1oZWFkZXI+XHJcbiAgICAgIDwhLS1lbmQ6OkhlYWRlci0tPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLWJlZ2luOjpXcmFwcGVyLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXdyYXBwZXIgZmxleC1jb2x1bW4gZmxleC1yb3ctZmx1aWRcIiBpZD1cImt0X2FwcF93cmFwcGVyXCI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwU2lkZWJhckRpc3BsYXlcIj5cclxuICAgICAgICA8IS0tYmVnaW46OnNpZGViYXItLT5cclxuICAgICAgICA8bGliLXNpZGViYXIgI2t0U2lkZWJhciBpZD1cImt0X2FwcF9zaWRlYmFyXCIgY2xhc3M9XCJhcHAtc2lkZWJhciBmbGV4LWNvbHVtblwiIFtuZ0NsYXNzXT1cImFwcFNpZGViYXJEZWZhdWx0Q2xhc3NcIj5cclxuICAgICAgICA8L2xpYi1zaWRlYmFyPlxyXG4gICAgICAgIDwhLS1lbmQ6OnNpZGViYXItLT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwU2lkZWJhclBhbmVsRGlzcGxheVwiPlxyXG4gICAgICAgIDwhLS0gVE9ETzogYXBwIHNpZGViYXIgcGFuZWwgLS0+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tYmVnaW46Ok1haW4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1tYWluIGNvbnRlbnQgZmxleC1jb2x1bW4gZmxleC1yb3ctZmx1aWRcIiBpZD1cImt0X2FwcF9tYWluXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpDb250ZW50IHdyYXBwZXItLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwVG9vbGJhckRpc3BsYXlcIj5cclxuICAgICAgICAgIDxsaWItdG9vbGJhciBjbGFzcz1cImFwcC10b29sYmFyXCIgW25nQ2xhc3NdPVwiYXBwVG9vbGJhckNTU0NsYXNzXCIgaWQ9XCJrdF9hcHBfdG9vbGJhclwiXHJcbiAgICAgICAgICAgIFthcHBUb29sYmFyTGF5b3V0XT1cImFwcFRvb2xiYXJMYXlvdXRcIj48L2xpYi10b29sYmFyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1jb2x1bW4tZmx1aWQgbXQtMTVcIj5cclxuICAgICAgICBcclxuICAgICAgICAgIDxsaWItY29udGVudCBpZD1cIiBrdF9hcHBfY29udGVudFwiIGNsYXNzPVwiYXBwLWNvbnRlbnQgbXQtMTVcIiBbbmdDbGFzc109XCJjb250ZW50Q1NTQ2xhc3Nlc1wiXHJcbiAgICAgICAgICAgIFtjb250ZW50Q29udGFpbmVyQ1NTQ2xhc3NdPVwiY29udGVudENvbnRhaW5lckNTU0NsYXNzXCIgW2FwcENvbnRlbnRDb250aW5lcl09XCJhcHBDb250ZW50Q29udGluZXJcIlxyXG4gICAgICAgICAgICBbYXBwQ29udGVudENvbnRhaW5lckNsYXNzXT1cImFwcENvbnRlbnRDb250YWluZXJDbGFzc1wiPlxyXG4gICAgICAgICAgPC9saWItY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tZW5kOjpDb250ZW50IHdyYXBwZXItLT5cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBGb290ZXJEaXNwbGF5XCI+XHJcbiAgICAgICAgICA8bGliLWZvb3RlciBjbGFzcz1cImFwcC1mb290ZXJcIiBbbmdDbGFzc109XCJhcHBGb290ZXJDU1NDbGFzc1wiIGlkPVwia3RfYXBwX2Zvb3RlclwiXHJcbiAgICAgICAgICAgIFthcHBGb290ZXJDb250YWluZXJDU1NDbGFzc109XCJhcHBGb290ZXJDb250YWluZXJDU1NDbGFzc1wiPjwvbGliLWZvb3Rlcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tZW5kOjo6TWFpbi0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tZW5kOjpXcmFwcGVyLS0+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OlBhZ2UtLT5cclxuPC9kaXY+XHJcbjwhLS1lbmQ6OkFwcC0tPlxyXG5cclxuPGxpYi1zY3JpcHRzLWluaXQ+PC9saWItc2NyaXB0cy1pbml0PlxyXG48bmctY29udGFpbmVyPlxyXG4gIDxsaWItc2Nyb2xsLXRvcCBpZD1cImt0X3Njcm9sbHRvcFwiIGNsYXNzPVwic2Nyb2xsdG9wXCIgZGF0YS1rdC1zY3JvbGx0b3A9XCJ0cnVlXCI+PC9saWItc2Nyb2xsLXRvcD5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gYmVnaW46OiBEcmF3ZXJzIC0tPlxyXG48IS0tIDxsaWItYWN0aXZpdHktZHJhd2VyPjwvbGliLWFjdGl2aXR5LWRyYXdlcj4gLS0+XHJcbjwhLS0gPGxpYi1tZXNzZW5nZXItZHJhd2VyPjwvbGliLW1lc3Nlbmdlci1kcmF3ZXI+IC0tPlxyXG48IS0tIGVuZDo6IERyYXdlcnMgLS0+XHJcblxyXG48IS0tIGVuZDo6IEVuZ2FnZSAtLT5cclxuPCEtLSA8bGliLWVuZ2FnZXM+PC9saWItZW5nYWdlcz4gLS0+XHJcbjwhLS0gZW5kOjogRW5nYWdlIC0tPlxyXG5cclxuPCEtLSBiZWdpbjo6IE1vZGFscyAtLT5cclxuPCEtLSA8bGliLW1haW4tbW9kYWw+PC9saWItbWFpbi1tb2RhbD4gLS0+XHJcbjwhLS0gPGxpYi1pbnZpdGUtdXNlcnMtbW9kYWw+PC9saWItaW52aXRlLXVzZXJzLW1vZGFsPiAtLT5cclxuPCEtLSA8bGliLXVwZ3JhZGUtcGxhbi1tb2RhbD48L2xpYi11cGdyYWRlLXBsYW4tbW9kYWw+IC0tPlxyXG48IS0tIGVuZDo6IE1vZGFscyAtLT5cclxuIl19
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFZeEUsTUFBTSxPQUFPLGVBQWU7SUF1RGhCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBNURGLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBRXpDLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsdUJBQXVCLENBQVM7SUFDaEMsU0FBUztJQUNULHFCQUFxQixHQUFXLEVBQUUsQ0FBQztJQUNuQyxnQkFBZ0IsQ0FBVTtJQUMxQiw2QkFBNkIsQ0FBVTtJQUN2QyxnQ0FBZ0MsR0FBbUMsRUFBRSxDQUFDO0lBQ3RFLCtCQUErQixDQUFVO0lBQ3pDLGtDQUFrQyxHQUFtQyxFQUFFLENBQUM7SUFDeEUsVUFBVTtJQUNWLGlCQUFpQixDQUFVO0lBQzNCLGdCQUFnQixDQUE2RDtJQUM3RSxrQkFBa0IsR0FBVyxFQUFFLENBQUM7SUFDaEMscUJBQXFCLENBQVU7SUFDL0Isd0JBQXdCLEdBQW1DLEVBQUUsQ0FBQztJQUM5RCx1QkFBdUIsQ0FBVTtJQUNqQywwQkFBMEIsR0FBbUMsRUFBRSxDQUFDO0lBQ2hFLHlCQUF5QixDQUFVO0lBQ25DLDRCQUE0QixHQUFtQyxFQUFFLENBQUM7SUFFbEUsVUFB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QUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLENBQUM7U0FDRixDQUFDLENBQ0QsQ0FBQTtJQUVILENBQUM7dUdBbFpVLGVBQWU7MkZBQWYsZUFBZSxpZUNuQjVCLHVuR0F1RUE7OzJGRHBEYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7MFBBd0NvQixTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBY0EsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNTLGNBQWM7c0JBQTVELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNKLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBJTGF5b3V0LCBMYXlvdXRUeXBlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IExheW91dEluaXRTZXJ2aWNlLCBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIC8vIFB1YmxpYyB2YXJpYWJsZXNcclxuICAvLyBwYWdlXHJcbiAgcGFnZUNvbnRhaW5lckNTU0NsYXNzZXM6IHN0cmluZztcclxuICAvLyBoZWFkZXJcclxuICBhcHBIZWFkZXJEZWZhdWx0Q2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEhlYWRlckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwSGVhZGVyRGVmYXVsdFN0aWNreUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwSGVhZGVyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIGFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgLy8gdG9vbGJhclxyXG4gIGFwcFRvb2xiYXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJMYXlvdXQ6ICdjbGFzc2ljJyB8ICdhY2NvdW50aW5nJyB8ICdleHRlbmRlZCcgfCAncmVwb3J0cycgfCAnc2Fhcyc7XHJcbiAgYXBwVG9vbGJhckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBUb29sYmFyU3dhcEVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBhcHBUb29sYmFyU3RpY2t5RW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyU3RpY2t5QXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwVG9vbGJhck1pbmltaXplRW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgLy8gY29udGVudFxyXG4gIGFwcENvbnRlbnRDb250aW5lcj86ICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gIGFwcENvbnRlbnRDb250YWluZXJDbGFzczogc3RyaW5nO1xyXG4gIGNvbnRlbnRDU1NDbGFzc2VzOiBzdHJpbmc7XHJcbiAgY29udGVudENvbnRhaW5lckNTU0NsYXNzOiBzdHJpbmc7XHJcbiAgLy8gc2lkZWJhclxyXG4gIGFwcFNpZGViYXJEZWZhdWx0Q2xhc3M6IHN0cmluZztcclxuICBhcHBTaWRlYmFyRGVmYXVsdERyYXdlckVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBhcHBTaWRlYmFyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBAVmlld0NoaWxkKCdrdFNpZGViYXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdFNpZGViYXI6IEVsZW1lbnRSZWY7XHJcbiAgLy8vIHNpZGViYXIgcGFuZWxcclxuICBhcHBTaWRlYmFyUGFuZWxEaXNwbGF5OiBib29sZWFuO1xyXG4gIC8vIGZvb3RlclxyXG4gIGFwcEZvb3RlckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwRm9vdGVyQ1NTQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEZvb3RlckNvbnRhaW5lcjogc3RyaW5nID0gJyc7XHJcbiAgYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEZvb3RlckZpeGVkRGVza3RvcDogYm9vbGVhbjtcclxuICBhcHBGb290ZXJGaXhlZE1vYmlsZTogYm9vbGVhbjtcclxuXHJcbiAgLy8gc2Nyb2xsdG9wXHJcbiAgc2Nyb2xsdG9wRGlzcGxheTogYm9vbGVhbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgna3RBc2lkZScsIHsgc3RhdGljOiB0cnVlIH0pIGt0QXNpZGU6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgna3RIZWFkZXJNb2JpbGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdEhlYWRlck1vYmlsZTogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdrdEhlYWRlcicsIHsgc3RhdGljOiB0cnVlIH0pIGt0SGVhZGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW5pdFNlcnZpY2U6IExheW91dEluaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOkF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6VG9hc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnczpHbG9iYWxTdGF0ZVNlcnZpY2VcclxuICApIHtcclxuICAgIFxyXG4gICAgLy8gZGVmaW5lIGxheW91dCB0eXBlIGFuZCBsb2FkIGxheW91dFxyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRMYXlvdXRUeXBlID0gdGhpcy5sYXlvdXQuY3VycmVudExheW91dFR5cGVTdWJqZWN0LnZhbHVlO1xyXG5cclxuICAgICAgICBjb25zdCBuZXh0TGF5b3V0VHlwZTogTGF5b3V0VHlwZSA9XHJcbiAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlPy5maXJzdENoaWxkPy5zbmFwc2hvdC5kYXRhLmxheW91dCB8fFxyXG4gICAgICAgICAgdGhpcy5sYXlvdXQuZ2V0QmFzZUxheW91dFR5cGVGcm9tTG9jYWxTdG9yYWdlKCk7XHJcblxyXG4gICAgICAgIGlmIChjdXJyZW50TGF5b3V0VHlwZSAhPT0gbmV4dExheW91dFR5cGUgfHwgIWN1cnJlbnRMYXlvdXRUeXBlKSB7XHJcbiAgICAgICAgICB0aGlzLmxheW91dC5jdXJyZW50TGF5b3V0VHlwZVN1YmplY3QubmV4dChuZXh0TGF5b3V0VHlwZSk7XHJcbiAgICAgICAgICB0aGlzLmluaXRTZXJ2aWNlLnJlSW5pdFByb3BzKG5leHRMYXlvdXRUeXBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy51c2VyUHJvZmlsZSgpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHN1YnNjciA9IHRoaXMubGF5b3V0LmxheW91dENvbmZpZ1N1YmplY3RcclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcHMoY29uZmlnKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2goc3Vic2NyKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BzKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5zY3JvbGx0b3BEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ3Njcm9sbHRvcC5kaXNwbGF5JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLnBhZ2VDb250YWluZXJDU1NDbGFzc2VzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygncGFnZUNvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0Q2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmhlYWRlci5kZWZhdWx0LmNsYXNzJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwSGVhZGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwRm9vdGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuZm9vdGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyUGFuZWxEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLXBhbmVsLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5jb250ZW50Q1NTQ2xhc3NlcyA9IHRoaXMubGF5b3V0LmdldFN0cmluZ0NTU0NsYXNzZXMoJ2NvbnRlbnQnKTtcclxuICAgIHRoaXMuY29udGVudENvbnRhaW5lckNTU0NsYXNzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygnY29udGVudENvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGluZXIgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGFpbmVyQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyQ2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgLy8gZm9vdGVyXHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJEaXNwbGF5KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRm9vdGVyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICAvLyBzaWRlYmFyXHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZVNpZGViYXIoY29uZmlnKTtcclxuICAgIH1cclxuICAgIC8vIGhlYWRlclxyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlcihjb25maWcpO1xyXG4gICAgfVxyXG4gICAgLy8gdG9vbGJhclxyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckRpc3BsYXkpIHtcclxuICAgICAgdGhpcy51cGRhdGVUb29sYmFyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTaWRlYmFyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdENsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuY2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG5cclxuICAgIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNpZGViYXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9zaWRlYmFyJyk7XHJcbiAgICAgIC8vIHNpZGViYXJcclxuICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgJiYgc2lkZWJhckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBzaWRlYmFyQXR0cmlidXRlcyA9IHNpZGViYXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIHNpZGViYXJBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+XHJcbiAgICAgICAgICBzaWRlYmFyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cilcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgc2lkZWJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICBzaWRlYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVIZWFkZXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9oZWFkZXInKTtcclxuICAgICAgLy8gaGVhZGVyXHJcbiAgICAgIGlmICh0aGlzLmFwcEhlYWRlckRpc3BsYXkgJiYgaGVhZGVyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckF0dHJpYnV0ZXMgPSBoZWFkZXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIGhlYWRlckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4gaGVhZGVyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cikpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0TWluaW1pemVFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRm9vdGVyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBGb290ZXJDU1NDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuY2xhc3MnLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID0gdGhpcy5sYXlvdXQuZ2V0UHJvcCgnYXBwLmZvb3Rlci5jb250YWluZXInLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmNvbnRhaW5lckNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJDb250YWluZXIgPT09ICdmaXhlZCcpIHtcclxuICAgICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyArPSAnIGNvbnRhaW5lci14eGwnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID09PSAnZmx1aWQnKSB7XHJcbiAgICAgICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyArPSAnIGNvbnRhaW5lci1mbHVpZCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcEZvb3RlckZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuZml4ZWQuZGVza3RvcCcsIGNvbmZpZykgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcEZvb3RlckZpeGVkRGVza3RvcCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtZm9vdGVyLWZpeGVkJywgJ3RydWUnKVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwRm9vdGVyRml4ZWRNb2JpbGUgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmZpeGVkLm1vYmlsZScpIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJGaXhlZE1vYmlsZSkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgnZGF0YS1rdC1hcHAtZm9vdGVyLWZpeGVkLW1vYmlsZScsICd0cnVlJylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVRvb2xiYXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJMYXlvdXQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIubGF5b3V0JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdjbGFzc2ljJyB8ICdhY2NvdW50aW5nJyB8ICdleHRlbmRlZCcgfCAncmVwb3J0cycgfCAnc2Fhcyc7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5zd2FwLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC50b29sYmFyLnN3YXAuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuc3RpY2t5LmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTdGlja3lFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAudG9vbGJhci5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhckNTU0NsYXNzID1cclxuICAgICAgKHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC50b29sYmFyLmNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmcpIHx8ICcnO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLm1pbmltaXplLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgICAnYXBwLnRvb2xiYXIubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJDU1NDbGFzcyArPSAnIGFwcC10b29sYmFyLW1pbmltaXplJztcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgdG9vbGJhckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna3RfYXBwX3Rvb2xiYXInKTtcclxuICAgICAgLy8gdG9vbGJhclxyXG4gICAgICBpZiAodGhpcy5hcHBUb29sYmFyRGlzcGxheSAmJiB0b29sYmFyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IHRvb2xiYXJBdHRyaWJ1dGVzID0gdG9vbGJhckVsZW1lbnRcclxuICAgICAgICAgIC5nZXRBdHRyaWJ1dGVOYW1lcygpXHJcbiAgICAgICAgICAuZmlsdGVyKCh0KSA9PiB0LmluZGV4T2YoJ2RhdGEtJykgPiAtMSk7XHJcbiAgICAgICAgdG9vbGJhckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT5cclxuICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwRW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBUb29sYmFyU3dhcEF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9vbGJhclN0aWNreUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHVzZXJQcm9maWxlKCkgeyAgICBcclxuICAgIHRoaXMudW5zdWJzY3JpYmUucHVzaChcclxuICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVzZXJQcm9maWxlRGV0KCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMmJiByZXMuY29kZSA9PTIwMCkge1xyXG4gICAgICAgICAgdGhpcy5ncy51c2VyQWNjZXNzLm5leHQocmVzLmRhdGE/LnBlcm1pc3Npb24pXHJcbiAgICAgICAgfSBcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KGVyci5lcnJvci5lcnJvcik7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gICAgKVxyXG4gICAgXHJcbiAgfVxyXG59XHJcbiIsIjwhLS1iZWdpbjo6QXBwLS0+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1yb290IGFwcC1yb290XCIgaWQ9XCJrdF9hcHBfcm9vdFwiPlxyXG4gIDwhLS1iZWdpbjo6UGFnZS0tPlxyXG4gIDxkaXYgY2xhc3M9XCJhcHAtcGFnZSBmbGV4LWNvbHVtbiBmbGV4LWNvbHVtbi1mbHVpZFwiIGlkPVwia3RfYXBwX3BhZ2VcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBIZWFkZXJEaXNwbGF5XCI+XHJcbiAgICAgIDwhLS1iZWdpbjo6SGVhZGVyLS0+XHJcbiAgICAgIDxsaWItaGVhZGVyIFtuZ0NsYXNzXT1cImFwcEhlYWRlckRlZmF1bHRDbGFzc1wiIGlkPVwia3RfYXBwX2hlYWRlclwiIGNsYXNzPVwiYXBwLWhlYWRlclwiIGRhdGEta3Qtc3RpY2t5PVwidHJ1ZVwiIGRhdGEta3Qtc3RpY2t5LWFjdGl2YXRlPVwie2RlZmF1bHQ6IHRydWUsIGxnOiB0cnVlfVwiIGRhdGEta3Qtc3RpY2t5LW5hbWU9XCJhcHAtaGVhZGVyLW1pbmltaXplXCIgZGF0YS1rdC1zdGlja3ktb2Zmc2V0PVwie2RlZmF1bHQ6ICcyMDBweCcsIGxnOiAnMCd9XCIgZGF0YS1rdC1zdGlja3ktYW5pbWF0aW9uPVwiZmFsc2VcIj5cclxuICAgICAgPC9saWItaGVhZGVyPlxyXG4gICAgICA8IS0tZW5kOjpIZWFkZXItLT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS1iZWdpbjo6V3JhcHBlci0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImFwcC13cmFwcGVyIGZsZXgtY29sdW1uIGZsZXgtcm93LWZsdWlkXCIgaWQ9XCJrdF9hcHBfd3JhcHBlclwiPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFNpZGViYXJEaXNwbGF5XCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpzaWRlYmFyLS0+XHJcbiAgICAgICAgPGxpYi1zaWRlYmFyICNrdFNpZGViYXIgaWQ9XCJrdF9hcHBfc2lkZWJhclwiIGNsYXNzPVwiYXBwLXNpZGViYXIgZmxleC1jb2x1bW5cIiBbbmdDbGFzc109XCJhcHBTaWRlYmFyRGVmYXVsdENsYXNzXCI+XHJcbiAgICAgICAgPC9saWItc2lkZWJhcj5cclxuICAgICAgICA8IS0tZW5kOjpzaWRlYmFyLS0+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFNpZGViYXJQYW5lbERpc3BsYXlcIj5cclxuICAgICAgICA8IS0tIFRPRE86IGFwcCBzaWRlYmFyIHBhbmVsIC0tPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLWJlZ2luOjpNYWluLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbWFpbiBjb250ZW50IGZsZXgtY29sdW1uIGZsZXgtcm93LWZsdWlkXCIgaWQ9XCJrdF9hcHBfbWFpblwiPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6Q29udGVudCB3cmFwcGVyLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFRvb2xiYXJEaXNwbGF5XCI+XHJcbiAgICAgICAgICA8bGliLXRvb2xiYXIgY2xhc3M9XCJhcHAtdG9vbGJhclwiIFtuZ0NsYXNzXT1cImFwcFRvb2xiYXJDU1NDbGFzc1wiIGlkPVwia3RfYXBwX3Rvb2xiYXJcIlxyXG4gICAgICAgICAgICBbYXBwVG9vbGJhckxheW91dF09XCJhcHBUb29sYmFyTGF5b3V0XCI+PC9saWItdG9vbGJhcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtY29sdW1uLWZsdWlkIG10LTE1XCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8bGliLWNvbnRlbnQgaWQ9XCIga3RfYXBwX2NvbnRlbnRcIiBjbGFzcz1cImFwcC1jb250ZW50IG10LTE1XCIgW25nQ2xhc3NdPVwiY29udGVudENTU0NsYXNzZXNcIlxyXG4gICAgICAgICAgICBbY29udGVudENvbnRhaW5lckNTU0NsYXNzXT1cImNvbnRlbnRDb250YWluZXJDU1NDbGFzc1wiIFthcHBDb250ZW50Q29udGluZXJdPVwiYXBwQ29udGVudENvbnRpbmVyXCJcclxuICAgICAgICAgICAgW2FwcENvbnRlbnRDb250YWluZXJDbGFzc109XCJhcHBDb250ZW50Q29udGFpbmVyQ2xhc3NcIj5cclxuICAgICAgICAgIDwvbGliLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWVuZDo6Q29udGVudCB3cmFwcGVyLS0+XHJcbiAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwRm9vdGVyRGlzcGxheVwiPlxyXG4gICAgICAgICAgPGxpYi1mb290ZXIgY2xhc3M9XCJhcHAtZm9vdGVyXCIgW25nQ2xhc3NdPVwiYXBwRm9vdGVyQ1NTQ2xhc3NcIiBpZD1cImt0X2FwcF9mb290ZXJcIlxyXG4gICAgICAgICAgICBbYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3NdPVwiYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3NcIj48L2xpYi1mb290ZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLWVuZDo6Ok1haW4tLT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLWVuZDo6V3JhcHBlci0tPlxyXG5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpQYWdlLS0+XHJcbjwvZGl2PlxyXG48IS0tZW5kOjpBcHAtLT5cclxuXHJcbjxsaWItc2NyaXB0cy1pbml0PjwvbGliLXNjcmlwdHMtaW5pdD5cclxuPG5nLWNvbnRhaW5lcj5cclxuICA8bGliLXNjcm9sbC10b3AgaWQ9XCJrdF9zY3JvbGx0b3BcIiBjbGFzcz1cInNjcm9sbHRvcFwiIGRhdGEta3Qtc2Nyb2xsdG9wPVwidHJ1ZVwiPjwvbGliLXNjcm9sbC10b3A+XHJcbjwvbmctY29udGFpbmVyPlxyXG48IS0tIGJlZ2luOjogRHJhd2VycyAtLT5cclxuPCEtLSA8bGliLWFjdGl2aXR5LWRyYXdlcj48L2xpYi1hY3Rpdml0eS1kcmF3ZXI+IC0tPlxyXG48IS0tIDxsaWItbWVzc2VuZ2VyLWRyYXdlcj48L2xpYi1tZXNzZW5nZXItZHJhd2VyPiAtLT5cclxuPCEtLSBlbmQ6OiBEcmF3ZXJzIC0tPlxyXG5cclxuPCEtLSBlbmQ6OiBFbmdhZ2UgLS0+XHJcbjwhLS0gPGxpYi1lbmdhZ2VzPjwvbGliLWVuZ2FnZXM+IC0tPlxyXG48IS0tIGVuZDo6IEVuZ2FnZSAtLT5cclxuXHJcbjwhLS0gYmVnaW46OiBNb2RhbHMgLS0+XHJcbjwhLS0gPGxpYi1tYWluLW1vZGFsPjwvbGliLW1haW4tbW9kYWw+IC0tPlxyXG48IS0tIDxsaWItaW52aXRlLXVzZXJzLW1vZGFsPjwvbGliLWludml0ZS11c2Vycy1tb2RhbD4gLS0+XHJcbjwhLS0gPGxpYi11cGdyYWRlLXBsYW4tbW9kYWw+PC9saWItdXBncmFkZS1wbGFuLW1vZGFsPiAtLT5cclxuPCEtLSBlbmQ6OiBNb2RhbHMgLS0+XHJcbiJdfQ==
@@ -53,8 +53,8 @@ const routes = [
53
53
  },
54
54
  ];
55
55
  export class LayoutModule {
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.2", ngImport: i0, type: LayoutModule, declarations: [LayoutComponent,
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, declarations: [LayoutComponent,
58
58
  HeaderComponent,
59
59
  ContentComponent,
60
60
  FooterComponent,
@@ -92,7 +92,7 @@ export class LayoutModule {
92
92
  // ThemeModeModule,
93
93
  CommonSharedModule,
94
94
  FormsModule, i2.NgxDaterangepickerMd], exports: [RouterModule] });
95
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: LayoutModule, imports: [CommonModule,
95
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, imports: [CommonModule,
96
96
  RouterModule.forChild(routes),
97
97
  TranslationModule,
98
98
  InlineSVGModule,
@@ -110,7 +110,7 @@ export class LayoutModule {
110
110
  FormsModule,
111
111
  NgxDaterangepickerMd.forRoot(), RouterModule] });
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: LayoutModule, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutModule, decorators: [{
114
114
  type: NgModule,
115
115
  args: [{
116
116
  declarations: [
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
162
162
  exports: [RouterModule],
163
163
  }]
164
164
  }] });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELDBFQUEwRTtBQUMxRSxXQUFXO0FBQ1gsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4QixtRkFBbUY7QUFDbkYsOEZBQThGO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JB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QkFBZ0I7WUFDaEIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsV0FBVztZQUNYLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxFQUV0QixZQUFZOzsyRkFFWCxZQUFZO2tCQWpEeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQzt3QkFDN0IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG9CQUFvQixDQUFDLE9BQU8sRUFBRTtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElubGluZVNWR01vZHVsZSB9IGZyb20gJ25nLWlubGluZS1zdmctMic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtcclxuICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICBOZ2JUb29sdGlwTW9kdWxlLFxyXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbi8vIGltcG9ydCB7IEV4dHJhc01vZHVsZSB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9leHRyYXMvZXh0cmFzLm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7XHJcbi8vICAgRHJhd2Vyc01vZHVsZSxcclxuLy8gICBEcm9wZG93bk1lbnVzTW9kdWxlLFxyXG4vLyAgIE1vZGFsc01vZHVsZSxcclxuLy8gICBFbmdhZ2VzTW9kdWxlLFxyXG4vLyB9IGZyb20gJy4uL3BhcnRpYWxzJztcclxuLy8gaW1wb3J0IHsgRW5nYWdlc0NvbXBvbmVudCB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9lbmdhZ2VzL2VuZ2FnZXMuY29tcG9uZW50JztcclxuLy8gaW1wb3J0IHsgVGhlbWVNb2RlTW9kdWxlIH0gZnJvbSAnLi4vcGFydGlhbHMvbGF5b3V0L3RoZW1lLW1vZGUtc3dpdGNoZXIvdGhlbWUtbW9kZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLZWVuaWNvbkNvbXBvbmVudCB9IGZyb20gJy4va2Vlbmljb24va2Vlbmljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjcmlwdHNJbml0Q29tcG9uZW50IH0gZnJvbSAnLi9zY3JpcHRzLWluaXQvc2NyaXB0cy1pbml0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWRlYmFyTG9nb0NvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWxvZ28vc2lkZWJhci1sb2dvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3NpZGViYXItbWVudS9zaWRlYmFyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZWJhckZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWZvb3Rlci9zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY291bnRpbmdDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvYWNjb3VudGluZy9hY2NvdW50aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENsYXNzaWNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvY2xhc3NpYy9jbGFzc2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4dGVuZGVkQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyL2V4dGVuZGVkL2V4dGVuZGVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydHNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhYXNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvc2Fhcy9zYWFzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRpbmcgfSBmcm9tICcuLi8uLi9yb3V0ZXMvcm91dGluZyc7XHJcbmltcG9ydCB7IExheW91dFNjcm9sbFRvcENvbXBvbmVudCB9IGZyb20gJy4vc2Nyb2xsLXRvcC9zY3JvbGwtdG9wLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vblNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24tc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ3hEYXRlcmFuZ2VwaWNrZXJNZCB9IGZyb20gJ25neC1kYXRlcmFuZ2VwaWNrZXItbWF0ZXJpYWwnO1xyXG5pbXBvcnQgeyBDbGllbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9jbGllbnQtc2V0dGluZ3MvY2xpZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVTaW5nbGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvZGF0ZS1zaW5nbGUtc2VsZWN0L2RhdGUtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW5nbGVTdG9yZUNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9zaW5nbGUtc3RvcmUvc2luZ2xlLXN0b3JlLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnJyxcclxuICAgIGNvbXBvbmVudDogTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgY2hpbGRyZW46IFJvdXRpbmcsXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBMYXlvdXRDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q29tcG9uZW50LFxyXG4gICAgRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgU2NyaXB0c0luaXRDb21wb25lbnQsXHJcbiAgICBUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgUGFnZVRpdGxlQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyTWVudUNvbXBvbmVudCxcclxuICAgIC8vIEVuZ2FnZXNDb21wb25lbnQsXHJcbiAgICBTaWRlYmFyQ29tcG9uZW50LFxyXG4gICAgU2lkZWJhckxvZ29Db21wb25lbnQsXHJcbiAgICBTaWRlYmFyTWVudUNvbXBvbmVudCxcclxuICAgIFNpZGViYXJGb290ZXJDb21wb25lbnQsXHJcbiAgICBOYXZiYXJDb21wb25lbnQsXHJcbiAgICBBY2NvdW50aW5nQ29tcG9uZW50LFxyXG4gICAgQ2xhc3NpY0NvbXBvbmVudCxcclxuICAgIEV4dGVuZGVkQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0c0NvbXBvbmVudCxcclxuICAgIFNhYXNDb21wb25lbnQsXHJcbiAgICBLZWVuaWNvbkNvbXBvbmVudCxcclxuICAgIExheW91dFNjcm9sbFRvcENvbXBvbmVudCxcclxuICAgIENsaWVudFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgRGF0ZXBpY2tlckNvbXBvbmVudCxcclxuICAgIERhdGVTaW5nbGVTZWxlY3RDb21wb25lbnQsXHJcbiAgICBTaW5nbGVTdG9yZUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyksXHJcbiAgICBUcmFuc2xhdGlvbk1vZHVsZSxcclxuICAgIElubGluZVNWR01vZHVsZSxcclxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG4gICAgTmdiUHJvZ3Jlc3NiYXJNb2R1bGUsXHJcbiAgICAvLyBFeHRyYXNNb2R1bGUsXHJcbiAgICAvLyBNb2RhbHNNb2R1bGUsXHJcbiAgICAvLyBEcmF3ZXJzTW9kdWxlLFxyXG4gICAgLy8gRW5nYWdlc01vZHVsZSxcclxuICAgIC8vIERyb3Bkb3duTWVudXNNb2R1bGUsXHJcbiAgICBOZ2JUb29sdGlwTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgLy8gVGhlbWVNb2RlTW9kdWxlLFxyXG4gICAgQ29tbW9uU2hhcmVkTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOZ3hEYXRlcmFuZ2VwaWNrZXJNZC5mb3JSb290KClcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0TW9kdWxlIHt9XHJcbiJdfQ==
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELDBFQUEwRTtBQUMxRSxXQUFXO0FBQ1gsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4QixtRkFBbUY7QUFDbkYsOEZBQThGO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JB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QkFBZ0I7WUFDaEIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsV0FBVztZQUNYLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxFQUV0QixZQUFZOzsyRkFFWCxZQUFZO2tCQWpEeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQzt3QkFDN0IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG9CQUFvQixDQUFDLE9BQU8sRUFBRTtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IElubGluZVNWR01vZHVsZSB9IGZyb20gJ25nLWlubGluZS1zdmctMic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtcclxuICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICBOZ2JQcm9ncmVzc2Jhck1vZHVsZSxcclxuICBOZ2JUb29sdGlwTW9kdWxlLFxyXG59IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbi8vIGltcG9ydCB7IEV4dHJhc01vZHVsZSB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9leHRyYXMvZXh0cmFzLm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7XHJcbi8vICAgRHJhd2Vyc01vZHVsZSxcclxuLy8gICBEcm9wZG93bk1lbnVzTW9kdWxlLFxyXG4vLyAgIE1vZGFsc01vZHVsZSxcclxuLy8gICBFbmdhZ2VzTW9kdWxlLFxyXG4vLyB9IGZyb20gJy4uL3BhcnRpYWxzJztcclxuLy8gaW1wb3J0IHsgRW5nYWdlc0NvbXBvbmVudCB9IGZyb20gJy4uL3BhcnRpYWxzL2xheW91dC9lbmdhZ2VzL2VuZ2FnZXMuY29tcG9uZW50JztcclxuLy8gaW1wb3J0IHsgVGhlbWVNb2RlTW9kdWxlIH0gZnJvbSAnLi4vcGFydGlhbHMvbGF5b3V0L3RoZW1lLW1vZGUtc3dpdGNoZXIvdGhlbWUtbW9kZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLZWVuaWNvbkNvbXBvbmVudCB9IGZyb20gJy4va2Vlbmljb24va2Vlbmljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjcmlwdHNJbml0Q29tcG9uZW50IH0gZnJvbSAnLi9zY3JpcHRzLWluaXQvc2NyaXB0cy1pbml0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWRlYmFyTG9nb0NvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWxvZ28vc2lkZWJhci1sb2dvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZGViYXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyL3NpZGViYXItbWVudS9zaWRlYmFyLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2lkZWJhckZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLWZvb3Rlci9zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY291bnRpbmdDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvYWNjb3VudGluZy9hY2NvdW50aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENsYXNzaWNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvY2xhc3NpYy9jbGFzc2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4dGVuZGVkQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyL2V4dGVuZGVkL2V4dGVuZGVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydHNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvcmVwb3J0cy9yZXBvcnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhYXNDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvc2Fhcy9zYWFzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRpbmcgfSBmcm9tICcuLi8uLi9yb3V0ZXMvcm91dGluZyc7XHJcbmltcG9ydCB7IExheW91dFNjcm9sbFRvcENvbXBvbmVudCB9IGZyb20gJy4vc2Nyb2xsLXRvcC9zY3JvbGwtdG9wLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vblNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24tc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ3hEYXRlcmFuZ2VwaWNrZXJNZCB9IGZyb20gJ25neC1kYXRlcmFuZ2VwaWNrZXItbWF0ZXJpYWwnO1xyXG5pbXBvcnQgeyBDbGllbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9jbGllbnQtc2V0dGluZ3MvY2xpZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVNpbmdsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9kYXRlLXNpbmdsZS1zZWxlY3QvZGF0ZS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW5nbGVTdG9yZUNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci9zaW5nbGUtc3RvcmUvc2luZ2xlLXN0b3JlLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnJyxcclxuICAgIGNvbXBvbmVudDogTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgY2hpbGRyZW46IFJvdXRpbmcsXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBMYXlvdXRDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q29tcG9uZW50LFxyXG4gICAgRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgU2NyaXB0c0luaXRDb21wb25lbnQsXHJcbiAgICBUb29sYmFyQ29tcG9uZW50LFxyXG4gICAgUGFnZVRpdGxlQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyTWVudUNvbXBvbmVudCxcclxuICAgIC8vIEVuZ2FnZXNDb21wb25lbnQsXHJcbiAgICBTaWRlYmFyQ29tcG9uZW50LFxyXG4gICAgU2lkZWJhckxvZ29Db21wb25lbnQsXHJcbiAgICBTaWRlYmFyTWVudUNvbXBvbmVudCxcclxuICAgIFNpZGViYXJGb290ZXJDb21wb25lbnQsXHJcbiAgICBOYXZiYXJDb21wb25lbnQsXHJcbiAgICBBY2NvdW50aW5nQ29tcG9uZW50LFxyXG4gICAgQ2xhc3NpY0NvbXBvbmVudCxcclxuICAgIEV4dGVuZGVkQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0c0NvbXBvbmVudCxcclxuICAgIFNhYXNDb21wb25lbnQsXHJcbiAgICBLZWVuaWNvbkNvbXBvbmVudCxcclxuICAgIExheW91dFNjcm9sbFRvcENvbXBvbmVudCxcclxuICAgIENsaWVudFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgRGF0ZXBpY2tlckNvbXBvbmVudCxcclxuICAgIERhdGVTaW5nbGVTZWxlY3RDb21wb25lbnQsXHJcbiAgICBTaW5nbGVTdG9yZUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyksXHJcbiAgICBUcmFuc2xhdGlvbk1vZHVsZSxcclxuICAgIElubGluZVNWR01vZHVsZSxcclxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG4gICAgTmdiUHJvZ3Jlc3NiYXJNb2R1bGUsXHJcbiAgICAvLyBFeHRyYXNNb2R1bGUsXHJcbiAgICAvLyBNb2RhbHNNb2R1bGUsXHJcbiAgICAvLyBEcmF3ZXJzTW9kdWxlLFxyXG4gICAgLy8gRW5nYWdlc01vZHVsZSxcclxuICAgIC8vIERyb3Bkb3duTWVudXNNb2R1bGUsXHJcbiAgICBOZ2JUb29sdGlwTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgLy8gVGhlbWVNb2RlTW9kdWxlLFxyXG4gICAgQ29tbW9uU2hhcmVkTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOZ3hEYXRlcmFuZ2VwaWNrZXJNZC5mb3JSb290KClcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0TW9kdWxlIHt9XHJcbiJdfQ==
@@ -64,10 +64,10 @@ export class ScriptsInitComponent {
64
64
  ngOnDestroy() {
65
65
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
66
66
  }
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ScriptsInitComponent, deps: [{ token: i1.LayoutService }, { token: i1.PageInfoService }, { token: i2.Router }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component });
68
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: ScriptsInitComponent, selector: "lib-scripts-init", ngImport: i0, template: "" });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ScriptsInitComponent, deps: [{ token: i1.LayoutService }, { token: i1.PageInfoService }, { token: i2.Router }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ScriptsInitComponent, selector: "lib-scripts-init", ngImport: i0, template: "" });
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ScriptsInitComponent, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ScriptsInitComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: 'lib-scripts-init', template: "" }]
73
73
  }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i1.PageInfoService }, { type: i2.Router }, { type: i3.Title }] });
@@ -55,10 +55,10 @@ export class LayoutScrollTopComponent {
55
55
  ngOnDestroy() {
56
56
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
57
57
  }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: LayoutScrollTopComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: LayoutScrollTopComponent, selector: "lib-scroll-top", host: { properties: { "class": "this.class", "id": "this.id", "attr.data-kt-scrolltop": "this.dataKtScrolltop" } }, ngImport: i0, template: "<lib-keenicon name=\"arrow-up\" class=\"\"></lib-keenicon>\r\n", dependencies: [{ kind: "component", type: i2.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutScrollTopComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: LayoutScrollTopComponent, selector: "lib-scroll-top", host: { properties: { "class": "this.class", "id": "this.id", "attr.data-kt-scrolltop": "this.dataKtScrolltop" } }, ngImport: i0, template: "<lib-keenicon name=\"arrow-up\" class=\"\"></lib-keenicon>\r\n", dependencies: [{ kind: "component", type: i2.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: LayoutScrollTopComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LayoutScrollTopComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'lib-scroll-top', template: "<lib-keenicon name=\"arrow-up\" class=\"\"></lib-keenicon>\r\n" }]
64
64
  }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { class: [{
@@ -48,10 +48,10 @@ export class SidebarFooterComponent {
48
48
  ngOnDestroy() {
49
49
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
50
50
  }
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: SidebarFooterComponent, deps: [{ token: i1.AuthService }, { token: i2.Router }, { token: i3.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
52
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: SidebarFooterComponent, selector: "lib-sidebar-footer", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\" \r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <div class=\"menu-item menu-accordion w-100 px-3\" id=\"#kt_app_sidebar_menu\"\r\n [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link without-sub\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">{{userValue.userName | titlecase}}<br>{{userValue.email | titlecase}}</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLink=\"profile\" routerLinkActive=\"active\" >\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" (click)=\"logout()\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }] });
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, deps: [{ token: i1.AuthService }, { token: i2.Router }, { token: i3.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarFooterComponent, selector: "lib-sidebar-footer", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\" \r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <div class=\"menu-item menu-accordion w-100 px-3\" id=\"#kt_app_sidebar_menu\"\r\n [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link without-sub\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">{{userValue.userName | titlecase}}<br>{{userValue.email | titlecase}}</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLink=\"profile\" routerLinkActive=\"active\" >\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" (click)=\"logout()\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "pipe", type: i4.TitleCasePipe, name: "titlecase" }] });
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: SidebarFooterComponent, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarFooterComponent, decorators: [{
55
55
  type: Component,
56
56
  args: [{ selector: "lib-sidebar-footer", template: "<div id=\"kt_app_sidebar_menu_scroll\" class=\"\" data-kt-scroll=\"true\" data-kt-scroll-activate=\"true\" \r\n data-kt-scroll-height=\"auto\" data-kt-scroll-dependencies=\"#kt_app_sidebar_logo, #kt_app_sidebar_footer\"\r\n data-kt-scroll-wrappers=\"#kt_app_sidebar_menu\" data-kt-scroll-offset=\"5px\" data-kt-scroll-save-state=\"true\">\r\n <div class=\"menu menu-column menu-rounded menu-sub-indention fw-semibold fs-6\" id=\"kt_app_sidebar_menu\"\r\n data-kt-menu=\"true\" data-kt-menu-expand=\"false\">\r\n <div class=\"menu-item menu-accordion w-100 px-3\" id=\"#kt_app_sidebar_menu\"\r\n [ngClass]=\"{'active': isSubMenuActive}\" data-kt-menu-trigger=\"click\" routerLinkActive=\"here show\">\r\n <span class=\"menu-link without-sub\">\r\n <span class=\"menu-icon\">\r\n <img src=\"./assets/tango/Icons/Avatar.svg\">\r\n </span>\r\n <span class=\"menu-title\" data-link=\"/crafted/account\">{{userValue.userName | titlecase}}<br>{{userValue.email | titlecase}}</span>\r\n <span class=\"menu-arrow\"></span>\r\n </span>\r\n <div class=\"menu-sub menu-sub-accordion w-100\" [ngClass]=\"{'menu-sub-top': isSubMenuActive}\" routerLinkActive=\"menu-active-bg\">\r\n <div class=\"menu-item px-3 border-profile-first\">\r\n <a class=\"menu-link without-sub\" routerLink=\"profile\" routerLinkActive=\"active\" >\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M11.8574 3.83162C11.8574 5.94799 10.0668 7.66324 7.85742 7.66324C5.64805 7.66324 3.85742 5.94799 3.85742 3.83162C3.85742 1.71525 5.64805 0 7.85742 0C10.0668 0 11.8574 1.71525 11.8574 3.83162Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M6.36786 9.38452C2.85 9.38452 0 11.9226 0 15.0554C0 15.577 0.475 16.0001 1.06071 16.0001H14.9393C15.525 16.0001 16 15.577 16 15.0554C16 11.9226 13.15 9.38452 9.63214 9.38452H6.36786Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Profile</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M14.2222 11.5556V8C14.2222 4.56356 11.4364 1.77778 8 1.77778C4.56356 1.77778 1.77778 4.56356 1.77778 8V11.5556H14.2222ZM16 11.5556H0V8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8V11.5556Z\" fill=\"#D0D5DD\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.77778 9.77759H2.66667C3.64851 9.77759 4.44444 10.5735 4.44444 11.5554V14.222C4.44444 15.2039 3.64851 15.9998 2.66667 15.9998H1.77778C0.795938 15.9998 0 15.2039 0 14.222V11.5554C0 10.5735 0.795938 9.77759 1.77778 9.77759ZM13.3333 9.77759H14.2222C15.2041 9.77759 16 10.5735 16 11.5554V14.222C16 15.2039 15.2041 15.9998 14.2222 15.9998H13.3333C12.3515 15.9998 11.5556 15.2039 11.5556 14.222V11.5554C11.5556 10.5735 12.3515 9.77759 13.3333 9.77759Z\" fill=\"#667085\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Support</span>\r\n </a>\r\n </div>\r\n <div class=\"menu-item px-3\" style=\"border-radius: 0px;\">\r\n <a class=\"menu-link without-sub\" (click)=\"logout()\" routerLinkActive=\"active\">\r\n <span class=\"menu-bullet\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\r\n <path d=\"M5 13H2.33333C1.97971 13 1.64057 12.8595 1.39052 12.6095C1.14048 12.3594 1 12.0203 1 11.6667V2.33333C1 1.97971 1.14048 1.64057 1.39052 1.39052C1.64057 1.14048 1.97971 1 2.33333 1H5\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M9.66667 10.3332L13 6.99984M13 6.99984L9.66667 3.6665M13 6.99984H5\" stroke=\"#D0D5DD\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span class=\"menu-title\">Logout</span>\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".menu{background:var(--Gray-700, #344054)}.menu .menu-item{position:relative;background:var(--Gray-700, #344054)}.menu .border-profile-first{border-top-left-radius:8px;border-top-right-radius:8px}.menu .menu-sub{position:absolute;top:100;bottom:calc(100% + 5px);left:0}.menu .menu-sub-top{bottom:auto;top:calc(100% + 5px)}.menu-sub-indention .menu-sub{margin-left:0rem!important}.custom-scroll{max-height:300px}\n"] }]
57
57
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.Router }, { type: i3.LayoutService }], propDecorators: { toggleButtonClass: [{
@@ -28,10 +28,10 @@ export class SidebarLogoComponent {
28
28
  ngOnDestroy() {
29
29
  this.unsubscribe.forEach((sb) => sb.unsubscribe());
30
30
  }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: SidebarLogoComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<!--begin::Logo image-->\r\n<a routerLink=\"/dashboard\">\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\"\r\n class=\"h-40px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-38px app-sidebar-logo-minimize\" />\r\n</a>\r\n<!--end::Logo image-->\r\n\r\n\r\n<ng-container *ngIf=\"toggleEnabled\">\r\n <!--begin::Sidebar toggle-->\r\n <div id=\"kt_app_sidebar_toggle\"\r\n class=\"app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary body-bg h-30px w-30px position-absolute top-50 start-100 translate-middle rotate d-none\"\r\n [ngClass]=\"toggleButtonClass\" data-kt-toggle=\"true\" [attr.data-kt-toggle-state]=\"toggleState\"\r\n data-kt-toggle-target=\"body\" [attr.data-kt-toggle-name]=\"toggleAttr\">\r\n <lib-keenicon name=\"double-left\" class=\"fs-2 rotate-180\"></lib-keenicon>\r\n </div>\r\n <!--end::Sidebar toggle-->\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarLogoComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SidebarLogoComponent, selector: "lib-sidebar-logo", inputs: { toggleButtonClass: "toggleButtonClass", toggleEnabled: "toggleEnabled", toggleType: "toggleType", toggleState: "toggleState" }, ngImport: i0, template: "<!--begin::Logo image-->\r\n<a routerLink=\"/dashboard\">\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\"\r\n class=\"h-40px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-38px app-sidebar-logo-minimize\" />\r\n</a>\r\n<!--end::Logo image-->\r\n\r\n\r\n<ng-container *ngIf=\"toggleEnabled\">\r\n <!--begin::Sidebar toggle-->\r\n <div id=\"kt_app_sidebar_toggle\"\r\n class=\"app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary body-bg h-30px w-30px position-absolute top-50 start-100 translate-middle rotate d-none\"\r\n [ngClass]=\"toggleButtonClass\" data-kt-toggle=\"true\" [attr.data-kt-toggle-state]=\"toggleState\"\r\n data-kt-toggle-target=\"body\" [attr.data-kt-toggle-name]=\"toggleAttr\">\r\n <lib-keenicon name=\"double-left\" class=\"fs-2 rotate-180\"></lib-keenicon>\r\n </div>\r\n <!--end::Sidebar toggle-->\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: SidebarLogoComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SidebarLogoComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'lib-sidebar-logo', template: "<!--begin::Logo image-->\r\n<a routerLink=\"/dashboard\">\r\n <ng-container *ngIf=\"currentLayoutType === 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"currentLayoutType !== 'dark-sidebar'\">\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\" class=\"h-40px app-sidebar-logo-default theme-light-show\" />\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo_text.svg\"\r\n class=\"h-40px app-sidebar-logo-default theme-dark-show\" />\r\n </ng-container>\r\n\r\n <img alt=\"Logo\" src=\"./assets/tango/sidemenu-icons/tango_logo.svg\" class=\"h-38px app-sidebar-logo-minimize\" />\r\n</a>\r\n<!--end::Logo image-->\r\n\r\n\r\n<ng-container *ngIf=\"toggleEnabled\">\r\n <!--begin::Sidebar toggle-->\r\n <div id=\"kt_app_sidebar_toggle\"\r\n class=\"app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary body-bg h-30px w-30px position-absolute top-50 start-100 translate-middle rotate d-none\"\r\n [ngClass]=\"toggleButtonClass\" data-kt-toggle=\"true\" [attr.data-kt-toggle-state]=\"toggleState\"\r\n data-kt-toggle-target=\"body\" [attr.data-kt-toggle-name]=\"toggleAttr\">\r\n <lib-keenicon name=\"double-left\" class=\"fs-2 rotate-180\"></lib-keenicon>\r\n </div>\r\n <!--end::Sidebar toggle-->\r\n</ng-container>\r\n" }]
37
37
  }], ctorParameters: () => [{ type: i1.LayoutService }], propDecorators: { toggleButtonClass: [{